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

发布时间 - 2026-01-11 01:02:03    点击率:

微信小程序 自动登陆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./201705/yuanma/zddl().rar


# 微信小程序  # 自动登陆PHP源码  # 小程序  # 自动登录  # 微信小程序-详解微信登陆、微信支付、模板消息  # 微信小程序 登陆流程详细介绍  # 微信小程序登陆注册功能的实现代码  # 微信小程序实现人脸识别登陆的示例代码  # 微信小程序调用微信登陆获取openid及java做为服务端示例  # 微信小程序授权登陆及每次检查是否授权实例代码  # 扫微信小程序码实现网站登陆实现解析  # 详解微信小程序开发用户授权登陆  # 微信小程序如何保证每个页面都已经登陆详解  # 用户登陆  # 您也  # 请根据  # 后端  # getStorageSync  # URL  # code  # wx  # request  # res  # success  # getUserInfo  # login 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android自定义控件实现温度旋转按钮效果  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  如何在Windows 2008云服务器安全搭建网站?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  如何在Tomcat中配置并部署网站项目?  详解Android——蓝牙技术 带你实现终端间数据传输  新三国志曹操传主线渭水交兵攻略  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  EditPlus 正则表达式 实战(3)  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  北京专业网站制作设计师招聘,北京白云观官方网站?  5种Android数据存储方式汇总  Laravel如何使用Vite进行前端资源打包?(配置示例)  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Thinkphp 中 distinct 的用法解析  php json中文编码为null的解决办法  Laravel怎么使用artisan命令缓存配置和视图  如何在 React 中条件性地遍历数组并渲染元素  php打包exe后无法访问网络共享_共享权限设置方法【教程】  如何在腾讯云服务器快速搭建个人网站?  Laravel如何为API生成Swagger或OpenAPI文档  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  JS去除重复并统计数量的实现方法  jQuery 常见小例汇总  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  浅析上传头像示例及其注意事项  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Laravel怎么连接多个数据库_Laravel多数据库连接配置  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  高性能网站服务器配置指南:安全稳定与高效建站核心方案  轻松掌握MySQL函数中的last_insert_id()  javascript中闭包概念与用法深入理解  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  教你用AI润色文章,让你的文字表达更专业  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  网站建设保证美观性,需要考虑的几点问题!  JavaScript如何实现错误处理_try...catch如何捕获异常?  html5的keygen标签为什么废弃_替代方案说明【解答】  高端网站建设与定制开发一站式解决方案 中企动力  如何有效防御Web建站篡改攻击?  Laravel如何实现API速率限制?(Rate Limiting教程)  网站制作报价单模板图片,小松挖机官方网站报价?  潮流网站制作头像软件下载,适合母子的网名有哪些?