日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

微信小程序

 老來樂65 2019-09-05

今天開始深度學(xué)習(xí)編程語法,雖然大部分是拷貝官方文檔,代碼類都是我自己敲的,希望能自己敲一遍表格里的內(nèi)容,熟悉一下操作

文件目錄結(jié)構(gòu)

  • 之前大概提高到,沒有細說

  • 先打開 app.js 文件

小程序 App

  • 打開 app.js 文件,會看到 App({…}) 函數(shù)

  • App() 函數(shù)用來注冊一個小程序。接受一個 Object 參數(shù),其指定小程序的生命周期回調(diào)等

  • 【注意】:App() 必須在 app.js 中調(diào)用,必須調(diào)用且只能調(diào)用一次。不然會出現(xiàn)無法預(yù)期的后果

  • Object參數(shù)說明:

屬性類型描述觸發(fā)時機
onLaunchFunction生命周期回調(diào)一監(jiān)聽小程序初始化小程序初始化完成時(全局只觸發(fā)一次)
onShowFunction生命周期回調(diào)一監(jiān)聽小程序顯示小程序啟動,或從后臺進入前臺顯示時
onHideFunction生命周期回調(diào)一監(jiān)聽小程序隱藏小程序從前臺進入后臺時
onErrorFunction錯誤監(jiān)聽函數(shù)小程序發(fā)生腳本錯誤,或者 api 調(diào)用失敗時觸發(fā) ,會帶上錯誤信息
onPageNotFoundFunction頁面不存在監(jiān)聽函數(shù)小程序要打開的頁面不存在時觸發(fā),會帶上頁面信息回調(diào)該函數(shù)
其他Any開發(fā)者可以添加任意的函數(shù)或數(shù)據(jù)到 Object 參數(shù)中,用 this 可以訪問
  • 前臺、后臺定義:當(dāng)用戶點擊左上角關(guān)閉,或者按了設(shè)備 Home 鍵離開微信(也就是返回手機桌面,沒有退出微信),小程序并沒有直接銷毀,而是進入了后臺;當(dāng)再次進入微信或再次打開小程序,又會從后臺進入前臺。需要注意的是:只有當(dāng)小程序進入后臺一定時間,或者系統(tǒng)占用資源過高,才會真正被銷毀

  • 關(guān)閉小程序(基礎(chǔ)庫版本1.1.0開始支持):當(dāng)用戶從掃一掃 ,轉(zhuǎn)發(fā)等入口(場景值(下面有介紹)為1007,1008,1011,1025)進入小程序,且沒有置頂小程序的情況下推出,小程序會被銷毀

  • 小程序運行機制在基礎(chǔ)庫版本 1.4.0 有所改變:上一條關(guān)閉邏輯在新版已不適用

  • 示例代碼:

//提示:當(dāng)在js文件中輸入app會提示函數(shù),直接回車會直接生產(chǎn)4個框架,快捷App({ /** * 當(dāng)小程序初始化完成時,會觸發(fā) onLaunch(全局只觸發(fā)一次) */ onLaunch: function () { }, /** * 當(dāng)小程序啟動,或從后臺進入前臺顯示,會觸發(fā) onShow */ onShow: function (options) { }, /** * 當(dāng)小程序從前臺進入后臺,會觸發(fā) onHide */ onHide: function () { }, /** * 當(dāng)小程序發(fā)生腳本錯誤,或者 api 調(diào)用失敗時,會觸發(fā) onError 并帶上錯誤信息 */ onError: function (msg) { } /** * 下面是自定義內(nèi)容 */ globalData: 'I am global data'})
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18

  • 19

  • 20

  • 21

  • 22

  • 23

  • 24

  • 25

  • 26

  • 27

  • 28

  • 29

  • 30

  • 31

  • 32

  • 33

  • 34

  • 35

詳細介紹.js 文件中App({…})函數(shù)各參數(shù)

  • 上面提到的 5 個參數(shù)

  • onLaunch,onShow,onHide,onError,onPageNotFound

js 文件中App({…})函數(shù)參數(shù) - onLaunch(Object)

  • 小程序初始化完成時觸發(fā),全局只觸發(fā)一次

  • Object 參數(shù)說明:

字段類型說明
pathString打開小程序的路徑
queryObject打開小程序的query
sceneNumber打開小程序的 場景值(下面有介紹)
shareTicketStringshareTicket,詳見 獲取更多轉(zhuǎn)發(fā)信息(下面有介紹)
referrerInfoObject當(dāng)場景為由從另一個小程序或公眾號或App打開時,返回此字段
referrerInfo.appIdString來源小程序或公眾號或App的 appId,詳見下方說明
referrerInfo.extraDataObject來源小程序傳過來的數(shù)據(jù),scene=1037或1038時支持
  • 以下場景支持返回 referrerInfo.appId:

場景值場景appId 信息含義
1020公眾號 profile 頁相關(guān)小程序列表來源公眾號 appId
1035公眾號自定義菜單來源公眾號 appId
1036App 分享消息卡片來源應(yīng)用 appId
1037小程序打開小程序來源小程序 appId
1038從另一個小程序返回來源小程序 appId
1043公眾號模板消息來源公眾號 appId

js 文件中App({…})函數(shù)參數(shù) - onShow(Object)

  • 小程序啟動,或從后臺進入前臺顯示時觸發(fā)

  • Object 參數(shù)說明:

  • 與上面 onLaunch 相同

js 文件中App({…})函數(shù)參數(shù) - onHide()

  • 小程序從前臺進入后臺時觸發(fā)

js 文件中App({…})函數(shù)參數(shù) - onError(String error)

  • 小程序發(fā)生腳本錯誤,或者 api 調(diào)用失敗時觸發(fā)

  • 參數(shù)說明:

名稱類型說明
errorString錯誤信息,包含堆棧

js 文件中App({…})函數(shù)參數(shù) - onPageNotFound(Object)

  • 基礎(chǔ)庫 1.9.90 開始支持,低版本需做兼容處理

  • 小程序要打開的頁面不存在時觸發(fā)

  • Object 參數(shù)說明:

字段類型說明
pathString不存在的頁面路徑
queryObject打開不存在的頁面的 query
isEntryPageBoolean是否本次啟動的首個頁面(例如從分享等入口進來,首個頁面是開發(fā)者配置的分享頁面)
  • 開發(fā)者可以在 onPageNotFound 回調(diào)中進行重定向處理,但必須在回調(diào)中同步處理,異步處理(例如 setTimeout 異步執(zhí)行)無效

  • 示例代碼:

App({  onPageNotFound(res) {    wx.redirectTo({      url: 'pages/...'    }) // 如果是 tabbar 頁面,請使用 wx.switchTab  }})
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 注意:

    • 1.如果開發(fā)者沒有添加 onPageNotFound 監(jiān)聽,當(dāng)跳轉(zhuǎn)頁面不存在時,將推入微信客戶端原生的頁面不存在提示頁面

    1. 如果 onPageNotFound 回調(diào)中又重定向到另一個不存在的頁面,將推入微信客戶端原生的頁面不存在提示頁面,并且不再回調(diào) onPageNotFound

getApp(Object)

  • 全局的 getApp() 函數(shù)可以用來獲取到小程序 App 實例

  • Object 參數(shù)說明:

字段類型說明最低版本
allowDefaultBoolean在 App 未定義時返回默認實現(xiàn)。當(dāng)App被調(diào)用時,默認實現(xiàn)中定義的屬性會被覆蓋合并到App中。一般用于[獨立分包](https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/independent.html)2.2.4
  • 示例代碼:

// 自定義的.jsvar appInstance = getApp()console.log(appInstance.globalData) // I am global data
  • 1

  • 2

  • 3

  • 注意:

    • 不要在定義于 App() 內(nèi)的函數(shù)中調(diào)用 getApp() ,使用 this 就可以拿到 app 實例

    • 通過 getApp() 獲取實例之后,不要私自調(diào)用生命周期函數(shù)

場景值

  • 基礎(chǔ)庫 1.1.0 開始支持,低版本需做兼容處理

  • 當(dāng)前支持的場景值有:

場景值ID說明
1001發(fā)現(xiàn)欄小程序主入口,“最近使用”列表(基礎(chǔ)庫2.2.4版本起將包含“我的小程序”列表)
1005頂部搜索框的搜索結(jié)果頁
1006發(fā)現(xiàn)欄小程序主入口搜索框的搜索結(jié)果頁
1007單人聊天會話中的小程序消息卡片
1008群聊會話中的小程序消息卡片
1011掃描二維碼
1012長按圖片識別二維碼
1013手機相冊選取二維碼
1014小程序模版消息
1017前往體驗版的入口頁
1019微信錢包
1020公眾號 profile 頁相關(guān)小程序列表
1022聊天頂部置頂小程序入口
1023安卓系統(tǒng)桌面圖標(biāo)
1024小程序 profile 頁
1025掃描一維碼
1026附近小程序列表
1027頂部搜索框搜索結(jié)果頁“使用過的小程序”列表
1028我的卡包
1029卡券詳情頁
1030自動化測試下打開小程序
1031長按圖片識別一維碼
1032手機相冊選取一維碼
1034微信支付完成頁
1035公眾號自定義菜單
1036App 分享消息卡片
1037小程序打開小程序
1038從另一個小程序返回
1039搖電視
1042添加好友搜索框的搜索結(jié)果頁
1043公眾號模板消息
1044帶 shareTicket 的小程序消息卡片 詳情
1045朋友圈廣告
1046朋友圈廣告詳情頁
1047掃描小程序碼
1048長按圖片識別小程序碼
1049手機相冊選取小程序碼
1052卡券的適用門店列表
1053搜一搜的結(jié)果頁
1054頂部搜索框小程序快捷入口
1056音樂播放器菜單
1057錢包中的銀行卡詳情頁
1058公眾號文章
1059體驗版小程序綁定邀請頁
1064微信連Wi-Fi狀態(tài)欄
1067公眾號文章廣告
1068附近小程序列表廣告
1069移動應(yīng)用
1071錢包中的銀行卡列表頁
1072二維碼收款頁面
1073客服消息列表下發(fā)的小程序消息卡片
1074公眾號會話下發(fā)的小程序消息卡片
1077搖周邊
1078連Wi-Fi成功頁
1079微信游戲中心
1081客服消息下發(fā)的文字鏈
1082公眾號會話下發(fā)的文字鏈
1084朋友圈廣告原生頁
1089微信聊天主界面下拉,“最近使用”欄(基礎(chǔ)庫2.2.4版本起將包含“我的小程序”欄)
1090長按小程序右上角菜單喚出最近使用歷史
1091公眾號文章商品卡片
1092城市服務(wù)入口
1095小程序廣告組件
1096聊天記錄
1097微信支付簽約頁
1099頁面內(nèi)嵌插件
1102公眾號 profile 頁服務(wù)預(yù)覽
1103發(fā)現(xiàn)欄小程序主入口,“我的小程序”列表(基礎(chǔ)庫2.2.4版本起該場景值廢棄)
1104微信聊天主界面下拉,“我的小程序”欄(基礎(chǔ)庫2.2.4版本起該場景值廢棄)
  • 可以在 App 的 onLaunch 和 onShow 中獲取上述場景值,部分場景值下還可以獲取來源應(yīng)用、公眾號或小程序的appId
    -提示:由于Android系統(tǒng)限制,目前還無法獲取到按 Home 鍵退出到桌面,然后從桌面再次進小程序的場景值,對于這種情況,會保留上一次的場景值

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多