uni-app搭建项目

创建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');
        }
    })
},
发布了35 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39024950/article/details/102501126