113 lines
3.0 KiB
Markdown
113 lines
3.0 KiB
Markdown
|
|
# 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. 查看控制台错误日志
|