Name Last Update
build Loading commit data...
public Loading commit data...
src Loading commit data...
.env Loading commit data...
.env.development Loading commit data...
.env.production Loading commit data...
.eslintrc-auto-import.json Loading commit data...
.gitignore Loading commit data...
README.md Loading commit data...
index.html Loading commit data...
jsconfig.json Loading commit data...
package-lock.json Loading commit data...
package.json Loading commit data...
postcss.config.js Loading commit data...
tailwind.config.js Loading commit data...
vite.config.js Loading commit data...
yarn.lock Loading commit data...

美乐爱觉项目

测试环境网站 https://oa-dev.onwall.cn/f/mlaj

功能更新记录

  • 教师端新增作业管理页面:路径 /teacher/tasks,标题“作业管理”。

    • 列表展示:作业名称、开始时间、截止时间。
    • 当前数据来源为Mock,后续可替换为真实接口数据。
    • 教师端新增作业主页:路径 /teacher/tasks/:id,标题“作业主页”。
    • 头部:作业名称、介绍文案、细项信息(周期、频次、时间段、附件类型)。
    • 统计:出勤率与任务完成率(参考 myClassPage.vue 统计样式,数据Mock)。
    • 日历:使用 van-calendar 单选模式,选择日期后展示当日学生完成情况。
    • 学生完成情况:参考图片2样式,勾选代表已完成,未勾选代表未完成(数据Mock)。
    • 教师端新增学员作业记录页面:路径 /teacher/student-record,标题“学员作业记录”。
    • 在作业主页的学生列表点击卡片可跳转至该页面(当前版本为固定示例页面)。
    • 列表展示:作业帖子、图片/视频/音频、点赞与点评弹窗(与 studentPage.vue 的作业记录样式一致)。
    • 接口参数固定:user_id=817017group_id=816653(后续可替换为动态参数)。
    • 学习详情页标签指示条修复:/src/views/profile/StudyCoursePage.vue
    • 现象:首次进入且存在“打卡互动”时,底部绿色指示条定位错误。
    • 修复:新增标签容器 refResizeObserver,按栏目数量对容器进行等分,指示条宽度与位移按分段和索引计算,异步加载第三个栏目时不再错位。
    • 登录逻辑调整:仅在登录页微信图标点击时触发授权
    • 变更文件:/src/views/auth/LoginPage.vue/src/router/guards.js/src/router/index.js
    • 路由守卫:移除自动微信授权检查,新增 startWxAuth 供手动触发。
    • 登录页:微信图标绑定点击事件,非微信环境提示“请在微信内打开”。
    • 使用方式:进入登录页,点击微信图标进行授权登录。
    • 课程详情页动态 Open Graph 元标签
    • 行为:进入课程详情页时,在 <head> 中插入 4 个 meta 标签:og:title(课程 title)、og:description(课程 subtitle)、og:image(课程 cover)、og:url(当前页面 URL);这些 meta 必须插在 <title> 标签的前面;离开页面时移除。
    • CDN 规则:若图片域名为 cdn.ipadbiz.cn,自动追加 ?imageMogr2/thumbnail/200x/strip/quality/70
    • 位置:/src/views/courses/CourseDetailPage.vue,在 onMounted 插入,onUnmounted 清理。
    • 函数:build_og_image_url(src)set_og_meta(payload)remove_og_meta()
    • 课程详情页咨询弹窗(Mock)
    • 入口:详情页顶部快捷操作中的“咨询”按钮。
    • 展示:底部弹出层,仅底部关闭按钮;内容支持富文本展示。
    • 电话:显示咨询电话;点击即可直接拨打(tel:)。
    • 咨询信息:富文本区域点击即可复制到剪切板;复制成功后提示。
    • 图片压缩:富文本中若包含 cdn.ipadbiz.cn 图片,使用 ?imageMogr2/thumbnail/200x/strip/quality/70 参数。
    • 位置:/src/views/courses/CourseDetailPage.vue,“咨询弹窗”模板与交互逻辑(open_consult_dialogclose_consult_dialogcall_phonecopy_consult_info)。
    • 购买流程环境校验
    • 行为:仅对非免费课程在详情页点击“购买”时进行校验;生产环境下必须为微信内置浏览器(wxInfo().isWeiXin)。
    • 免费课程:跳过微信环境校验,允许直接进入结算流程。
    • 非微信环境(付费课):提示“请在微信内打开进行购买”,不进入结算。
    • 位置:/src/views/courses/CourseDetailPage.vuehandlePurchase 中,使用 wxInfo 进行环境判断。
    • 微信授权自动触发(微信环境内)
    • 行为:在微信内置浏览器环境下点击“购买”时,若检测到未完成微信授权(openid_has=false),系统将自动发起一次微信授权流程并中止本次购买;授权完成后再次点击可进入结算。
    • 开发环境:不触发微信授权流程(保留现有调试行为)。
    • 位置:/src/views/courses/CourseDetailPage.vuehandlePurchase 中,调用 getAuthInfoAPI() 探测并使用 startWxAuth() 触发授权。
    • 401拦截策略优化(公开页面不再跳登录)
    • 行为:接口返回 code=401 时,不再对公开页面(如课程详情 /courses/:id)进行登录重定向;仅当当前路由确实需要登录权限时才跳转至登录页。
    • 原理:响应拦截器调用路由守卫 checkAuth 判断当前路由是否为受限页面,受限则清理登录信息并附带 redirect 重定向至登录页;公开页面保持当前页,由业务自行处理401。
    • 位置:/src/utils/axios.js,在响应拦截器中按需处理重定向。