把標記修改的備注修改即可
JS文件:(可以放在app.js中)
// 登錄 wx.login({ success: res => { // 發送 res.code 到后台換取 openId, sessionKey, unionId wx.request({ url: "http://127.0.0.7/api/Login/login", //修改請求地址
data: { code: res.code }, header: { 'content-type': 'application/json' }, method: "GET", success(res) { wx.request({ url: that.link + "Login/setuser", data: { openid: res.data.openid }, header: { 'content-type': 'application/json' }, success(res) {
//如果有該用戶,把用戶信息放到公共數組中 if (res.data){ that.globalData.userInfo = res.data //紅色的可以更改為別的數組,需要先定義 } }, }) }, }) } })
php文件:(紅色標記為申請的小程序后台中,開發中有appid和secret)
/*獲取用戶唯一標識*/ public function login(){ $code=Request::param('code'); $url="https://api.weixin.qq.com/sns/jscode2session?appid=wx69b37be5******&secret=b6ed8d48484522da769******&js_code=".$code."&grant_type=authorization_cod"; $token = json_decode($this->curl_get($url)); return json($token); }
/*這里是把openid發送過來,查找數據庫中有沒有該用戶信息,如果沒有就添加該用戶信息,有就讀取用戶信息*/
/*是否有用戶信息*/ public function setuser(){ $data=Request::param(); $user=User::where('account',$data['openid'])->find();
if(!$user){
/*以下寫需要添加用戶信息的邏輯*/
}else{
return json($user);
} }/*往微信發送信息,獲取唯一標識 后台調用 避免暴露 信息*/ function curl_get($url,&$httpCode = 0){ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); /*不做證書效驗,部署在linux環境下請改為true*/ curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); $file_contents = curl_exec($ch); $httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); curl_close($ch); return $file_contents; }