【进阶】移动端小程序部署

文档说明

准备工作

下载微信开发工具

配置小程序 APPID/AppSecret

  • 获取微信小程序配置信息
微信小程序配置
  • 在 APP 密钥管理中添加相应的小程序配置信息
APP 密钥管理

① 下载 PIGX 移动端并安装依赖

git clone https://git.pig4cloud.com/big/pigx-app.git
cd pigx-app
npm install  --registry=https://registry.npmmirror.com

② 开发工具导入项目

  • 配置相应的服务端架构,并设置 pigx 网关地址
服务端架构配置
  • 修改 src/manifest.json 文件的 APPID
配置 APPID
  • 执行以下命令以编译项目源码
npm run dev:mp-weixin

③ 微信开发者工具导入

选择项目并导入 pigx-app/dist/dev/mp-weixin 目录

导入项目
开发环境配置

注意在开发环境中配置不校验合法域名。

不校验合法域名

④ 部署发布

  • 在微信开发者工具顶部点击 "上传至微信小程序官方后台",然后提交官方审核
上传小程序
  • 等待微信官方审核完毕后,在微信小程序官方后台点击 "全量发布"
域名配置

注意在开发管理中维护正确的 pigx-ui 域名。

域名配置

C 端登录流程说明

场景说明

小程序对接的是 C 端用户(app_user 表),而非 B 端管理员用户(sys_user 表)。本节仅提供 Token 发放和小程序登录的对接方向,实际开发需根据业务自行实现前端页面和后端逻辑。

小程序用户登录基于 OAuth2 密码模式,通过携带特殊请求头 HEADER_TOC: Y 区分 C 端用户,认证服务会路由到专属的用户详情服务加载 app_user 数据。

flowchart LR
  A[小程序端] -->|POST /oauth2/token\n携带 HEADER_TOC: Y| B[pigx-auth 认证服务]
  B -->|根据请求头判断用户类型| C[PigxTocDefaultUserDetailsServiceImpl]
  C -->|Feign 调用| D[pigx-app-server\n/appuser/info/username]
  D -->|查询 app_user 表| E[返回 AppUserInfo]
  E --> C
  C -->|构造 AppUser\nUserTypeEnum.TOC| B
  B -->|签发 Token| A
  A -->|携带 Token 访问业务接口| F[pigx-gateway 网关]
  F --> G[pigx-app-server 业务接口]

关键设计

用户表区分

用户类型数据表使用场景
B 端管理员sys_userPC 管理后台登录
C 端用户app_user移动端小程序登录

TOC 路由标识

请求头 HEADER_TOC: Y 是区分 C 端登录的核心标识。认证服务通过该请求头决定使用 PigxTocDefaultUserDetailsServiceImpl 加载用户,最终构造 UserTypeEnum.TOC 类型的 AppUser

.env 配置示例

.env 文件中 VITE_APP_TOC 默认值为 true,表示请求 C 端(app_user)用户体系。若需对接 B 端(sys_user)管理员用户,将该值修改为 false 即可,认证服务会自动路由到对应的用户详情服务。

业务扩展说明

PIGX 提供的是 Token 发放和用户加载的基础框架。微信小程序的 code 换取 openid、绑定手机号等业务逻辑需根据实际需求自行实现,对接路径参考 app_user 表的 wx_openid 字段。