




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第三章
主講人:XX歡迎頁面&文章列表頁面升級本章目標完成文章數(shù)據(jù)數(shù)據(jù)從業(yè)務分離與模塊化使用微信小程序模板完成文章列表顯示理解微信小程序應用程序的生命周期使用緩存完成本地模擬服務器數(shù)據(jù)庫用戶登錄授權模塊化程序設計程序設計為什么模塊化?(1)控制了程序設計的復雜性。(2)提高了代碼的重用性。(3)易于維護和功能擴充。(4)有利于團隊開發(fā)。模塊化程序設計是指在進行程序設計時將一個大程序按照功能劃分為若干小程序模塊,每個小程序模塊完成一個確定的功能,并在這些模塊之間建立必要的聯(lián)系,通過模塊的互相協(xié)作完成整個功能的程序設計方法微信小程序中模塊化可以將一些公共的代碼抽離成為一個單獨的js文件,作為一個模塊,期使用步驟:1、通過module.exports或者exports才能對外暴露接口;2、通過在需要使用這些模塊的文件中,使用require將公共代碼引入步驟1:向外導出模塊中文章列表數(shù)據(jù)和文章輪播數(shù)據(jù)步驟:2:使用模塊化編程導入postList模塊加載數(shù)據(jù)//使用模塊化編程導入postList模塊加載數(shù)據(jù)var
postData
=
require("../../data/data");
//綁定數(shù)據(jù)
this.setData({postList:postData.postList,bannerList:postData.bannerList
})//向外導出模塊中文章列表數(shù)據(jù)和文章輪播數(shù)據(jù)module.exports={postList:postListData,bannerList:bannerListData}步驟:3:通過模塊調(diào)用數(shù)據(jù)微信小程序模板的使用WXML提供模板(template),可以在模板中定義代碼片段,然后在不同的地方調(diào)用。步驟1:創(chuàng)建模板文件步驟2:定義模板<!--文章模板--><template
name="postItemTpl">
<view
class="post-container">
<view
class="post-author-date">
<image
src="{{avatar}}"/>
<text>{{date}}</text>
</view>
<text
class="post-title">{{title}}</text>
<image
class="post-image"src="{{postImg}}"mode="aspectFill"/>
<text
class="post-content">{{content}}</text>
<view
class="post-like">
<image
src="/images/icon/wx_app_collect.png"/>
<text>{{collectionNum}}</text>
<image
src="/images/icon/wx_app_view.png"></image>
<text>{{readingNum}}</text>
<image
src="/images/icon/wx_app_message.png"></image>
<text>{{commentNum}}</text>
</view>
</view></template>步驟2:使用模板
<template
is="postItemTpl"data="{{...post}}"></template>微信小程序App生命周期-1onLaunch(Objectobject)監(jiān)聽小程序初始化,當小程序初始化完成,會觸發(fā)執(zhí)行。(全局只觸發(fā)一次)onShow(Objectobject)監(jiān)聽小程序顯示,當小程序啟動,或從后臺進入前臺,會觸發(fā)執(zhí)行。onHide()監(jiān)聽小程序隱藏,當小程序從前臺進入后臺,會觸發(fā)執(zhí)行。onError(Stringerror)監(jiān)聽小城發(fā)生腳本錯誤,或者API調(diào)用失敗,會觸發(fā)執(zhí)行,并帶上錯誤信息。App({
/***當小程序初始化完成時,會觸發(fā)onLaunch(全局只觸發(fā)一次)*/
onLaunch:
function
()
{
console.log("App:onLaunch:當小程序初始化完成時");
},
/***當小程序啟動,或從后臺進入前臺顯示,會觸發(fā)onShow*/
onShow:
function
(options)
{
console.log("App:onShow:當小程序啟動,或從后臺進入前臺顯示,會觸發(fā)onShow");
},
/***當小程序從前臺進入后臺,會觸發(fā)onHide*/
onHide:
function
()
{
console.log("App:onHide:當小程序從前臺進入后臺,會觸發(fā)onHide");
},
/***當小程序發(fā)生腳本錯誤,或者api調(diào)用失敗時,會觸發(fā)onError并帶上錯誤信息*/
onError:
function
(msg)
{
console.log("App:onError:當小程序發(fā)生腳本錯誤,或者api調(diào)用失敗時,會觸發(fā)onError并帶上錯誤信息",msg);
}})微信小程序App生命周期-2應用程序生命周期函數(shù)回調(diào)控制臺顯示信息點擊”Home”健回調(diào)控制臺顯示信息點擊”發(fā)現(xiàn)欄小程序主入口”,控制臺顯示信息微信小程序中全局變量App({globalData:{globalMessage:
"Iamglobaldata",
}})通過全局函數(shù)getApp可以獲取全局的應用實例,如果需要全局的數(shù)據(jù)可以在App()中設置
//獲取應用級的全局變量
var
appInstance
=
getApp();
console.log(appInstance.globalData);微信小程序數(shù)據(jù)緩存wx.setStorageSync(stringkey,anydata)將數(shù)據(jù)存儲在本地緩存中指定的key中。會覆蓋掉原來該key對應的內(nèi)容。除非用戶主動刪除或因存儲空間原因被系統(tǒng)清理,否則數(shù)據(jù)都一直可用。單個key允許存儲的最大數(shù)據(jù)長度為1MB,所有數(shù)據(jù)存儲上限為10MB。wx.getStorageSync(stringkey)從本地緩存中同步獲取指定key的內(nèi)容。wx.removeStorageSync(stringkey)從本地緩存中移除指定key。wx.clearStorage(Objectobject)清理本地數(shù)據(jù)緩存。數(shù)據(jù)緩存API截圖微信小程序數(shù)據(jù)緩存-示例/***當小程序初始化完成時,會觸發(fā)onLaunch(全局只觸發(fā)一次)*/
onLaunch:
function
()
{
console.log("App:onLaunch:當小程序初始化完成時");
var
storageData
=
wx.getStorageSync('postList');
if(!storageData){
var
dataObj
=
require("data/data.js");
//清除緩存
wx.clearStorageSync();
//保存本地數(shù)據(jù)
wx.setStorageSync('postList',
dataObj.postList);
}else{
//保存全局變量中
this.globalData.postList
=
storageData;
}
}本地數(shù)據(jù)存儲,Storage面板顯示信息用戶登錄與授權-APIwx.getUserProfile(Objectobject)獲取用戶信息。頁面產(chǎn)生點擊事件(例如button上bindtap的回調(diào)中)后才可調(diào)用,每次請求都會彈出授權窗口,用戶同意后返回userInfo用戶登錄與授權-示例-1<view
class="container">
<!--用戶信息-->
<view
class="userinfo">
<block
wx:if="{{!userInfo}}">
<button
bindtap="login">用戶登錄授權</button>
</block>
<block
wx:else>
<image
bindtap="bindViewTap"class="userinfo-avatar"src="{{userInfo.avatarUrl}}"mode="cover"></image>
<text
class="motto">你好!{{userInfo.nickName}}</text>
<button
bindtap="loginOut">退出登錄</button>
<view
catchtap="goToPostPage"class="journey-container">
<text
class="journey">開啟小程序之旅</text>
</view>
</block>
</view></view>用戶登錄授權的顯示邏輯代碼//用戶登錄授權
login()
{
console.log('用戶點擊登錄授權');
wx.getUserProfile({desc:
'用于完善會員資料',
success:
res
=>
{
let
userInfo
=
res.userInfo;
//登錄授權成功,保存用戶信息到緩存
wx.setStorageSync('userInfo',
userInfo)
this.setData({userInfo:
userInfo
});
}
})
},
//用戶退出登錄
loginOut()
{
this.setData({userInfo:
''
});
//清除緩存中用戶信息
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 IEC TR 61850-7-6:2024 EN Communication networks and systems for power utility automation - Part 7-6: Guideline for definition of Basic Application Profiles (BAPs) using IEC
- 2025-2030年中國鍍鋅層鈍化劑行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究報告
- 2025-2030年中國鉛酸蓄電池行業(yè)市場現(xiàn)狀分析規(guī)劃研究報告
- 2025-2030年中國針織服裝市場市場運行動態(tài)及投資戰(zhàn)略研究報告
- 2025-2030年中國酮洛芬腸溶膠囊行業(yè)十三五規(guī)劃與發(fā)展趨勢分析報告
- 2025-2030年中國艾灸養(yǎng)生儀產(chǎn)業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國美甲行業(yè)運行現(xiàn)狀及發(fā)展前景分析報告
- 2025年四川省建筑安全員C證考試(專職安全員)題庫及答案
- 皖北衛(wèi)生職業(yè)學院《時間序列分析》2023-2024學年第二學期期末試卷
- 中央財經(jīng)大學《商務智能》2023-2024學年第二學期期末試卷
- DB41T 2542-2023 燃氣鍋爐煙氣余熱回收利用技術規(guī)范
- DB11∕T 1847-2021 電梯井道作業(yè)平臺技術規(guī)程
- 2020光伏組件用接線盒 安全要求和試驗IEC62790
- 獸藥GSP質(zhì)量管理制度匯編
- USB-3.1-TYPE-C-培訓資料公開課獲獎課件
- 《機械制圖(多學時)》中職全套教學課件
- 2024-2025學年小學信息技術(信息科技)第二冊電子工業(yè)版(2022)教學設計合集
- 課堂教學質(zhì)量評價表
- 人工智能通識-課件全套 黃君羨 01-12 初識人工智能 -AIGC安全與倫理
- 婚姻家庭咨詢師服務流程手冊
- 2024-2030年中國納米纖維素技術行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
評論
0/150
提交評論