Files
number/README.md

241 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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退款异步处理、充值积分发放、超时提醒 |
| **支付** | 微信支付 V3Native 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/ # SkillCRUD/评价/收藏/分类/榜单)
│ │ │ ├── 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+ |
### 后端启动
```bash
# 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`
### 前端启动
```bash
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 全部功能