微信公众号/小程序开发配置常见错误信息

system error

{"errcode":-1,"errmsg":"system error"}

公众号可以使用 AppID 和 AppSecret 调用本接口来获取 access_token 。AppID 和 AppSecret 可在“微信公众平台-开发-基本配置”页中获得(需要已经成为开发者,且帐号没有异常状态)。调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功。 官网文档说明

invalid weapp appid hint: [oBXiOA0260vr24]

{
    "errcode": 40166, 
    "errmsg": "invalid weapp appid hint: [oBXiOA0260vr24]"
}

自定义菜单中添加微信小程序,需要正确设置小程序的 appid。

微信小程序解密 wx.getPhoneNumber / wx.getUserInfo 失败

错误信息:

# Node
Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt

# Java
pad block corrupted

以上两个错均是解密时 sessionKey 与获取到的 加密串没有匹配。必须保证一个流程:

  • wx.login ( jscode ) -> 业务登录 ( sessionKey )
  • 点击按钮 <button open-type="getPhoneNumber" @getphonenumber="getphonenumber">微信绑定手机号快速登录</button>

点击按钮前必须先调用登录。获取信息的事件是添加再按钮上的,必须进入页面就静默走一次登录流程,只有成功以后才能点击按钮。server 拿到加密信息才能正确解密。

Expected updated data but get first rendering data

wx.loadFontFace success/fail回调不执行

wx.loadFontFace 需要在 onReady 中执行

代码发布审核未通过

你的小程序"❌❌❌"代码发布审核未通过,原因如下:1:小程序可用性和完整性不符合规则:(1):贵方小程序的登录方式需要绑定手机号,尝试操作,提示“为了你的微信账号安全,暂不能进行绑定手机操作”,请更换小程序的登录方式以供审核。如有疑问,请查看详情与反馈。

getPhoneNumber 时如果用户没有绑定手机号,会引导去做一个绑定手机号操作,绑定过程中可能会出现如上提示。绑定失败用户不能进行后续流程。所以这里需要增加其他登录方式,例如 手机号+验证码 的登录形式。

wx.scanCode iOS/Android扫码兼容

小程序码:scanType: WX_CODE普通二维码: scanType: QR_CODE

iOS: 正确Android: 小程序码的 scanType 也是返回的 QR_CODE,看社区官方人员回复的后续版本修复,没修复前可以按照 result 的值来区分判断一下。

微信小程序插件开发“插件未授权使用”

开发(引用开发中的)插件的时候,插件 version 设置为 dev 。 (只有在 project.config.json 的 compileType == 'plugin' 时,插件的版本号才能为 'dev')

微信小程序开发过程中 wx.miniProgram.postMessage

引入 JSSDK 后,在特定环境(小程序后退、组件销毁、分享)下才会通过 bindmessage 收到消息。

downloadFile:fail exceed max file size

wx.downloadFile 下载文件有大小限制,目前只支持下载最大 50M 的文件。

其他需要注意配置好下载域名

微信小程序支持使用 npm 包

从小程序基础库版本 2.2.1 开始,小程序支持使用 npm 安装第三方包。除开使用开发者工具构建 npm,还可以项目目录新建文件夹 miniprogram_npm,手动创建模块名为 demo,以 npm 模块的形式引用,构建工具可以加入脚本处理。处理以 package.json 中以 miniprogram 命名的路径或默认路径 miniprogram_dist 拷贝至 miniprogram_npm 即可使用。

// 引用示例
const utils = require('@unofficial/utils');

the permission value is offline verifying

wx.config({...}) 没有正确执行,两种情况考虑,jssdk 加载完成前执行需要这样处理。

wx.ready(() => {
    wx.config({...})
})

如果是 jssdk 加载成功后执行,直接调用就行了。例如如下

方式一:


const script = document.createElement('script');
script.src = 'http://res.wx.qq.com/open/js/jweixin-1.4.0.js';
document.body.appendChild(script);
script.onload = () => {
    wx.config({...}); // 这样写就不要在把wx.config放在wx.ready的回调中了
}

方式二:

<script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<script>
    wx.ready(() => {
        wx.config({...})
    })
</script>

小程序引流到公众号回跳小程序的方法

小程序做红包活动引流用户,用户先用公众号做承接,会涉及两个问题,如果从小程序跳转到公众号,如果从公众号关注再回到小程序。

小程序到公众号

  • 关注组件 (这种适合扫码进入小程序场景)
  • 弹窗引导 (A搜索关注;B截屏识别关注;C小程序关联关注引导)
  • 客服消息 (不建议描述)

公众号到小程序

  • 临时素材 (临时素材配置携带公众号用户信息唯一标识二维码)
  • 模板消息 (模板消息配置已经关联的小程序,支持携带参数)
  • unionId(玩不转)


文章转载:https://segmentfault.com/a/1190000012303245

有疑问、勘误、请您在下方留言,谢谢合作!

感谢您阅读,这篇文章归 极客点子版权所有.
如果转载,请注明出处: 极客点子版权所有(/page/943.html) 知识共享许可协议
本网站使用 创作共用 归属 - 非商业用途 - 共享4.0国际许可协议的相同方式 许可.

关于作者:

    作者:

    reverse()

    简介:

    nodejs 全栈工程师 、作家、github 开源爱好者
    研究方向:数据分析、 深度学习、 服务器架构、 系统原理

    著作:

    最爱的编程语言:

    Javascript
    Python