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');
        }
    })
},
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章