微信公衆號/小程序開發配置常見錯誤信息

system error

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

公衆號可使用 AppID 和 AppSecret 調用本接口來獲取 access_token 。AppID 和 AppSecret 可在「微信公衆平臺-開發-基本配置」頁中得到(須要已經成爲開發者,且賬號沒有異常狀態)。調用接口時,請登陸「微信公衆平臺-開發-基本配置」提早將服務器IP地址添加到IP白名單中,點擊查看設置方法,不然將沒法調用成功。
官網文檔說明html

invalid weapp appid hint: [oBXiOA0260vr24]

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

自定義菜單中添加微信小程序,須要正確設置小程序的 appidgit

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

錯誤信息:npm

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

# Java
pad block corrupted

以上兩個錯均是解密時 sessionKey 與獲取到的 加密串沒有匹配。必須保證一個流程:json

  • 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):貴方小程序的登陸方式須要綁定手機號,嘗試操做,提示「爲了你的微信帳號安全,暫不能進行綁定手機操做」,請更換小程序的登陸方式以供審覈。
若有疑問,請查看詳情與反饋。api

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(玩不轉)

vdSyncBatch 數據傳輸長度爲 * 已經超過最大長度 1048576

單次設置的數據不能超過1024kB,請儘可能避免一次設置過多的數據。參考文檔)

相關文章
相關標籤/搜索