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。