微信小程式實現微信登陸(TP5後端)

2022-03-08 13:58:36 字數 1870 閱讀 4039

思路:

小程式登入獲取code,將code傳到後台;

登入時,再次獲取code並傳給後台,得到openid,若使用者表中存在,便可直接登入

以下僅是**片段,更多**在github

mini_program/pages/student_mine

mini_program/pages/login

小程式前端獲取code,將code與id傳回後台

wx_binding: function () ,

method: "post",

header: ,})}

})}

thinkphp5後端接受到code,用code得到openid,並將openid與賬號id繫結

public function wxbinding() 

$openid = $arr['openid'];

// 插入openid

$bind = db('user') -> where('id', $_post['id']) -> update(['openid' => $openid]);

if ($bind) else

}

解密獲取openid

/* 初始化並執行curl請求 */

$ch = curl_init();

curl_setopt_array($ch, $opts);

$data = curl_exec($ch);

$error = curl_error($ch);

curl_close($ch);

if ($error) throw new exception('請求發生錯誤:'.$error);

return $data;

}小程式前端返回code

wx.login(,

method: "post",

header: ,

success: function (res) ,})}

})

後端獲取openid,若有使用者,返回使用者資訊給小程式

public function wxlogin() 

$url = "";

// 引數

// 判斷是否成功

if (isset($arr['errcode']) && !empty($arr['errcode']))

$openid = $arr['openid'];

// $session_key = $arr['session_key'];

// 從資料庫中查詢是否有該openid

$user = db('user') -> where('openid', $openid) -> find();

if ($user) else

}

學習部落格:

小程式和thinkphp5結合實現登入狀態(附**)

微信退款 tp5

老闆已經催促了好幾個月了。今天實在是沒有辦法了,那就給他寫了吧,原來沒有寫過退款 看文件還是看了很久的,雖然說官方給的demo 但是還是看一下比較好 就當是學習了嘛 好了,廢話不多說 開始上菜 因為是第一次做退款 咱們還是直接用demo裡面的 首先呢 匯入類庫 loader import paywx...

tp5 微信授權

protected protected 靜默授權 不能獲取使用者的暱稱 頭像,要獲取使用者的暱稱和頭像使用 使用者確認授權 public function getbaseinfo public function getwxcode end 使用者確認授權 public function getcod...

TP5微信支付

public function pay openid,fee,test openid openid 支付相關設定 fee i post.total fee fee fee 舉例支付0.01 body test nonce str this nonce str 隨機字串 out trade no th...