授权登录、接入第三方的配置

例如:微信的登录授权。

首先在模块里面添加 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: '',
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: ,
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: '',
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: '',
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: '',
localtion: 'middle'    
});
api.hideProgress();
}
});
}

apicloud 第三方登录授权、微信、扣扣、微博登录授权的更多相关文章

  1. 第三方登录:微信扫码登录(OAuth2.0)

    1.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供 ...

  2. PHP调用微博接口实现微博登录的方法示例

    在平时项目开发过程中,除了注册本网站账号进行登录之外,还可以调用第三方接口进行登录网站.这里以微博登录为例.微博登录包括身份认证.用户关系以及内容传播.允许用户使用微博帐号登录访问第三方网站,分享内容 ...

  3. 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享

    这几天遇到一个需求:做第三方登录和分享.遇到了一些坑,把整个过程整理记录下来,方便他人,同时也捋一下思路. 当时考虑过把每个平台的SDK下载下来,一个一个弄,一番取舍后决定还是用ShareSDK.这里 ...

  4. Unity利用Share SDK实现QQ、微信及微博第三方登录及定制内容分享(附代码)

    最近因为公司的项目需要添加一些实用性的功能,需要添加第三方登录及分享,采用的是Mob的SDK,可以先到其官网下载对应的SDK 点击这里,为了方便后期进行数据统计和分析,所以可以先添加一个应用,添加成功 ...

  5. 前端html第三方登录集合,微信,微博,QQ

    申请开发者账号之内的就不累赘了,网上一大堆: 说下需求,一个网页要在三类容器运行,公司app,微信自动登录,浏览器. 假设是已经申请完成各平台开发者账号. 先来简单的,微博和QQ 微博: 引入微博JS ...

  6. 实现第三方登录(QQ、微信、微博)

    第三方登录,就是使用大家比较熟悉的比如QQ.微信.微博等第三方软件登录自己的网站,这可以免去注册账号.快速留住用户的目的,免去了相对复杂的注册流程.下边就给大家讲一下怎么使用PHP开发QQ登录的功能. ...

  7. dedecms织梦第三方登录插件-QQ登录、微博登录、微信登录

    织梦程序集成第三方QQ登录.微博登录.微信登录,获取QQ.微博.微信,并存储至数据库,一键注册为网站会员,不用再次填写绑定信息,方便粘贴用户更强. 织梦第三方登录效果 第三方登录插件特点 1.所有文件 ...

  8. Python 第三方登录 实现QQ 微信 微博 登录

    本人写的AgentLogin,能快速返回QQ.微信.微博第三方用户名信息,主要用于快速登录 用 pip命令安装 pip install AgentLogin 用法 : 导入这个包 from Agent ...

  9. QQ第三方登录逻辑(微信,微博等同)

    实现过程:生成qq扫码登录连接(需要注册,链接里有几个参数需要按照开发文档的格式进行拼接,要后端完成),点击QQ登录按钮,前端Vue发送axios请求,后端收到请求把生成的QQ登录链接发送给vue,v ...

  10. [转] Android:微信授权登录与微信分享全解析

    https://wohugb.gitbooks.io/wechat/content/qrconnent/refresh_token.html http://blog.csdn.net/xiong_it ...

随机推荐

  1. Android第三方开源图片裁剪截取:cropper

     Android第三方开源图片裁剪截取:cropper 很多app都需要裁剪截取图片作为头像.logo之类,而cropper是github上的一个针对Android平台的.第三方开源图片裁剪截取项 ...

  2. EXt js 学习笔记总结

    1. get . fly. getCmp .getBody .getDoc .getDom..    get-----ExtJs获取节点.dom.提供缓存机制  Ext.Element类是Ext对DO ...

  3. 导出excel - 自用

    export function handerFillZero(num){ return num>=10 ? num : '0'+num; } export function exportExce ...

  4. 洛谷 P1378 油滴扩展

    P1378 油滴扩展 题目描述 在一个长方形框子里,最多有N(0≤N≤6)个相异的点,在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完 ...

  5. LINUX 内核内存管理

    https://linux-mm.org/ http://www.cnblogs.com/liloke/archive/2011/11/20/2255737.html

  6. bootstrap学习——javascript插件篇

    飞近期做的一个小项目须要用到一个模态框和一个图片浏览插件,并把二者结合,刚好bootstrap有相应插件,下面是学习应用流程: 1.    引入js文件: 能够单个引入相应插件文件,或一次所有引入.飞 ...

  7. LeetCode 234 Palindrome Linked List(回文链表)(*)(?)

    翻译 给定一个单链表,确定它是否是回文的. 跟进: 你能够在O(n)时间和O(1)空间下完毕它吗? 原文 Given a singly linked list, determine if it is ...

  8. luogu1373 小a和uim之大逃离

    题目大意 地面上出现了一个n*m的巨幅矩阵,矩阵的每个格子上有一坨0~k不等量的魔液.怪物各给了小a和uim一个魔瓶,说道,你们可以从矩阵的任一个格子开始,每次向右或向下走一步,从任一个格子结束.开始 ...

  9. 使用powershell来设置时间

    https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/set-date?view=powers ...

  10. case when in sql server's stored procedure

    https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql Evaluates a list of c ...