application/test/Index.php
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace app\index\controller;
use think\Db;
use think\Controller;
use think\Request;
/*
微信支付类
*/
class Index extends Controller{
protected $appid = "wx22649b08e2fb0287";
protected $secret = "5f44f0e2890497455e613d18e08f2793";
/*
* 被动触发
* 当index 控制器 判断未登陆时,触发该方法,进行登陆授权调用
*/
public function wxauthinfo(){
/* 通过code获取
* 网页授权access_token
* openid,
* 此处只是要openid给下边去获取具体的关注状态和拉取用户基本信息。
*/
$result1 = '';
//*********第一步 通过code换取网页授权access_token和openid***********/
$weixin = file_get_contents("https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$this->appid."&secret=".$this->secret."&code=".$_GET['code']."&grant_type=authorization_code");//
$jsondecode = json_decode($weixin); //对JSON格式的字符串进行编码
$array = get_object_vars($jsondecode);//转换成数组
//*********第二步 通过网页授权access_token 拉取基本信息*********/
$strs = "https://api.weixin.qq.com/sns/userinfo?access_token=".$array['access_token']."&openid=".$array['openid']."&lang=zh_CN";
$result1 = file_get_contents($strs);
$result1 = json_decode($result1,true);//把上边获取到的JSON格式的用户信息转换成数组
//*********第三步 把获取的用户信息存入数据库***********/
// 保存到数据库微信用户信息 判断是否有,有就修改,没有就添加
//转码start
$userinfo = Db::name('wxusera')->where('openid',$result1['openid'])->find();
$nickname = preg_replace('/[\x{1F600}-\x{1F64F}]/u', '', $result1['nickname']);
$nickname = preg_replace('/[\x{1F300}-\x{1F5FF}]/u', '', $result1['nickname']);
$nickname = preg_replace('/[\x{1F680}-\x{1F6FF}]/u', '', $result1['nickname']);
$nickname = preg_replace('/[\x{2600}-\x{26FF}]/u', '', $result1['nickname']);
$nickname = preg_replace('/[\x{2700}-\x{27BF}]/u', '', $result1['nickname']);
$nickname = str_replace(array('"','\''), '', $result1['nickname']);
//转码end
if($userinfo)
{
//查到有这用户,就修改
$str = ['nickname'=>$nickname,'sex'=>$result1['sex'],'city'=>$result1['city'],'province'=>$result1['province'],'avatar'=>$result1['headimgurl']];
$jieguo = Db::name('wxusera')->where('openid',$result1['openid'])->update($str);
}
else
{ //没查到用户,就添加,给timeb 临时高级会员的时间表示,后边会处理掉临时高级会员的
$str = ['openid'=>$result1['openid'],'nickname'=>$nickname,'sex'=>$result1['sex'],'city'=>$result1['city'],'province'=>$result1['province'],'createtime'=>date('Y-m-d H:i:s'),'avatar'=>$result1['headimgurl'],'status'=>'0'];
$jieguo = Db::name('wxusera')->insert($str);
}
后面还有 157 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。