uni-app 介紹
按需設(shè)計(jì)網(wǎng)站可以根據(jù)自己的需求進(jìn)行定制,成都網(wǎng)站制作、成都做網(wǎng)站構(gòu)思過(guò)程中功能建設(shè)理應(yīng)排到主要部位公司成都網(wǎng)站制作、成都做網(wǎng)站的運(yùn)用實(shí)際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實(shí)際意義
uni-app 是一個(gè)使用 Vue.js 開(kāi)發(fā)跨平臺(tái)應(yīng)用的前端框架。
適用平臺(tái):Android、iOS、微信小程序。實(shí)現(xiàn)了一套代碼,同時(shí)發(fā)布到Android、iOS、微信小程序。
參考官方:https://uniapp.dcloud.io/
APP微信授權(quán)
檢測(cè)服務(wù)商
檢測(cè)手機(jī)上是否安裝微信、QQ、新浪微博等。
uni.getProvider({ service: 'oauth', success: function (res) { console.log(res.provider); } });
授權(quán)登錄
獲取openid,(unionid)等 uni.login({ provider: 'weixin', success: function (loginRes) { console.log(JSON.stringify(loginRes)); } });
獲取用戶信息
uni.getUserInfo({ provider: 'weixin', success: function(infoRes) { console.log('-------獲取微信用戶所有-----') console.log(JSON.stringify(infoRes.userInfo)); } });
示例代碼
appLogin: function() { uni.getProvider({ service: 'oauth', success: function(res) { console.log(res.provider); //支持微信、qq和微博等 if (~res.provider.indexOf('weixin')) { uni.login({ provider: 'weixin', success: function(loginRes) { console.log('-------獲取openid(unionid)-----'); console.log(JSON.stringify(loginRes)); // 獲取用戶信息 uni.getUserInfo({ provider: 'weixin', success: function(infoRes) { console.log('-------獲取微信用戶所有-----'); console.log(JSON.stringify(infoRes.userInfo)); } }); } }); } } }); },
小程序微信授權(quán)
獲取用戶基本信息
為優(yōu)化用戶體驗(yàn),使用 wx.getUserInfo 接口直接彈出授權(quán)框的開(kāi)發(fā)方式將逐步不再支持。從2018年4月30日開(kāi)始,小程序與小游戲的體驗(yàn)版、開(kāi)發(fā)版調(diào)用 wx.getUserInfo 接口,將無(wú)法彈出授權(quán)詢問(wèn)框,默認(rèn)調(diào)用失敗。正式版暫不受影響。開(kāi)發(fā)者可使用以下方式獲取或展示用戶信息。
小程序使用 button 組件,并將 open-type 指定為 getUserInfo 類型,獲取用戶基本信息。
參考官方:https://developers.weixin.qq.com/miniprogram/dev/component/button.html
示例代碼:
wxGetUserInfo:function(res){ if (!res.detail.iv) { uni.showToast({ title: "您取消了授權(quán),登錄失敗", icon: "none" }); return false; } console.log('-------用戶授權(quán),并獲取用戶基本信息和加密數(shù)據(jù)------') console.log(res.detail); },
微信登錄
參考官方:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
(1)頁(yè)面uni.login獲取code
(2)后端通過(guò)code獲取sessionKey、openid(unionid)等,后端調(diào)用接口如下:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
(3)示例代碼
wxLogin: function() { uni.login({ provider: 'weixin', success: function(loginRes) { console.log('-------獲取code-------') console.log(loginRes.code); wx.request({ url: 'https://xxxxx'+loginRes.code, success: function(info) { console.log('-------獲取sessionKey、openid(unionid)-------') console.log(info); }, fail: function(e) { console.log(e) } }) } }); }
微信登錄狀態(tài)監(jiān)測(cè)
checkLogin: function() { wx.checkSession({ success() { console.log('ok'); // session_key 未過(guò)期,并且在本生命周期一直有效 }, fail() { // session_key 已經(jīng)失效,需要重新執(zhí)行登錄流程 //wx.login() // 重新登錄 console.log('expire'); } }) },
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。