guoyu/Archive/fronted_uniapp_docs/打包部署说明.md

113 lines
3.0 KiB
Markdown
Raw Normal View History

# UniApp 打包部署说明 - 内网环境
## 项目说明
**您的项目已配置为内网部署模式**
- 服务器地址:`192.168.0.106:30091`
- 使用场景:局域网内使用
- 要求设备必须连接到与服务器相同的WiFi网络
## ⚠️ 重要提示
打包后的App **只能在内网环境使用**
- ✅ 设备连接到服务器所在的WiFi网络 → 正常使用
- ❌ 设备连接到其他网络 → 无法访问服务器
## 打包步骤
### 1. 确认配置
已自动配置为内网IP无需修改
```env
# .env.production
VITE_SERVER_HOST=192.168.0.106
VITE_SERVER_PORT=30091
```
### 2. 使用HBuilderX打包
**打包步骤:**
1. 在HBuilderX中发行 → 原生App-云打包
2. 选择正式证书
3. 等待打包完成
4. 下载安装包
### 3. 测试部署
**测试前准备:**
1. ✅ 确保后端服务器192.168.0.106:30091正常运行
2. ✅ 测试设备连接到与服务器相同的WiFi
3. ✅ 在浏览器中测试服务器可访问性:`http://192.168.0.106:30091`
**测试步骤:**
1. 安装打包好的App
2. 启动App测试登录功能
3. 检查首页加载速度
4. 测试课程视频播放
5. 验证图标显示是否正常
## 优化说明
已为您优化了以下配置:
### 1. 打包优化vite.config.js
- ✅ 自动移除生产环境的console日志
- ✅ 优化代码分块,减小包体积
- ✅ 提升首屏加载速度
### 2. 环境隔离
- 开发环境(`.env.development`使用局域网IP方便调试
- 生产环境(`.env.production`):使用公网地址,正式部署
### 3. 请求优化(已有)
- ✅ 自动重试机制
- ✅ 请求超时处理
- ✅ Token自动刷新
## 常见问题
### Q1: 我没有公网IP或域名怎么办
**方案A** 使用内网穿透工具(临时方案)
- 使用花生壳、ngrok等工具获取临时域名
- 将临时域名配置到 `.env.production`
**方案B** 让用户自己配置服务器地址(适合内部使用)
- App内添加设置页面
- 用户可以输入自己的服务器地址
- 代码中已支持,使用:`uni.setStorageSync('server_host', 'xxx')`
### Q2: 打包后图标还是加载不出来?
检查以下几点:
1. 确认后端服务器可以从外网访问
2. 检查图标资源是否正确上传到服务器
3. 查看浏览器控制台的网络请求,确认请求地址是否正确
4. 确认服务器防火墙已开放相应端口
### Q3: 如何测试正式包?
1. 打正式包前,先在开发环境测试:
```javascript
// 临时修改测试
uni.setStorageSync('server_host', 'your-domain.com')
```
2. 重启App查看是否能正常访问
3. 确认无误后再打正式包
## 部署检查清单
打包前请确认:
- [ ] `.env.production` 中的服务器地址已修改为公网地址
- [ ] 后端服务器可以从公网访问
- [ ] 防火墙已开放相应端口30091
- [ ] 已在测试环境验证配置正确
## 技术支持
如有问题,请检查:
1. 后端服务是否正常运行
2. 网络是否可以访问服务器
3. 查看控制台错误日志