创建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');
}
})
},