数字人民币教学仿真后端
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
chenyuan bdc2bed8a6 docs: clarify swagger workflow step modules 2 weeks ago
.superpowers/sdd/2026-08-03-issuance-request-implementation fix: audit issuance writes with current account 4 weeks ago
docs docs: plan Chinese API message updates 4 weeks ago
src docs: clarify swagger workflow step modules 2 weeks ago
.gitignore chore: ignore local worktrees 4 weeks ago
README.md feat:发行货币的功能开发 3 weeks ago
pom.xml feat:文件上传的功能开发 3 weeks ago

README.md

数字人民币教学仿真后端

开发规范与模块目录约定见 开发规范

运行环境

  • JDK 8已按 Temurin 8 验证)
  • Spring Boot 2.7.18、Spring Security 5.7、MyBatis-Plus 3.5.17、Knife4j 4.4.0
  • MySQL 8

登录方式

  • 兼容综合实训平台登录:POST /api/user/login
    • 账号密码登录参数:usernamepasswordEncode
    • Token 单点登录参数:TOKEN。接口解析智云 HS256 Token同步本地用户并直接返回本系统访问 Token。
  • 原有主平台跳转登录:GET /api/v1/auth/sso?token=...,验证成功后携带本系统 Token 跳转前端回调地址。
  • 本地账号密码:POST /api/v1/auth/login 请求体为 {"studentId":"tzs001","password":"123qwe"},按 sys_user.student_id 查询并校验本系统保存的 BCrypt 密码哈希。旧字段 username 暂时作为兼容别名。

Token 单点登录中的平台 userId 保存为 sys_user.zy_user_id;本地 sys_user.user_id 始终使用 UUID 主键。本系统只接受管理员、教师和学生角色。

必需配置

生产环境通过环境变量配置:

变量 说明
DIGITAL_RMB_DB_URL 本系统 MySQL JDBC 地址
DIGITAL_RMB_DB_USERNAME 本系统数据库账号
DIGITAL_RMB_DB_PASSWORD 本系统数据库密码
DIGITAL_RMB_JWT_SECRET 至少 64 字符的应用 JWT 密钥
DIGITAL_RMB_PLATFORM_DB_URL 主平台 MySQL JDBC 地址
DIGITAL_RMB_PLATFORM_DB_USERNAME 主平台只读数据库账号
DIGITAL_RMB_PLATFORM_DB_PASSWORD 主平台只读数据库密码
DIGITAL_RMB_CAS_LOGIN_URL 学校 CAS 登录地址
DIGITAL_RMB_CAS_VALIDATE_URL CAS serviceValidate 地址
DIGITAL_RMB_CAS_CALLBACK_URL 本系统固定 CAS 回调地址
DIGITAL_RMB_FRONTEND_CALLBACK_URL 前端接收一次性 code 的固定回调地址

主平台数据库账号必须仅授予 SELECT 权限。不要将主平台 Token 写入日志、数据库或前端最终 URL。

本地运行

mvn spring-boot:run -Dspring-boot.run.profiles=local -Dspring-boot.run.arguments=--server.port=8081

本地 Swaggerhttp://localhost:8081/doc.html

测试环境会执行 schema.sql,创建或更新测试账号 tzs001dev 配置的 spring.sql.init.modenever,不会自动修改真实 MySQL开发库必须已有 sys_user 记录,并且 password 必须保存 BCrypt 哈希,不能保存密码明文。