942465b758c6baa52a2ea5533bc11463acb193c8
OpenClaw Skills 数字员工交易平台
基于 Vue 3 + Spring Boot 3 的全栈数字员工 Skill 交易平台,支持 Skill 浏览、购买(混合支付:积分+微信支付)、退款、评价、邀请奖励等完整交易闭环,并提供功能完善的管理后台。
技术栈
| 层面 | 技术 |
|---|---|
| 前端 | 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(前端) |
项目结构
数字员工/
├── frontend/ # Vue 3 前端(52 个页面)
│ ├── src/
│ │ ├── 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 # 路由配置
│ │ └── main.js
│ ├── .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 # 后端详细启动文档
└── README.md
快速启动
前置要求
| 依赖 | 版本要求 |
|---|---|
| Node.js | v16+ |
| Java | 17+ |
| MySQL | 8.0+ |
| Redis | 7.x+ |
| RabbitMQ | 3.x+ |
| Maven | 3.6+ |
后端启动
# 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
详细启动步骤请参考
后端启动指南.md
前端启动
cd frontend
npm install
npm run dev
# 前端运行在 http://localhost:5173
模拟支付模式
项目支持在微信支付未启用时使用模拟支付,可通过 /mock-pay 页面完成订单和充值的模拟支付,方便开发调试。
功能模块
用户端(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 全部功能
Description