Files
hzdyjs/docs/部署文档/mobile-deployment-guide.md
T
2025-08-08 20:35:17 +08:00

236 lines
5.0 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.
# 移动端打包部署指导文档
## 📋 项目概述
**项目**: 校园管理系统移动端 (mobile/)
**技术栈**: Vue 2.6.14 + uni-app 2.x + uview-ui 2.0.38
**打包方式**: Vue CLI 命令行打包(无需HBuilderX)
---
## 🚀 打包命令详解
### 1. H5网页版打包
```bash
cd mobile/
npm run build:h5
```
**输出目录**: `mobile/dist/build/h5/`
**部署方式**: 直接部署到Web服务器(如Nginx)
### 2. 微信小程序打包
```bash
cd mobile/
npm run build:mp-weixin
```
**输出目录**: `mobile/dist/build/mp-weixin/`
**后续操作**: 用微信开发者工具导入该目录
### 3. App打包
```bash
cd mobile/
npm run build:app-plus
```
**输出目录**: `mobile/dist/build/app-plus/`
**后续操作**:
- 使用HBuilderX云打包服务
- 或配置本地Android/iOS打包环境
### 4. 其他小程序平台
```bash
# 支付宝小程序
npm run build:mp-alipay
# 百度小程序
npm run build:mp-baidu
# 字节跳动小程序
npm run build:mp-toutiao
# QQ小程序
npm run build:mp-qq
```
---
## 🔧 生产环境配置调整
### ⚠️ 必须修改的配置项
**文件**: `mobile/src/common/config.js`
#### 1. 服务器地址配置
```javascript
// 后端API服务器地址
serverUrl: 'https://hzdyjsapi.camasort.com'
// API基础路径
baseURL: 'https://hzdyjsapi.camasort.com'
// 前端域名(用于referer)
referer: 'https://hzdyjs.camasort.com/login?redirect=/index'
```
#### 2. 环境判断逻辑
- **开发环境**: 使用`/api`代理转发到`http://localhost:8080`
- **生产环境**: 直接访问`https://hzdyjsapi.camasort.com`
### 🔐 加密配置
- RSA密钥对已配置,与后端保持一致
- 客户端ID: `e5cd7e4891bf95d1d19206ce24a7b32e`
- 租户ID: `000000`
---
## 📦 不同平台部署方案
### 1. H5网页版部署
```bash
# 1. 打包
npm run build:h5
# 2. 部署到服务器
scp -r dist/build/h5/* user@server:/var/www/mobile/
# 3. Nginx配置示例
location /mobile {
alias /var/www/mobile;
index index.html;
try_files $uri $uri/ /mobile/index.html;
}
```
### 2. 微信小程序发布
```bash
# 1. 打包
npm run build:mp-weixin
# 2. 用微信开发者工具打开
# 目录: mobile/dist/build/mp-weixin/
# 3. 在微信开发者工具中:
# - 预览测试
# - 上传代码
# - 提交审核
# - 发布上线
```
### 3. App发布流程
```bash
# 1. 打包
npm run build:app-plus
# 2. 使用HBuilderX云打包:
# - 打开HBuilderX
# - 导入项目: mobile/dist/build/app-plus/
# - 选择发行 -> 原生App-云打包
# - 配置证书和签名
# - 提交打包
# 3. 发布到应用商店:
# - Android: 上传到各大应用市场
# - iOS: 上传到App Store Connect
```
---
## 🔄 CI/CD自动化部署
### GitHub Actions示例
```yaml
name: Mobile Deploy
on:
push:
branches: [main]
paths: ['mobile/**']
jobs:
build-h5:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: |
cd mobile
npm ci
- name: Build H5
run: |
cd mobile
npm run build:h5
- name: Deploy to server
run: |
# 部署到服务器的脚本
scp -r mobile/dist/build/h5/* ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}:/var/www/mobile/
```
---
## 📱 多端测试验证
### 开发环境测试
```bash
# H5开发服务器
npm run dev:h5
# 访问: http://localhost:8081
# 微信小程序开发
npm run dev:mp-weixin
# 用微信开发者工具打开: mobile/dist/dev/mp-weixin/
```
### 生产环境验证
- **H5版本**: 在浏览器中访问部署地址
- **小程序**: 通过微信扫码体验版二维码
- **App**: 通过TestFlight(iOS)或内测分发(Android)
---
## 🚨 注意事项
### 1. 域名配置
- **后端API**: `https://hzdyjsapi.camasort.com`
- **前端域名**: `https://hzdyjs.camasort.com`
- **确保HTTPS证书有效**
### 2. 跨域处理
- 生产环境后端需要配置CORS允许前端域名
- 或者使用Nginx反向代理统一域名
### 3. 小程序特殊要求
- 微信小程序需要在管理后台配置服务器域名
- 确保API域名在小程序的request合法域名中
### 4. App打包要求
- Android需要签名证书
- iOS需要开发者证书和Provisioning Profile
- 确保manifest.json中的appid已配置
---
## 📞 问题排查
### 常见问题
1. **API请求失败**: 检查生产环境域名配置
2. **加密登录失败**: 验证RSA密钥对是否正确
3. **小程序白屏**: 检查域名是否已添加到合法域名列表
4. **App打包失败**: 检查证书配置和权限设置
### 调试方法
```javascript
// 在config.js中添加调试日志
console.log('当前环境:', process.env.NODE_ENV);
console.log('API地址:', REQUEST_CONFIG.baseURL);
console.log('服务器地址:', REQUEST_CONFIG.serverUrl);
```
---
**📝 文档维护**: 2025-01-03 创建
**🔄 更新周期**: 每次部署流程变更时更新
**👥 适用人员**: 开发人员、运维人员