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。

posted @   古兰精  阅读(8415)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2019-12-25 Typescript类、命名空间、模块
2019-12-25 TypeScript基础类型(13种介绍)、TypeScript断言(类型断言、非空断言、确定赋值断言)、变量声明规范
点击右上角即可分享
微信分享提示