2026-03-21 18:35:41 +08:00
|
|
|
|
# OpenClaw Skills 数字员工交易平台
|
2026-03-17 12:09:43 +08:00
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
基于 Vue 3 + Spring Boot 3 的全栈数字员工 Skill 交易平台,支持 Skill 浏览、购买(混合支付:积分+微信支付)、退款、评价、邀请奖励等完整交易闭环,并提供功能完善的管理后台。
|
2026-03-17 12:09:43 +08:00
|
|
|
|
|
|
|
|
|
|
## 技术栈
|
|
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
| 层面 | 技术 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| **前端** | Vue 3.4 + Vite 5 + Pinia + Vue Router 4 + Ant Design Vue 4 + Element Plus + Axios |
|
|
|
|
|
|
| **后端** | Java 17 + Spring Boot 3.2 + MyBatis Plus 3.5.7 + MySQL 8.0 + Redis 7.x |
|
|
|
|
|
|
| **消息队列** | RabbitMQ(退款异步处理、充值积分发放、超时提醒) |
|
|
|
|
|
|
| **支付** | 微信支付 V3(Native Pay + 退款),支持模拟支付模式 |
|
|
|
|
|
|
| **ID 生成** | Leaf Segment(号段模式,订单号/退款单号等) |
|
|
|
|
|
|
| **文件存储** | 腾讯云 COS |
|
|
|
|
|
|
| **短信** | 短信验证码(注册/找回密码) |
|
|
|
|
|
|
| **测试** | Vitest(前端) |
|
2026-03-17 12:09:43 +08:00
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
数字员工/
|
2026-03-21 18:35:41 +08:00
|
|
|
|
├── frontend/ # Vue 3 前端(52 个页面)
|
2026-03-17 12:09:43 +08:00
|
|
|
|
│ ├── src/
|
2026-03-21 18:35:41 +08:00
|
|
|
|
│ │ ├── views/ # 页面视图
|
|
|
|
|
|
│ │ │ ├── home/ # 首页
|
|
|
|
|
|
│ │ │ ├── skill/ # Skill 商城(列表/详情/搜索/榜单)
|
|
|
|
|
|
│ │ │ ├── order/ # 订单(详情/支付/模拟支付)
|
|
|
|
|
|
│ │ │ ├── user/ # 用户中心(16 个子页面)
|
|
|
|
|
|
│ │ │ ├── admin/ # 管理后台(21 个子页面)
|
|
|
|
|
|
│ │ │ ├── help/ # 帮助中心
|
|
|
|
|
|
│ │ │ ├── customize/ # Skill 定制
|
|
|
|
|
|
│ │ │ ├── join-us/ # 加入我们(开发者申请)
|
|
|
|
|
|
│ │ │ ├── legal/ # 法律条款
|
|
|
|
|
|
│ │ │ └── error/ # 错误页
|
|
|
|
|
|
│ │ ├── stores/ # Pinia 状态管理(7 个 store)
|
|
|
|
|
|
│ │ ├── service/
|
|
|
|
|
|
│ │ │ ├── apiService.js # Axios API 封装(22 个模块)
|
|
|
|
|
|
│ │ │ └── dataAdapter.js # 后端数据归一化
|
|
|
|
|
|
│ │ ├── components/ # UI 组件
|
|
|
|
|
|
│ │ ├── layouts/ # 布局(MainLayout + AdminLayout)
|
|
|
|
|
|
│ │ ├── router/index.js # 路由配置
|
2026-03-17 12:09:43 +08:00
|
|
|
|
│ │ └── main.js
|
2026-03-21 18:35:41 +08:00
|
|
|
|
│ ├── .env.development # 开发环境变量
|
|
|
|
|
|
│ ├── .env.production # 生产环境变量
|
|
|
|
|
|
│ └── package.json
|
|
|
|
|
|
│
|
|
|
|
|
|
├── openclaw-backend/ # Spring Boot 后端
|
|
|
|
|
|
│ └── openclaw-backend/
|
|
|
|
|
|
│ ├── src/main/java/com/openclaw/
|
|
|
|
|
|
│ │ ├── module/ # 20 个业务模块
|
|
|
|
|
|
│ │ │ ├── user/ # 用户(注册/登录/短信/微信)
|
|
|
|
|
|
│ │ │ ├── skill/ # Skill(CRUD/评价/收藏/分类/榜单)
|
|
|
|
|
|
│ │ │ ├── order/ # 订单(创建/支付/取消/退款)
|
|
|
|
|
|
│ │ │ ├── payment/ # 支付(充值/微信支付/回调/模拟支付)
|
|
|
|
|
|
│ │ │ ├── points/ # 积分(签到/消费/退还/流水)
|
|
|
|
|
|
│ │ │ ├── member/ # 会员等级(成长值/等级配置/权益)
|
|
|
|
|
|
│ │ │ ├── admin/ # 后台管理(综合管理接口)
|
|
|
|
|
|
│ │ │ ├── invite/ # 邀请系统
|
|
|
|
|
|
│ │ │ ├── invoice/ # 发票管理
|
|
|
|
|
|
│ │ │ ├── content/ # 内容管理(轮播图/公告)
|
|
|
|
|
|
│ │ │ ├── activity/ # 活动管理
|
|
|
|
|
|
│ │ │ ├── notification/ # 消息通知
|
|
|
|
|
|
│ │ │ ├── feedback/ # 反馈建议
|
|
|
|
|
|
│ │ │ ├── help/ # 帮助中心
|
|
|
|
|
|
│ │ │ ├── rbac/ # 角色权限管理
|
|
|
|
|
|
│ │ │ ├── log/ # 操作日志
|
|
|
|
|
|
│ │ │ ├── developer/ # 开发者申请
|
|
|
|
|
|
│ │ │ ├── customization/ # Skill 定制需求
|
|
|
|
|
|
│ │ │ ├── share/ # 分享(微信 JS-SDK)
|
|
|
|
|
|
│ │ │ └── common/ # 公共(文件上传/配置/统计)
|
|
|
|
|
|
│ │ ├── common/ # 公共基础设施
|
|
|
|
|
|
│ │ │ ├── event/ # 领域事件(退款/充值)
|
|
|
|
|
|
│ │ │ └── mq/ # RabbitMQ(消费者/常量/配置)
|
|
|
|
|
|
│ │ ├── config/ # 配置类
|
|
|
|
|
|
│ │ ├── annotation/ # 自定义注解(@RequiresRole 等)
|
|
|
|
|
|
│ │ └── util/ # 工具类
|
|
|
|
|
|
│ ├── src/main/resources/
|
|
|
|
|
|
│ │ ├── application.yml # 应用配置
|
|
|
|
|
|
│ │ └── db/
|
|
|
|
|
|
│ │ ├── init.sql # 数据库初始化
|
|
|
|
|
|
│ │ ├── migration/ # Flyway 迁移脚本(9 个)
|
|
|
|
|
|
│ │ └── seed_skills.sql # 种子数据
|
|
|
|
|
|
│ └── pom.xml
|
|
|
|
|
|
│
|
|
|
|
|
|
├── 后端架构设计/ # 架构设计文档集
|
|
|
|
|
|
├── 产品功能架构设计.md # 产品功能架构设计参考
|
|
|
|
|
|
├── 待实现功能清单.md # 功能完成度跟踪
|
|
|
|
|
|
├── P1低优先级开发计划.md # P1 功能开发计划
|
|
|
|
|
|
├── 全量功能测试计划清单_2026-03-19.md # 测试计划
|
|
|
|
|
|
├── 后端启动指南.md # 后端详细启动文档
|
2026-03-17 12:09:43 +08:00
|
|
|
|
└── README.md
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
## 快速启动
|
2026-03-17 12:09:43 +08:00
|
|
|
|
|
|
|
|
|
|
### 前置要求
|
|
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
| 依赖 | 版本要求 |
|
|
|
|
|
|
|------|---------|
|
|
|
|
|
|
| Node.js | v16+ |
|
|
|
|
|
|
| Java | 17+ |
|
|
|
|
|
|
| MySQL | 8.0+ |
|
|
|
|
|
|
| Redis | 7.x+ |
|
|
|
|
|
|
| RabbitMQ | 3.x+ |
|
|
|
|
|
|
| Maven | 3.6+ |
|
2026-03-17 12:09:43 +08:00
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
### 后端启动
|
2026-03-17 12:09:43 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-03-21 18:35:41 +08:00
|
|
|
|
# 1. 初始化数据库
|
|
|
|
|
|
cd openclaw-backend/openclaw-backend
|
|
|
|
|
|
mysql -u root -p < src/main/resources/db/init.sql
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 修改配置(数据库/Redis/RabbitMQ 连接信息、微信支付密钥等)
|
|
|
|
|
|
# 编辑 src/main/resources/application.yml
|
|
|
|
|
|
|
|
|
|
|
|
# 3. 启动后端
|
|
|
|
|
|
mvn spring-boot:run
|
|
|
|
|
|
# 后端运行在 http://localhost:8080
|
2026-03-17 12:09:43 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
> 详细启动步骤请参考 `后端启动指南.md`
|
|
|
|
|
|
|
|
|
|
|
|
### 前端启动
|
|
|
|
|
|
|
2026-03-17 12:09:43 +08:00
|
|
|
|
```bash
|
2026-03-21 18:35:41 +08:00
|
|
|
|
cd frontend
|
|
|
|
|
|
npm install
|
2026-03-17 12:09:43 +08:00
|
|
|
|
npm run dev
|
2026-03-21 18:35:41 +08:00
|
|
|
|
# 前端运行在 http://localhost:5173
|
2026-03-17 12:09:43 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
### 模拟支付模式
|
2026-03-17 12:09:43 +08:00
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
项目支持在微信支付未启用时使用模拟支付,可通过 `/mock-pay` 页面完成订单和充值的模拟支付,方便开发调试。
|
2026-03-17 12:09:43 +08:00
|
|
|
|
|
|
|
|
|
|
## 功能模块
|
|
|
|
|
|
|
2026-03-21 18:35:41 +08:00
|
|
|
|
### 用户端(16 个页面)
|
|
|
|
|
|
|
|
|
|
|
|
| 模块 | 功能 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| **用户系统** | 手机号注册/登录、微信扫码登录、短信验证码、忘记密码、个人资料编辑、头像上传、手机号更换、密码修改 |
|
|
|
|
|
|
| **Skill 商城** | 列表浏览、分类筛选、关键词搜索、Skill 详情、热门榜单(下载量/评分/周/月/总) |
|
|
|
|
|
|
| **订单与支付** | 订单预览(积分+现金混合计算)、下单、微信支付/模拟支付、取消订单、申请退款 |
|
|
|
|
|
|
| **积分系统** | 积分余额、积分流水、每日签到、加入社群奖励、积分充值(梯度套餐)、积分过期(一年有效期)、活动冻结/解冻 |
|
|
|
|
|
|
| **评价与收藏** | Skill 评价/评分、点赞评论、收藏/取消收藏 |
|
|
|
|
|
|
| **邀请系统** | 邀请码生成、绑定邀请码、邀请记录、邀请统计 |
|
|
|
|
|
|
| **发票管理** | 发票申请、发票列表、发票详情 |
|
|
|
|
|
|
| **消息通知** | 通知列表、未读数、标记已读/全部已读 |
|
|
|
|
|
|
| **反馈建议** | 提交反馈、反馈列表、反馈详情 |
|
|
|
|
|
|
| **帮助中心** | 分类浏览、文章搜索、文章详情、标记有用 |
|
|
|
|
|
|
| **其他** | Skill 定制需求提交、开发者申请、用户协议/隐私政策 |
|
|
|
|
|
|
|
|
|
|
|
|
### 管理后台(21 个页面)
|
|
|
|
|
|
|
|
|
|
|
|
| 模块 | 功能 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| **数据看板** | 用户/订单/Skill/积分/收入统计、趋势图表 |
|
|
|
|
|
|
| **用户管理** | 用户列表、用户详情、封禁/解封、角色变更 |
|
|
|
|
|
|
| **Skill 管理** | Skill 列表、审核(通过/拒绝)、上下架、推荐/取消推荐、后台创建 Skill |
|
|
|
|
|
|
| **订单管理** | 订单列表、订单详情 |
|
|
|
|
|
|
| **退款管理** | 退款列表、审批通过(触发微信退款+积分退还)、拒绝退款(恢复原订单状态) |
|
|
|
|
|
|
| **评论管理** | 评论列表、删除违规评论 |
|
|
|
|
|
|
| **积分管理** | 积分流水查看、手动调整积分、过期清理(每日凌晨2点定时任务) |
|
|
|
|
|
|
| **内容管理** | 轮播图 CRUD、公告 CRUD、活动 CRUD |
|
|
|
|
|
|
| **发票管理** | 发票列表、发票审核/开具 |
|
|
|
|
|
|
| **帮助中心管理** | 分类 CRUD、文章 CRUD |
|
|
|
|
|
|
| **反馈管理** | 反馈列表、详情查看、回复、状态变更 |
|
|
|
|
|
|
| **定制需求管理** | 定制需求列表、状态处理 |
|
|
|
|
|
|
| **开发者管理** | 开发者申请列表、审核通过/拒绝 |
|
|
|
|
|
|
| **RBAC 权限** | 角色 CRUD、权限列表、角色权限配置、管理员角色配置 |
|
|
|
|
|
|
| **操作日志** | 操作日志列表查询 |
|
|
|
|
|
|
| **系统设置** | 系统配置 |
|
|
|
|
|
|
|
|
|
|
|
|
### 后端 API 概览(29 个 Controller)
|
|
|
|
|
|
|
|
|
|
|
|
| 分类 | Controller | 说明 |
|
|
|
|
|
|
|------|-----------|------|
|
|
|
|
|
|
| 用户 | UserController, WechatAuthController | 注册/登录/个人信息/微信授权 |
|
|
|
|
|
|
| Skill | SkillController, CategoryController, SkillFavoriteController | 商城/分类/收藏 |
|
|
|
|
|
|
| 订单 | OrderController | 下单/支付/取消/退款 |
|
|
|
|
|
|
| 支付 | PaymentController, MockPaymentController | 充值/微信回调/模拟支付 |
|
|
|
|
|
|
| **积分** | PointsController | 余额/流水/签到/过期清理/活动冻结 |
|
|
|
|
|
|
| **会员** | MemberController | 等级详情/成长记录/管理员调整 |
|
|
|
|
|
|
| 邀请 | InviteController | 邀请码/绑定/记录 |
|
|
|
|
|
|
| 内容 | BannerController, AnnouncementController, ActivityController | 轮播图/公告/活动(公开) |
|
|
|
|
|
|
| 发票 | InvoiceController | 发票申请/列表 |
|
|
|
|
|
|
| 通知 | NotificationController | 消息通知 |
|
|
|
|
|
|
| 反馈 | FeedbackController | 反馈建议 |
|
|
|
|
|
|
| 帮助 | HelpController, AdminHelpController | 帮助中心 |
|
|
|
|
|
|
| 分享 | ShareController | 微信 JS-SDK 签名 |
|
|
|
|
|
|
| 开发者 | DeveloperController | 开发者申请 |
|
|
|
|
|
|
| 定制 | CustomizationController | Skill 定制需求 |
|
|
|
|
|
|
| 管理后台 | AdminController, AdminActivityController | 综合后台管理 |
|
|
|
|
|
|
| RBAC | RbacController | 角色权限管理 |
|
|
|
|
|
|
| 日志 | OperationLogController | 操作日志 |
|
|
|
|
|
|
| 公共 | ConfigController, FileUploadController, StatsController | 配置/上传/统计 |
|
|
|
|
|
|
|
|
|
|
|
|
### 消息队列(RabbitMQ)
|
|
|
|
|
|
|
|
|
|
|
|
| 队列 | 用途 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| `openclaw.recharge.paid` | 充值成功 → 积分发放 |
|
|
|
|
|
|
| `openclaw.refund.approved` | 退款审批通过 → 微信退款 + 积分退还 + 退款单完成 |
|
|
|
|
|
|
| `openclaw.refund.timeout.remind` | 退款超时 → 管理员提醒(48h 延迟队列) |
|
|
|
|
|
|
|
|
|
|
|
|
## 项目文档
|
|
|
|
|
|
|
|
|
|
|
|
| 文档 | 说明 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| `后端启动指南.md` | 后端详细启动配置文档 |
|
|
|
|
|
|
| `待实现功能清单.md` | 功能完成度跟踪(Phase 1~3) |
|
|
|
|
|
|
| `产品功能架构设计.md` | 产品功能架构设计参考 |
|
|
|
|
|
|
| `P1低优先级开发计划.md` | P1 优先级功能开发计划 |
|
|
|
|
|
|
| `全量功能测试计划清单_2026-03-19.md` | 测试计划清单 |
|
|
|
|
|
|
| `后端架构设计/` | 后端架构设计文档集 |
|
|
|
|
|
|
| `openclaw-backend/API_EXAMPLES.md` | API 测试示例(curl 命令) |
|
|
|
|
|
|
|
|
|
|
|
|
## 当前状态
|
|
|
|
|
|
|
|
|
|
|
|
> 更新日期:2026-03-21
|
|
|
|
|
|
|
|
|
|
|
|
| 阶段 | 完成度 | 说明 |
|
|
|
|
|
|
|------|--------|------|
|
|
|
|
|
|
| Phase 1 MVP 核心 | ~98% | 用户/商城/积分/支付/混合支付/后台管理基本完成 |
|
|
|
|
|
|
| Phase 2 核心完善 | ~90% | 内容管理/发票/榜单/RBAC/操作日志/帮助中心/反馈/退款完善/活动管理/积分过期冻结已完成 |
|
|
|
|
|
|
| Phase 3 运营深化 | ~10% | 会员等级体系已完成;优惠券/活动系统/风控等待做 |
|
|
|
|
|
|
|
|
|
|
|
|
**近期修复与新增**:
|
|
|
|
|
|
- 会员等级体系(普通→白银→金卡→钻石,成长值自动增长,签到倍率/积分折扣权益,管理员手动调整,安全审计修复)
|
|
|
|
|
|
- 积分过期 + 冻结机制(一年有效期、批次追踪、活动冻结/解冻、定时过期清理、前端冻结/过期状态展示)
|
|
|
|
|
|
- 退款功能全链路修复(现金退款/积分退还/状态流转/MQ事务一致性/operatorId 记录)
|
|
|
|
|
|
- 定制需求管理前后端状态值统一
|
|
|
|
|
|
|
|
|
|
|
|
**待做事项**(详见 `待实现功能清单.md`):
|
|
|
|
|
|
- 支付回调可靠性验证
|
|
|
|
|
|
- 邀请海报生成
|
|
|
|
|
|
- 手机号绑定/更换完善
|
|
|
|
|
|
- Phase 3 全部功能
|