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