小程序開發(fā)過程中常見的問題及優(yōu)化方法介紹
相比APP開發(fā),小程序開發(fā)門檻低,成本低,但是小程序開發(fā)過程中還是會(huì)遇到一些問題。對(duì)于小程序開發(fā)過程中可能遇到的問題和解決方法,全通網(wǎng)絡(luò)梳理了一下
1.網(wǎng)絡(luò)請(qǐng)求接口域名的限制解決
小程序對(duì)網(wǎng)絡(luò)請(qǐng)求接口域名有明確要求。針對(duì)4種服務(wù)器域名(request、socket、uploadfile、downloadfile)每種只能指定一個(gè)合法域名。這樣,對(duì)于后臺(tái)業(yè)務(wù)十分復(fù)雜,并使用不同域名對(duì)業(yè)務(wù)進(jìn)行劃分的應(yīng)用就會(huì)有問題,比如騰訊的自選股,后臺(tái)就十分復(fù)雜。應(yīng)對(duì)這個(gè)限制,騰訊自選股最終通過統(tǒng)一代理方式將多個(gè)域名收斂為一個(gè)域名,由代理層將請(qǐng)求轉(zhuǎn)發(fā)。
2.應(yīng)用內(nèi)部支持https請(qǐng)求
微信小程序文檔中要求wx.request網(wǎng)絡(luò)請(qǐng)求發(fā)起的是HTTPS請(qǐng)求,這對(duì)于有各種接口的應(yīng)用也帶來影響。仍以騰訊自選股為例,通過在統(tǒng)一代理層部署證書支持HTTPS請(qǐng)求,這樣后端RS機(jī)器無需改動(dòng),成功解決必須是HTTPS請(qǐng)求的問題。
iOS規(guī)則自2017.1開始服務(wù)器會(huì)只支持HTTPS協(xié)議的接口,所以,現(xiàn)在開始盡量統(tǒng)一為HTTPS。
3.小程序僅支持5個(gè)并發(fā)的網(wǎng)絡(luò)請(qǐng)求
微信小程序官方文檔中也提到了,同時(shí)打開頁面有5個(gè)的限制。所以不適合做太深層級(jí)頁面的交互應(yīng)用。像騰訊自選股這類深層級(jí)頁面交互的應(yīng)用,可以使用動(dòng)態(tài)接口將頁面需要的數(shù)據(jù)進(jìn)行合并,通過一個(gè)接口獲取頁面所需數(shù)據(jù)。
4.多個(gè)頁面代碼共用問題
小程序頁面與頁面之間代碼復(fù)用性差。當(dāng)多個(gè)頁面共用一個(gè)js或者json的時(shí)候(比如詳情頁面),需要打包和構(gòu)建工具的支持(如用webpack)。沒有工具就只能自己手工復(fù)制,一旦涉及修改的時(shí)候,要修改多個(gè)頁面就比較麻煩了。
5.關(guān)于有狀態(tài)的登錄問題
關(guān)于登錄,目前小程序不支持cookie,而是采用前端利用微信提供的接口獲取登錄憑證code,server端再用code獲取密鑰session_key的方式對(duì)用戶數(shù)據(jù)完成加密解密,整個(gè)過程需要server端對(duì)已有的登錄體系進(jìn)行再次封裝,而本地的登錄態(tài)可以利用微信提供的本地存儲(chǔ)進(jìn)行保存。
以上是一些小程序開發(fā)中會(huì)遇到的部分問題和相應(yīng)的解決方案,對(duì)于小白們有一定的幫助??上攵磥?a class="taglink" title="小程序開發(fā)" href="/cn/index.php?ac=search&at=taglist&tagkey=%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91" target="_blank">小程序開發(fā)不再是個(gè)小眾話題,微信小程序的巨大能量,將會(huì)引來更多人加入這場(chǎng)紛爭(zhēng)。只有爭(zhēng)得先機(jī)者,才能笑到最后。
百度口碑
100%好評(píng)
360安全認(rèn)證
安全可信賴
公安機(jī)關(guān)
公網(wǎng)備案