在微信开发者工具中使用真机调试时,手机端显示"网络请求失败,请检查网络连接"。
真机调试时,手机无法访问 localhost 或 127.0.0.1,因为:
localhost 指向手机本身,不是开发电脑ipconfig
查找 "IPv4 地址",通常格式为 192.168.x.x 或 10.x.x.x
ifconfig
查找 "inet" 后面的IP地址
ipconfig | findstr /i "IPv4"
打开 books/utils/config.js 文件,找到 getLocalIP() 函数:
const getLocalIP = () => {
// 将下面的IP地址改为你的本机IP地址
return 'http://192.168.1.100:8001/api' // ⚠️ 请修改为你的实际IP地址
}
修改示例:
192.168.179.1,端口是 8001return 'http://192.168.179.1:8001/api'检查 book/src/main/resources/application.properties 中的端口配置:
server.port=8001
确保配置文件中的端口与后端实际端口一致。
确保Windows防火墙允许8001端口的访问:
或者临时关闭防火墙进行测试。
在手机浏览器中访问:
http://你的IP地址:8001/api/user/login
如果能看到JSON响应或错误信息,说明网络连接正常。
修改配置文件后,需要:
return 'http://localhost:8001/api'
// IP地址:192.168.179.1
// 端口:8001
return 'http://192.168.179.1:8001/api'
A: 通常使用 192.168.x.x 开头的IP地址,这是局域网IP。如果有多个:
192.168.x.x 格式的A: 检查以下几点:
A: 这是典型的localhost问题,必须使用IP地址。
A: 可以:
A: 可以在配置文件中添加环境判断:
const getLocalIP = () => {
// 开发工具调试
// #ifdef MP-WEIXIN
// 可以通过编译模式或环境变量判断
// #endif
// 真机调试(推荐)
return 'http://192.168.179.1:8001/api'
}
配置完成后,可以在小程序中添加测试代码:
import config from '@/utils/config.js'
onLoad() {
console.log('API地址:', config.BASE_URL)
// 应该显示:http://192.168.x.x:8001/api
}
正式发布时,需要:
修改 config.js 为生产环境地址:
return 'https://your-domain.com/api'
修改 manifest.json 启用域名校验:
"mp-weixin": {
"setting": {
"urlCheck": true
}
}