【咸鱼日志】接入百度地图只出现网格 errorcode: -10 uid: -1 appid -1 msg: Current network is not available.

本文记录了解决百度地图API接入时出现的错误过程,包括检查SHA1、包名及apikey等配置信息,最终通过调整<meta-data>标签设置成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 


    errorcode: -10 uid: -1 appid -1 msg: Current network is not available.
    请仔细核查 SHA1、package与key申请信息是否对应,key是否删除,平台是否匹配
    errorcode为230时,请参考论坛链接:
    http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=106461

 

坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑

 SHA1、包名、以及apikey、各种权限等等,全都是复制粘贴的,也反复检查了没有问题

注:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
这个权限可能报错,似乎是Android版本6.0以后?

 

 

 

 

 

又删除新建一个应用,使用新的apikey,还是不行

换真机测试,还不行!!!


    

 

 

 

最后,朋友们下面请看百度地图给的官方文档,当初没有多想,直接复制填入key

<meta-data>标签已经有两个属性了,所以要不要试试用双标签喵喵喵?

更改后:

妈耶!竟然出来了!

阴差阳错 x_x

 

 

 

### 可能的原因分析 错误代码 `-100` 和 `errMsg: 'requestPayment:fail [payment微信:-1]General errors'` 通常表示支付请求在客户端或服务端出现了问题。以下是可能导致该错误的原因及解决方案: 1. **签名验证失败** 微信支付需要确保传递给 `uni.requestPayment` 的所有参数都是正确的,包括但不限于 `timeStamp`, `nonceStr`, `package`, `signType`, `paySign`[^2]。如果这些参数中的任何一个不正确,都会导致签名验证失败。请检查以下内容: - 确保 `timeStamp` 是当前时间戳(单位为秒)。 - 确保 `nonceStr` 是一个随机字符串,且每次调用时都不重复。 - 确保 `package` 参数格式正确,通常是 `prepay_id=xxx`。 - 确保 `signType` 使用的是正确的签名类型(如 `MD5` 或 `HMAC-SHA256`)。 - 确保 `paySign` 是通过正确的算法生成的签名。 2. **服务端返回的预支付订单信息有误** 在调用 `uni.requestPayment` 之前,通常需要先向服务端请求预支付订单信息。如果服务端返回的数据不完整或格式不正确,也可能导致支付失败。请确保服务端返回的数据符合微信支付的规范,并包含以下字段: - `timeStamp` - `nonceStr` - `package` - `signType` - `paySign` 3. **AppID 或商户号配置错误** 如果应用的 `AppID` 或商户号配置错误,也会导致支付失败。请检查以下内容: - 确保 `AppID` 和商户号在微信支付平台和 UniApp 配置中一致。 - 确保应用的域名或 IP 地址已在微信支付平台中正确配置。 4. **用户未授权或网络异常** 如果用户未授权微信支付功能,或者网络连接异常,也可能导致支付失败。请确保以下条件满足: - 用户已授权微信支付功能。 - 设备网络连接正常。 ### 示例代码 以下是一个完整的微信支付实现示例,供参考: ```javascript // 调用微信支付 payOrder() { // 假设 service.getPrepayId() 是一个获取预支付订单信息的方法 uni.request({ url: 'https://your-server-url/getPrepayId', // 替换为实际的服务端接口地址 method: 'POST', data: { // 传递必要的参数,如订单号、商品信息等 orderNo: this.orderNo }, success: (res) => { if (res.data.code === 0) { // 假设服务端返回的状态码为 0 表示成功 const payParams = res.data.data; // 从服务端返回的数据中提取支付参数 uni.requestPayment({ provider: 'wxpay', timeStamp: payParams.timeStamp, nonceStr: payParams.nonceStr, package: payParams.package, signType: payParams.signType, paySign: payParams.paySign, success: (res) => { console.log('支付成功:', res); uni.showToast({ title: '支付成功!' }); }, fail: (err) => { console.error('支付失败:', err); uni.$showMsg('支付失败,请稍后再试!'); } }); } else { uni.$showMsg('获取预支付订单信息失败!'); } }, fail: () => { uni.$showMsg('网络请求失败,请检查网络连接!'); } }); } ``` ### 注意事项 - 确保服务端生成的签名与客户端传递的签名一致。 - 如果使用的是 `HMAC-SHA256` 签名类型,请确保服务端和客户端都支持该算法。 - 如果问题仍然存在,可以尝试在微信支付平台中查看详细的错误日志,以进一步定位问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值