




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目八個(gè)人信息模塊開(kāi)發(fā)Userinformationpage任務(wù)一用戶信息頁(yè)面在小程序開(kāi)發(fā)中,用戶信息模塊一般包括用戶登錄、退出登錄、購(gòu)物信息統(tǒng)計(jì)、購(gòu)物金額統(tǒng)計(jì)等,小程序提供了各類API和組件為實(shí)現(xiàn)用戶信息模塊提供了便利。通過(guò)本項(xiàng)目的講解,讓同學(xué)們了解小程序用戶登錄的API接口、小程序與Echart.js中的柱狀圖、餅圖和折線圖相結(jié)合的使用方式等。項(xiàng)目八個(gè)人信息模塊開(kāi)發(fā)任務(wù)描述登錄退出操作提供用戶登錄以及維護(hù)用戶的登錄狀態(tài),是一個(gè)擁有用戶系統(tǒng)的小程序應(yīng)用必不可少的功能模塊。小程序可以通過(guò)微信官方提供的登錄能力方便地獲取微信提供的用戶身份標(biāo)識(shí),快速建立小程序內(nèi)的用戶體系。用戶登錄流程
在微信小程序中,涉及到以下三類登錄方式:自有的賬號(hào)注冊(cè)和登錄。使用其他第三方平臺(tái)賬號(hào)登錄。使用微信賬號(hào)登錄(即直接使用當(dāng)前已登錄的微信賬號(hào)來(lái)作為小程序的用戶進(jìn)行登錄)。用戶登錄流程登錄中的三個(gè)角色小程序:用戶使用的客戶端,由于小程序運(yùn)行在微信之上,因此小程序可以通過(guò)API獲取微信用戶的身份信息。開(kāi)發(fā)者服務(wù)器:小程序的后端服務(wù)器,用于為小程序用戶提供服務(wù)。微信接口服務(wù):微信為開(kāi)發(fā)者服務(wù)器提供的接口。用戶登錄流程(1)小程序端調(diào)用wx.login函數(shù)獲取code,發(fā)送給開(kāi)發(fā)者服務(wù)器調(diào)用wx.login函數(shù)獲取臨時(shí)登錄憑證code
,并回傳到開(kāi)發(fā)者服務(wù)器。code是臨時(shí)登錄憑證,每次調(diào)用wx.login函數(shù),都會(huì)返回不同的code。用戶登錄流程(2)小程序?qū)ode發(fā)送給開(kāi)發(fā)者服務(wù)器在獲取code后,使用wx.request()將code發(fā)送給開(kāi)發(fā)者服務(wù)器。wx.request的超時(shí)時(shí)間默認(rèn)為60秒,為了避免用戶因網(wǎng)絡(luò)異常或服務(wù)器問(wèn)題等待回包太久,可以在app.json設(shè)置wx.request的超時(shí)時(shí)間,超時(shí)則觸發(fā)fail回調(diào)。可以在開(kāi)發(fā)者后臺(tái)設(shè)備服務(wù)器域名,如下圖所示。用戶登錄流程(3)開(kāi)發(fā)者服務(wù)器通過(guò)微信接口服務(wù)校驗(yàn)登錄憑證開(kāi)發(fā)者服務(wù)器將appid、appsecret、code發(fā)送給微信接口服務(wù)校驗(yàn)登錄憑證,如果校驗(yàn)成功,返回session_key和openid等。圖appid和appsecret用戶登錄流程(4)
開(kāi)發(fā)者服務(wù)器自定義登錄態(tài)自定義登錄態(tài)與openid和session_key相關(guān)聯(lián),并把自定義登錄態(tài)返回給小程序端。服務(wù)器端驗(yàn)證通過(guò)之后,會(huì)向客戶端返回一個(gè)token,登錄狀態(tài)。客戶端會(huì)把token保存起來(lái)。用戶登錄流程
wx.login(Objectobject)調(diào)用接口獲取登錄憑證(code)。wx.login({success(res){if(res.code){//發(fā)起網(wǎng)絡(luò)請(qǐng)求wx.request({url:'/onLogin',data:{
code:res.code
}})}else{
console.log('登錄失敗!'+res.errMsg)
}}})實(shí)現(xiàn)用戶授權(quán)登錄圖
未登錄狀態(tài)圖
已登錄狀態(tài)實(shí)現(xiàn)用戶授權(quán)登錄
打開(kāi)pages/profile/profile.js文件的data對(duì)象中定義基礎(chǔ)數(shù)據(jù)userInfo,用于獲得個(gè)人信息。代碼如下所示。Page({
data:
{
userInfo:''}})退出登錄
在日常使用小程序的過(guò)程中,不可避免地需要退出當(dāng)前登錄的帳號(hào),小程序提供了退出登錄的便利。退出登錄的做法可以是用戶頭像或者使用“退出登錄”按鈕,找到并點(diǎn)擊退出登錄或注銷賬號(hào)的選項(xiàng)。確認(rèn)退出登錄操作,系統(tǒng)將會(huì)清除登錄信息,并返回到登錄前的狀態(tài)。loginOut:function(){
var
that=this
wx.setStorageSync('userInfo','')
that.setData({
userInfo:''
})
}打開(kāi)pages/profile/profile.js文件,實(shí)現(xiàn)loginOut函數(shù),使用wx.setStorageSync函數(shù)將緩存中的userInfo的值設(shè)置為空。代碼如下所示。感
謝
觀
看THANK項(xiàng)目八個(gè)人信息模塊開(kāi)發(fā)Useoftemplates任務(wù)二模板的使用在實(shí)際開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)有代碼復(fù)用的情況,即在不同的頁(yè)面中會(huì)經(jīng)常使用結(jié)構(gòu)類似的代碼。微信小程序模板是一種快速開(kāi)發(fā)小程序的方式,使用小程序模板,可以減少?gòu)牧汩_(kāi)始開(kāi)發(fā)的代碼量,加快小程序開(kāi)發(fā)的速度。項(xiàng)目八個(gè)人信息模塊開(kāi)發(fā)任務(wù)描述template模板語(yǔ)法-模版創(chuàng)建
WXML提供模板(template),可以在模板中定義代碼片段,然后在不同的地方調(diào)用。可以使用name屬性,作為模板的名字。然后在<template/>內(nèi)定義代碼片段。通過(guò)一個(gè)案例說(shuō)明模板的使用方法。首先在pages文件夾中新建一個(gè)template文件夾,文件夾中新建一個(gè)template.wxml文件,在頁(yè)面實(shí)現(xiàn)如下代碼。<template
name="temp">
<view><text
class="info">這是一個(gè)模板文件!</text>
</view></template>接下來(lái)我們就給模板增加樣式文件,在pages/template文件夾中新建一個(gè)template.wxss文件,然后對(duì)模板文件,添加一個(gè)簡(jiǎn)單樣式。.info{font-size:50rpx;}template模板語(yǔ)法-模版使用
在需要使用的wxml加載模板。例如,在index.wxml頁(yè)面加載模板,需要使用import語(yǔ)句引入文件路徑,通過(guò)<template>標(biāo)簽使用模板,template標(biāo)簽的is屬性與模板的name屬性對(duì)應(yīng)。<import
src
="../template/template.wxml"/><view>This
is
index.wxml</view><template
is="temp"/>
除了引入模板WXML頁(yè)面之外,還需要在index.wxml頁(yè)面使用import引入模板樣式文件。@import
"../template/template.wxss";template模板語(yǔ)法-數(shù)據(jù)傳遞
有時(shí)候模版需要加載的頁(yè)面?zhèn)鬟f參數(shù),這時(shí)需要在模板中定義參數(shù)。template.wxml文件代碼如下所示。<template
name="temp">
<view><text
class="info">這是一個(gè)模板文件</text></view>
<view>
<text>{{index}}:{{msg}}</text>
<text>Time:{{time}}</text>
</view></template>
接下來(lái)在index.wxml中傳遞模板中所需要的參數(shù),修改后的代碼如下:<import
src
="../template/template.wxml"/><view>This
is
index.wxml</view><template
is="temp"
data="{{...item}}"/>template模板語(yǔ)法-數(shù)據(jù)傳遞
在index.js中定義item為對(duì)象類型的數(shù)據(jù)。Page({data:{
item:{index:0,msg:'thisisatemplate',time:'2016-09-15'}}})創(chuàng)建template模板
is屬性可以使用Mustache語(yǔ)法,來(lái)動(dòng)態(tài)決定具體需要渲染哪個(gè)模板。<templatename="odd">
<view>odd</view></template><templatename="even">
<view>even</view></template><blockwx:for="{{[1,2,3,4,5]}}"><templateis="{{item%2==0?'even':'odd'}}"/></block>
template模板語(yǔ)法-模板的引用
如上都是在同一個(gè)wxml文件中定義和引用模板,而模板的定義和引用是可以分開(kāi)的。即在一個(gè)文件中定義模板,而在其他一個(gè)或多個(gè)文件wxml文件中都可以使用定義好的模板。從外部文件中引用模板,使用importsrc="templateUrl"標(biāo)簽。同樣使用is屬性來(lái)指向要引用的標(biāo)簽。
要在index.wxml中使用template中定義的模板,則需要先在index中利用import來(lái)導(dǎo)入該模板:template模板語(yǔ)法-模板的引用s|--index|--index.js|--index.json|--index.wxml|--index.wxss|--template|--template.js|--template.json|--template.wxml|--template.wxss<!--index.wxml--><importsrc="../template/template.wxml"<templateis="msgItem"data={{...indexData}}//使用的是js文件中的數(shù)據(jù)
在一個(gè)項(xiàng)目中需要在多處頁(yè)面使用類似的模塊,就需要?jiǎng)?chuàng)建模板,減少代碼量,同時(shí)代碼高度復(fù)用;
在同一個(gè)WXML文件中創(chuàng)建多個(gè)類似的模板用name屬性來(lái)區(qū)別;
模板WXSS在全局引入和在使用頁(yè)面引入的區(qū)別在于模板的使用量;
使用import引入模板WXML和WXSS;
通過(guò)template標(biāo)簽使用模板,template標(biāo)簽的is屬性與模板的name屬性對(duì)應(yīng),data屬性代表傳入模板的數(shù)據(jù)。template模板使用小結(jié)創(chuàng)建template模板
通過(guò)上面的template模板示例,了解了模板的實(shí)現(xiàn)過(guò)程之后,接下來(lái)在商城項(xiàng)目中使用模板實(shí)現(xiàn)個(gè)人信息資料的顯示。使用template模板
打開(kāi)pages/pages/profile.wxml頁(yè)面,引入模板頁(yè)面list.wxml。<import
src="../../template/list.wxml"/>
打開(kāi)pages/pages/profile.wxss頁(yè)面,引入模板樣式list.wxss。@import
"../../template/list.wxss";使用template模板
打開(kāi)pages/pages/profile.js頁(yè)面,定義個(gè)人信息資料,包括三個(gè)數(shù)據(jù),url用于跳轉(zhuǎn)地址,title顯示信息標(biāo)題,iconurl用于標(biāo)題顯示的圖標(biāo)。Page({
data:
{
menu:[{
url:'/pages/profile/profile',
title:'個(gè)人資料',
iconurl:'/images/others/contract_icon.png'},
{
url:'/pages/profile/profile',
title:'購(gòu)買記錄',
iconurl:'/images/others/icon-Check.png'}
]})使用template模板
打開(kāi)pages/pages/profile.wxml頁(yè)面,通過(guò)<template>標(biāo)簽使用模板,template標(biāo)簽的is屬性與模板的name屬性對(duì)應(yīng)。<view>
<template
wx:for="{{menu}}"
is="list"
data="{{item}}"></template>
</view>感
謝
觀
看THANK項(xiàng)目八個(gè)人信息模塊開(kāi)發(fā)TheapplicationofEchartinsmallprograms任務(wù)三Echart在小程序中的運(yùn)用ECharts是一款基于JavaScript的數(shù)據(jù)可視化圖表庫(kù),提供直觀、生動(dòng)、可交互和可個(gè)性化定制的數(shù)據(jù)可視化圖表。Echarts提供了小程序版本echarts-for-weixin,封裝了成了一個(gè)名為ec-canvas的自定義組件供開(kāi)發(fā)者直接引用,開(kāi)發(fā)者通過(guò)熟悉的ECharts配置方式,快速開(kāi)發(fā)圖表,滿足各種可視化需求。項(xiàng)目八個(gè)人信息模塊開(kāi)發(fā)任務(wù)描述配置ECharts
ECharts可下載源碼自行編譯。在創(chuàng)建項(xiàng)目之后,或者僅需拷貝ec-canvas目錄到新建的項(xiàng)目下,然后做相應(yīng)的調(diào)整。ec-canvas文件夾整個(gè)有將近1M,建議在分包中組織可視化頁(yè)面。此外,考慮在線定制需要的圖表,下載的文件替換掉ec-canvas/echarts.js。打開(kāi)pages/profile/profile.json文件,配置如下:{"usingComponents":{
"ec-canvas":"../../ec-canvas/ec-canvas"}}配置ECharts
在profile.wxml設(shè)計(jì)可視圖區(qū)域,包括柱狀圖、餅圖和折線圖區(qū)域。打開(kāi)
pages/profile/profile.wxml文件,編寫可視化圖表區(qū)域布局。<view
class="echarts">
<view
class="data_chart"></view>
<view
class="divide"></view>
<view
class="data_chart"></view>
<view
class="divide"></view>
<view
class="data_chart">
</view></view>配置ECharts
在profile.wxml設(shè)計(jì)可視圖區(qū)域,包括柱狀圖、餅圖和折線圖區(qū)域。打開(kāi)
pages/profile/profile.wxml文件,編寫可視化圖表區(qū)域布局。<view
class="echarts">
<view
class="data_chart">
<view
class="title">購(gòu)買商品統(tǒng)計(jì)</view>
<ec-canvas
id="mychart-dom-bar"
canvas-id="mychart-bar"
ec="{{
ec
}}"></ec-canvas>
</view>
<view
class="divide"></view>
<view
class="data_chart"></view>
<view
class="divide"></view>
<view
class="data_chart">
</view></view>柱狀圖的使用
柱狀圖(或稱條形圖)是一種通過(guò)柱形的長(zhǎng)度來(lái)表現(xiàn)數(shù)據(jù)大小的一種常用圖表類型。設(shè)置柱狀圖的方式,是將series的type設(shè)為bar。在這個(gè)示例中,橫坐標(biāo)是類目型的,因此需要在xAxis中指定對(duì)應(yīng)的值;而縱坐標(biāo)是數(shù)值型的,可以根據(jù)series中的data,自動(dòng)生成對(duì)應(yīng)的坐標(biāo)范圍。柱狀圖的使用
在這個(gè)例子中,橫坐標(biāo)是類目型的,因此需要在xAxis中指定對(duì)應(yīng)的值;而縱坐標(biāo)是數(shù)值型的,可以根據(jù)series中的data,自動(dòng)生成對(duì)應(yīng)的坐標(biāo)范圍。option={xAxis:{data:['Mon','Tue','Wed','Thu','Fri','Sat','Sun']},yAxis:{},series:[{type:'bar',data:[23,24,18,25,27,28,25]}]};餅圖的使用
餅圖主要用于表現(xiàn)不同類目的數(shù)據(jù)在總和中的占比,每個(gè)的弧度表示數(shù)據(jù)數(shù)量的比例。餅圖的配
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 燕山大學(xué)畢業(yè)論文答辯匯報(bào)
- 倉(cāng)儲(chǔ)與配送(新形態(tài)活頁(yè)式)課件 馬昆 項(xiàng)目1-4 入職準(zhǔn)備 - 出庫(kù)作業(yè)
- 如何推動(dòng)紡織行業(yè)的綠色轉(zhuǎn)型發(fā)展試題及答案
- 神經(jīng)內(nèi)科查體試題及答案
- 建筑工程綜合項(xiàng)目工程竣工項(xiàng)目驗(yàn)收總結(jié)報(bào)告模板樣式
- 心肌梗塞試題及答案
- 車身工藝考試題庫(kù)及答案
- 部隊(duì)士官考試題庫(kù)及答案
- 山東省 調(diào)研試題及答案
- 助理廣告師考試的基礎(chǔ)知識(shí)梳理試題及答案
- 動(dòng)物健康數(shù)據(jù)挖掘
- 電子政務(wù)概論-形考任務(wù)5(在線測(cè)試權(quán)重20%)-國(guó)開(kāi)-參考資料
- 古代小說(shuō)戲曲專題-形考任務(wù)2-國(guó)開(kāi)-參考資料
- 走進(jìn)川端康成的文學(xué)世界智慧樹知到答案2024年吉林師范大學(xué)
- DG∕TJ 08-2220-2016 橋梁水平轉(zhuǎn)體法施工技術(shù)規(guī)程
- 教學(xué)評(píng)一體化的小學(xué)語(yǔ)文低段單元作業(yè)設(shè)計(jì)方法
- 手術(shù)室不良事件警示教育
- (高清版)DZT 0079-2015 固體礦產(chǎn)勘查地質(zhì)資料綜合整理綜合研究技術(shù)要求
- 2023年全國(guó)統(tǒng)一高考理綜化學(xué)部分(全國(guó)甲卷)(含答案與解析)
- 伽利略與牛頓的科學(xué)方法
- 科普機(jī)器人講座教案
評(píng)論
0/150
提交評(píng)論