小程式開發之注意問題
1.網路請求問題:
強制要求請求全部為https
2.網路請求問題:
測試環境可以使用http協議
由於小程式開發時域名需要在公眾平臺備案
所以我們學習測試時:點選開發工具右上角“詳請”--勾選“不校驗合法域名、web-view(業務域名)、TLS 版本以及 HTTPS 證書”
即可在正常網路環境中測試
3.
企業型別帳號需支付300元認證費或者用公司賬號向騰訊公司打款認證。
政府、媒體、其他組織型別帳號,必須通過微信認證驗證主體身份
4.
公眾號關聯小程式
關聯規則:
所有公眾號都可以關聯小程式。
一個公眾號可關聯10個同主體的小程式,3個不同主體的小程式。
一個小程式可關聯500個公眾號。
公眾號一個月可新增關聯小程式13次,小程式一個月可新增關聯500次。
5.
待續
5.小程式有些元件依賴於
node.js
開發環境,建議電腦安裝一下node.js開發環境
安裝教程:https://blog.csdn.net/JackJia2015/article/details/84101036
6.小程式建立頁面的
.wxml
、.js
、.wxss
、.json
四個檔案必須具有相同的路徑與檔名
7.
小程式允許上傳的檔案格式
程式檔案格式: js、json、wxml、wxss
圖片格式:png、jpg、jpeg、gif、svg
資料格式:wxs、json
檔案個數:cer
音訊格式:mp3、aac、m4a、wav、m4a、silk
視訊格式:mp4
8.json的配置檔案不可以寫註釋,而且標點符號要求很嚴格,所有符號需要英文符號,配置引數鍵值最後一個項不能加逗號
9.tabBar 底部導航欄,如果配置,
只能配置最少2個、最多5個 tab
10.獲取使用者位置資訊的官方宣告
2019年1月14日起新提交發布的版本將會受到此調整的影響。 需要各位開發者注意,2019年1月14日起新提交發布的版本若未填寫地理位置用途說明,則將無法正常呼叫地理位置相關介面,請及時填寫地理位置用途說明。 該調整策略在微信客戶端 7.0.0 版本生效。另外,考慮到相容性等問題,在微信客戶端 7.0.0 版本以下的環境中不受此策略影響。
解決方案:
需要在App.json配置
"permission": {
"scope.userLocation": {
"desc": "你的位置資訊將用於小程式位置介面的效果展示"
}
}
11.頁面.json中配置項會
覆蓋
app.json 的 window 中相同的配置項。
12.控制頁面整體不能上下滾動的
disableScroll
只在頁面配置中有效,無法在 app.json 中設定
13.小程式框架的邏輯層並非執行在瀏覽器中,因此 JavaScript 在 web 中一些能力都
無法使用
,如 window,document 等
14.如何區分前臺、後臺
前臺:當再次進入微信或再次開啟小程式,又會從後臺進入前臺。
後臺:當用戶點選左上角關閉,或者按了裝置 Home 鍵離開微信,小程式並沒有直接銷燬,而是進入了後臺;
當日如果小程式進入後臺一定時間,或者系統資源佔用過高,才會被真正的銷燬。
15.獲取全域性變數注意問題
獲取全域性變數userInfo
const app = getApp()
console.log(app.globalData.userInfo)
注:
(1)不要在App.js 內的函式中呼叫 getApp()
(2)App.js 中,使用 this 就可以拿到 app 例項。
var that = this
console.log(this.globalData.userInfo)
(3)通過 getApp() 獲取例項之後,不要私自呼叫生命週期函式。
16.
setData 函式用於將資料從邏輯層傳送到檢視層(非同步),同時改變對應的 this.data 的值(同步)。
17.獲取當前頁面棧–
getCurrentPages()
- 不要嘗試修改頁面棧,會導致路由以及頁面狀態錯誤。
- 不要在 App.onLaunch 的時候呼叫 getCurrentPages(),此時 page 還沒有生成。
18.navigateTo等多個值傳值時一定要傳加上
JSON.parse()
- 傳值端JSON.stringify(array),
- 接收端JSON.parse(options.array);
否則傳過的將字串的形式接收,無法正常解析
- 路由跳轉相關問題
(1)navigateTo, redirectTo 只能開啟非 tabBar 頁面。
(2)switchTab 只能開啟 tabBar 頁面。
(3)reLaunch 可以開啟任意頁面。
(4)頁面底部的 tabBar 由頁面決定,即只要是定義為 tabBar 的頁面,底部都有 tabBar。
(5)呼叫頁面路由帶的引數可以在目標頁面的onLoad中獲取。
(6)呼叫 navigateTo 跳轉時,呼叫該方法的頁面會被加入堆疊,而redirectTo 方法則不會。所以只要navigateTo的跳轉才可以使用wx.navigateBack方法
19.
待續