05 uniapp/微信小程序 項目day05

?
一.登錄與支付
1.1 登錄1.1.1 條件判斷當我們點擊結算應當進行條件判斷

05 uniapp/微信小程序 項目day05

文章插圖
第一個如果沒有勾選商品
第二個是沒選擇地址
第三個是未登錄
05 uniapp/微信小程序 項目day05

文章插圖
1.1.2 頁面布局應該有兩個頁面,一個點擊登錄,一個登陸成功后的頁面,所以應該創建兩個組件
05 uniapp/微信小程序 項目day05

文章插圖
他們應該按需展示,并且條件為是否有token
05 uniapp/微信小程序 項目day05

文章插圖
然后未登錄的頁面結構
uni icon的頭像icon
05 uniapp/微信小程序 項目day05

文章插圖

05 uniapp/微信小程序 項目day05

文章插圖
1.1.3 獲取用戶基本信息由于微信登錄并不像pc點擊登錄就去調用接口 , 微信登錄需要調用自己的登錄api,然后獲取到一些信息密匙等,而我們的登錄接口就需要這些密匙
也會彈出登錄授權框
05 uniapp/微信小程序 項目day05

文章插圖
用到一個api
uni.getUserProfile其中desc為這次調用的登陸的信息說明
首先是取消登錄的驗證
05 uniapp/微信小程序 項目day05

文章插圖
登錄成功將我們的用戶信息存進vuex
05 uniapp/微信小程序 項目day05

文章插圖

05 uniapp/微信小程序 項目day05

文章插圖
然后組件這邊存進來
注意這里做了改造用它規定的回調來寫
05 uniapp/微信小程序 項目day05

文章插圖
1.1.4 獲取code我們的登錄接口還需要一個參數code
這個碼只能通過 uni.login這個api獲取
所以我們登錄成功獲取了profile信息后還應該再去獲取code
05 uniapp/微信小程序 項目day05

文章插圖
現在有了code就可以去發起請求了
05 uniapp/微信小程序 項目day05

文章插圖
登錄成功應該將token永久存儲
05 uniapp/微信小程序 項目day05

文章插圖

05 uniapp/微信小程序 項目day05

文章插圖
state里面也要修改
05 uniapp/微信小程序 項目day05

文章插圖
注意我們的數據回來不僅是要存在storage里面,要讓頁面能夠響應到還應該給她賦一次值
05 uniapp/微信小程序 項目day05

文章插圖
1.2 用戶信息1.2.1 渲染用戶頭像和昵稱現在組件定義好基本結構
05 uniapp/微信小程序 項目day05

文章插圖
然后從vuex拿回我們之前存進去的數據,并渲染上來
05 uniapp/微信小程序 項目day05

文章插圖
1.2.2 三個面板接下來是這個頁面三個面版的渲染
主要是一些html及css的規劃
05 uniapp/微信小程序 項目day05

文章插圖
1.2.3 退出登錄主要就是要用到一個api 來彈出是否退出登錄的消息框
uni.showModal
05 uniapp/微信小程序 項目day05

文章插圖
同樣的會有兩個返回,一個是否為null的錯誤返回 , 一個是成功返回,而且promise catch捕獲一下錯誤
05 uniapp/微信小程序 項目day05

文章插圖
如果返回有值,且有confirm這個對象 , 那么就清空token、userinfo、地址信息
05 uniapp/微信小程序 項目day05

文章插圖
1.2.4 三秒跳轉當未登錄的時候在購物車點擊結算應該提示未登錄,還有多少s跳轉到登錄頁
定義一個初試的秒數
05 uniapp/微信小程序 項目day05

文章插圖
當我們沒有token也就是沒有登陸的時候就去調用一個定時器每秒鐘執行這個提示
注意 , toast有一個屬性mask , 表示開啟了面罩不能夠點擊后面的內容,防止點擊穿透
05 uniapp/微信小程序 項目day05

文章插圖
現在要解決的問題,就是讓秒數到0后就跳轉過去并且停止定時器
創建一個定時器

推薦閱讀