# Wanyue-knowledge-payment **Repository Path**: lok79/wanyue-knowledge-payment ## Basic Information - **Project Name**: Wanyue-knowledge-payment - **Description**: 一个springboot的集成阿里云点播,直播的知识付费项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-03 - **Last Updated**: 2026-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Wanyue Knowledge Payment 知识付费项目,包含一个整合后的 Spring Boot 后端和三个前端应用: - `user-app`:用户端 H5 - `admin-web`:管理后台 - `teacher-web`:讲师后台 项目当前使用仓库内置脚本统一启动,适合本地联调、开发和上传到 Gitee / GitHub 后的协作说明。 ## 先看这里 如果你是第一次拉取项目,请优先阅读: 👉 [技术栈、版本号与配置说明:TECH-CONFIG.md](./TECH-CONFIG.md) 这份文档集中说明了项目使用的后端/前端技术版本、基础 `.env` 配置、短信/微信登录/OSS/VOD/AI/支付/直播等扩展配置,以及每个第三方服务应该去哪个官网申请。 ## 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 项目截图 ## 技术栈 - 后端:Java 17、Spring Boot 3.2、Maven、MySQL - 用户端:Vue 3、Pinia、Vite - 管理端 / 讲师端:Vue 3、Pinia、Element Plus、Vite ## 目录结构 ```text . ├─ backend/ # Spring Boot 后端与各业务模块 ├─ frontend/ │ ├─ user-app/ # 用户端 │ ├─ admin-web/ # 管理后台 │ └─ teacher-web/ # 讲师后台 ├─ scripts/ │ ├─ ai/ # AI 相关脚本 │ └─ dev/ # 本地开发启动脚本 ├─ .env.example # 后端与通用环境变量模板 ├─ .env.basic.example # 仅基础能力启动的环境变量模板 ├─ .env.player.example # AliPlayer 环境变量模板 ├─ TECH-CONFIG.md # 技术栈、版本号、基础/扩展配置说明 ├─ DEV-START.md # 开发启动补充说明 ├─ run-dev.cmd # 一键重启全部服务 └─ stop-dev.cmd # 一键停止全部服务 ``` ## 环境要求 启动前请确保本机已安装并可直接在命令行使用: - Java 17 - Maven 3.9+ - Node.js 18+(建议 LTS) - npm - MySQL 8.x 建议在 PowerShell 中验证: ```powershell java -version mvn -version node -v npm -v ``` ## 启动前配置 ### 1. 初始化数据库结构 项目现在只保留一份最终数据库脚本: - `backend/sql/init-schema.sql` 这份脚本会完成: - 创建数据库 `wanyue_knowledge_payment` - 创建全部业务表数据和索引 执行方式示例: ```powershell mysql -u root -p < backend/sql/init-schema.sql ``` ### 2. 配置后端环境变量 将根目录的 `.env.example` 复制为 `.env`,并至少补齐这些值: ```env MYSQL_HOST=127.0.0.1 MYSQL_PORT=3306 MYSQL_DATABASE=wanyue_knowledge_payment MYSQL_USERNAME=root MYSQL_PASSWORD=你的数据库密码 JWT_SECRET=你自己的JWT密钥 ``` 按你使用的功能,再继续补齐: - 短信:`WANYUE_SMS_*` - 微信登录:`WANYUE_WECHAT_*` - OSS / VOD:`WANYUE_OSS_*`、`WANYUE_VOD_*` - 腾讯混元:`WANYUE_TENCENT_HUNYUAN_*` - 微信支付 / 支付宝:`WANYUE_WECHAT_PAY_*`、`ALIPAY_*` 如果某个第三方能力你暂时不用,可以先不填对应配置,但相关功能将不可用。 如果只想验证“不接短信、支付、OSS、VOD、AI、真实直播”等扩展能力时能否启动,可以先使用 `.env.basic.example`: ```powershell Copy-Item .env.basic.example .env -Force # 然后编辑 .env,至少填写 MYSQL_PASSWORD ``` 完整的技术栈版本、配置项来源和第三方申请入口见 [TECH-CONFIG.md](./TECH-CONFIG.md)。 ### 3. 配置 AliPlayer(如需视频播放授权) 将根目录的 `.env.player.example` 复制为 `.env.player`,并填写: ```env ALIPLAYER_LICENSE_DOMAIN=你的授权域名 ALIPLAYER_LICENSE_KEY=你的播放器授权 Key ``` 启动脚本会自动读取 `.env.player`,并生成本地运行时配置文件,不会提交到 Git。 ### 4. 安装前端依赖 首次启动前请分别安装三个前端目录的依赖: ```powershell cd frontend\user-app npm install cd ..\admin-web npm install cd ..\teacher-web npm install ``` ### 5. 微信支付证书文件(如需支付) 如果启用了微信支付,确保商户私钥文件存在,并让 `.env` 中的路径与本地文件一致,例如: ```env WANYUE_WECHAT_PAY_PRIVATE_KEY_PATH=./cert/apiclient_key.pem ``` 同时不要将证书、私钥、`.env`、`.env.player` 提交到 Git。 ### 6. 真实直播推流 / 拉流接入 当前仓库未内置某一家云直播厂商的自动推流 / 拉流地址生成能力。 如果你要接入真实直播,需要自行接入直播云服务,并为每个直播场次生成并保存以下字段: - `pushUrl`:讲师推流地址 - `playUrl`:用户观看拉流地址 - `replayUrl`:直播回放地址,可选 项目现有直播业务流程、直播房间模型和前端页面已经预留了这些字段,接入完成后可以直接复用现有直播管理、直播广场、直播间和聊天逻辑。 需要注意的是:当前仓库明确已接好的媒体能力是 `阿里云 VOD` 和 `AliPlayer`;真实直播推流 / 拉流本身仍需要你自行补充直播云接入层。 ## 启动方式 ### 一键启动 / 重启全部服务 在仓库根目录执行: ```powershell .\run-dev.cmd ``` 这个命令会: - 自动读取 `.env` - 自动读取 `.env.player` - 自动停止已启动的服务 - 自动重新构建后端并启动全部应用 ### 仅重启后端 ```powershell .\run-dev.cmd -BackendOnly ``` ### 仅重启后端且跳过构建 ```powershell .\run-dev.cmd -BackendOnly -SkipBuild ``` ### 仅重启前端 ```powershell .\run-dev.cmd -FrontendOnly ``` ### 仅停止后端 ```powershell .\stop-dev.cmd -BackendOnly ``` ### 停止全部服务 ```powershell .\stop-dev.cmd ``` ### 仅停止前端 ```powershell .\stop-dev.cmd -FrontendOnly ``` ## 默认端口 - 后端:`http://localhost:8080` - 用户端:`http://localhost:5173` - 管理后台:`http://localhost:5174` - 讲师后台:`http://localhost:5175` ## 日志与状态 - 日志目录:`.dev/logs/` - 运行状态:`.dev/run/state.json` 如果服务启动异常,优先查看对应 `.out.log` 和 `.err.log`。 ## 常见问题 ### 前端无法停止 / 提示 `Access is denied` 这通常表示之前的前端 `node` 进程是由更高权限的终端启动的。请使用管理员身份打开 PowerShell,再运行: ```powershell .\run-dev.cmd ``` ### 后端启动后接口全是 500 优先检查: - `.env` 是否存在 - `MYSQL_PASSWORD` 是否正确 - MySQL 服务是否已启动 - 是否已经执行 `backend/sql/init-schema.sql` ### 端口被占用 当前前端开发服务器启用了 `strictPort: true`。如果 `5173`、`5174`、`5175` 或 `8080` 被占用,启动会失败,请先释放对应端口。 ## 安全说明 - 不要提交 `.env` - 不要提交 `.env.player` - 不要提交证书、私钥、支付密钥、云服务密钥 - 上传 Gitee / GitHub 前建议再次运行 `gitleaks` ## 相关文档 - 开发启动补充说明:[DEV-START.md](./DEV-START.md) - 技术栈与配置说明:[TECH-CONFIG.md](./TECH-CONFIG.md) - 后端补充说明:[backend/README-M01.md](./backend/README-M01.md) - 用户端补充说明:[frontend/user-app/README-M01.md](./frontend/user-app/README-M01.md)