文档章节

微信登录接入

沉淀岁月
 沉淀岁月
发布于 2016/07/18 14:32
字数 276
阅读 12
收藏 0

<div id="login_container" style=" display:none; position:absolute; text-align:center; z-index:9999; width:320px; height:400px; background:#fff; "></div>

<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>

$('[btn="signWithWechat"]').click(function(){

$('#login_container').css({top:200,left:($(document).width()- 320) /2}).show();

$('#login_container').click(function(){$(this).hide()});

var obj = new WxLogin({

  id:"login_container", 

  appid: "xxxxxx", 

  scope: "snsapi_login", 

  redirect_uri: "<?php echo 'http://xxxxxxx.com' . url('default::public/wechat');?>",

  state: "",

  style: "",

  href: ""

});

});

 

public function actionWechat()

{

$code = $this->_context->code;

 

if(empty($code))

{

return '';

}

 

$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=aaaa&secret=ccccc&code={$code}&grant_type=authorization_code";

$result = Helper_Common::chttpRequest($url,array());

 

$data = json_decode($result);

 

 

$url = "https://api.weixin.qq.com/sns/auth?access_token=".$data->access_token."&openid=" . $data->openid;

 

$result = Helper_Common::chttpRequest($url,array());

$ldata = json_decode($result);

if($ldata->errcode > 0)

{

return $ldata->errmsg;

}

 

$open_id = $data->openid;

 

 

//查询是否存在此用户

$user = User::find('wechat_id=?',$open_id)->query();

if(!$user->id())

{

 

 

//获取个人信息

$url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$data->access_token."&openid=" . $data->openid;

$result = Helper_Common::chttpRequest($url,array());

$udata = json_decode($result);

$register_ip = Helper_Utils::getClientIP();

 

$username = 'w_' . $udata->nickname;

//需要创建用户

$user_data = array

(

'username' => $username,

'real_name' => $udata->nickname,

'last_login' => CURRENT_TIMESTAMP,

'register_ip' => $register_ip,

'last_login_ip' => $register_ip,

'email' => CURRENT_TIMESTAMP . '@aaaaa.com',

'password' => mt_rand(100000,999999),

'wechat_id' => $open_id,

'is_other' => 1,

);

 

$user = new User($user_data);

$user->status = User::STATUS_NORMAL;

$role = Role::find('rolename=?','UNCHECKED')->query();

if(!$role->id())

{

throw new QException('未找到相关会员组!');

$user->group_id = 1;

$user->roles = $role['rid'];

$user->save();

 

}

$userinfo = $user->aclData();

//设置为登录状态

$this->_indexchangeCurrentUser($userinfo);

 

return $this->_redirect('http://'.$_SERVER['HTTP_HOST'].url('user/index'));

}

© 著作权归作者所有

共有 人打赏支持
沉淀岁月
粉丝 25
博文 257
码字总数 91615
作品 0
朝阳
高级程序员
微信公众号开发小记——3.接入三方登录

为什么要接入三方登录 如果你的微信服务器要做复杂的逻辑,比如html5、给用户提供高级的服务,并且有很好看的页面等等,这种时候你就需要一个正常的web服务器,用户打通就需要做三方登录了。...

D咄咄
2017/11/29
0
0
APICloud 微信授权登录

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下: 名称:wx 参数:urlScheme、apiKey、apiSecret 配置示例: 字段描述: urlScheme:(必须配置)用于...

VHUOI
2016/12/16
1K
5
微信公众号开发小记——3.接入三方登录

为什么要接入三方登录 如果你的微信服务器要做复杂的逻辑,比如html5、给用户提供高级的服务,并且有很好看的页面等等,这种时候你就需要一个正常的web服务器,用户打通就需要做三方登录了。...

duoduo3_69
2016/04/15
165
0
第三方平台正式支持接入微信公众平台JS-SDK

  之前微信公众平台面向开发者开放微信内网页开发工具包,现在第三方平台也能正式支持接入微信公众平台JS-SDK了,第三方平台可以在获得公众号的授权后,通过JS-SDK帮助公众号开发和实现网页...

ytkahcom
2015/02/05
0
0
UCKeFu 2.5.0 发布,开放REST API,API支持多租户

UCKeFu v2.5.0 发布,UCKeFu 基于 JAVA 语言开发,是一个全渠道融合的客户支持服务平台,聚合企业内部多个客服渠道,帮助各种行业各种规模的企业建立完整客服体系。 通过将邮件、短信、电话语...

优客服多渠道客服系统
2017/06/12
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

centos7安装redis及开机启动

配置编译环境: sudo yum install gcc-c++ 下载源码: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 解压源码: tar -zxvf redis-3.2.8.tar.gz 进入到解压目录: cd redis-3......

hotsmile
42分钟前
0
0
Confluence 6 数据库和临时目录

数据库 所有的其他数据库,包括有页面,内容都存储在数据库中。如果你安装的 Confluence 是用于评估或者你选择使用的是 Embedded H2 Database 数据库。数据库有关的文件将会存储在 database...

honeymose
56分钟前
1
0
day62-20180820-流利阅读笔记

1.今日导读 2.带着问题听讲解 3.新闻正文(中英文对照) 4.重点词汇 5.拓展内容

aibinxiao
今天
0
0
分布式锁实现及对比

一、问题介绍 日常工作中很多场景下需要用到分布式锁,例如:任务运行(多个节点同一时刻同一个任务只能在一个节点上运行(分片任务除外)),交易接受(前端交易请求发送时,可能由于两次提...

yangjianzhou
今天
7
0
【AI实战】快速掌握TensorFlow(二):计算图、会话

在前面的文章中,我们已经完成了AI基础环境的搭建(见文章:Ubuntu + Anaconda + TensorFlow + GPU + PyCharm搭建AI基础环境),以及初步了解了TensorFlow的特点和基本操作(见文章:快速掌握...

雪饼
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部