多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
1.创建新的一个全新数据库,并创建一张users表 ![](https://box.kancloud.cn/3e13b3511318281db40c42a7c13046ad_935x539.png) 2.在项目/Application/Home/Conf文件夹下的config.php文件中,配置数据库相关信息 ~~~ <?php return array( //'配置项'=>'配置值' //数据库配置信息 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'xxx.xx.xxx.xxx', // 服务器地址 'DB_NAME' => 'wxxuexi', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => 'xxxxxx', // 密码 'DB_PORT' => 3306, // 端口 'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志 3.2.3新增 ); ~~~ 3.在项目根目录下的/Application/Home/Controller文件夹中的IndexController.class.php文件,书写代码 ~~~ <?php namespace Home\Controller; use Think\Controller; use Com\Wechat; use Com\WechatAuth; class IndexController extends Controller { public function index(){ $token="zhangyouwu"; /* 加载微信 */ $wechat = new Wechat($token); /* 获取请求信息 */ $data = $wechat->request(); if($data && is_array($data)){ switch($data['MsgType']){ case "text": $this->Text($wechat,$data); } } } //回复文本消息 private function Text($wechat,$data){ //回复文本消息 if(strstr($data['Content'],"文本")){ $text="我正在使用Thinkphp开发微信"; $this->logger("发送信息:\n".$text); $wechat-> replyText($text); }else if(strstr($data['Content'],"myself")){ $this->users($wechat,$data); } } //获取用户信息 private function users($wechat,$data){ $openid=$data['FromUserName']; $appid="wx165112bf167af76c"; $appSecret="c65b22bfcf03fdd98504eac299701b03"; $token=session('token'); if($token){ $WechatAuth=new WechatAuth($appid,$appSecret,$token); }else{ $WechatAuth=new WechatAuth($appid,$appSecret); $accsseToken=$WechatAuth->getAccessToken(); $token=$accsseToken['access_token']; session('token',$token); } $user=$WechatAuth->userInfo($openid); $text="你的openid是:".$user['openid']."\n你的昵称是:".$user['nickname']."\n你的性别是:".$user['sex']."\n你的城市是:" .$user['city']."\n你所在的国家是:".$user['country']."\n你所在的省份是:".$user['province']; $this->logger("发送用户的信息:\n".$text); $wechat->replyText($text); } //网页授权获取用户基本信息 public function webUsers(){ $appid="wx165112bf167af76c"; $appSecret="c65b22bfcf03fdd98504eac299701b03"; $WechatAuth=new WechatAuth($appid,$appSecret); if($_GET['iscode']){ $url="http://zyw.gzzysd.com/index.php/Home/Index/webUsers";//zyw.gzzysd.com为微信公众平台的授权回调页面域名 $result=$WechatAuth->getRequestCodeURL($url); $result; header("Location:{$result}");//跳转地址 }else if($_GET['code']){ header('Content-type:text/html;charset=utf-8'); $user=$WechatAuth->getAccessToken('code',$_GET['code']); $openid=$user['openid'];//$user是一个数组,直接获取里面的openid $users=$WechatAuth->getUserInfo($openid); $m=M('users'); $data['openid']=$users['openid']; $data['nickname']=$users['nickname']; $result=$m->add($data); if($result){ $text="你的openid是:".$users['openid']."\n你的昵称是:".$users['nickname']."\n你的性别是:".$users['sex']."\n你的城市是:" .$users['city']."\n你所在的国家是:".$users['country']."\n你所在的省份是:".$users['province']; echo $text; } // var_dump($users); } } //日志 private function logger($content){//存储日志 $logSize=100000;//定义日志大小 $log="log.txt";//定义日志名字 if(file_exists($log)&&filesize($log)>$logSize){//如果日志存在并且大于定义的大小 unlink($log);//删除 } //文件写入1.名字2.内容,+时间防止重复3.内容往后加而不是覆盖 file_put_contents($log,date('H:i:s')." ".$content."\n",FILE_APPEND); } } ~~~ 对比上节添加或修改代码部分 ![](https://box.kancloud.cn/f20d51fcd55d84833f77177b5df6ecd9_867x376.png) 在微信web开发者工具中输入地址http://域名/index.php/Home/Index/webUsers/iscode/1 ![](https://box.kancloud.cn/2c8a2050d92d2c3b4a6636fc2597b1b1_980x396.png) 在数据库的查看users表看下是否有数据 ![](https://box.kancloud.cn/c371a09763f5c17fb9c0a3379e13a1ee_899x289.png) 本节源码下载(下载密码:z4sj) [源码下载](https://pan.baidu.com/s/1jcrMIYQfFC8KylwazdEFdQ)