干貨:小程序開發過程中遇到的問題,這里有答案

1. 關于小程序注冊及提交

小程序的開發,需要申請賬號,完善信息,提交代碼,審核發布等流程。它們是可以和小程序代碼的編寫同步進行,所以小程序更加偏向是一個開發者工具,而不是像訂閱號或者服務號那樣的運營工具。

先說賬號申請,閱讀過官方文檔的應該清楚,小程序目前,只支持兩種類型的賬號。第一種是企業,這個只需要注冊賬號,然后綁定對公賬號即可?;褂幸恢質且恍├嗨普笠?,無法使用對公賬戶打款。也就是說第一種企業只要注冊就可以使用,而第二種注冊完需要認證才行,并且目前不支持個人賬號。

第二步就是完善信息,這里很簡單,唯一需要特別注意的是,基本信息中,選擇小程序的服務范圍的時候,一定要特別謹慎,不能隨意修改。因為這樣容易造成數據混亂,比如你選的分類是打車,而用戶搜完之后,發現你其實是做的美食,這就尷尬了。

做好之后就可以去代碼開發并且上傳,上傳代碼只能是管理員賬號才行。這里需要注意的第一點,是小程序不支持代碼的合并和修改,所以,當你準備上傳代碼的時候,一定要確定,這是個完整的包,如果需要合并和修改,需要在其他類似git這樣的平臺進行。第二點是當你提交審核的時候,盡量不要在小程序頁面里面出現例如test之類的文字,以及測試數據,盡可能做到完善,否則有可能會影響你的信用分。

2. 關于小程序技術開發

2.1 關于小程序的數據結構和視圖渲染

小程序和其他前端非常不一樣的一個地方,就是渲染方式、執行方式以及執行時間,都是由小程序自己自定的,并且可以在后臺進行編譯。

以下圖為例,appservice管理的是數據,視圖層管理的是渲染,數據和視圖層是完全分離的。這種視圖結構中,你的腳本是沒辦法直接操控視圖的,所以使用習慣了jQuery的人,這里就比較遺憾了,是完全不能用。第一是因為它是跑在兩個獨立線程中,另一個是因為開發者寫的腳本文件,都是跑在jscode當中的,所以有很多dom是沒有的。

2.2 關于小程序的開發者組件

為了方便開發者,微信官方推出了一系列的小程序組件,這些組件會有一些自己的功能,比如說一些button和cheakbox等等,會有自己微信的樣子,所以說,即使是一些ui資源很弱的團隊,也可以開發出來很不錯的小程序。

由于html對于組件的支持比較差,所以這些組件基本上都是微信自己自定義的。在技術上,微信吸取了web-component的精髓,研發了wx-component,研發的時候,假如你熟悉前者,你就會發現,他們的接口是很相似的。

其實了解技術的人都清楚,這么做一套自定義組件,是非常耗時耗力的,微信之所以會做,一個是因為方便web和native之間的切換,另一個是可以和自己的自定義框架很好的結合起來。

2.3 關于小程序的unionID

如果開發者擁有多個移動應用,網絡應用,和公眾賬號(包括小程序),可通過unionid來區分用戶的唯一性。因為只要是同一個微信開放平臺賬號下的移動應用,網站應用和公眾賬號(包括小程序),用戶的unionid是唯一的?;瘓浠八?,同一用戶,對同一個微信開放平臺下的不同應用,unionid是相同的。

所以就可以用這個unionid把公眾號的一些用戶,以及之前你開發過的微信生態下的應用,和小程序里面的用戶建立起聯系,你會發現,他們都是同一批人。

2.4.關于小程序的cooike不生效問題

很多開發者會問,為什么某些set-cookie之類的不會生效,這里其實是因為,小程序開發并不是在一個瀏覽器的環境中把請求發了出去,所以服務器發回來的返回頭,小程序是無法理解的。小程序的請求是jscode通過native發出去的,所以他們并不理解,但是以后可能會優化理解。

處于安全需要,需要服務器支持Https。然后TLS(Transport Layer Security)版本需要支持到1.2,即最新版本,它可以在不支持TLS的環境中模擬。但是如果真機運轉的話,還是需要把服務器版本升級到最新。

在app.json中聲明的頁面,需要有相應的Page()函數進行注冊??⒄呔S齙?,在app.json寫了a頁面,但是沒有創建a.js文件,那就會出錯,并且如果你創建了a.js,沒有在里面生成page()的函數,那也會出錯。

來源:segmentfault

上一篇: 微信小程序會讓前端開發者失業

下一篇: 一天精通 Chrome 開發

分享到: 更多
重庆时时开奖直播现场 大乐透复式中奖计算表 三分彩计划软件 什么平台有腾讯分分彩玩 时时彩总和大小怎么分 3d投注技巧视频教程 蓝鲸游戏规则 麻将二八杠叫法顺口溜 福彩时时彩实时开奖 北京pk赛车官网登录 内蒙古时时开结果查询 pk10公式计划软件安卓 幸运飞艇计划app苹果 mg游戏 重庆时时最新开奖结果 吉林时时连线走势