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

例如:微信的登录授权。

首先在模块里面添加 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. toj 1421

    题意:假如存在矩阵A,A[i][0] + A[i][1] + ...... + A[i][n - 1] == SR[i],A[0][j] + A[1][j] + ...... + A[n - 1][j ...

  2. POJ 3278 Catch That Cow(求助大佬)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 109702   Accepted: 34255 ...

  3. gh-ost 号称是不需要触发器(Triggerless)支持的在线更改表结构的工具

    https://segmentfault.com/a/1190000006158503?utm_source=tuicool&utm_medium=referral

  4. input子系统驱动学习之中的一个

        刚開始学习linux这门课就被分配编写一个设备的input子系统驱动.这对我的确有点困难.只是实际的操作中发现困难远比我想象的要大的多.本以为依照老师课上的步骤就行非常快的完毕这项任务.后来发 ...

  5. 使用resultMap实现ibatis复合数据结构查询(1.多重属性查询;2.属性中含有列表查询)

    以订单为例(订单详情包括了订单的基本信息,配送物流信息,商品信息),直接上代码: 1.多重属性查询 java实体 public class OrderDetail { @XmlElement(requ ...

  6. MySql免安装版l配置方法

    初次接触mysql,折腾了一天,总是安装不成功,服务启动不了.后来从官网下载了ZIP Archive版,不用安装,直接把它解压到磁盘,做一些简单的配置就可以. 软件下载地址:http://dev.my ...

  7. CSS制作响应式正方形及其应用

    CSS制作响应式正方形?什么鬼?干嘛用的?干嘛用的没人有每人的需求,本人也正好是由于公司正在做的业务须要,想做个照片展示的功能(当然得符合响应式了).而这个照片展示必须符合下面几点功能:1.用三张图片 ...

  8. JSP 获取Request 经常使用參数

    <input type="hidden" id="a" value="<%=request.getScheme()%>" ...

  9. MySql存储过程与函数

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来运行 ...

  10. 《编程导论(Java)&#183;3.3.2 按值传递语义》

    不要受<Java编程思想>的影响,计算机科学中的术语--按引用传递(pass-by-reference).不要搞成自说自话的个人用语. 这些术语也不是专门针对Java的,你不应该从某一本J ...