說(shuō)到小程序,大家都不會(huì)陌生。這是BAT多家企業(yè)都在布局的賽道,騰訊有微信小程序,阿里有支付寶小程序, 百度有百度小程序。三大巨頭都聲稱將投入數(shù)十億扶持小程序開(kāi)發(fā)者。其中微信小程序是最成熟的,也是起步最早,開(kāi)發(fā)者人數(shù)最多, 小程序數(shù)量最大的一個(gè)平臺(tái)。所以越來(lái)越多的企業(yè)商家都選擇開(kāi)發(fā)小程序,但是在開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)遇到一些麻煩不知道該怎么解決,下面小編就整理出來(lái)了幾個(gè)常見(jiàn)的問(wèn)題給大家來(lái)分析一下。

1、小程序canvas保存圖片問(wèn)題
問(wèn)題:用canvas動(dòng)態(tài)生成一張圖片(包含用戶頭像、小程序碼),然后讓用戶保存圖片到相冊(cè),繼而分享圖片到朋友圈。這時(shí)出現(xiàn)系統(tǒng)繁忙,沒(méi)有辦法生成圖片海報(bào)。而且在小程序調(diào)試工具不會(huì)出現(xiàn)問(wèn)題, android手機(jī)不會(huì)出現(xiàn)問(wèn)題, ios會(huì)出現(xiàn)該問(wèn)題。
分析與解決方案:翻遍文檔,查了google。研究下canvas保存圖片的原理大致是canvas要把圖片放在畫(huà)布上面,不能使用網(wǎng)絡(luò)圖片,因此需要利用downloadFile這個(gè)Api把圖片緩存到本地。而downloadFile是受到安全域名限制的,所以需要在小程序后臺(tái)將圖片鏈接的域名,包括微信頭像的域名wx.qlogo.cn加入到安全域名中。
2、Formid問(wèn)題
問(wèn)題:微信小程序發(fā)送模板消息出現(xiàn)41028,invalid form id hint, 新產(chǎn)生的formid依然無(wú)法正常使用,android的可以,而ios的總是失敗。
分析和解決方案:為了能給用戶發(fā)送消息通知,需要在小程序埋表單,在用戶點(diǎn)擊某個(gè)按鈕時(shí)獲取formid并傳到后端保存。經(jīng)過(guò)分析發(fā)現(xiàn)數(shù)據(jù)庫(kù)的長(zhǎng)度是16位, 而安卓端產(chǎn)生的formID 是這樣的13位例如:1532424185780, ios端產(chǎn)生的是32位:5f51e0ba44ad3103dc359893571835a7。 ios產(chǎn)生的formid超過(guò)數(shù)據(jù)庫(kù)的字段長(zhǎng)度,會(huì)在存儲(chǔ)到數(shù)據(jù)庫(kù)時(shí)自動(dòng)被截取前16位 ,因此發(fā)送的formid就變成無(wú)效formid了。解決方案是延長(zhǎng)數(shù)據(jù)庫(kù)字段的長(zhǎng)度到32位。
3、模板通知跳轉(zhuǎn)問(wèn)題
問(wèn)題:在生產(chǎn)做測(cè)試時(shí)點(diǎn)擊小程序的模板通知,發(fā)現(xiàn)跳轉(zhuǎn)了體驗(yàn)版的頁(yè)面.
分析與解決方案:后來(lái)查看了微信小程序的文檔,發(fā)現(xiàn)小程序模板消息的跳轉(zhuǎn)邏輯如下:formid是開(kāi)發(fā)版獲取的,就跳開(kāi)發(fā)版;formid是體驗(yàn)版獲取的,就跳體驗(yàn)版;formid是發(fā)布版獲取的,就跳發(fā)布版。刪除對(duì)應(yīng)用戶獲取到的formid, 讓用戶重新獲取formid即可。
4、二維碼跳轉(zhuǎn)問(wèn)題
對(duì)于調(diào)用微信接口生成的二維碼, 掃描二維碼會(huì)直接跳轉(zhuǎn)至正式版小程序,不會(huì)跳轉(zhuǎn)至體驗(yàn)版,調(diào)試的時(shí)候要注意。
擴(kuò)展閱讀:
獲取小程序碼 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html
5、H5鏈接參數(shù)丟失問(wèn)題
問(wèn)題:webview打開(kāi)h5鏈接時(shí)都不是想要的網(wǎng)站頁(yè)面。也就是說(shuō)在直接復(fù)制鏈接在手機(jī)瀏覽器或者微信瀏覽器打開(kāi)都沒(méi)有問(wèn)題,但是在小程序嵌入鏈接打開(kāi)就不是指定的頁(yè)面。
分析與解決方案: 通過(guò)抓包分析(推薦工具whistle), 發(fā)現(xiàn)了h5鏈接參數(shù)發(fā)生丟失, 比如原鏈接是https://example.com?host=xxxx, 在微信小程序里打開(kāi)就變成https://example.com. 解決方案是先encodeURIComponent(url) 后在webview頁(yè)面decodeURIComponent(url )。
6、審核問(wèn)題
審核不通過(guò)提示”涉及平臺(tái)未允許的內(nèi)容:誘導(dǎo)分享朋友圈 “, 可以嘗試修改下文案再提交,比如說(shuō)"分享到朋友圈" 修改為<。。。。>。
這里說(shuō)明一下, 微信小程序有一套審核機(jī)制,實(shí)現(xiàn)上感覺(jué)像是機(jī)器審核+人工審核。上線之前要提交審核,只有審核成功的小程序才能正常發(fā)布。微信對(duì)誘導(dǎo)分享的行為有所限制,但是目測(cè)修改文案也可以能通過(guò)審核。當(dāng)然不敢保證完全成功。

看了上面的內(nèi)容,相信大家在以后開(kāi)發(fā)小程序的過(guò)程中遇到類似的問(wèn)題知道怎么處理了吧!
熱門(mén)推薦: 上海微信小程序 小程序開(kāi)發(fā) 小程序設(shè)計(jì) 支付寶小程序 百度小程序