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

例如:微信的登录授权。

首先在模块里面添加 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. [cogs461] [网络流24题#10] 餐巾 [网络流,最小费用最大流]

    建图:从源点向第一层连边,第一层表示当天用掉多少餐巾,第二层表示当天需要多少餐巾,所以注意购买餐巾的边容量为无穷大,要从源点开始连向第二层的点,每天可能有剩余,在第一层内表示为流入第二天的节点.具体见 ...

  2. 洛谷 P1041 传染病控制

    P1041 传染病控制 题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种传染 ...

  3. ZooKeeper可以用来做什么(转)

    在ZooKeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, n ...

  4. dba 和 rdba 转载

    一.  DB(Data block)   A data block is the smallest unit of storage in an Oracle database. Every datab ...

  5. MVC.Net: jqueryval错误

    当使用Mvc.net创建Create表单后,firebug Create页面会出现404 Not Found - http://192.168.3.95:7001/bundles/jqueryval& ...

  6. h5 播放器 -3

    autoplay <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  7. 【树状数组】POJ 2155 Matrix

    附一篇经典翻译,学习 树状数组  http://www.hawstein.com/posts/binary-indexed-trees.html /** * @author johnsondu * @ ...

  8. UVALive - 6910 (离线逆序并查集)

    题意:给处编号从1~n这n个节点的父节点,得到含有若干棵树的森林:然后再给出k个操作,分两种'C x'是将节点x与其父节点所连接的支剪短:'Q a b'是询问a和b是否在同一棵树中. 题解:一开始拿到 ...

  9. vijos - P1279Leave-绿光(数学归纳法 + python)

    P1279Leave-绿光 Accepted 标签:[显示标签] 背景 期待这一份幸运,和一份冲劲,多么奇异的际遇--. 燕姿在演唱完绿光这首歌后,出给了姿迷一个考题. 北欧有一个传说! 人一生中能看 ...

  10. 2014.8.12-AKKA和Actor model 分布式开发环境学习小结

    学习使用AKKA 断断续续有一年了. 眼下还是习惯用java来写akka以下的程序.对于原生的scala还是没有时间和兴趣去学习它. 毕竟学习一门语言须要兴趣和时间的. AKKA学习资源还是不算丰富. ...