# iShare 开发规划 > 流媒体账号合租分享平台 > 基于 PigX 5.11.0 二次开发 > 制定日期: 2026-02-17 --- ## 一、项目背景 | 项目 | 说明 | |------|------| | 产品定位 | 流媒体订阅合租平台(Netflix/Spotify/Apple TV 等合租分享) | | 核心价值 | 用户以正价 10%-30% 享受正版流媒体服务 | | 已有资产 | iShare 旧版代码(基于 PigX 5.2)、数据库设计、Figma 设计稿 | | 目标框架 | PigX 5.11.0(最新版,Java 17 + Spring Boot 3) | | 代码仓库 | https://git.puro.im/purovps/pigx(PigX 框架备份)| --- ## 二、技术路线 ### 2.1 为什么迁移到 PigX 5.11.0 | 维度 | 旧版 (5.2) | 新版 (5.11.0) | |------|-----------|--------------| | Java | JDK 8 | JDK 17 (LTS) | | Spring Boot | 2.x | 3.5.9 | | Spring Cloud Alibaba | 旧版 | 2023.0.3.3 | | 包名 | javax.* | jakarta.* | | 部署模式 | 仅微服务 | 支持单体(pigx-boot) + 微服务双模式 | | AI 能力 | 无 | LangChain4j + Spring AI + pgvector | | 前端 | Vue2 | Vue3 + TypeScript + Vite + Tailwind | **结论**: 5.11.0 支持单体模式部署,开发初期用 `pigx-boot` 单体模式,极大降低运维复杂度;后期需要时再拆微服务。 ### 2.2 整体技术栈 **后端** - Java 17 + Spring Boot 3.5.9 - Spring Cloud Alibaba 2023(微服务模式时) - MyBatis-Plus + MySQL(业务数据) - Redis(缓存、Session) - Nacos(配置中心、服务发现) - Maven 多模块项目 **前端(管理后台)** - Vue 3 + TypeScript + Vite - Tailwind CSS - 基于 pigx-ui 二次开发 **前端(用户 H5/Web)** - Vue 3 + TypeScript + Vite(独立项目) - 移动端优先,响应式设计 - 基于 Figma 设计稿实现 **部署** - 开发阶段: Docker Compose 单体部署(pigx-boot) - 生产阶段: Docker + Drone CI/CD 自动化 - 数据库: MySQL(复用 VPS 上的 MariaDB) ### 2.3 仓库规划 | 仓库 | 说明 | Git 地址(待创建)| |------|------|-----------------| | `ishare-backend` | PigX 后端主仓库(含 pigx-ishare 业务模块) | git.puro.im/purovps/ishare-backend | | `ishare-admin` | 管理后台前端(基于 pigx-ui) | git.puro.im/purovps/ishare-admin | | `ishare-web` | 用户端 H5/Web 前端 | git.puro.im/purovps/ishare-web | --- ## 三、架构设计 ### 3.1 模块结构(后端) ``` ishare-backend/ ├── pigx-boot/ # 单体部署启动器(开发阶段使用) ├── pigx-ishare/ # ★ iShare 业务模块(核心新增) │ └── src/main/java/ │ ├── controller/ # REST API │ ├── service/ # 业务逻辑 │ ├── mapper/ # MyBatis Mapper │ ├── entity/ # 实体类 │ └── dto/ # 数据传输对象 ├── pigx-auth/ # 认证(PigX 原版,无侵入) ├── pigx-upms-biz/ # 用户权限管理(PigX 原版) ├── pigx-gateway/ # 网关(微服务模式时使用) ├── pigx-common/ # 公共模块(PigX 原版) ├── db/ │ ├── 0pigxx_boot.sql # PigX 基础表 │ └── 1ishare_schema.sql # iShare 业务表(迁移自现有设计) └── docker-compose.yml # 本地开发环境 ``` ### 3.2 数据库设计(沿用现有,小幅调整) **核心业务表(as_*)**(已有设计,直接复用) - `as_platform` — 流媒体平台 - `as_platform_type` — 平台分类 - `as_sub_plan` — 订阅计划 - `as_sub_payroll` — 付费方案 - `as_sub_account` — 订阅账号(含加密凭据) - `as_sub_product` — 合租商品 - `as_sub_product_comment` — 商品评价 - `as_user_sub` — 用户订阅关系 **新增考虑**(二期) - `as_order` — 订单表(支付流程) - `as_withdraw` — 提现记录 - `as_invite` — 邀请关系(推广中心) **App 基础表(app_*)**(PigX 原版提供) - `app_user`、`app_social_details`(社交登录) - `app_page`、`app_tabbar`(页面装修) ### 3.3 核心业务流程 ``` 用户端: 注册/登录(手机/邮箱/社交) → 浏览平台列表 + 筛选 → 查看合租商品详情 → 下单付款(一期:手动确认) → 获取账号信息 → 评价 车主端(合租发起方): 发布合租商品 → 等待拼客 → 管理席位 → 续费/关闭 管理后台: 平台管理 → 订阅计划管理 → 商品审核 → 订单管理 → 用户管理 ``` --- ## 四、开发阶段规划 ### Phase 0: 环境搭建(1-2天) - [ ] 在 Gitea 创建三个仓库(ishare-backend / ishare-admin / ishare-web) - [ ] fork/copy 新版 PigX 5.11.0 到 ishare-backend,清理无关模块(pigx-knowledge AI相关) - [ ] 本地搭建开发环境(MySQL + Redis + IDEA) - [ ] 配置 VPS Drone CI/CD pipeline(`.drone.yml`) - [ ] 创建 iShare 数据库,导入建表 SQL ### Phase 1: 后端基础功能(1-2周) **目标**: 完成核心 CRUD API,管理后台可用 - [ ] 新增 `pigx-ishare` Maven 模块,接入 pigx-boot - [ ] 迁移 as-app-server 代码到 Java 17(javax → jakarta,注解调整) - [ ] 实现平台管理接口(CRUD: `as_platform` / `as_platform_type`) - [ ] 实现订阅计划管理接口(`as_sub_plan` / `as_sub_payroll`) - [ ] 实现商品管理接口(`as_sub_product` + 评价) - [ ] 实现账号管理接口(`as_sub_account`,账号密码加密存储) - [ ] 实现用户订阅管理(`as_user_sub`) - [ ] App 用户注册/登录 API(手机+邮箱+验证码,复用 pigx-auth) - [ ] Swagger/Knife4j 接口文档 ### Phase 2: 管理后台前端(1周) **目标**: 管理员可通过后台管理数据 - [ ] fork pigx-ui 到 ishare-admin,调整品牌样式 - [ ] 平台管理页面 - [ ] 订阅计划 + 付费方案页面 - [ ] 合租商品管理页面(含审核) - [ ] 用户管理页面 - [ ] 订单/订阅查看页面 ### Phase 3: 用户端 H5(2-3周) **目标**: 用户可完成合租全流程 按 Figma 设计稿实现: - [ ] 首页/欢迎页(品牌展示) - [ ] 登录/注册页(手机+邮箱+社交登录入口) - [ ] 忘记密码(验证码找回) - [ ] 主页/服务列表(平台卡片 + 分类筛选) - [ ] 服务详情页(介绍 + 价格套餐 + 评价) - [ ] 购买流程(选套餐 → 确认订单 → 支付 → 获取账号) - [ ] 广场/拼车(浏览他人发起的合租) - [ ] 推广中心(邀请码 + 返现记录) - [ ] 个人中心(我的订阅 + 账单 + 设置) - [ ] 底部 Tab 导航(首页 / 广场 / 推广 / 我的) ### Phase 4: 支付集成(按需) - [ ] 对接支付宝/微信支付(或先用余额/人工确认模式) - [ ] 订单状态流转(待付款→已付款→使用中→已到期) - [ ] 自动续费提醒 ### Phase 5: 测试 & 上线 - [ ] 接口联调测试 - [ ] 账号信息安全审计(加密方案验证) - [ ] VPS 生产环境部署 - [ ] 性能基准测试(并发下单) --- ## 五、CI/CD 流程 ```yaml # .drone.yml 结构(参考 jshERP 配置) steps: - name: backend-build image: maven:3.9-eclipse-temurin-17 commands: - mvn clean package -DskipTests -P boot - name: frontend-admin-build image: node:18-alpine commands: - cd ../ishare-admin && npm ci && npm run build - name: frontend-web-build image: node:18-alpine commands: - cd ../ishare-web && npm ci && npm run build - name: deploy image: docker:dind commands: - docker-compose up -d --build ``` 触发条件: - push 到 `main` 分支 → 自动构建 + 部署到 VPS - PR → 只跑构建,不部署 --- ## 六、里程碑 | 里程碑 | 内容 | 预计时间 | |--------|------|---------| | M0 | 环境搭建完成,空项目跑通 CI | 第 1 周 | | M1 | 后端 API 完成,Swagger 文档可访问 | 第 2-3 周 | | M2 | 管理后台可用,数据录入正常 | 第 3-4 周 | | M3 | 用户端 H5 完成,全流程可跑通 | 第 5-7 周 | | M4 | 支付接入,正式上线 | 第 8+ 周 | --- ## 七、关键技术决策 ### Q1: 为什么不直接改旧代码,而是基于新 PigX 重新集成? 旧代码基于 PigX 5.2(Java 8 + Spring Boot 2),Spring Boot 2 已于 2023 年 EOL,Java 8 缺少现代特性。新版 5.11.0 支持单体模式,开发阶段不需要 Nacos/Gateway,本地启动一个 JAR 即可,和旧版微服务架构相比开发效率高得多。 ### Q2: 单体模式 vs 微服务? **开发阶段**: 用 `pigx-boot` 单体模式 — 一个进程,本地开发零运维负担。 **生产上线后**: 如并发压力大,再按模块拆分微服务(业务模块无需改代码,只需改部署配置)。 ### Q3: 用户端用 H5 还是小程序? 一期先做响应式 H5(Vue3),可在微信内置浏览器打开,无需发布审核。小程序适配二期按需追加。 ### Q4: 账号密码安全? `as_sub_account` 存储平台登录密码,需要对称加密(AES)存储,密钥由服务端持有,不直接暴露明文。PigX 本身已有 Jasypt 配置加密,沿用即可。 --- ## 八、参考资源 | 资源 | 地址 | |------|------| | PigX 框架(最新版) | https://git.puro.im/purovps/pigx | | iShare 旧版代码 | https://git.puro.im/purovps/pigx_ishare/src/branch/pigx_ishare | | 数据库设计文档 | https://git.puro.im/purovps/pigx_ishare/src/branch/pigx_ishare/DATABASE_DESIGN.md | | Figma 设计稿 | iShare_Design/iShare_设计文档.html | | VPS 环境 | https://git.puro.im/purovps/vps_env/src/branch/main/vps-environment.md |