Files
pigx_ishare/iShare-dev-plan.md

9.4 KiB
Raw Blame History

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/pigxPigX 框架备份)

二、技术路线

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_userapp_social_details(社交登录)
  • app_pageapp_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 17javax → 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: 用户端 H52-3周

目标: 用户可完成合租全流程

按 Figma 设计稿实现:

  • 首页/欢迎页(品牌展示)
  • 登录/注册页(手机+邮箱+社交登录入口)
  • 忘记密码(验证码找回)
  • 主页/服务列表(平台卡片 + 分类筛选)
  • 服务详情页(介绍 + 价格套餐 + 评价)
  • 购买流程(选套餐 → 确认订单 → 支付 → 获取账号)
  • 广场/拼车(浏览他人发起的合租)
  • 推广中心(邀请码 + 返现记录)
  • 个人中心(我的订阅 + 账单 + 设置)
  • 底部 Tab 导航(首页 / 广场 / 推广 / 我的)

Phase 4: 支付集成(按需)

  • 对接支付宝/微信支付(或先用余额/人工确认模式)
  • 订单状态流转(待付款→已付款→使用中→已到期)
  • 自动续费提醒

Phase 5: 测试 & 上线

  • 接口联调测试
  • 账号信息安全审计(加密方案验证)
  • VPS 生产环境部署
  • 性能基准测试(并发下单)

五、CI/CD 流程

# .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.2Java 8 + Spring Boot 2Spring Boot 2 已于 2023 年 EOLJava 8 缺少现代特性。新版 5.11.0 支持单体模式,开发阶段不需要 Nacos/Gateway本地启动一个 JAR 即可,和旧版微服务架构相比开发效率高得多。

Q2: 单体模式 vs 微服务?

开发阶段: 用 pigx-boot 单体模式 — 一个进程,本地开发零运维负担。 生产上线后: 如并发压力大,再按模块拆分微服务(业务模块无需改代码,只需改部署配置)。

Q3: 用户端用 H5 还是小程序?

一期先做响应式 H5Vue3可在微信内置浏览器打开无需发布审核。小程序适配二期按需追加。

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