微信小程序 自动登陆PHP源码实例(源码下载)


Posted in Javascript onMay 08, 2017

微信小程序 自动登陆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();
    }
  }

项目下载:http://xiazai.3water.com/201705/yuanma/zddl(3water.com).rar

Javascript 相关文章推荐
HTML中不支持静态Expando的元素的问题
Mar 08 Javascript
javascript 写的一个简单的timer
Jul 30 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
Dec 23 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
Mar 24 Javascript
javascript实现在线客服效果
Jul 15 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 Javascript
javascript拖拽效果延伸学习
Apr 04 Javascript
微信小程序中使用javascript 回调函数
May 11 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
Oct 11 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
laypage+SpringMVC实现后端分页
Jul 27 Javascript
JavaScript代码实现微博批量取消关注功能
Feb 05 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 #jQuery
微信小程序 标签传入数据
May 08 #Javascript
Webpack实现按需打包Lodash的几种方法详解
May 08 #Javascript
JS正则表达式验证中文字符
May 08 #Javascript
bootstrap table表格插件使用详解
May 08 #Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
May 08 #Javascript
PHP实现记录代码运行时间封装类实例教程
May 08 #Javascript
You might like
php curl post 时出现的问题解决
2014/01/30 PHP
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
教你如何使用PHP输出中文JSON字符串
2014/05/22 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
webpack入门必知必会
2017/01/16 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
vue双向绑定及观察者模式详解
2019/03/19 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
js字符串处理之绝妙的代码
2019/04/05 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
python实现用户答题功能
2018/01/17 Python
python书籍信息爬虫实例
2018/03/19 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
财务会计人员岗位职责
2013/11/30 职场文书
员工评语大全
2014/01/19 职场文书
技能竞赛活动方案
2014/02/21 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
法定代表人资格证明书
2014/09/11 职场文书
民事赔偿协议书
2014/11/02 职场文书
统招统分证明
2015/06/23 职场文书
行政处罚事先告知书
2015/07/01 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
python办公自动化之excel的操作
2021/05/23 Python
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
python中数组和列表的简单实例
2022/03/25 Python
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python