日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

apicloud 第三方登录授权、微信、扣扣、微博登录授权

發布時間:2023/12/13 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 apicloud 第三方登录授权、微信、扣扣、微博登录授权 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

授權登錄、接入第三方的配置

例如:微信的登錄授權。

首先在模塊里面添加 wx 這個模塊,然后在項目的配置文件里面進行配置。

配置的時候要現在微信開放平臺

https://open.weixin.qq.com/

的移動應用里面,創建這個應用,等審核通過之后就會拿到相應的 appleid 以及 key。

具體配置請參考

https://docs.apicloud.com/Client-API/Open-SDK/wx

因為第三方的模塊都是原生的,所以這個時候想要真機測試是不行的。必須得先編譯以后才行。

要生成云編譯的測試證書,同時要將測試的手機添加到項目中具體方法:

個人或公司賬號生成的App Store類型mobileprovision證書,應用在沒有發布到App Store之前只能在越獄設備上安裝,若要在非越獄手機上面安裝,則需要把設備udid添加到測試設備列表Devices里,并且生成Ad Hoc類型mobileprovision證書。
https://docs.apicloud.com/Dev-Guide/iOS-License-Application-Guidance#3

所有配置結束后編譯之前一定要先提交一次云同步,因為配置里面的內容只有云同步之后才會編譯生效,否則是不會生效的。

有很多時候編譯玩我們能調起來微信,但是在微信里面的操作沒有任何反應,跳轉不回我們的app。這是因為蘋果的限制原因,具體:

https://docs.apicloud.com/Dev-Guide/app-config-manual#14-3

這個時候需要在配置文件中添加:

    <preference name="querySchemes" value="weixin,wechat" />

添加完之后還是一樣要先云同步然后在編譯。

云編譯方法:

方法:編輯器的該項目右鍵,然后選擇 云端自定義Loader 編譯。編譯完成之后,下載下來(例如ios),用微信掃碼就能下載,之后打開,會有配置的小點,點開填寫相應的配置,這個時候就是自定義Loader的調試了。

授權登錄流程

具體微信登錄授權代碼

/**
     * 微信登錄授權 (key id等在配置文件配置ok)
     * 1、判斷是否安裝
     * 2、獲取 code
     * 3、獲取 accessToken、openId
     * 4、獲取wx頭像,昵稱
     * 5、綁定信息到后臺
     */
    var wx, code;
    function wxLogin(){
        wx = api.require('wx');
        wx.isInstalled(function(ret, err) {
            if (!ret.installed) {
                api.toast({      
                    msg: '當前設備未安裝微信客戶端',
                    duration: '1300',
                    localtion: 'middle'    
                });
                return;
            } else {
                getWxCode();
            }
        });
    }
    function getWxCode(){
        wx.auth(function(ret, err) {
            if (ret.status) {
                code = ret.code;
                getWxAccessToken();
            } else {
                alert(JSON.stringify(err))
            }
        });
    }
    function getWxAccessToken(){
        wx.getToken({
            code: code
        }, function(ret, err) {
            if (ret.status) {
                geWxtUserInfor(ret);
            }
        });
    }
    function geWxtUserInfor(ret){
        api.showProgress({
           style: 'default',
           animationType: 'fade',
           title: '授權成功',
           text: '綁定處理中...',
           modal: true
       });
        wx.getUserInfo({
            accessToken: ret.accessToken,
            openId: ret.openId
        }, function(rets, err) {
            if (rets.status) {
                bindWxNews(rets)
            }
        });
    }
    function bindWxNews(rets){
        api.ajax({
            url: 'http://q7ns64.natappfree.cc/weixinLogin?openid=' +rets.openid+'&nickname=' +rets.nickname+'&headimgurl=' +rets.headimgurl,
            timeout: 10,
            dataType: 'json',
            method: 'get'
        }, function(reta, err) {
            api.hideProgress();
            if (reta.memberId){
                $api.setStorage('member_id', reta.memberId);
                $api.setStorage('openid', rets.openid);
                $api.setStorage('nickname', rets.nickname);
                $api.setStorage('headimgurl', rets.headimgurl);
            }
            $api.setStorage('isLogin', true);
            api.setPrefs({
                key: 'loginStatus',
                value: 'loginSuccess'
            });
            openIndex();

            /*** 登錄異常 ***/
            if (err) {
                api.toast({      
                    msg: '綁定授權失敗',
                    duration: '1300',
                    localtion: 'middle'    
                });
                return;
            }
        });
    }

具體QQ登錄授權代碼

/**
    * qq 登錄授權
    */
    var openIdQQ = '';
    function qqInstall(){
        qq = api.require('QQPlus');
        qq.installed(function(ret, err) {
            if (ret.status) {
                qqLogin();
            } else {
                api.toast({      
                    msg: '當前設備未安裝QQ客戶端',
                    duration: '1300',
                    localtion: 'middle'    
                });
                return;
            }
        });
    }

    function qqLogin(){
        qq = api.require('QQPlus');
        qq.login(function(ret, err) {
            openIdQQ = ret.openId;
            var accessToken = ret.accessToken;
            if(ret.status){
                getQQinfor();
            }
        });
    }
    function getQQinfor(){
        qq = api.require('QQPlus');
        api.showProgress({
            style: 'default',
            animationType: 'fade',
            title: '授權成功',
            text: '綁定處理中...',
            modal: true
        });
        qq.getUserInfo(function(rets, err) {
            if (rets.status) {
                bindQQnews(rets)
            } else {
                api.toast({      
                    msg: err.msg,
                    duration: '1300',
                    localtion: 'middle'    
                });
                api.hideProgress();
            }
        });
    }

總結

以上是生活随笔為你收集整理的apicloud 第三方登录授权、微信、扣扣、微博登录授权的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。