thinkphp使用easywechat完成微信网页认证

南国老符 南国老符 最后更新于:2022-05-04 浏览:1314

在thinkphp中安装easywechat

1.使用composer下载

使用命令行进入thinkphp根目录

然后运行下面的命令:

composer require hooklife/thinkphp5-wechat


然后发布配置文件到项目根目录

php think wechat:config


然后你会看到application目录下多了一个extra文件夹,里面有一个wechat.php,如果报错了,请参考 https://www.ailoli.org/archives/72/,这样就算是引入成功了

然后填写配置文件需要填写的项

示例:

'debug' => true,
/**
* 账号基本信息,请从微信公众平台/开放平台获取
*/
'app_id' => '......', // AppID
'secret' => '......', // AppSecret
'token' => '......', // Token
'aes_key' => '',
'oauth' => [
'scopes' => ['snsapi_userinfo'],
'callback' => '回调地址',
],


然后,在原代码基础上创建一个控制器(与微信相关):Wechat1.php,

在里面定义一个变量app

options=Config::get(′wechat′);app = new Application($options);


这样就能够使用app变量了,其他的用法参照文档https://www.easywechat.com/docs即可

配置和原来类似,我是在Wechat1.php中定义一个serve方法

public function serve(){
server=self::app->server;
server−>setMessageHandler(function(message) {
  return '你好';
});
$server->serve()->send();
}


在微信公众号后台验证token的url写能够访问到这个serve方法的链接即可验证成功

下面重点说明我使用easywechat进行网页授权过程

在需要授权的控制器Personal.php中的写了

static $app;
public function _initialize()
{
if (empty(session('id'))){
self::app=Wechat1::returnapp();oauth = self::app−>oauth;session(′targeturl′,_SERVER['PATH_INFO']);
if (empty(session('wechat_user'))){
$oauth->redirect()->send();
}else{
user=session(′wechatuser′);open_id = $user['original']['openid'];

//查询数据库中用户的账号的openid中是否有值,有值说明用户的微信与账号绑定
studentno=self::checklogin(open_id);
if ($student_no!=0){
session('id',studentno);this->redirect(session('target_url'));
}else{
$this->redirect('index/Index/login');
}

}
}
}


然后在Wechat1.php中写了一个授权回调的方法

public function oauth(){
oauth=self::app->oauth;
user=oauth->user();
session('wechat_user',user−>toArray());targetUrl = session('target_url');
this−>redirect(targetUrl);
}


上面的配置文件中的回调函数就写能够找到oauth方法的地址即可

这样就能够完成微信网页授权,授权过的微信的用户信息存在session中,之后用到该用户信息的时候,只需要从session中取即可


点赞 (0)

收藏 (0)
转载请务必注明: 来源:《建站管家》https://www.df81.com/news/354.html

本站部分信息来源网络,如有侵权,请联系QQ:1062129401删除。

上一篇: html5 通过手机定位获取当前位置并在地图上居中

下一篇: Thinkphp中数据按分类嵌套循环实现方法

请先登录后,再发表评论 ~ ~
发表评论
评论 (0)

发表帖子
广告位招租( ¥5 / 天 )
点击咨询
最新帖子

南国老符
2025-05-26 16:54
南国老符
2024-09-29 10:29
南国老符
2023-12-15 21:41
广告位招租( ¥5 / 天 )
点击咨询
最近评论

U
user1379
回复:版本号多少?
U
user1379
回复:新版本修复了,下载新版本即可
U
user1379
U
user1304
回复:默认没有这个功能,你可以自行二次开发后期可能会考虑在站群版本上加入此功能及商城功能
Y
yuanis90
回复:后台->语言->全局管理->模型管理->编辑->启用关键词内链即可
Y
yuanis90
回复:后台已经启用了,但是前台产品说明的关分键词还是没有自动链接到,
购买VIP
购买授权
余额充值
发表帖子
客服微信