开发环境与联调
前后端开发时的环境搭建、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该文件)。