위 챗 애플 릿 이 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
OpenSSL 생 성 ssl 인증서텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.