微信小程序 自动登陆PHP源码实例(源码下载)
程序员文章站
2022-06-20 18:25:36
微信小程序 自动登陆php源码实例
app.js
初始化app自动登陆
您...
微信小程序 自动登陆php源码实例
app.js
- 初始化app自动登陆
- 您也可以在任何地方进行用户登陆验证
- 用法:首先在js文件中定义 var app = getapp(); app.getuserdatatoken();
app({ onlaunch: function () { /*初始化app自动登陆 * 您也可以在任何地方进行用户登陆验证 *用法:首先在js文件中定义 var app = getapp(); app.getuserdatatoken(); */ this.getuserdatatoken(); }, getuserdatatoken:function(){ var that = this; //获取用户缓存token 此token是服务器作为用户唯一验证的标识,具体请看后端代码 var utoken=wx.getstoragesync("utoken"); wx.login({ success: function (res) { var code=res.code; wx.getuserinfo({ success: function (res) { wx.request({ //用户登陆url地址,请根据自已项目修改 url: 'https://66018954.qcloud.la/wxapp/index.php/userapi/userauthslogin', method:"post", data: { utoken:utoken, code: code, encrypteddata:res.encrypteddata, iv:res.iv }, fail:function(res){ }, success: function(res) { var utoken=res.data.utoken; //设置用户缓存 wx.setstoragesync("utoken",utoken); } }) } }) } }) } })
php代码:
public function userauthslogin(){ $content = file_get_contents ( 'php://input' ); $content=json_decode($content,true); $utoken=$content["utoken"]; if(!empty($utoken)&&s($utoken)){ $result["success"]=1; $result['utoken']=$utoken; echo json_encode($result); exit(); } $code=$content["code"]; $encrypteddata=$content["encrypteddata"]; $iv = $content['iv']; /*获取session_key*/ $s_result=$this->getsession($code); $wxdata = new wxbizdatacrypt($s_result['appid'],$s_result['session_key']); /*解密用户数据*/ $errcode = $wxdata->decryptdata($encrypteddata, $iv, $user_data); $wxap_key = md5(uniqid(md5(microtime(true)),true)); $result=array(); if($errcode==0){ $user_data=json_decode($user_data,true); $result["success"]=1; $result['utoken']=$wxap_key; $user_id = $this->wxuseradd($user_data); if($user_id < 1 || empty($user_id)){ $result["success"]=-1; $result['errcode']=0; $result['msg']="获取用户信息出错!"; echo json_encode($result); exit(); } $user_data['uid']=$user_id; s($wxap_key,$user_data,7200); echo json_encode($result); exit(); }else{ $result["success"]=-1; $result['errcode']=$errcode; $result['msg']="获取用户信息出错!"; echo json_encode($result); exit(); } }
项目下载: