更新:2026-09-05 16:11

开发环境与联调

前后端开发时的环境搭建、API 指向、跨域与代理,快速跑通本地联调。

1. 后端本地跑起来

cd RuleApiPro
mvn spring-boot:run        # 或打 jar 运行
# 依赖:本地 MySQL(typechoapi)、Redis;改 application.properties 连接信息

健康检查:curl http://127.0.0.1:8081/install/isInstall 返回 JSON。

需安装 Redis 与 MySQL;首次可用管理端「刷新数据表」或直接调 install/proInstall 建表。

2. uniapp 前端指向本地 API

开发期把 utils/api.js 顶部改为本地:

var API_URL = 'http://127.0.0.1:8081/';   // 本地后端
var WS_URL  = 'http://127.0.0.1:8081/';   // 本地 websocket(开发可临时代替)

发布前记得改回正式域名并提交(避免误操作)。

3. 跨域(H5 调试)

H5 发请求到 127.0.0.1:8081 会跨域。两种解法:

  • 后端 nginx(或本地小工具)加 CORS 头;
  • 用 HBuilderX 内置浏览器 + 后端加如下响应头:
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With";
if ($request_method = OPTIONS) { return 204; }

生产环境建议只放行指定来源(不全是 *)。

4. 小程序开发联调

微信开发者工具 → 详情 → 本地设置 → 勾选 「不校验合法域名…」,即可请求本地/任意 https(或 http)后端。发布前要在 mp 后台配置正式域名。

5. Sulo 本地联调

cd Sulo
npm run dev        # 默认 3000
# nuxt.config.ts runtimeConfig.public.baseUrl 指向本地后端

6. 数据一致性

  • 前端三端 + 后端共用同一套接口与表;联调时注意同一环境(都用本地库,或都用测试服),避免 URL 混用。
  • 支付/提现等敏感操作,本地联调建议使用支付宝沙箱(gateway_url 有沙箱网关)。
  • WebSocket(聊天)联调需确认后端 WS 端点可用(WS_URL)。

7. 习惯建议

  • 使用 .env/process.env.NODE_ENV 区分环境(Sulo 支持 runtimeConfig 覆盖);uniapp 可用条件编译或 #ifdef H5 区分。
  • 不要提交本地修改过的 api.js(发布前 git checkout 该文件)。