uni-app微信相关开发问题记录:微信分享报错"包名不对,请检查包名是否与开放平台填写一致"、Android微信支付只能调起一次的问题、App微信登录与公众号微信登录的unionid不一致

1、微信分享报错“微信:包名不对,请检查包名是否与开放平台填写一致”

  具体原因及分析见这篇博客:uniapp微信APP支付踩坑指南:报错errMsg: "requestPayment:fail errors"

2、Android微信支付只能调起一次的问题

  Android微信支付只能调起一次,之后就再不成功;有博客说卸载微信重装之后,就能成功,发现不行,卸载之后还是只能调起一次。

  其根本原因就在于:微信开发平台填写的包名与app应用的包名不一致导致。

  具体原因及分析见这篇博客:uniapp微信APP支付踩坑指南:报错errMsg: "requestPayment:fail errors"

3、App微信登录与公众号微信登录的unionid不一致

(1)问题背景

  在开发app时使用微信登录,发现app微信登录返回unionId与之前公众号或小程序微信登录返回的unionid不一致。这就有点奇怪了。

(2)unionId机制

  如果微信开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。

  换句话说,同一用户,对同一个微信开放平台下的不同应用(openid是不同的),unionid是相同的

(3)造成原因

  app开发时,我用的是HbuilderX的标准基座,标准基座实际上用的都是标准基座的appid,而我们配置的appid、appSecret之类的,需要打自定义基座才会生效的。

  所以根本原因就在这里,标准基座和开发者平台配置的不一样照成的。

(4)解决方案

  将app打自定义基座包,真机调试就行了;或者打包,安装到手机上就可以了。

  标准基座真机调试会用到hbuilder那边的,而打包后使用的就是微信开发者平台配置appid和appsecret。

原文地址:https://www.cnblogs.com/goloving/p/14188208.html