From b38940cf839e562c8be290965e614a7d15aa675c Mon Sep 17 00:00:00 2001 From: zhangjf Date: Mon, 16 Feb 2026 11:28:40 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E9=83=A8=E7=BD=B2=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A7=BB=E5=8A=A8=E7=AB=AF=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E5=92=8C=E8=AE=BF=E9=97=AE=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新: - 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 --- docker/app/MOBILE_DEPLOY.md | 172 +++++++++++++++++++++++++++++ docker/app/deploy.sh | 213 ++++++++++++++++++++++++++++++++++++ 2 files changed, 385 insertions(+) create mode 100644 docker/app/MOBILE_DEPLOY.md create mode 100755 docker/app/deploy.sh diff --git a/docker/app/MOBILE_DEPLOY.md b/docker/app/MOBILE_DEPLOY.md new file mode 100644 index 0000000..e3e3594 --- /dev/null +++ b/docker/app/MOBILE_DEPLOY.md @@ -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` diff --git a/docker/app/deploy.sh b/docker/app/deploy.sh new file mode 100755 index 0000000..4c0d8a7 --- /dev/null +++ b/docker/app/deploy.sh @@ -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 "========================================"