docs: 部署文档添加移动端发布和访问说明
更新: - deploy.sh: 添加移动端部署命令 * mobile dev - 启动开发服务器 * mobile h5 - 构建H5版本 * mobile mp-weixin - 构建微信小程序 * mobile app - 构建App * 服务启动时显示移动端访问地址 新增: - MOBILE_DEPLOY.md: 移动端部署指南(173行) * 支持平台说明(H5/小程序/App) * 快速部署步骤 * 各平台构建和发布流程 * 配置说明和常见问题 访问地址: - H5: http://localhost/mobile - 开发调试: cd fund-mobile && npm run dev:h5
This commit is contained in:
parent
515590477b
commit
b38940cf83
172
docker/app/MOBILE_DEPLOY.md
Normal file
172
docker/app/MOBILE_DEPLOY.md
Normal file
@ -0,0 +1,172 @@
|
||||
# 移动端部署指南
|
||||
|
||||
## 📱 支持平台
|
||||
|
||||
- **H5** - 浏览器访问
|
||||
- **微信小程序** - 微信生态
|
||||
- **App** - Android/iOS原生应用
|
||||
|
||||
---
|
||||
|
||||
## 🚀 快速部署
|
||||
|
||||
### 1. 开发调试
|
||||
|
||||
```bash
|
||||
cd docker/app
|
||||
./deploy.sh mobile dev
|
||||
```
|
||||
|
||||
访问地址:http://localhost:5173
|
||||
|
||||
---
|
||||
|
||||
### 2. H5部署
|
||||
|
||||
#### 构建
|
||||
```bash
|
||||
./deploy.sh mobile h5
|
||||
```
|
||||
|
||||
#### 部署到Nginx
|
||||
构建完成后,将 `fund-mobile/dist/build/h5` 目录复制到Nginx静态资源目录:
|
||||
|
||||
```bash
|
||||
# 复制到Nginx
|
||||
sudo cp -r ../../fund-mobile/dist/build/h5 /var/www/fund-mobile
|
||||
|
||||
# 配置Nginx(已包含在docker-compose.yml中)
|
||||
# 访问地址:http://localhost/mobile
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 3. 微信小程序部署
|
||||
|
||||
#### 构建
|
||||
```bash
|
||||
./deploy.sh mobile mp-weixin
|
||||
```
|
||||
|
||||
#### 发布步骤
|
||||
1. 下载并安装 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)
|
||||
2. 打开微信开发者工具
|
||||
3. 选择 "导入项目"
|
||||
4. 选择目录 `fund-mobile/dist/build/mp-weixin`
|
||||
5. 填写小程序AppID(测试号可跳过)
|
||||
6. 点击 "上传" 按钮发布
|
||||
|
||||
---
|
||||
|
||||
### 4. App部署
|
||||
|
||||
#### 构建
|
||||
```bash
|
||||
./deploy.sh mobile app
|
||||
```
|
||||
|
||||
#### Android打包
|
||||
1. 打开 HBuilderX
|
||||
2. 导入项目 `fund-mobile`
|
||||
3. 点击 "发行" → "原生App-云打包"
|
||||
4. 选择 Android 证书
|
||||
5. 点击 "打包"
|
||||
|
||||
#### iOS打包
|
||||
1. 需要Mac电脑和Apple开发者账号
|
||||
2. 在 HBuilderX 中选择 "发行" → "原生App-云打包"
|
||||
3. 选择 iOS 证书
|
||||
4. 点击 "打包"
|
||||
|
||||
---
|
||||
|
||||
## 📋 部署命令汇总
|
||||
|
||||
| 命令 | 说明 |
|
||||
|------|------|
|
||||
| `./deploy.sh mobile dev` | 启动开发服务器 |
|
||||
| `./deploy.sh mobile h5` | 构建H5版本 |
|
||||
| `./deploy.sh mobile mp-weixin` | 构建微信小程序 |
|
||||
| `./deploy.sh mobile app` | 构建App |
|
||||
|
||||
---
|
||||
|
||||
## 🔧 配置说明
|
||||
|
||||
### API地址配置
|
||||
|
||||
编辑 `fund-mobile/src/config/api.ts`:
|
||||
|
||||
```typescript
|
||||
// 开发环境
|
||||
const API_BASE_URL = 'http://localhost:8080'
|
||||
|
||||
// 生产环境(部署后修改为实际地址)
|
||||
const API_BASE_URL = 'http://your-domain.com'
|
||||
```
|
||||
|
||||
### 微信小程序配置
|
||||
|
||||
编辑 `fund-mobile/src/manifest.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"mp-weixin": {
|
||||
"appid": "你的小程序AppID",
|
||||
"setting": {
|
||||
"urlCheck": false
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📱 访问方式
|
||||
|
||||
### H5访问
|
||||
- 浏览器访问:`http://localhost/mobile`
|
||||
- 手机扫码访问:部署后生成二维码
|
||||
|
||||
### 微信小程序
|
||||
- 微信搜索小程序名称
|
||||
- 扫码体验版二维码
|
||||
|
||||
### App
|
||||
- 下载安装APK/IPA文件
|
||||
- 应用商店搜索下载
|
||||
|
||||
---
|
||||
|
||||
## 🔒 安全说明
|
||||
|
||||
1. **HTTPS**:生产环境必须使用HTTPS
|
||||
2. **Token存储**:使用uni-app安全存储API
|
||||
3. **接口鉴权**:所有接口需要JWT Token
|
||||
4. **图片上传**:限制文件大小和类型
|
||||
|
||||
---
|
||||
|
||||
## 🐛 常见问题
|
||||
|
||||
### Q1: H5页面空白
|
||||
- 检查API地址是否正确
|
||||
- 查看浏览器控制台错误信息
|
||||
- 确认后端服务已启动
|
||||
|
||||
### Q2: 微信小程序无法请求
|
||||
- 检查小程序后台配置的request合法域名
|
||||
- 开发阶段可关闭域名校验
|
||||
- 确保使用HTTPS
|
||||
|
||||
### Q3: App无法安装
|
||||
- Android:开启"允许安装未知来源应用"
|
||||
- iOS:需要信任企业证书
|
||||
|
||||
---
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
- 前端问题:检查uni-app官方文档
|
||||
- 后端问题:查看Swagger文档 http://localhost:8080/swagger-ui.html
|
||||
- 部署问题:查看Docker日志 `docker-compose logs`
|
||||
213
docker/app/deploy.sh
Executable file
213
docker/app/deploy.sh
Executable file
@ -0,0 +1,213 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 资金服务平台部署脚本
|
||||
|
||||
set -e
|
||||
|
||||
echo "========================================"
|
||||
echo " 资金服务平台 Docker 部署脚本"
|
||||
echo "========================================"
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 函数:打印信息
|
||||
print_info() {
|
||||
echo -e "${GREEN}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
print_warn() {
|
||||
echo -e "${YELLOW}[WARN]${NC} $1"
|
||||
}
|
||||
|
||||
print_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
# 检查Docker
|
||||
if ! command -v docker &> /dev/null; then
|
||||
print_error "Docker 未安装,请先安装 Docker"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v docker-compose &> /dev/null; then
|
||||
print_error "Docker Compose 未安装,请先安装 Docker Compose"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 创建必要的目录
|
||||
print_info "创建必要的目录..."
|
||||
mkdir -p logs/fund-sys logs/fund-cust logs/fund-proj
|
||||
mkdir -p init
|
||||
mkdir -p redis
|
||||
|
||||
# 创建Redis配置文件
|
||||
if [ ! -f redis/redis.conf ]; then
|
||||
print_info "创建 Redis 配置文件..."
|
||||
cat > redis/redis.conf << 'EOF'
|
||||
bind 0.0.0.0
|
||||
port 6379
|
||||
timeout 0
|
||||
tcp-keepalive 300
|
||||
daemonize no
|
||||
supervised no
|
||||
pidfile /var/run/redis_6379.pid
|
||||
loglevel notice
|
||||
logfile ""
|
||||
databases 16
|
||||
always-show-logo no
|
||||
save 900 1
|
||||
save 300 10
|
||||
save 60 10000
|
||||
stop-writes-on-bgsave-error yes
|
||||
rdbcompression yes
|
||||
rdbchecksum yes
|
||||
dbfilename dump.rdb
|
||||
dir /data
|
||||
replica-serve-stale-data yes
|
||||
replica-read-only yes
|
||||
repl-diskless-sync no
|
||||
repl-diskless-sync-delay 5
|
||||
repl-ping-replica-period 10
|
||||
repl-timeout 60
|
||||
repl-disable-tcp-nodelay no
|
||||
replica-priority 100
|
||||
maxmemory-policy allkeys-lru
|
||||
lazyfree-lazy-eviction no
|
||||
lazyfree-lazy-expire no
|
||||
lazyfree-lazy-server-del no
|
||||
replica-lazy-flush no
|
||||
appendonly yes
|
||||
appendfilename "appendonly.aof"
|
||||
appendfsync everysec
|
||||
no-appendfsync-on-rewrite no
|
||||
auto-aof-rewrite-percentage 100
|
||||
auto-aof-rewrite-min-size 64mb
|
||||
aof-load-truncated yes
|
||||
aof-use-rdb-preamble yes
|
||||
EOF
|
||||
fi
|
||||
|
||||
# 解析参数
|
||||
ACTION=${1:-up}
|
||||
|
||||
case $ACTION in
|
||||
up)
|
||||
print_info "启动所有服务..."
|
||||
docker-compose up -d
|
||||
print_info "服务启动完成!"
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo " 服务访问地址"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
echo "【管理端 - PC浏览器访问】"
|
||||
echo " - Nacos控制台: http://localhost:8848/nacos (admin/admin)"
|
||||
echo " - Swagger文档: http://localhost:8080/swagger-ui.html"
|
||||
echo " - 应用服务: http://localhost:8080"
|
||||
echo " - Nginx网关: http://localhost"
|
||||
echo ""
|
||||
echo "【移动端 - UniApp】"
|
||||
echo " - H5访问: http://localhost:8080/mobile"
|
||||
echo " - 开发调试: cd fund-mobile && npm run dev:h5"
|
||||
echo ""
|
||||
echo "========================================"
|
||||
;;
|
||||
down)
|
||||
print_info "停止所有服务..."
|
||||
docker-compose down
|
||||
print_info "服务已停止"
|
||||
;;
|
||||
restart)
|
||||
print_info "重启服务..."
|
||||
docker-compose restart
|
||||
print_info "服务重启完成"
|
||||
;;
|
||||
build)
|
||||
print_info "重新构建镜像..."
|
||||
docker-compose build --no-cache
|
||||
print_info "镜像构建完成"
|
||||
;;
|
||||
logs)
|
||||
SERVICE=${2:-}
|
||||
if [ -z "$SERVICE" ]; then
|
||||
docker-compose logs -f
|
||||
else
|
||||
docker-compose logs -f $SERVICE
|
||||
fi
|
||||
;;
|
||||
status)
|
||||
print_info "查看服务状态..."
|
||||
docker-compose ps
|
||||
;;
|
||||
clean)
|
||||
print_warn "清理所有数据(包括数据库)..."
|
||||
read -p "确定要删除所有数据吗?这将删除数据库和日志! [y/N] " confirm
|
||||
if [[ $confirm == [yY] ]]; then
|
||||
docker-compose down -v
|
||||
rm -rf logs/*
|
||||
print_info "数据清理完成"
|
||||
else
|
||||
print_info "取消清理"
|
||||
fi
|
||||
;;
|
||||
mobile)
|
||||
print_info "构建移动端应用..."
|
||||
cd ../../fund-mobile
|
||||
|
||||
case ${2:-h5} in
|
||||
h5)
|
||||
print_info "构建H5版本..."
|
||||
npm run build:h5
|
||||
print_info "H5构建完成,输出目录: dist/build/h5"
|
||||
;;
|
||||
mp-weixin)
|
||||
print_info "构建微信小程序..."
|
||||
npm run build:mp-weixin
|
||||
print_info "微信小程序构建完成,输出目录: dist/build/mp-weixin"
|
||||
print_info "请使用微信开发者工具导入该目录"
|
||||
;;
|
||||
app)
|
||||
print_info "构建App..."
|
||||
npm run build:app
|
||||
print_info "App构建完成,输出目录: dist/build/app"
|
||||
;;
|
||||
dev)
|
||||
print_info "启动移动端开发服务器..."
|
||||
npm run dev:h5
|
||||
;;
|
||||
*)
|
||||
echo "用法: $0 mobile {h5|mp-weixin|app|dev}"
|
||||
echo ""
|
||||
echo "命令说明:"
|
||||
echo " h5 - 构建H5版本"
|
||||
echo " mp-weixin - 构建微信小程序"
|
||||
echo " app - 构建App"
|
||||
echo " dev - 启动开发服务器"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "用法: $0 {up|down|restart|build|logs|status|clean|mobile}"
|
||||
echo ""
|
||||
echo "命令说明:"
|
||||
echo " up - 启动所有服务"
|
||||
echo " down - 停止所有服务"
|
||||
echo " restart - 重启服务"
|
||||
echo " build - 重新构建镜像"
|
||||
echo " logs - 查看日志 [服务名]"
|
||||
echo " status - 查看服务状态"
|
||||
echo " clean - 清理所有数据(危险!)"
|
||||
echo " mobile - 移动端构建 {h5|mp-weixin|app|dev}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo " 部署脚本执行完成"
|
||||
echo "========================================"
|
||||
Loading…
x
Reference in New Issue
Block a user