文档章节

微信登录接入

沉淀岁月
 沉淀岁月
发布于 2016/07/18 14:32
字数 276
阅读 12
收藏 0
点赞 0
评论 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
博文 252
码字总数 91615
作品 0
朝阳
高级程序员
微信公众号开发小记——3.接入三方登录

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

D咄咄 ⋅ 2017/11/29 ⋅ 0

APICloud 微信授权登录

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

VHUOI ⋅ 2016/12/16 ⋅ 5

微信公众号开发小记——3.接入三方登录

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

duoduo3_69 ⋅ 2016/04/15 ⋅ 0

第三方平台正式支持接入微信公众平台JS-SDK

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

ytkahcom ⋅ 2015/02/05 ⋅ 0

幺鹿/lib-android-Social

我的其他仓库推荐 分类(lib-android) -描述- -仓库链接- LoadingLayout Android 业务开发常用的 loadinglayout 用于封装加载过程中,加载完成&有数据,加载完成&无数据,加载错误的情况。 ht...

幺鹿 ⋅ 2016/07/02 ⋅ 0

UCKeFu 2.5.0 发布,开放REST API,API支持多租户

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

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

用于微信登录、分享功能开发--WeDemo

WeDemo 为微信团队开源项目,用于微信开发者进行微信登录、分享功能开发时的参考 Demo。微信开发者可以参考项目中的代码来开发应用,也可以直接使用项目中的代码到自己的 App 中。 详见 Wiki...

JaminQian ⋅ 2016/12/22 ⋅ 0

微信h5牛牛平台出租搭建微信支付之html5支付开发

一、前提: 想接入微信支付,同时开通微信支付的功能,然后微信支付相关的设置是到微信h5牛牛出租搭建平台(h5.fanshubbs.com)去设置的,微信h5牛牛平台Q1687054422做的还是很完善,申请好微信...

黑小虎kk ⋅ 01/11 ⋅ 0

微信接入流程

注册企业服务号并认证,注意:订阅号不支持第三方开发。 登录微信管理后台,在设置》基本配置中绑定开发的网站信息。(注意:接入微信只支持80和443端口,带有端口号的外网地址是不可以接入的...

bluecoffee ⋅ 2016/04/25 ⋅ 0

微信公众号实现智能回复信息功能

准备工作,在以下的官网都注册好账号方便等一哈直接使用 微信公众号平台: https://mp.weixin.qq.com/ 图灵机器人:http://www.tuling123.com/ 如果已经有的可以直接忽略这一步 注册: 选择订...

SLoan_ ⋅ 2016/12/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java的Excel导出工具类

首先在POM中引入需要的Jar <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>o......

Kxvz ⋅ 4分钟前 ⋅ 0

Java 3DES加密解密

import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.binary.Base64; //算法代码[java] view plain copy /** * 转换成十六进制字......

说回答 ⋅ 11分钟前 ⋅ 0

php 浮点型计算精度问题

今天碰到一个金额计算的问题,浮点数做差,结果有误(精度有问题)。 $a = floatval('6');$b = floatval('4.99');$m = floatval('1');$r = $a - $b;$r = $r - $m;var_dump($r);//f...

stupidboy ⋅ 33分钟前 ⋅ 0

Mahout推荐算法之SlopOne

一、 算法原理 有别于基于用户的协同过滤和基于item的协同过滤,SlopeOne采用简单的线性模型估计用户对item的评分。如下图,估计UserB对ItemJ的偏好 图(1) 在真实情况下,该方法有如下几个...

xiaomin0322 ⋅ 37分钟前 ⋅ 0

LVM讲解

LVM是什么 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地...

李超小牛子 ⋅ 47分钟前 ⋅ 0

mysql更改密码、连接mysql、mysql常用命令

1. 更改mysql的root账户密码: mysql中root账户和系统root不是一个账户 1.1 更改环境变量PATH,增加mysql绝对路径 由于mysql安装目录为/usr/local/mysql/,所以系统不能直接使用mysql,需把/...

laoba ⋅ 48分钟前 ⋅ 0

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP、电商系统等软件开发,商标、商品LOGO、VI、产品包装设计、营销推广、大数据人...

猫耳m ⋅ 48分钟前 ⋅ 0

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP、电商系统等软件开发,商标、商品LOGO、VI、产品包装设计、营销推广、大数据人...

阿里云云栖社区 ⋅ 51分钟前 ⋅ 0

1.03-Maven中使用ueditor富文本编辑器

起因:在maven仓库未找到百度的ueditor的jar包 操作: 1.下载百度的ueditor的jar包 2.打开命令行,切换到ueditor的下载位置,运行一下命令: mvn install:install-file -Dfile=ueditor-1.1....

静以修身2025 ⋅ 57分钟前 ⋅ 0

几道Spring 面试题

1、BeanFactory 接口和 ApplicationContext 接口有什么区别? ApplicationContext 接口继承BeanFactory接口 Spring核心工厂是BeanFactory BeanFactory采取延迟加载,第一次getBean时才会初始...

职业搬砖20年 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部