用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

微信小程序之自动登陆PHP源码

天下雪 2017-5-6 15:40

app.js 纯文本查看 复制代码App({ onLaunch: function () { /*初始化APP自动登陆 * 您也可以在任何地方进行用户登陆验证 *用法:首先在js文件中定义 var app = getApp(); app.getUserDataToken(); ...

app.js

  1. App({
  2. onLaunch: function () {
  3. /*初始化APP自动登陆
  4. * 您也可以在任何地方进行用户登陆验证
  5. *用法:首先在js文件中定义 var app = getApp(); app.getUserDataToken();
  6. */
  7. this.getUserDataToken();
  8. },
  9. getUserDataToken:function(){
  10. var that = this;
  11. //获取用户缓存token 此token是服务器作为用户唯一验证的标识,具体请看后端代码
  12. var utoken=wx.getStorageSync("utoken");
  13. wx.login({
  14. success: function (res) {
  15. var code=res.code;
  16. wx.getUserInfo({
  17. success: function (res) {
  18. wx.request({
  19. //用户登陆URL地址,请根据自已项目修改
  20. url: 'https://66018954.qcloud.la/WxApp/index.php/UserApi/userAuthSlogin',
  21. method:"POST",
  22. data: {
  23. utoken:utoken,
  24. code: code,
  25. encryptedData:res.encryptedData,
  26. iv:res.iv
  27. },
  28. fail:function(res){
  29. },
  30. success: function(res) {
  31. var utoken=res.data.utoken;
  32. //设置用户缓存
  33. wx.setStorageSync("utoken",utoken);
  34. }
  35. })
  36. }
  37. })
  38. }
  39. })
  40. }
  41. })

php代码:

  1. public function userAuthSlogin(){
  2. $content = file_get_contents ( 'php://input' );
  3. $content=json_decode($content,true);
  4. $utoken=$content["utoken"];
  5. if(!empty($utoken)&&S($utoken)){
  6. $result["success"]=1;
  7. $result['utoken']=$utoken;
  8. echo json_encode($result);
  9. exit();
  10. }
  11. $code=$content["code"];
  12. $encryptedData=$content["encryptedData"];
  13. $iv = $content['iv'];
  14. /*获取session_key*/
  15. $s_result=$this->getSession($code);
  16. $WxData = new WXBizDataCrypt($s_result['appid'],$s_result['session_key']);
  17. /*解密用户数据*/
  18. $errCode = $WxData->decryptData($encryptedData, $iv, $user_data);
  19. $wxap_key = md5(uniqid(md5(microtime(true)),true));
  20. $result=array();
  21. if($errCode==0){
  22. $user_data=json_decode($user_data,true);
  23. $result["success"]=1;
  24. $result['utoken']=$wxap_key;
  25. $user_id = $this->wxUserAdd($user_data);
  26. if($user_id < 1 || empty($user_id)){
  27. $result["success"]=-1;
  28. $result['errCode']=0;
  29. $result['msg']="获取用户信息出错!";
  30. echo json_encode($result);
  31. exit();
  32. }
  33. $user_data['uid']=$user_id;
  34. S($wxap_key,$user_data,7200);
  35. echo json_encode($result);
  36. exit();
  37. }else{
  38. $result["success"]=-1;
  39. $result['errCode']=$errCode;
  40. $result['msg']="获取用户信息出错!";
  41. echo json_encode($result);
  42. exit();
  43. }
  44. }

项目下载:微信小程序之自动登陆PHP源码.rar

鲜花
鲜花 (2)
鸡蛋
鸡蛋

刚表态过的朋友 (2 人)

分享至 : QQ空间
收藏
原作者: hongxindada

相关阅读

查看全部评论>>