迪诺学堂标识

16-教研内容中心详细PRD

RES · 管理教案、课件、题库、作业、测评、在线课程、学习打卡和活码资源。

系统 迪诺学堂
版本 v1.0
日期 2026-06-23
阶段 模块详细 PRD

01 · 模块定位

教研内容中心

同一个活码可根据课程、班级、有效期和学员权限返回不同资源,并记录扫码数据。

业务目标

管理教案、课件、题库、作业、测评、在线课程、学习打卡和活码资源。

使用终端

PC Web 教研工作台,教师端、学员端和活码扫码入口联动。

验收主线

同一个活码可根据课程、班级、有效期和学员权限返回不同资源,并记录扫码数据。

02 · 范围边界

明确本模块负责什么、依赖什么、不负责什么

边界清晰后,原型、接口和数据库设计才能避免重复建设。

模块内范围

  • 资源库
  • 题库
  • 作业模板
  • 测评体系
  • 在线课程
  • 活码系统

上游依赖

  • 组织校区与账号权限
  • 课程/客户/合同等主数据
  • 审批流、消息模板、文件中心
  • 必要的第三方接口密钥

下游输出

  • 业务状态和待办
  • 消息通知和审批记录
  • 报表指标和数据快照
  • 审计日志和接口回执

03 · 确认口径、后台配置与默认实施规则

教研内容中心必须承接的已确认规则

本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。
分类事项本模块落地要求责任方
默认实施规则接口设计说明书组织方式采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。产品/研发
默认实施规则接口错误码与重试中间件所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。后端/测试/运维

04 · 业务流程

教研内容中心主流程

流程用于指导原型图的页面顺序、按钮状态和异常分支。
01资源库

资源库需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

02题库

题库支持知识点、难度、答案、解析和适用课程

03作业模板

作业模板需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

04测评体系

测评体系需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

05在线课程

在线课程需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

06活码系统

活码系统需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

05 · 功能清单

按子模块拆到可设计、可开发、可测试的颗粒度

每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。
一级功能二级功能功能说明规则/验收
资源库基础维护资源库支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
资源库业务处理资源库需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
资源库异常闭环资源无权限处理失败原因可见、可重试、可转人工、可追溯
题库基础维护题库支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
题库业务处理题库支持知识点、难度、答案、解析和适用课程必须联动状态、权限、消息、审批和指标
题库异常闭环活码过期处理失败原因可见、可重试、可转人工、可追溯
作业模板基础维护作业模板支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
作业模板业务处理作业模板需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
作业模板异常闭环题目版本冲突处理失败原因可见、可重试、可转人工、可追溯
测评体系基础维护测评体系支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
测评体系业务处理测评体系需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
测评体系异常闭环资源无权限处理失败原因可见、可重试、可转人工、可追溯
在线课程基础维护在线课程支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
在线课程业务处理在线课程需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
在线课程异常闭环活码过期处理失败原因可见、可重试、可转人工、可追溯
活码系统基础维护活码系统支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
活码系统业务处理活码系统需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
活码系统异常闭环题目版本冲突处理失败原因可见、可重试、可转人工、可追溯

功能到数据对象/接口/表映射

功能域承接对象核心表代表接口状态机/状态字段研发落地校验
资源库LearningResource、ResourceVersion、Question、ResourceAuthorizationRuleres_learning_resource、res_resource_version、res_question、res_authorization_rule接口资源组 /api/v1/res/features/01resource_type、publish_status、version_status、question_type、target_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
题库Questionres_questionPOST/GET /api/v1/question-banksquestion_type、publish_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
作业模板LearningResource、ResourceVersion、Question、ResourceAuthorizationRuleres_learning_resource、res_resource_version、res_question、res_authorization_rule接口资源组 /api/v1/res/features/03resource_type、publish_status、version_status、question_type、target_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
测评体系LearningResource、ResourceVersion、Question、ResourceAuthorizationRuleres_learning_resource、res_resource_version、res_question、res_authorization_rule接口资源组 /api/v1/res/features/04resource_type、publish_status、version_status、question_type、target_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
在线课程LearningResource、ResourceVersion、Question、ResourceAuthorizationRuleres_learning_resource、res_resource_version、res_question、res_authorization_rule接口资源组 /api/v1/res/features/05resource_type、publish_status、version_status、question_type、target_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
活码系统LearningResource、ResourceVersion、Question、ResourceAuthorizationRuleres_learning_resource、res_resource_version、res_question、res_authorization_rulePOST/GET /api/v1/live-qrcodesresource_type、publish_status、version_status、question_type、target_type新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计

06 · 原子级功能需求

用于研发任务拆分和测试用例追踪

需求编号可直接进入项目管理工具。
编号需求描述入口页面关键动作输入校验输出结果异常处理验收标准
FR-RES-001教案、课件、视频、音频、图片、互动素材可按课程课次分类资源库上传资源校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务资源无权限主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-RES-002题库支持知识点、难度、答案、解析和适用课程题库组卷维护题库校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务活码过期主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-RES-003资源按课程、班级、课次、学员和有效期授权敏感字段查看审批明文查看申请、临时授权或过期回收校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务审批原因缺失、越权查看或水印生成失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-RES-004活码二维码保持不变,后台可动态切换内容、版本和规则资源活码发布课程校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务资源无权限主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-RES-005扫码数据沉淀访问学员、时间、设备、资源完成度和转化效果短链目标生成活码校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务活码过期主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-RES-006教研活码跳转资源时需遵循统一短链、安全、防刷、失效页和访问日志规则。扫码记录授权访问校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务题目版本冲突主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-RES-007作业、测评和考试发布后必须保存题目、试卷、资源的引用版本快照,后续题目修改、删除或下架不得影响历史答题和成绩。作业草稿箱/作业提交保存草稿、恢复草稿或提交作业校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务草稿冲突、附件失败或作业已关闭主流程、异常流、权限流、接口失败和数据一致性均可通过测试

07 · 关联闭环补充需求

教研内容中心在跨模块闭环中的责任边界

本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。
闭环项本模块责任关键场景页面/功能补充关联对象/接口验收口径
活码短链负责教研资源、课程资料、作业资料和宣传内容的活码目标管理二维码长期印刷或海报投放后内容需要动态替换资源活码、短链目标、版本回滚、扫码权限、访问统计LearningResource、LiveQrCode/ScanRecord资源目标变更不影响原二维码,访问权限和统计连续保留
题库版本快照负责学生测评、作业题目和课程资源题库的发布快照题库更新后仍需复核历史测评与作业结果题库管理、发布快照、测评关联、历史版本查看LearningResource、KnowledgeCourse/TrainingExam每次发布都形成不可变题目、答案、解析和分值快照

08 · 页面与原型设计说明

页面清单、布局要求、按钮字段和状态

原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。
终端页面用户页面目标布局结构关键按钮关键字段异常状态原型备注
PC Web资源库教研上传课件、授权课程班级、管理版本教研页左侧为资源分类与权限树,中部资源或题库列表,右侧展示版本、引用、授权班级和活码访问统计。上传资源、维护题库、组卷、发布测评、生成活码、授权访问、版本回滚资源名称、课程分类、资源类型、题目版本、授权范围、活码目标、扫码次数、发布状态、版本号、引用次数资源转码失败、授权范围冲突、题目版本缺失、活码目标下架、访问权限不足需覆盖资源版本、题库组卷、测评发布、活码动态内容、扫码统计和历史引用不可变。 建议 Figma Frame:RES-资源库;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web题库组卷教研/教师筛题、组卷、发布测评、查看结果教研页左侧为资源分类与权限树,中部资源或题库列表,右侧展示版本、引用、授权班级和活码访问统计。上传资源、维护题库、组卷、发布测评、生成活码、授权访问、版本回滚资源名称、课程分类、资源类型、题目版本、授权范围、活码目标、扫码次数、发布状态、版本号、引用次数资源转码失败、授权范围冲突、题目版本缺失、活码目标下架、访问权限不足需覆盖资源版本、题库组卷、测评发布、活码动态内容、扫码统计和历史引用不可变。 建议 Figma Frame:RES-题库组卷;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web活码系统教研/市场运营配置动态内容、访问权限、扫码统计营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、资源名称、课程分类模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:RES-活码系统;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web资源活码授权用户围绕活码资源完善资源活码的入口、字段、状态、异常提示、处理进度和验收反馈营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、资源名称、课程分类模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:RES-资源活码;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web短链目标授权用户围绕活码资源完善短链目标的入口、字段、状态、异常提示、处理进度和验收反馈营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、资源名称、课程分类模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:RES-短链目标;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web扫码记录授权用户围绕活码资源完善扫码记录的入口、字段、状态、异常提示、处理进度和验收反馈营销页按模板选择、页面编辑、表单配置、活码发布和转化看板分步呈现,H5 端突出报名和分享。选择模板、编辑页面、配置表单、生成活码、发布活动、转为模板、审核模板、查看转化活动名称、模板分类、节日主题、表单字段、渠道参数、活码目标、短链域名、ROI、资源名称、课程分类模板不可用、素材缺失、短链异常、表单提交失败、重复报名、活码失效需覆盖模板库、24 节气/传统节日海报 H5、自建转模板、活码动态目标、失效页和线索撞单。 建议 Figma Frame:RES-扫码记录;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web题库管理授权用户围绕版本快照完善题库管理的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、上传资源、维护题库资源名称、课程分类、资源类型、版本号、授权范围、活码目标、发布状态、引用次数空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:RES-题库管理;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web资源版本授权用户围绕版本快照完善资源版本的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、上传资源、维护题库资源名称、课程分类、资源类型、版本号、授权范围、活码目标、发布状态、引用次数空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:RES-资源版本;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web测评结果授权用户围绕版本快照完善测评结果的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、上传资源、维护题库资源名称、课程分类、资源类型、版本号、授权范围、活码目标、发布状态、引用次数空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:RES-测评结果;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web资源详情授权用户围绕授权发布完善资源详情的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、上传资源、维护题库资源名称、课程分类、资源类型、版本号、授权范围、活码目标、发布状态、引用次数空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:RES-资源详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web授权弹窗授权用户围绕授权发布完善授权弹窗的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、上传资源、维护题库资源名称、课程分类、资源类型、版本号、授权范围、活码目标、发布状态、引用次数空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:RES-授权弹窗;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web学员资源页授权用户围绕授权发布完善学员资源页的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、上传资源、维护题库资源名称、课程分类、资源类型、版本号、授权范围、活码目标、发布状态、引用次数空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:RES-学员资源页;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。

09 · 页面到接口的前后端闭环矩阵

把原型页面、后端接口、数据对象、状态和消息审批绑定到一起

设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。
原型页面关键接口关联对象状态流审批/权限触发消息/待办触达原型验收要求
资源库POST/GET /api/v1/question-banksLearningResource草稿 -> 编辑中 -> 待发布 -> 发布中 -> 已发布 -> 发布失败 -> 已停用活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
题库组卷POST/GET /api/v1/live-qrcodesResourceVersion启用中 -> 限频中 -> 黑名单命中 -> 目标下架 -> 已停用 -> 已过期 -> 异常告警活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
活码系统POST/GET /api/v1/question-banksQuestion草稿 -> 已发布 -> 已引用 -> 已冻结 -> 已下架 -> 历史可追溯活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
资源活码POST/GET /api/v1/live-qrcodesResourceAuthorizationRule草稿 -> 编辑中 -> 待发布 -> 发布中 -> 已发布 -> 发布失败 -> 已停用活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
短链目标POST/GET /api/v1/question-banksLearningResource启用中 -> 限频中 -> 黑名单命中 -> 目标下架 -> 已停用 -> 已过期 -> 异常告警活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
扫码记录POST/GET /api/v1/live-qrcodesResourceVersion草稿 -> 已发布 -> 已引用 -> 已冻结 -> 已下架 -> 历史可追溯活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
题库管理POST/GET /api/v1/question-banksQuestion草稿 -> 编辑中 -> 待发布 -> 发布中 -> 已发布 -> 发布失败 -> 已停用活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
资源版本POST/GET /api/v1/question-banksResourceAuthorizationRule启用中 -> 限频中 -> 黑名单命中 -> 目标下架 -> 已停用 -> 已过期 -> 异常告警活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
测评结果POST/GET /api/v1/question-banksLearningResource草稿 -> 已发布 -> 已引用 -> 已冻结 -> 已下架 -> 历史可追溯活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
资源详情POST/GET /api/v1/live-qrcodesResourceVersion草稿 -> 编辑中 -> 待发布 -> 发布中 -> 已发布 -> 发布失败 -> 已停用活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
授权弹窗POST/GET /api/v1/question-banksQuestion启用中 -> 限频中 -> 黑名单命中 -> 目标下架 -> 已停用 -> 已过期 -> 异常告警活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
学员资源页POST/GET /api/v1/live-qrcodesResourceAuthorizationRule草稿 -> 已发布 -> 已引用 -> 已冻结 -> 已下架 -> 历史可追溯活码外部资源审批:活码跳转外部链接或公开资源处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口

10 · 原型、UI、研发、测试交付补充

把关键闭环补强为下一阶段可执行任务

本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。
能力域功能补充要求原型交付要求UI 交互要求研发实现要求测试验收要求
活码资源补齐资源活码、目标规则、扫码权限、目标下架页、版本回滚和访问分析。资源活码、短链目标、扫码记录 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;二维码不变,目标内容可动态调整并保留历史。
版本快照补齐发布快照、引用关系、历史版本查看、下架影响和回滚规则。题库管理、资源版本、测评结果 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;历史测评展示当时题目、答案、解析和分值。
授权发布补齐授权范围、有效期、下载权限、转码状态、失败重试和访问异常页。资源详情、授权弹窗、学员资源页 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;资源发布后访问权限与班级、课程权益一致。

11 · 数据对象与字段字典

明确页面、接口、数据库共同使用的数据语言

字段涉及敏感、人脸、财务、绩效时,原型需体现脱敏、授权和审计。

核心对象

对象说明
LearningResource教研学习资源;落地表:res_learning_resource
ResourceVersion资源版本与发布记录;落地表:res_resource_version
Question题库题目;落地表:res_question
ResourceAuthorizationRule资源授权规则;落地表:res_authorization_rule

关联引用对象

对象说明
Organization集团、区域、校区、部门组织树;引用来源:FND / sys_organization
User/Employee统一登录账号;引用来源:FND / sys_user
Employee员工基础档案;引用来源:FND / sys_employee
Role角色定义;引用来源:FND / sys_role
ApprovalFlow审批流配置;引用来源:FND / sys_approval_flow
MessageTemplate消息模板与多端触达配置;引用来源:FND / sys_message_template
AuditLog全平台操作审计日志;引用来源:FND / sys_audit_log
IntegrationLog接口调用日志;引用来源:OPEN / int_integration_log
SensitiveFieldPolicy敏感字段脱敏策略;引用来源:SEC / sec_sensitive_field_policy
Course/Product课程产品;引用来源:EDU / edu_course
Homework作业任务;引用来源:EDU / edu_homework
ReplayPublishPolicy/ReplayAccess回放发布和访问策略;引用来源:LIVE / live_replay_policy
LiveQrCode活码规则与动态跳转;引用来源:MKT / mkt_live_qr_code
LearningProfile学员学习进度档案;引用来源:APP / stu_learning_profile

完整字段字典

对象字段类型必填规则数据级别
LearningResourceidBIGINT主键,雪花或号段生成,禁止复用普通
LearningResourcetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
LearningResourceorg_idBIGINT所属组织,集团级或公共配置为空普通
LearningResourcecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
LearningResourcecreated_byBIGINT创建人账号 ID普通
LearningResourcecreated_atDATETIME创建时间普通
LearningResourceupdated_byBIGINT最后更新人账号 ID普通
LearningResourceupdated_atDATETIME最后更新时间普通
LearningResourceis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
LearningResourcedeleted_atDATETIME删除时间,未删除为空普通
LearningResourcedeleted_byBIGINT删除人账号 ID,未删除为空普通
LearningResourceversionINT乐观锁版本号,写操作必须校验普通
LearningResourceresource_noVARCHAR(64)资源编号,唯一普通
LearningResourceresource_nameVARCHAR(128)资源名称普通
LearningResourceresource_typeVARCHAR(32)课件/视频/音频/题库/文章/试卷普通
LearningResourcecategory_idBIGINT资源分类普通
LearningResourcefile_idBIGINT文件 ID普通
LearningResourcepublish_statusVARCHAR(32)草稿/审核中/已发布/已下架普通
ResourceVersionidBIGINT主键,雪花或号段生成,禁止复用普通
ResourceVersiontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ResourceVersionorg_idBIGINT所属组织,集团级或公共配置为空普通
ResourceVersioncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ResourceVersioncreated_byBIGINT创建人账号 ID普通
ResourceVersioncreated_atDATETIME创建时间普通
ResourceVersionupdated_byBIGINT最后更新人账号 ID普通
ResourceVersionupdated_atDATETIME最后更新时间普通
ResourceVersionis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ResourceVersiondeleted_atDATETIME删除时间,未删除为空普通
ResourceVersiondeleted_byBIGINT删除人账号 ID,未删除为空普通
ResourceVersionversionINT乐观锁版本号,写操作必须校验普通
ResourceVersionresource_idBIGINT资源 ID普通
ResourceVersionversion_noINT版本号普通
ResourceVersionchange_descVARCHAR(512)变更说明普通
ResourceVersionfile_idsJSON版本文件普通
ResourceVersionpublish_atDATETIME发布时间普通
ResourceVersionversion_statusVARCHAR(32)草稿/已发布/已废弃普通
QuestionidBIGINT主键,雪花或号段生成,禁止复用普通
Questiontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
Questionorg_idBIGINT所属组织,集团级或公共配置为空普通
Questioncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
Questioncreated_byBIGINT创建人账号 ID普通
Questioncreated_atDATETIME创建时间普通
Questionupdated_byBIGINT最后更新人账号 ID普通
Questionupdated_atDATETIME最后更新时间普通
Questionis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
Questiondeleted_atDATETIME删除时间,未删除为空普通
Questiondeleted_byBIGINT删除人账号 ID,未删除为空普通
QuestionversionINT乐观锁版本号,写操作必须校验普通
Questionquestion_noVARCHAR(64)题目编号,唯一普通
Questionquestion_typeVARCHAR(32)单选/多选/填空/判断/主观/听力普通
Questionquestion_stemTEXT题干普通
Questionanswer_schemaJSON答案和解析普通
QuestiondifficultyVARCHAR(32)难度普通
Questionpublish_statusVARCHAR(32)草稿/已发布/已下架普通
ResourceAuthorizationRuleidBIGINT主键,雪花或号段生成,禁止复用普通
ResourceAuthorizationRuletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
ResourceAuthorizationRuleorg_idBIGINT所属组织,集团级或公共配置为空普通
ResourceAuthorizationRulecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
ResourceAuthorizationRulecreated_byBIGINT创建人账号 ID普通
ResourceAuthorizationRulecreated_atDATETIME创建时间普通
ResourceAuthorizationRuleupdated_byBIGINT最后更新人账号 ID普通
ResourceAuthorizationRuleupdated_atDATETIME最后更新时间普通
ResourceAuthorizationRuleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
ResourceAuthorizationRuledeleted_atDATETIME删除时间,未删除为空普通
ResourceAuthorizationRuledeleted_byBIGINT删除人账号 ID,未删除为空普通
ResourceAuthorizationRuleversionINT乐观锁版本号,写操作必须校验普通
ResourceAuthorizationRulerule_noVARCHAR(64)授权规则编号,唯一普通
ResourceAuthorizationRuleresource_idBIGINT资源 ID普通
ResourceAuthorizationRuletarget_typeVARCHAR(32)课程/班级/学员/员工/角色普通
ResourceAuthorizationRuletarget_scopeJSON授权对象范围普通
ResourceAuthorizationRulevalid_fromDATETIME有效开始普通
ResourceAuthorizationRulevalid_toDATETIME有效截止普通

引用对象字段字典

引用表对象字段类型必填规则数据级别
sys_organizationOrganizationidBIGINT主键,雪花或号段生成,禁止复用普通
sys_organizationOrganizationtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_organizationOrganizationorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_organizationOrganizationcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_organizationOrganizationcreated_byBIGINT创建人账号 ID普通
sys_organizationOrganizationcreated_atDATETIME创建时间普通
sys_organizationOrganizationupdated_byBIGINT最后更新人账号 ID普通
sys_organizationOrganizationupdated_atDATETIME最后更新时间普通
sys_organizationOrganizationis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_organizationOrganizationdeleted_atDATETIME删除时间,未删除为空普通
sys_organizationOrganizationdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_organizationOrganizationversionINT乐观锁版本号,写操作必须校验普通
sys_organizationOrganizationorg_codeVARCHAR(64)组织编码,租户内唯一普通
sys_organizationOrganizationorg_nameVARCHAR(128)组织名称普通
sys_organizationOrganizationorg_typeVARCHAR(32)集团/区域/校区/部门/法人主体普通
sys_organizationOrganizationparent_idBIGINT上级组织 ID,根节点为空普通
sys_organizationOrganizationsort_noINT同级排序普通
sys_organizationOrganizationenabledTINYINT是否启用普通
sys_userUser/EmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_userUser/Employeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_userUser/Employeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_userUser/Employeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_userUser/Employeecreated_byBIGINT创建人账号 ID普通
sys_userUser/Employeecreated_atDATETIME创建时间普通
sys_userUser/Employeeupdated_byBIGINT最后更新人账号 ID普通
sys_userUser/Employeeupdated_atDATETIME最后更新时间普通
sys_userUser/Employeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_userUser/Employeedeleted_atDATETIME删除时间,未删除为空普通
sys_userUser/Employeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_userUser/EmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_userUser/Employeeuser_noVARCHAR(64)账号编号,唯一普通
sys_userUser/Employeelogin_nameVARCHAR(64)登录名,唯一普通
sys_userUser/EmployeemobileVARCHAR(32)手机号,敏感脱敏展示敏感
sys_userUser/Employeepassword_hashVARCHAR(255)密码哈希,禁止前端返回高敏
sys_userUser/Employeeuser_typeVARCHAR(32)员工/学员/家长/外部账号普通
sys_userUser/Employeelogin_statusVARCHAR(32)正常/锁定/停用/待激活普通
sys_employeeEmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_employeeEmployeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_employeeEmployeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_employeeEmployeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_employeeEmployeecreated_byBIGINT创建人账号 ID普通
sys_employeeEmployeecreated_atDATETIME创建时间普通
sys_employeeEmployeeupdated_byBIGINT最后更新人账号 ID普通
sys_employeeEmployeeupdated_atDATETIME最后更新时间普通
sys_employeeEmployeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_employeeEmployeedeleted_atDATETIME删除时间,未删除为空普通
sys_employeeEmployeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_employeeEmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_employeeEmployeeemployee_noVARCHAR(64)工号,唯一普通
sys_employeeEmployeeuser_idBIGINT关联账号 ID普通
sys_employeeEmployeeemployee_nameVARCHAR(64)员工姓名普通
sys_employeeEmployeeprimary_campus_idBIGINT主校区 ID普通
sys_employeeEmployeejob_titleVARCHAR(64)岗位名称普通
sys_employeeEmployeehire_statusVARCHAR(32)在职/试用/离职/停用普通
sys_roleRoleidBIGINT主键,雪花或号段生成,禁止复用普通
sys_roleRoletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_roleRoleorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_roleRolecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_roleRolecreated_byBIGINT创建人账号 ID普通
sys_roleRolecreated_atDATETIME创建时间普通
sys_roleRoleupdated_byBIGINT最后更新人账号 ID普通
sys_roleRoleupdated_atDATETIME最后更新时间普通
sys_roleRoleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_roleRoledeleted_atDATETIME删除时间,未删除为空普通
sys_roleRoledeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_roleRoleversionINT乐观锁版本号,写操作必须校验普通
sys_roleRolerole_codeVARCHAR(64)角色编码,唯一普通
sys_roleRolerole_nameVARCHAR(128)角色名称普通
sys_roleRolerole_levelVARCHAR(32)总部/区域/校区/个人普通
sys_roleRoledata_scope_typeVARCHAR(32)数据范围类型普通
sys_roleRoleenabledTINYINT是否启用普通
sys_approval_flowApprovalFlowidBIGINT主键,雪花或号段生成,禁止复用普通
sys_approval_flowApprovalFlowtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_approval_flowApprovalFloworg_idBIGINT所属组织,集团级或公共配置为空普通
sys_approval_flowApprovalFlowcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_approval_flowApprovalFlowcreated_byBIGINT创建人账号 ID普通
sys_approval_flowApprovalFlowcreated_atDATETIME创建时间普通
sys_approval_flowApprovalFlowupdated_byBIGINT最后更新人账号 ID普通
sys_approval_flowApprovalFlowupdated_atDATETIME最后更新时间普通
sys_approval_flowApprovalFlowis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_approval_flowApprovalFlowdeleted_atDATETIME删除时间,未删除为空普通
sys_approval_flowApprovalFlowdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_approval_flowApprovalFlowversionINT乐观锁版本号,写操作必须校验普通
sys_approval_flowApprovalFlowflow_codeVARCHAR(64)审批流编码,唯一普通
sys_approval_flowApprovalFlowbiz_typeVARCHAR(64)业务类型普通
sys_approval_flowApprovalFlowflow_nameVARCHAR(128)审批流名称普通
sys_approval_flowApprovalFlowcondition_jsonJSON触发条件普通
sys_approval_flowApprovalFlownode_jsonJSON节点、审批人和超时规则普通
sys_approval_flowApprovalFlowversion_noINT审批流版本号普通
sys_approval_flowApprovalFlowenabledTINYINT是否启用普通
sys_message_templateMessageTemplateidBIGINT主键,雪花或号段生成,禁止复用普通
sys_message_templateMessageTemplatetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_message_templateMessageTemplateorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_message_templateMessageTemplatecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_message_templateMessageTemplatecreated_byBIGINT创建人账号 ID普通
sys_message_templateMessageTemplatecreated_atDATETIME创建时间普通
sys_message_templateMessageTemplateupdated_byBIGINT最后更新人账号 ID普通
sys_message_templateMessageTemplateupdated_atDATETIME最后更新时间普通
sys_message_templateMessageTemplateis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_message_templateMessageTemplatedeleted_atDATETIME删除时间,未删除为空普通
sys_message_templateMessageTemplatedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_message_templateMessageTemplateversionINT乐观锁版本号,写操作必须校验普通
sys_message_templateMessageTemplatetemplate_codeVARCHAR(64)模板编码,唯一普通
sys_message_templateMessageTemplatetemplate_nameVARCHAR(128)模板名称普通
sys_message_templateMessageTemplatechannelVARCHAR(32)站内信/短信/微信小程序/企微/Push普通
sys_message_templateMessageTemplatereceiver_ruleJSON接收人规则普通
sys_message_templateMessageTemplatecontent_templateTEXT模板内容普通
sys_message_templateMessageTemplateenabledTINYINT是否启用普通
sys_audit_logAuditLogidBIGINT主键,雪花或号段生成,禁止复用普通
sys_audit_logAuditLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_audit_logAuditLogorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_audit_logAuditLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_audit_logAuditLogcreated_byBIGINT创建人账号 ID普通
sys_audit_logAuditLogcreated_atDATETIME创建时间普通
sys_audit_logAuditLogupdated_byBIGINT最后更新人账号 ID普通
sys_audit_logAuditLogupdated_atDATETIME最后更新时间普通
sys_audit_logAuditLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_audit_logAuditLogdeleted_atDATETIME删除时间,未删除为空普通
sys_audit_logAuditLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_audit_logAuditLogversionINT乐观锁版本号,写操作必须校验普通
sys_audit_logAuditLogoperator_idBIGINT操作人 ID普通
sys_audit_logAuditLogbiz_typeVARCHAR(64)业务类型普通
sys_audit_logAuditLogbiz_idBIGINT业务主键 ID普通
sys_audit_logAuditLogaction_codeVARCHAR(64)操作编码普通
sys_audit_logAuditLogbefore_snapshotJSON变更前快照普通
sys_audit_logAuditLogafter_snapshotJSON变更后快照普通
sys_audit_logAuditLogip_addressVARCHAR(64)操作 IP普通
int_integration_logIntegrationLogidBIGINT主键,雪花或号段生成,禁止复用普通
int_integration_logIntegrationLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
int_integration_logIntegrationLogorg_idBIGINT所属组织,集团级或公共配置为空普通
int_integration_logIntegrationLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
int_integration_logIntegrationLogcreated_byBIGINT创建人账号 ID普通
int_integration_logIntegrationLogcreated_atDATETIME创建时间普通
int_integration_logIntegrationLogupdated_byBIGINT最后更新人账号 ID普通
int_integration_logIntegrationLogupdated_atDATETIME最后更新时间普通
int_integration_logIntegrationLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
int_integration_logIntegrationLogdeleted_atDATETIME删除时间,未删除为空普通
int_integration_logIntegrationLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
int_integration_logIntegrationLogversionINT乐观锁版本号,写操作必须校验普通
int_integration_logIntegrationLogrequest_idVARCHAR(128)请求 ID,幂等键普通
int_integration_logIntegrationLogsystem_codeVARCHAR(64)外部系统编码普通
int_integration_logIntegrationLogapi_pathVARCHAR(512)接口路径普通
int_integration_logIntegrationLogbiz_typeVARCHAR(64)业务类型普通
int_integration_logIntegrationLogbiz_idBIGINT业务 ID普通
int_integration_logIntegrationLogrequest_payloadJSON请求报文,敏感字段脱敏敏感
int_integration_logIntegrationLogresponse_payloadJSON响应报文普通
int_integration_logIntegrationLogcall_statusVARCHAR(32)成功/失败/超时/重试中普通
sec_sensitive_field_policySensitiveFieldPolicyidBIGINT主键,雪花或号段生成,禁止复用普通
sec_sensitive_field_policySensitiveFieldPolicytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sec_sensitive_field_policySensitiveFieldPolicyorg_idBIGINT所属组织,集团级或公共配置为空普通
sec_sensitive_field_policySensitiveFieldPolicycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sec_sensitive_field_policySensitiveFieldPolicycreated_byBIGINT创建人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicycreated_atDATETIME创建时间普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_byBIGINT最后更新人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_atDATETIME最后更新时间普通
sec_sensitive_field_policySensitiveFieldPolicyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_atDATETIME删除时间,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_byBIGINT删除人账号 ID,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicyversionINT乐观锁版本号,写操作必须校验普通
sec_sensitive_field_policySensitiveFieldPolicyfield_codeVARCHAR(128)字段编码,唯一普通
sec_sensitive_field_policySensitiveFieldPolicybiz_typeVARCHAR(64)业务类型普通
sec_sensitive_field_policySensitiveFieldPolicymask_ruleVARCHAR(64)脱敏规则普通
sec_sensitive_field_policySensitiveFieldPolicyview_requires_approvalTINYINT明文查看是否需审批普通
sec_sensitive_field_policySensitiveFieldPolicywatermark_requiredTINYINT是否加水印普通
edu_courseCourse/ProductidBIGINT主键,雪花或号段生成,禁止复用普通
edu_courseCourse/Producttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
edu_courseCourse/Productorg_idBIGINT所属组织,集团级或公共配置为空普通
edu_courseCourse/Productcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
edu_courseCourse/Productcreated_byBIGINT创建人账号 ID普通
edu_courseCourse/Productcreated_atDATETIME创建时间普通
edu_courseCourse/Productupdated_byBIGINT最后更新人账号 ID普通
edu_courseCourse/Productupdated_atDATETIME最后更新时间普通
edu_courseCourse/Productis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
edu_courseCourse/Productdeleted_atDATETIME删除时间,未删除为空普通
edu_courseCourse/Productdeleted_byBIGINT删除人账号 ID,未删除为空普通
edu_courseCourse/ProductversionINT乐观锁版本号,写操作必须校验普通
edu_courseCourse/Productcourse_codeVARCHAR(64)课程编码,唯一普通
edu_courseCourse/Productcourse_nameVARCHAR(128)课程名称普通
edu_courseCourse/ProductsubjectVARCHAR(32)学科普通
edu_courseCourse/Productcourse_typeVARCHAR(32)班课/一对一/直播/录播普通
edu_courseCourse/Productgrade_scopeJSON适用年级普通
edu_courseCourse/ProductenabledTINYINT是否启用普通
edu_homeworkHomeworkidBIGINT主键,雪花或号段生成,禁止复用普通
edu_homeworkHomeworktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
edu_homeworkHomeworkorg_idBIGINT所属组织,集团级或公共配置为空普通
edu_homeworkHomeworkcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
edu_homeworkHomeworkcreated_byBIGINT创建人账号 ID普通
edu_homeworkHomeworkcreated_atDATETIME创建时间普通
edu_homeworkHomeworkupdated_byBIGINT最后更新人账号 ID普通
edu_homeworkHomeworkupdated_atDATETIME最后更新时间普通
edu_homeworkHomeworkis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
edu_homeworkHomeworkdeleted_atDATETIME删除时间,未删除为空普通
edu_homeworkHomeworkdeleted_byBIGINT删除人账号 ID,未删除为空普通
edu_homeworkHomeworkversionINT乐观锁版本号,写操作必须校验普通
edu_homeworkHomeworkhomework_noVARCHAR(64)作业编号,唯一普通
edu_homeworkHomeworklesson_idBIGINT课次 ID普通
edu_homeworkHomeworktitleVARCHAR(128)作业标题普通
edu_homeworkHomeworkcontent_schemaJSON题目、附件、提交要求普通
edu_homeworkHomeworkdeadline_atDATETIME截止时间普通
edu_homeworkHomeworkpublish_statusVARCHAR(32)草稿/已发布/已关闭普通
live_replay_policyReplayPublishPolicy/ReplayAccessidBIGINT主键,雪花或号段生成,禁止复用普通
live_replay_policyReplayPublishPolicy/ReplayAccesstenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
live_replay_policyReplayPublishPolicy/ReplayAccessorg_idBIGINT所属组织,集团级或公共配置为空普通
live_replay_policyReplayPublishPolicy/ReplayAccesscampus_idBIGINT所属校区,跨校区或总部级数据为空普通
live_replay_policyReplayPublishPolicy/ReplayAccesscreated_byBIGINT创建人账号 ID普通
live_replay_policyReplayPublishPolicy/ReplayAccesscreated_atDATETIME创建时间普通
live_replay_policyReplayPublishPolicy/ReplayAccessupdated_byBIGINT最后更新人账号 ID普通
live_replay_policyReplayPublishPolicy/ReplayAccessupdated_atDATETIME最后更新时间普通
live_replay_policyReplayPublishPolicy/ReplayAccessis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
live_replay_policyReplayPublishPolicy/ReplayAccessdeleted_atDATETIME删除时间,未删除为空普通
live_replay_policyReplayPublishPolicy/ReplayAccessdeleted_byBIGINT删除人账号 ID,未删除为空普通
live_replay_policyReplayPublishPolicy/ReplayAccessversionINT乐观锁版本号,写操作必须校验普通
live_replay_policyReplayPublishPolicy/ReplayAccesspolicy_noVARCHAR(64)策略编号,唯一普通
live_replay_policyReplayPublishPolicy/ReplayAccesslive_room_idBIGINT直播间 ID普通
live_replay_policyReplayPublishPolicy/ReplayAccesspublish_scopeJSON可见范围普通
live_replay_policyReplayPublishPolicy/ReplayAccessaccess_ruleJSON有效期、次数、身份限制普通
live_replay_policyReplayPublishPolicy/ReplayAccesspublish_statusVARCHAR(32)未发布/已发布/已下线普通
mkt_live_qr_codeLiveQrCodeidBIGINT主键,雪花或号段生成,禁止复用普通
mkt_live_qr_codeLiveQrCodetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
mkt_live_qr_codeLiveQrCodeorg_idBIGINT所属组织,集团级或公共配置为空普通
mkt_live_qr_codeLiveQrCodecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
mkt_live_qr_codeLiveQrCodecreated_byBIGINT创建人账号 ID普通
mkt_live_qr_codeLiveQrCodecreated_atDATETIME创建时间普通
mkt_live_qr_codeLiveQrCodeupdated_byBIGINT最后更新人账号 ID普通
mkt_live_qr_codeLiveQrCodeupdated_atDATETIME最后更新时间普通
mkt_live_qr_codeLiveQrCodeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
mkt_live_qr_codeLiveQrCodedeleted_atDATETIME删除时间,未删除为空普通
mkt_live_qr_codeLiveQrCodedeleted_byBIGINT删除人账号 ID,未删除为空普通
mkt_live_qr_codeLiveQrCodeversionINT乐观锁版本号,写操作必须校验普通
mkt_live_qr_codeLiveQrCodeqr_codeVARCHAR(64)活码编码,唯一普通
mkt_live_qr_codeLiveQrCodebiz_typeVARCHAR(64)活动页/资源/课程/直播/表单普通
mkt_live_qr_codeLiveQrCodetarget_ruleJSON动态目标规则普通
mkt_live_qr_codeLiveQrCodefallback_urlVARCHAR(512)失效或异常兜底地址普通
mkt_live_qr_codeLiveQrCoderate_limit_ruleJSON防刷规则普通
mkt_live_qr_codeLiveQrCodeenabledTINYINT是否启用普通
stu_learning_profileLearningProfileidBIGINT主键,雪花或号段生成,禁止复用普通
stu_learning_profileLearningProfiletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
stu_learning_profileLearningProfileorg_idBIGINT所属组织,集团级或公共配置为空普通
stu_learning_profileLearningProfilecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
stu_learning_profileLearningProfilecreated_byBIGINT创建人账号 ID普通
stu_learning_profileLearningProfilecreated_atDATETIME创建时间普通
stu_learning_profileLearningProfileupdated_byBIGINT最后更新人账号 ID普通
stu_learning_profileLearningProfileupdated_atDATETIME最后更新时间普通
stu_learning_profileLearningProfileis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
stu_learning_profileLearningProfiledeleted_atDATETIME删除时间,未删除为空普通
stu_learning_profileLearningProfiledeleted_byBIGINT删除人账号 ID,未删除为空普通
stu_learning_profileLearningProfileversionINT乐观锁版本号,写操作必须校验普通
stu_learning_profileLearningProfilestudent_idBIGINT学员 ID普通
stu_learning_profileLearningProfilecourse_idBIGINT课程 ID普通
stu_learning_profileLearningProfileprogress_percentDECIMAL(6,2)学习进度百分比普通
stu_learning_profileLearningProfileability_tagsJSON能力标签普通
stu_learning_profileLearningProfilelast_active_atDATETIME最近学习时间普通
stu_learning_profileLearningProfileprofile_snapshotJSON学习画像快照普通

JSON 字段结构与校验

表名对象字段结构编码结构定义校验规则示例
res_resource_versionResourceVersionfile_idsID_LISTarray<number>数组长度 1-500;元素必须为已存在且未逻辑删除的业务 ID[10001,10002]
res_questionQuestionanswer_schemaANSWER_PAYLOAD{answers:[{questionId:number, answer:any, fileIds?:number[]}], durationSeconds:number, clientVersion:string}必答题不能为空;提交后形成不可变快照{"answers":[{"questionId":1,"answer":"A"}],"durationSeconds":360}
res_authorization_ruleResourceAuthorizationRuletarget_scopeORG_SCOPE{scopeType:string, orgIds:number[], campusIds:number[], includeChildren:boolean}组织和校区必须在当前租户授权范围内{"scopeType":"CAMPUS","campusIds":[101,102],"includeChildren":false}

状态/枚举标准字典

表名对象字段枚举编码取值终态/流转规则字段说明
res_learning_resourceLearningResourcetenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
res_learning_resourceLearningResourceis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
res_learning_resourceLearningResourceresource_typeRESOURCE_TYPE课件、视频、音频、题库、文章、试卷非终态,可按状态机或字典规则流转课件/视频/音频/题库/文章/试卷
res_learning_resourceLearningResourcepublish_statusPUBLISH_STATUSDRAFT 草稿、PUBLISHING 发布中、PUBLISHED 已发布、FAILED 发布失败、OFFLINE 已下线、ARCHIVED 已归档包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程草稿/审核中/已发布/已下架
res_resource_versionResourceVersiontenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
res_resource_versionResourceVersionis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
res_resource_versionResourceVersionversion_statusVERSION_STATUS草稿、已发布、已废弃非终态,可按状态机或字典规则流转草稿/已发布/已废弃
res_questionQuestiontenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
res_questionQuestionis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
res_questionQuestionquestion_typeQUESTION_TYPE单选、多选、填空、判断、主观、听力非终态,可按状态机或字典规则流转单选/多选/填空/判断/主观/听力
res_questionQuestionpublish_statusPUBLISH_STATUSDRAFT 草稿、PUBLISHING 发布中、PUBLISHED 已发布、FAILED 发布失败、OFFLINE 已下线、ARCHIVED 已归档包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程草稿/已发布/已下架
res_authorization_ruleResourceAuthorizationRuletenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
res_authorization_ruleResourceAuthorizationRuleis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
res_authorization_ruleResourceAuthorizationRuletarget_typeTARGET_TYPE课程、班级、学员、员工、角色非终态,可按状态机或字典规则流转课程/班级/学员/员工/角色
res_authorization_ruleResourceAuthorizationRuletarget_scopeTARGET_SCOPECOURSE 课程、CLASS 班级、STUDENT 学员、EMPLOYEE 员工、ROLE 角色、CAMPUS 校区、PUBLIC 公开非终态,可按状态机或字典规则流转授权对象范围

敏感字段与数据安全策略

来源表名对象字段数据级别脱敏/返回策略明文查看条件导出策略审计要求端侧展示规则
本模块对象res_authorization_ruleResourceAuthorizationRulerule_no普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则
本模块对象res_authorization_ruleResourceAuthorizationRuletarget_scope普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象sys_userUser/Employeemobile敏感MOBILE_MASK默认展示 138****0000;明文查看需字段权限或敏感字段查看审批导出手机号必须触发导出审批、下载水印和有效期控制明文查看、复制、导出和批量下载均写入 SensitiveAccessLogPC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息
引用对象sys_userUser/Employeepassword_hash高敏NEVER_RETURN禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用禁止导出;配置导出只允许导出脱敏引用和启停状态配置新增、修改、启停、轮换和失败读取均记录安全审计前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值
引用对象int_integration_logIntegrationLogrequest_payload敏感PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象int_integration_logIntegrationLogresponse_payload普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象sec_sensitive_field_policySensitiveFieldPolicymask_rule普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则

核心数据表完整字段

表名对象字段类型必填规则数据级别
res_learning_resourceLearningResourceidBIGINT主键,雪花或号段生成,禁止复用普通
res_learning_resourceLearningResourcetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
res_learning_resourceLearningResourceorg_idBIGINT所属组织,集团级或公共配置为空普通
res_learning_resourceLearningResourcecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
res_learning_resourceLearningResourcecreated_byBIGINT创建人账号 ID普通
res_learning_resourceLearningResourcecreated_atDATETIME创建时间普通
res_learning_resourceLearningResourceupdated_byBIGINT最后更新人账号 ID普通
res_learning_resourceLearningResourceupdated_atDATETIME最后更新时间普通
res_learning_resourceLearningResourceis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
res_learning_resourceLearningResourcedeleted_atDATETIME删除时间,未删除为空普通
res_learning_resourceLearningResourcedeleted_byBIGINT删除人账号 ID,未删除为空普通
res_learning_resourceLearningResourceversionINT乐观锁版本号,写操作必须校验普通
res_learning_resourceLearningResourceresource_noVARCHAR(64)资源编号,唯一普通
res_learning_resourceLearningResourceresource_nameVARCHAR(128)资源名称普通
res_learning_resourceLearningResourceresource_typeVARCHAR(32)课件/视频/音频/题库/文章/试卷普通
res_learning_resourceLearningResourcecategory_idBIGINT资源分类普通
res_learning_resourceLearningResourcefile_idBIGINT文件 ID普通
res_learning_resourceLearningResourcepublish_statusVARCHAR(32)草稿/审核中/已发布/已下架普通
res_resource_versionResourceVersionidBIGINT主键,雪花或号段生成,禁止复用普通
res_resource_versionResourceVersiontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
res_resource_versionResourceVersionorg_idBIGINT所属组织,集团级或公共配置为空普通
res_resource_versionResourceVersioncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
res_resource_versionResourceVersioncreated_byBIGINT创建人账号 ID普通
res_resource_versionResourceVersioncreated_atDATETIME创建时间普通
res_resource_versionResourceVersionupdated_byBIGINT最后更新人账号 ID普通
res_resource_versionResourceVersionupdated_atDATETIME最后更新时间普通
res_resource_versionResourceVersionis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
res_resource_versionResourceVersiondeleted_atDATETIME删除时间,未删除为空普通
res_resource_versionResourceVersiondeleted_byBIGINT删除人账号 ID,未删除为空普通
res_resource_versionResourceVersionversionINT乐观锁版本号,写操作必须校验普通
res_resource_versionResourceVersionresource_idBIGINT资源 ID普通
res_resource_versionResourceVersionversion_noINT版本号普通
res_resource_versionResourceVersionchange_descVARCHAR(512)变更说明普通
res_resource_versionResourceVersionfile_idsJSON版本文件普通
res_resource_versionResourceVersionpublish_atDATETIME发布时间普通
res_resource_versionResourceVersionversion_statusVARCHAR(32)草稿/已发布/已废弃普通
res_questionQuestionidBIGINT主键,雪花或号段生成,禁止复用普通
res_questionQuestiontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
res_questionQuestionorg_idBIGINT所属组织,集团级或公共配置为空普通
res_questionQuestioncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
res_questionQuestioncreated_byBIGINT创建人账号 ID普通
res_questionQuestioncreated_atDATETIME创建时间普通
res_questionQuestionupdated_byBIGINT最后更新人账号 ID普通
res_questionQuestionupdated_atDATETIME最后更新时间普通
res_questionQuestionis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
res_questionQuestiondeleted_atDATETIME删除时间,未删除为空普通
res_questionQuestiondeleted_byBIGINT删除人账号 ID,未删除为空普通
res_questionQuestionversionINT乐观锁版本号,写操作必须校验普通
res_questionQuestionquestion_noVARCHAR(64)题目编号,唯一普通
res_questionQuestionquestion_typeVARCHAR(32)单选/多选/填空/判断/主观/听力普通
res_questionQuestionquestion_stemTEXT题干普通
res_questionQuestionanswer_schemaJSON答案和解析普通
res_questionQuestiondifficultyVARCHAR(32)难度普通
res_questionQuestionpublish_statusVARCHAR(32)草稿/已发布/已下架普通
res_authorization_ruleResourceAuthorizationRuleidBIGINT主键,雪花或号段生成,禁止复用普通
res_authorization_ruleResourceAuthorizationRuletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
res_authorization_ruleResourceAuthorizationRuleorg_idBIGINT所属组织,集团级或公共配置为空普通
res_authorization_ruleResourceAuthorizationRulecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
res_authorization_ruleResourceAuthorizationRulecreated_byBIGINT创建人账号 ID普通
res_authorization_ruleResourceAuthorizationRulecreated_atDATETIME创建时间普通
res_authorization_ruleResourceAuthorizationRuleupdated_byBIGINT最后更新人账号 ID普通
res_authorization_ruleResourceAuthorizationRuleupdated_atDATETIME最后更新时间普通
res_authorization_ruleResourceAuthorizationRuleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
res_authorization_ruleResourceAuthorizationRuledeleted_atDATETIME删除时间,未删除为空普通
res_authorization_ruleResourceAuthorizationRuledeleted_byBIGINT删除人账号 ID,未删除为空普通
res_authorization_ruleResourceAuthorizationRuleversionINT乐观锁版本号,写操作必须校验普通
res_authorization_ruleResourceAuthorizationRulerule_noVARCHAR(64)授权规则编号,唯一普通
res_authorization_ruleResourceAuthorizationRuleresource_idBIGINT资源 ID普通
res_authorization_ruleResourceAuthorizationRuletarget_typeVARCHAR(32)课程/班级/学员/员工/角色普通
res_authorization_ruleResourceAuthorizationRuletarget_scopeJSON授权对象范围普通
res_authorization_ruleResourceAuthorizationRulevalid_fromDATETIME有效开始普通
res_authorization_ruleResourceAuthorizationRulevalid_toDATETIME有效截止普通

数据表与对象映射

表名对象用途完整字段索引建议
res_learning_resourceLearningResource教研学习资源id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、resource_no(VARCHAR(64),必填)、resource_name(VARCHAR(128),必填)、resource_type(VARCHAR(32),必填)、category_id(BIGINT)、file_id(BIGINT)、publish_status(VARCHAR(32),必填)uk_resource_no、idx_type_status
res_resource_versionResourceVersion资源版本与发布记录id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、resource_id(BIGINT,必填)、version_no(INT,必填)、change_desc(VARCHAR(512))、file_ids(JSON)、publish_at(DATETIME)、version_status(VARCHAR(32),必填)uk_resource_version、idx_status
res_questionQuestion题库题目id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、question_no(VARCHAR(64),必填)、question_type(VARCHAR(32),必填)、question_stem(TEXT,必填)、answer_schema(JSON,必填)、difficulty(VARCHAR(32))、publish_status(VARCHAR(32),必填)uk_question_no、idx_type_status
res_authorization_ruleResourceAuthorizationRule资源授权规则id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、rule_no(VARCHAR(64),必填)、resource_id(BIGINT,必填)、target_type(VARCHAR(32),必填)、target_scope(JSON,必填)、valid_from(DATETIME)、valid_to(DATETIME)uk_rule_no、idx_resource

12 · 状态机与业务规则

约束业务对象如何流转、何时可编辑、何时触发审批

原型需要把状态标签、可操作按钮和禁用原因展示清楚。
对象状态触发与说明
课次未开始 -> 待签到 -> 已签到 -> 已课消 -> 请假 -> 补课 -> 旷课 -> 异常待确认排课发布、签到、课消、请假、补课和人工确认
人脸授权未授权 -> 待采集 -> 已授权 -> 已下发 -> 撤回中 -> 已撤回 -> 已删除家长授权、照片采集、设备下发、撤回授权
学习任务未开始 -> 学习中 -> 已提交 -> 已批改 -> 需订正 -> 已完成 -> 已过期资源学习、作业提交、教师批改和进度归档
活动落地页草稿 -> 编辑中 -> 待发布 -> 发布中 -> 已发布 -> 发布失败 -> 已停用选择模板、编辑、发布、生成链接/活码、停用和复盘
作业草稿无草稿 -> 编辑中 -> 自动保存中 -> 已保存 -> 待提交 -> 已提交 -> 已删除 -> 已过期 -> 冲突待恢复学员进入作业后可自动或手动保存草稿,提交成功后关闭草稿;删除、过期和多端冲突必须可提示、可审计、可恢复到安全状态
人脸授权撤回已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭家长撤回、人脸模板删除任务、设备回执、失败重试和审计
补课改期取消已确认 -> 改期申请中 -> 取消申请中 -> 教务处理中 -> 已重新安排 -> 已拒绝 -> 已关闭 -> 待冲正 -> 已冲正家长发起改期或取消,教务处理候选课次和课消冲正,最终回到补课安排或关闭
设备维修工单待派单 -> 已派单 -> 已接单 -> 排查中 -> 待恢复校验 -> 已恢复 -> 已关闭 -> 已升级视频设备离线告警生成维修工单,恢复后回测直播、回放、录像索引
活码访问安全启用中 -> 限频中 -> 黑名单命中 -> 目标下架 -> 已停用 -> 已过期 -> 异常告警短链访问、防刷、失效页、黑名单和异常渠道告警
题库资源版本快照草稿 -> 已发布 -> 已引用 -> 已冻结 -> 已下架 -> 历史可追溯题目、试卷、资源发布后形成引用快照,历史答题按快照展示
课堂端会话待绑定 -> 已绑定 -> 待开课 -> 授课中 -> 暂停中 -> 已结束 -> 异常断开教师或教室设备创建课堂会话,TV 与教师端完成绑定后同步课件、互动和课堂状态;断开后可重连,结束后归档审计。
TV 课件播放未加载 -> 加载中 -> 播放中 -> 暂停 -> 互动展示中 -> 播放失败 -> 已退出TV 端接收课堂联动指令,按课件类型播放或展示,失败时回传错误码并提示教师端重试。
唯一性校验

教研内容中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

跨校区数据隔离

教研内容中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

敏感操作留痕

教研内容中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

外部接口幂等

教研内容中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

批量失败明细

教研内容中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

状态回退审批

教研内容中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

13 · 权限、审批与消息

动作权限、数据范围、审批触发和消息触达必须闭环

权限需要覆盖菜单、按钮、字段、接口和导出。

动作权限

  • 上传资源:需映射菜单、按钮、接口和字段权限
  • 维护题库:需映射菜单、按钮、接口和字段权限
  • 配置测评:需映射菜单、按钮、接口和字段权限
  • 发布课程:需映射菜单、按钮、接口和字段权限
  • 生成活码:需映射菜单、按钮、接口和字段权限
  • 授权访问:需映射菜单、按钮、接口和字段权限

数据范围

  • 总部全量
  • 区域辖区
  • 校区本地
  • 部门/岗位
  • 本人负责
  • 授权班级/学员

审批配置

审批名称触发条件流程结果留痕
课消撤销审批已确认收入的课消记录撤销教务提交 -> 校长 -> 财务撤销课消、恢复课时、冲回收入记录原课次和撤销原因
人脸授权撤回处理家长撤回人脸授权家长提交 -> 系统确认 -> 设备管理员执行停止识别并下发删除任务保留撤回凭证和删除结果
活码外部资源审批活码跳转外部链接或公开资源教研提交 -> 品牌负责人审核发布或下架活码规则记录资源版本和访问范围
直播供应商配置审批新增或变更直播供应商密钥、回调地址、录制存储、转码模板和域名配置技术运维 -> 系统管理员 -> 安全管理员通过后配置生效并触发连通性校验,同一租户仅保留一个启用供应商保留配置前后快照和验签结果
请假审批与补课安排家长请假通过但未确认补课时间,或补课候选课次需家长确认家长 -> 教务 -> 校长通过后生成补课安排或回到待安排池保留请假原因、课消处理、补课偏好和确认记录
转班转课审批涉及补差、退差、跨校区、班级容量例外或优惠反算课程顾问/教务 -> 校长 -> 财务通过后调整权益、课表和收退差任务保留测算版本、家长确认和生效记录
敏感字段查看审批查看手机号、人脸、合同、票据、薪资等敏感字段明文申请人 -> 直属主管 -> 安全管理员通过后限时授权并加水印展示,过期自动回收保留字段范围、业务原因、审批意见、查看记录和水印信息
补课改期取消审批已确认补课需要改期、取消或已课消后冲正家长/教务 -> 班主任/学管师 -> 教务负责人通过后释放原课次资源、重新安排或进入冲正保留原因、课次、课消、消息和处理结果

消息模板

消息接收人触发渠道变量
跟进超时提醒课程顾问/销售主管超过首响或回访 SLA站内信、App客户姓名、超时时长、下次跟进时间
试听预约通知家长/教师/顾问试听课预约成功或变更小程序、短信、App上课时间、校区、教室、教师
收款成功通知家长/顾问/财务支付成功小程序、站内信订单金额、课程、支付时间
库存预警库管/校区负责人物料或礼品低于安全库存站内信、App、企微SKU、校区、当前库存、安全库存、补货建议
到校签到通知家长人脸或人工签到成功小程序、App学员姓名、签到时间、校区、课程
签到异常提醒教务/前台识别未匹配或低置信度站内信、App设备、时间、候选学员、置信度
摄像头离线告警设备管理员/校区前台摄像头心跳超时或拉流失败站内信、App校区、教室、摄像头编号、品牌、异常时间
教学质量评分通知教师/校长/教研督导督课评分生成、低分预警或申诉复核站内信、App、企微课次、教师、综合分、低分维度、复核入口

14 · 接口与技术细节

接口需支持幂等、权限、审计、重试和回执

每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。
接口方法方向请求字段响应字段幂等/权限
/api/v1/resourcesPOST/GETPC Web 到资源中心courseId, resourceType, fileId, publishScoperesourceId, versionNo, authStatus资源版本唯一
/api/v1/question-banksPOST/GETPC Web 到题库subject, level, questionType, contentquestionId, reviewStatus, usageCount题目查重
/api/v1/live-qrcodesPOST/GETPC Web 到活码bizType, targetRule, versionNo, enabledqrCode, currentTargetqrCode 唯一
/api/v1/resources/authorizePOST资源中心到学习端resourceId, targetType, targetIds, validUntilauthId, authStatus授权范围校验

前端约束

  • 统一登录态和租户校区上下文
  • 列表分页、筛选、排序、列显隐
  • 表单本地校验与服务端错误映射
  • 移动/平板/TV 按终端适配交互

后端约束

  • 领域服务封装业务规则
  • 写操作事务一致性
  • 关键操作审计快照
  • 异步任务失败重试和告警

集成约束

  • 第三方接口统一走开放集成中心
  • 回执文件归档
  • 接口日志可按业务单号追踪
  • 密钥和回调地址按环境隔离

15 · 数据库与存储设计

核心表建议、关键字段和索引方向

详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。
表名用途核心字段索引建议
res_learning_resource教研学习资源id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、resource_no、resource_name、resource_type、category_id、file_id、publish_statusuk_resource_no、idx_type_status
res_resource_version资源版本与发布记录id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、resource_id、version_no、change_desc、file_ids、publish_at、version_statusuk_resource_version、idx_status
res_question题库题目id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、question_no、question_type、question_stem、answer_schema、difficulty、publish_statusuk_question_no、idx_type_status
res_authorization_rule资源授权规则id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、rule_no、resource_id、target_type、target_scope、valid_from、valid_touk_rule_no、idx_resource

DDL 草案

res_learning_resourceLearningResource
CREATE TABLE `res_learning_resource` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `resource_no` VARCHAR(64) NOT NULL COMMENT '资源编号,唯一;数据级别:普通',
  `resource_name` VARCHAR(128) NOT NULL COMMENT '资源名称;数据级别:普通',
  `resource_type` VARCHAR(32) NOT NULL COMMENT '课件/视频/音频/题库/文章/试卷;数据级别:普通',
  `category_id` BIGINT NULL COMMENT '资源分类;数据级别:普通',
  `file_id` BIGINT NULL COMMENT '文件 ID;数据级别:普通',
  `publish_status` VARCHAR(32) NOT NULL COMMENT '草稿/审核中/已发布/已下架;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_resource_no` (`resource_no`),
  KEY `idx_type_status` (`resource_type`, `publish_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='LearningResource:教研学习资源';
res_resource_versionResourceVersion
CREATE TABLE `res_resource_version` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `resource_id` BIGINT NOT NULL COMMENT '资源 ID;数据级别:普通',
  `version_no` INT NOT NULL COMMENT '版本号;数据级别:普通',
  `change_desc` VARCHAR(512) NULL COMMENT '变更说明;数据级别:普通',
  `file_ids` JSON NULL COMMENT '版本文件;数据级别:普通',
  `publish_at` DATETIME NULL COMMENT '发布时间;数据级别:普通',
  `version_status` VARCHAR(32) NOT NULL COMMENT '草稿/已发布/已废弃;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_resource_version` (`resource_id`, `version`),
  KEY `idx_status` (`version_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ResourceVersion:资源版本与发布记录';
res_questionQuestion
CREATE TABLE `res_question` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `question_no` VARCHAR(64) NOT NULL COMMENT '题目编号,唯一;数据级别:普通',
  `question_type` VARCHAR(32) NOT NULL COMMENT '单选/多选/填空/判断/主观/听力;数据级别:普通',
  `question_stem` TEXT NOT NULL COMMENT '题干;数据级别:普通',
  `answer_schema` JSON NOT NULL COMMENT '答案和解析;数据级别:普通',
  `difficulty` VARCHAR(32) NULL COMMENT '难度;数据级别:普通',
  `publish_status` VARCHAR(32) NOT NULL COMMENT '草稿/已发布/已下架;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_question_no` (`question_no`),
  KEY `idx_type_status` (`question_type`, `publish_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Question:题库题目';
res_authorization_ruleResourceAuthorizationRule
CREATE TABLE `res_authorization_rule` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `rule_no` VARCHAR(64) NOT NULL COMMENT '授权规则编号,唯一;数据级别:普通',
  `resource_id` BIGINT NOT NULL COMMENT '资源 ID;数据级别:普通',
  `target_type` VARCHAR(32) NOT NULL COMMENT '课程/班级/学员/员工/角色;数据级别:普通',
  `target_scope` JSON NOT NULL COMMENT '授权对象范围;数据级别:普通',
  `valid_from` DATETIME NULL COMMENT '有效开始;数据级别:普通',
  `valid_to` DATETIME NULL COMMENT '有效截止;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_rule_no` (`rule_no`),
  KEY `idx_resource` (`resource_id`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='ResourceAuthorizationRule:资源授权规则';

16 · 异常、指标、测试与初始化

保证模块上线后可运营、可追踪、可验收

测试要覆盖主流程、异常流、权限流、接口失败和数据一致性。

异常状态

资源无权限活码过期题目版本冲突

指标埋点

资源发布量题库使用次数活码访问量资源授权成功率资源更新时效

测试用例

编号场景前置步骤预期优先级
TC-007入班排课冲突校验教师同时间已有课程为同教师同时间排课系统拦截并提示冲突对象
TC-008人脸签到自动课消学员已授权人脸且课次待签到模拟设备回传识别事件签到成功、课消成功、家长收到通知
TC-009人脸未匹配异常设备回传未绑定人员提交识别事件进入异常队列,可人工确认或忽略
TC-010家长撤回人脸授权学员已授权并下发设备家长撤回授权系统停止识别并生成设备删除任务
TC-013教师发布作业并批改课次已完成教师发布作业,学员提交,教师批改学员端展示批改结果和成长档案
TC-018活码动态内容切换同一二维码配置不同班级资源不同学员扫码返回对应授权资源并记录扫码数据
TC-027设备离线补传设备离线后产生识别记录恢复网络并补传事件流水去重后生成签到或异常
TC-028重复识别时间窗同一学员短时间多次扫脸连续提交识别事件仅生成一次有效签到和课消
TC-029课消撤销审批课次已课消并确认收入发起撤销课消审批后恢复课时并冲回收入
TC-031活码过期状态活码规则有效期已过学员扫码访问资源提示资源已过期并记录拒绝访问
TC-RES-ENH-001活码资源交付闭环验收资源活码、短链目标、扫码记录相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐资源活码、目标规则、扫码权限、目标下架页、版本回滚和访问分析。执行前端提交、后端处理、状态流转、异常重试和消息触达二维码不变,目标内容可动态调整并保留历史。;同时产生审计日志、指标埋点和必要的补偿任务
TC-RES-ENH-002版本快照交付闭环验收题库管理、资源版本、测评结果相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐发布快照、引用关系、历史版本查看、下架影响和回滚规则。执行前端提交、后端处理、状态流转、异常重试和消息触达历史测评展示当时题目、答案、解析和分值。;同时产生审计日志、指标埋点和必要的补偿任务
TC-RES-ENH-003授权发布交付闭环验收资源详情、授权弹窗、学员资源页相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐授权范围、有效期、下载权限、转码状态、失败重试和访问异常页。执行前端提交、后端处理、状态流转、异常重试和消息触达资源发布后访问权限与班级、课程权益一致。;同时产生审计日志、指标埋点和必要的补偿任务

上线初始化

初始化项动作数据验收
组织与校区导入集团、品牌、法人主体、区域、校区、部门、岗位总部组织树、校区编码、法人关系、营业时间组织层级正确且权限可继承
设备参数登记人脸考勤机设备和校区绑定设备编号、位置、API 密钥、心跳阈值、识别阈值设备心跳正常且可接收人员下发
督课评分初始化教学质量评分维度、权重、低分阈值、复核规则和申诉规则学生维度、教师维度、课堂过程维度、学习结果维度、评分规则版本指定课次可生成质量分并进入复核或整改闭环
教研资源导入首批课程资源、题库、作业、测评和活码规则资源分类、课次、权限、有效期、版本学员端可按权益访问资源
知识库培训初始化知识库分类、资料类型、培训课程、考试规则和岗位能力学习分类目录、资料类型、必修课程、题库、学习档案规则员工可按岗位收到培训任务并完成考试
物料资产初始化物料分类、SKU、供应商、仓库、库存、固定资产和图书台账SKU 编码、单位、条码、安全库存、资产编号、库存余额采购、入库、领用、调拨和盘点可正常执行
直播消息模板初始化开播提醒、迟到缺席、公开课报名、会议通知、回放生成等模板模板变量、渠道、发送时间、失败重试策略测试消息可正常发送并记录送达结果
视频平台与地图点位初始化后台配置海康威视/宇视视频平台、门店侧网关、摄像头台账、集中机房存储策略和校区经纬度platformCode、vendorCode、gatewayCode、cameraCode、campusLatitude、campusLongitude、retentionDays=90地图大头钉、设备列表、直播播放和录像回放均可按权限访问
活码资源交付配置初始化补齐资源活码、目标规则、扫码权限、目标下架页、版本回滚和访问分析。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限资源活码、短链目标、扫码记录二维码不变,目标内容可动态调整并保留历史。
版本快照交付配置初始化补齐发布快照、引用关系、历史版本查看、下架影响和回滚规则。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限题库管理、资源版本、测评结果历史测评展示当时题目、答案、解析和分值。
授权发布交付配置初始化补齐授权范围、有效期、下载权限、转码状态、失败重试和访问异常页。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限资源详情、授权弹窗、学员资源页资源发布后访问权限与班级、课程权益一致。