微信小程序 自動(dòng)登陸PHP源碼實(shí)例(源碼下載)
更新時(shí)間:2017年05月08日 17:22:05 投稿:lqh
這篇文章主要介紹了微信小程序 自動(dòng)登陸PHP源碼實(shí)例并且附有源碼的相關(guān)資料,需要的朋友可以參考下
微信小程序 自動(dòng)登陸PHP源碼實(shí)例
app.js
- 初始化APP自動(dòng)登陸
- 您也可以在任何地方進(jìn)行用戶登陸驗(yàn)證
- 用法:首先在js文件中定義 var app = getApp(); app.getUserDataToken();
App({
onLaunch: function () {
/*初始化APP自動(dòng)登陸
* 您也可以在任何地方進(jìn)行用戶登陸驗(yàn)證
*用法:首先在js文件中定義 var app = getApp(); app.getUserDataToken();
*/
this.getUserDataToken();
},
getUserDataToken:function(){
var that = this;
//獲取用戶緩存token 此token是服務(wù)器作為用戶唯一驗(yàn)證的標(biāo)識(shí),具體請(qǐng)看后端代碼
var utoken=wx.getStorageSync("utoken");
wx.login({
success: function (res) {
var code=res.code;
wx.getUserInfo({
success: function (res) {
wx.request({
//用戶登陸URL地址,請(qǐng)根據(jù)自已項(xiàng)目修改
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;
//設(shè)置用戶緩存
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']);
/*解密用戶數(shù)據(jù)*/
$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']="獲取用戶信息出錯(cuò)!";
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']="獲取用戶信息出錯(cuò)!";
echo json_encode($result);
exit();
}
}
項(xiàng)目下載:http://xiazai.jb51.net/201705/yuanma/zddl(jb51.net).rar
相關(guān)文章
JavaScript節(jié)點(diǎn)的增刪改查深入學(xué)習(xí)
這篇文章主要為大家介紹了JavaScript節(jié)點(diǎn)的增刪改查深入學(xué)習(xí)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
smartbanner.js實(shí)現(xiàn)可定制智能應(yīng)用橫幅使用示例
這篇文章主要為大家介紹了smartbanner.js實(shí)現(xiàn)可定制智能應(yīng)用橫幅使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
C#微信小程序服務(wù)端獲取用戶解密信息實(shí)例代碼
這篇文章主要介紹了 C#微信小程序服務(wù)端獲取用戶解密信息實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03
JavaScript實(shí)現(xiàn)文本轉(zhuǎn)換為文件示例詳解
這篇文章主要為大家介紹了JavaScript實(shí)現(xiàn)文本轉(zhuǎn)換為文件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
跨端開發(fā)框架avm組件封裝經(jīng)驗(yàn)分享
這篇文章主要為大家介紹了跨端開發(fā)框架avm組件封裝的經(jīng)驗(yàn)分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07

