微信小程序 自动登陆PHP源码实例
app.js
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.jb51.net/201705/yuanma/zddl(jb51.net).rar
本文向大家介绍PHP:微信小程序 微信支付服务端集成实例详解及源码下载,包括了PHP:微信小程序 微信支付服务端集成实例详解及源码下载的使用技巧和注意事项,需要的朋友参考一下 微信小程序 微信支付服务端集 理论上集成微信支付的全部工作可以在小程序端完成,因为小程序js有访问网络的能力,但是为了安全,不暴露敏感key,而且可以使用官方提供的现成php demo更省力,于是在服务端完成签名与发起请求,
本文向大家介绍php实现微信扫码自动登陆与注册功能,包括了php实现微信扫码自动登陆与注册功能的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现微信扫码自动登陆与注册功能。分享给大家供大家参考,具体如下: 微信开发已经是现在程序员必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单,这里我们一起来看一个微信自动登陆注册的例子. php 微信扫码
本文向大家介绍微信小程序实现打开内置地图功能【附源码下载】,包括了微信小程序实现打开内置地图功能【附源码下载】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了微信小程序实现打开内置地图功能。分享给大家供大家参考,具体如下: 1、效果展示 2、关键代码 index.wxml布局文件代码 index.js逻辑文件代码 这里bindtap="openMap"绑定的openMap函数中调用wx.o
本文向大家介绍微信小程序实现天气预报功能(附源码),包括了微信小程序实现天气预报功能(附源码)的使用技巧和注意事项,需要的朋友参考一下 前言 最近在学小程序开发,刚好学到天气预报功能的制作,于是给大家分享下。 效果图 天气API获取 这里我用的是和风天气的API,打开官网注册或者登陆你的账号 进入控制台,新建应用 这是刚刚我们创建好的应用,点击添加KEY 选择WebAPI 这注册好我们的A
本文向大家介绍微信小程序 Canvas增强组件实例详解及源码分享,包括了微信小程序 Canvas增强组件实例详解及源码分享的使用技巧和注意事项,需要的朋友参考一下 WeZRender是一个微信小程序Canvas增强组件,基于HTML5 Canvas类库ZRender。 使用 WXML: JS: 特性 数据驱动 利用WeZRender绘图,只需定义图形数据。 丰富的图形选项 内置多种图形元素(圆形、
本文向大家介绍微信小程序 MD5加密登录密码详解及实例代码,包括了微信小程序 MD5加密登录密码详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 微信小程序 MD5加密 在小程序中,页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件。zepto/jquery 也无法使用,因为zepto/jquery