創建uni-app
-----這裏有教程(https://uniapp.dcloud.io/quickstart)
vue create -p dcloudio/uni-preset-vue my-project
可以安裝less
1、改變底部tabBar
:
uni.setTabBarItem({
index: 0,
text: this.i18n.tabs.home
});
text:tab
上的按鈕文字,我們給text
動態賦值就可以了
index:tabBar
的哪一項,從左邊算起
2、改變導航標題navigationBarTitle
的標題
uni.setNavigationBarTitle({
title:this.i18n.user.title
});
3、檢測手機上是否安裝微信、QQ、新浪微博等。
uni.getProvider({
service: 'oauth',
success: function (res) {
console.log(res.provider);
}
});
4、授權等獲取openid
,(unionid
)等
uni.login({
provider: 'weixin',
success: function (loginRes) {
console.log(JSON.stringify(loginRes));
}
});
5、獲取用戶信息
uni.getUserInfo({
provider: 'weixin',
success: function(infoRes) {
console.log('-------獲取微信用戶所有-----')
console.log(JSON.stringify(infoRes.userInfo));
}
});
6、示例代碼
APP
微信授權,檢測服務商
<button class="" @click="appLogin">APP微信授權登錄</button>
appLogin() {
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));
}
});
}
});
}
}
});
},
微信授權:
<button class="" open-type="getUserInfo" @getuserinfo="wxGetUserInfo" withCredentials="true">微信授權獲取用戶信息</button>
wxGetUserInfo:function(res){
if (!res.detail.iv) {
uni.showToast({
title: "您取消了授權,登錄失敗",
icon: "none"
});
return false;
}
console.log('-------用戶授權,並獲取用戶基本信息和加密數據------')
console.log(res.detail);
},
微信登錄:
<button class="" @click="wxLogin">微信登錄</button>
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)
}
})
}
});
}
微信登錄狀態檢測:
<button class="" @click="checkLogin">微信登錄檢測</button>
checkLogin: function() {
wx.checkSession({
success() {
console.log('ok');
// session_key 未過期,並且在本生命週期一直有效
},
fail() {
// session_key 已經失效,需要重新執行登錄流程
//wx.login() // 重新登錄
console.log('expire');
}
})
},