微信小程序的個(gè)人理解

1.????微信小程序

微信小程序是一種運(yùn)行在微信客戶端,無(wú)需下載和安裝牲平,它由JavaScript+WXML+WXSS編寫通熄,類似于前端技術(shù)中的JavaScript+HTML+CSS;

page(object)是一個(gè)構(gòu)造器测垛,用該函數(shù)來(lái)注冊(cè)頁(yè)面,指定頁(yè)面的生命周期秧均,初始數(shù)據(jù)(data)食侮,事件處理回調(diào)号涯。

優(yōu)先級(jí),先找到頁(yè)面的配置page.json,如果沒(méi)有找到锯七,然后在外面配置的app.json中

全局配置

app.js? 必須用app({})方法來(lái)調(diào)用屬性链快、方法和事件,只能寫一個(gè)眉尸。

app.json 可以配置選項(xiàng)卡域蜗、頁(yè)面、設(shè)置入口頁(yè)面噪猾、設(shè)置窗口的顏色地消、字、狀態(tài)欄的顏色等等畏妖。

App() 用來(lái)注冊(cè)一個(gè)小程序脉执。在小程序啟動(dòng)的時(shí)候調(diào)用,并創(chuàng)建小程序戒劫,直到銷毀半夷,在小程序的整個(gè)生命周期過(guò)程中,他都是存在的迅细,它是單例的全局的巫橄,所以只能在app.js中注冊(cè)一次,在代碼的任何地方都可以通過(guò)getApp()獲取這個(gè)唯一的小程序?qū)嵗鸬洹pp()的參數(shù)是object類型的湘换,指定了小程序的生命周期,

globalData對(duì)象? 全局?jǐn)?shù)據(jù)對(duì)象

Page()

通過(guò)App()注冊(cè)完成的小程序之后统阿,框架就在開始注冊(cè)頁(yè)面彩倚,所以不要在App()的onLaunch()中調(diào)用getCurrentPage()方法。同樣Page()也是有生命周期的扶平,當(dāng)頁(yè)面注冊(cè)完成之后帆离,可以在page.js文件中調(diào)用getCurrentPage()方法,獲取當(dāng)前頁(yè)面對(duì)象结澄。Page()的參數(shù)也是object類型的哥谷。

data? 頁(yè)面的初始化數(shù)據(jù)

Page.prototype.setData() Page的函數(shù)setData用于頁(yè)面初始化數(shù)據(jù)data的修改,如果該數(shù)據(jù)綁定到視圖層wxml中麻献,那么無(wú)需刷新们妥,視圖層就會(huì)反映出修改,對(duì)于data的修改勉吻,只能使用setData()监婶,不能直接通過(guò)this.data進(jìn)行修改,數(shù)據(jù)量限制在1M以內(nèi)餐曼。

getCurrentPages()獲取當(dāng)前頁(yè)面棧的實(shí)例压储,以數(shù)組的形式按棧的形式給出鲜漩,第一個(gè)元素為首頁(yè)源譬,最后一個(gè)元素為當(dāng)前頁(yè)面集惋。

官方工具:? https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

簡(jiǎn)易教程:https://developers.weixin.qq.com/miniprogram/dev/

設(shè)計(jì)指南:https://developers.weixin.qq.com/miniprogram/design/index.html

運(yùn)營(yíng)規(guī)范:https://developers.weixin.qq.com/miniprogram/product/index.html

接入指南:https://developers.weixin.qq.com/miniprogram/introduction/index.html

支付文檔:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1

客服消息:https://mp.weixin.qq.com/debug/wxadoc/introduction/custom.html?t=20161221?

特殊業(yè)務(wù)所需資質(zhì)材料:https://mp.weixin.qq.com/debug/wxadoc/product/material.html?t=201714

數(shù)據(jù)分析:https://mp.weixin.qq.com/debug/wxadoc/analysis/index.html?t=201714



2.????微信小程序的生命周期

微信小程序的生命周期分為頁(yè)面生命周期和應(yīng)用生命周期

(1)應(yīng)用生命周期的三個(gè)屬性方法,onLaunch,onShow,onHide;

? ? ? ? onLaunch? ? 監(jiān)聽小程序的初始化踩娘,當(dāng)小程序初始化完成時(shí)刮刑,會(huì)觸發(fā)onLaunch,全局只觸發(fā)一次;

? ? ? ? onShow? ? ? 監(jiān)聽小程序的顯示养渴,當(dāng)小程序啟動(dòng)雷绢,從后臺(tái)進(jìn)入前臺(tái)時(shí),會(huì)觸發(fā)onShow理卑;

? ? ? ? onHide? ? ? ? 監(jiān)聽小程序的隱藏翘紊,當(dāng)小程序從前臺(tái)進(jìn)入后臺(tái)時(shí),會(huì)觸發(fā)onHide藐唠;

(2)頁(yè)面生命周期:

? ? ? ? onLoad:頁(yè)面加載執(zhí)行

? ? ? ? onReady:頁(yè)面渲染完成執(zhí)行

? ? ? ? onShow:頁(yè)面顯示執(zhí)行

? ? ? ? onHide:頁(yè)面隱藏執(zhí)行

? ? ? ? onUlead:頁(yè)面卸載執(zhí)行

3.????微信小程序中的事件綁定

? ? 事件分為冒泡事件和非冒泡事件

? ? 冒泡事件是當(dāng)一個(gè)組件上的事件觸發(fā)后帆疟,該事件會(huì)傳向父節(jié)點(diǎn),而非冒泡事件不會(huì)宇立。

4.????關(guān)于微信小程序的登錄以及授權(quán)

? ? ? ? 小程序先調(diào)用wx.login()獲取到用戶對(duì)應(yīng)的code(臨時(shí)登錄憑證),然后把code通過(guò)request請(qǐng)求發(fā)送給開發(fā)者服務(wù)器踪宠,然后開發(fā)者服務(wù)器用code向微信服務(wù)器換取用戶唯一的OpenID和session_key(對(duì)用戶數(shù)據(jù)進(jìn)行加密簽名的秘鑰),然后開發(fā)者服務(wù)器生成一個(gè)3rd_session(用于開發(fā)者服務(wù)器和小程序之間做登錄校驗(yàn))妈嘹,然后以3rd_session為key柳琢,session_key和OpenID為value寫入session存儲(chǔ),返回給小程序润脸,小程序把3rd_session存儲(chǔ)起來(lái)柬脸,后續(xù)用戶再次進(jìn)入小程序時(shí),會(huì)調(diào)用wx.checksession()檢驗(yàn)登錄狀態(tài)毙驯,如果失效肖粮,則重新發(fā)起登錄。

? ? ? ?部分接口需要用戶授權(quán)同意后才能調(diào)用尔苦,?wx.getSetting?獲取用戶當(dāng)前的授權(quán)狀態(tài),判斷scope.userInfo涩馆,若已經(jīng)存在,則可以直接調(diào)用getuserinfo獲取頭像昵稱允坚,不會(huì)彈框魂那。

? ? ? ? 獲取手機(jī)號(hào)不能通過(guò)api來(lái)調(diào)用,需要通過(guò)button組件觸發(fā)稠项, 需要將button組件中的open-type設(shè)置為getgetPhoneNumber涯雅,當(dāng)用戶同意后,通過(guò)bindgetphonenumber事件回調(diào)到微信服務(wù)器返回加密數(shù)據(jù)展运,然后在開發(fā)者服務(wù)器結(jié)合session_key和app_id進(jìn)行解密獲取手機(jī)號(hào)活逆。

5.? ?頁(yè)面跳轉(zhuǎn)精刷,在微信小程序中,沒(méi)有a標(biāo)簽蔗候,div標(biāo)簽怒允,需要點(diǎn)擊元素跳轉(zhuǎn)有兩種方法:

(1)在wxml頁(yè)面中使用navigator標(biāo)簽,

例如:<navigator url=? '../test/test',>锈遥,但是url中的地址必須在app.js頁(yè)面中注冊(cè)過(guò)才能使用纫事。

(2)綁定bindtap事件,然后在點(diǎn)擊的時(shí)候使用wx.navigator({ url: '../test/test',})跳轉(zhuǎn)到相應(yīng)的頁(yè)面所灸。

6.? ?var that = this 改變this的作用域,例如

? ? bindtap:function(){

? ??????var that = this ,

? ? ? ? wx.getUserInfo({

? ? ? ? this.xxx? // 指向這個(gè)函數(shù)丽惶;

? ? ? ? that.xxx? //指向外部函數(shù);

})

}

7.? ? 微信小程序的數(shù)據(jù)綁定爬立、條件渲染跟vue里的很像钾唬。

8.? ? 關(guān)于布局??

Flex布局?

Flex容器屬性

flex-dirction決定元素的排列方向

flex-wrap 決定元素如何換行

flex-flow flex-dirction和flex-wrap的簡(jiǎn)寫

justify-content 元素在主軸上的對(duì)齊方式

align-items 元素在交叉軸的對(duì)齊方式

Flex容器內(nèi)元素屬性

flex-grow 當(dāng)有多余空間時(shí),元素的放大比例

flex-shrink 當(dāng)空間不足時(shí)侠驯,元素的縮小比例

flex-basis 元素在主軸上占據(jù)的空間

flex 是grow抡秆、shrink、basis的縮寫

oorder 定義元素的排列順序

align-self 定義元素自身的對(duì)齊方式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末陵霉,一起剝皮案震驚了整個(gè)濱河市琅轧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌踊挠,老刑警劉巖乍桂,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異效床,居然都是意外死亡睹酌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門剩檀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)憋沿,“玉大人,你說(shuō)我怎么就攤上這事沪猴》模” “怎么了?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵运嗜,是天一觀的道長(zhǎng)壶辜。 經(jīng)常有香客問(wèn)我,道長(zhǎng)担租,這世上最難降的妖魔是什么砸民? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上岭参,老公的妹妹穿的比我還像新娘反惕。我一直安慰自己,他們只是感情好演侯,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布姿染。 她就那樣靜靜地躺著,像睡著了一般蚌本。 火紅的嫁衣襯著肌膚如雪盔粹。 梳的紋絲不亂的頭發(fā)上隘梨,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天程癌,我揣著相機(jī)與錄音,去河邊找鬼轴猎。 笑死嵌莉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的捻脖。 我是一名探鬼主播锐峭,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼可婶!你這毒婦竟也來(lái)了沿癞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤矛渴,失蹤者是張志新(化名)和其女友劉穎椎扬,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體具温,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚕涤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铣猩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揖铜。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖达皿,靈堂內(nèi)的尸體忽然破棺而出天吓,到底是詐尸還是另有隱情,我是刑警寧澤峦椰,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布龄寞,位于F島的核電站,受9級(jí)特大地震影響们何,放射性物質(zhì)發(fā)生泄漏萄焦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拂封。 院中可真熱鬧茬射,春花似錦、人聲如沸冒签。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)萧恕。三九已至刚梭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間票唆,已是汗流浹背朴读。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留走趋,地道東北人衅金。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像簿煌,于是被迫代替她去往敵國(guó)和親氮唯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容