# SIM-COMM-GITEE
**Repository Path**: kunhuozhineng/sim-comm-gitee
## Basic Information
- **Project Name**: SIM-COMM-GITEE
- **Description**: 仿真应用社区用户端前端项目
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-03-17
- **Last Updated**: 2025-09-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 使用说明
## 项目名称
仿真应用社区用户端
## 项目运行
- 运行要求 node 20+
- 安装依赖 npm install
- 本地运行 npm run dev
- 本地访问 http://localhost:5001/
- 打包(测试环境) npm run test
- 打包(生产环境) npm run build
## 课程授权播放处理流程
1. 使用全部课程接口获得srcCourseId
2. 使用srcCourseId请求接口课程详情,通过videoList得到指定视频 aliCutVid
3. 使用aliCutVid请求授权播放接口,获得授权
4. 播放视频
5. 播放过程中,上报课程进度,开始播放及播放结束时均上报一次,中间间隔5秒上报一次
## 鉴权认证
### 公共参数
需要签名的接口Header中必须包含以下参数:
- timestamp
- nonce
- sign
参与签名的还需要 secret,由双方协定。
### 构建请求
1. 请求body按JSON去除空格、换行等制表符号。
2. 使用SHA256算法对第1步中的JSON字符串+timestamp+nonce+secret,并转换为16进制字符串,得出 sign 参数。
3. 将 sign 参数加到header中。
4. 注意:timestamp 和 nonce 要与header中一致,否则校验失败。
- timestamp: 1725277079000
- nonce: 1725277079
- secret: aa8f9c5a6f714dd2ab90f094750c2039
参与字符串:{"name":"lizhiwei","age":18}17252770790001725277079aa8f9c5a6f714dd2ab90f094750c2039
最终签名结果: 36796532d75e5c7be1438c1908f45fea967f44f5a0c338e0bcf1b7ba0f997958
### Body参数
| trackKey | trackName | param1 | param2 | param3 | 备注 |
| ----- |:----:|:----:|:----:|:----:|:----:|
| courseView | 课程播放 | courseId| 学习课程Id | | 举例:893875|
| docView | 文档 | documentId | 文档Id | | 举例:文档Id|
| courseView | 学习课程 | courseId | | | 举例:
https://pera.scnet.cn:65082/#/course/index?id=90971 param1=90971 |
| docView | 浏览文档 | documentPkgId | documentId | | | 下载时的文档包Id和文档Id,如果打包下载,param2可以不传 |
| pageView | 浏览页面 | 页面path | | | 举例:
https://pera.scnet.cn:65082/#/home param1=/home
https://pera.scnet.cn:65082/#/course/index?id=893875 patam1=/course/index
https://pera.scnet.cn:65082/#/my-course/list param1=/my-course/list |
| clickBanner | 点击banner | bannerId | | | |