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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。