# 微信小程序域名配置要求 ## 问题分析 在真机调试时,`https://green.hrln.com.cn` 可以正常请求,但 `https://green-dev.cyweb.top` 不能正常请求,这是因为小程序对服务器域名有严格的安全要求。 ## 小程序域名配置要求 ### 1. **必须在微信公众平台配置合法域名** 小程序在真机上运行时,只能请求在小程序后台配置的合法域名。配置步骤: 1. 登录 [微信公众平台](https://mp.weixin.qq.com/) 2. 进入小程序管理后台 3. 点击左侧菜单「开发」→「开发管理」→「开发设置」 4. 找到「服务器域名」配置项 5. 在「request合法域名」中添加:`https://green-dev.cyweb.top` - **注意**:只需要填写域名,不需要带路径,如 `https://green-dev.cyweb.top`(不要写成 `https://green-dev.cyweb.top/api`) ### 2. **域名必须满足以下条件** - ✅ **必须使用 HTTPS 协议**(不支持 HTTP) - ✅ **域名必须经过 ICP 备案**(国内服务器) - ✅ **SSL 证书有效且未过期** - ✅ **域名格式正确**(不包含路径,如 `https://green-dev.cyweb.top`) ### 3. **域名校验文件(如需要)** 添加域名时,微信可能会要求: - 下载校验文件(如 `MP_verify_xxxxx.txt`) - 上传到服务器的根目录(如 `https://green-dev.cyweb.top/MP_verify_xxxxx.txt`) - 确保可以通过浏览器访问该文件 ### 4. **开发工具 vs 真机的区别** - **开发工具**:可以通过 `project.config.json` 中设置 `"urlCheck": false` 跳过域名校验 - **真机调试/正式版**:必须在小程序后台配置合法域名,否则请求会被拦截 ## 当前项目配置 ### 代码中的域名使用 ```javascript // src/utils/request.js const BASE_URL = 'https://green-dev.cyweb.top/api' ``` ### 需要配置的域名 在小程序后台的「request合法域名」中需要添加: ``` https://green-dev.cyweb.top ``` **注意**:配置时只填写域名部分(`https://green-dev.cyweb.top`),不要包含路径(`/api`)。 ## 解决方案 ### 方案 1:配置开发域名(推荐) 1. 登录微信公众平台 2. 在「开发设置」→「服务器域名」中添加: - `https://green-dev.cyweb.top` 3. 如果提示需要校验文件,按要求上传 4. 等待配置生效(通常几分钟内) ### 方案 2:使用已配置的域名 如果 `https://green.hrln.com.cn` 已经配置好,可以考虑: - 临时使用该域名进行开发测试 - 或者让后端在该域名下提供代理接口 ### 方案 3:使用体验版/开发版 - 体验版和开发版可以使用已配置的合法域名 - 真机预览时,确保使用正确的 AppID 和版本 ## 常见问题 ### Q: 为什么开发工具可以请求,真机不行? A: 开发工具可以通过 `urlCheck: false` 跳过校验,但真机必须配置合法域名。 ### Q: 域名配置后多久生效? A: 通常几分钟内生效,最长可能需要 24 小时。 ### Q: 可以配置多个域名吗? A: 可以,最多可以配置 20 个 request 合法域名。 ### Q: 域名必须备案吗? A: 是的,小程序要求服务器域名必须经过 ICP 备案(国内服务器)。 ## 检查清单 - [ ] 域名已在小程序后台「request合法域名」中配置 - [ ] 域名使用 HTTPS 协议 - [ ] 域名已通过 ICP 备案 - [ ] SSL 证书有效 - [ ] 如需要,已上传域名校验文件 - [ ] 等待配置生效后重新测试