1. 程式人生 > >微信公眾號三方平臺開發【生成授權頁】

微信公眾號三方平臺開發【生成授權頁】

之前我們講過,在獲取到預授權碼之後,我們需要在自己的網站中設定授權頁入口(如下圖),從而引導微信公眾號管理員進入到授權頁,對第三方平臺進行微信公眾號的託管授權。
授權頁引導頁

對於微信授權頁,簡單的說就是一個帶有規定引數的URL,其中包括第三方平臺的appid、預授權碼以及回撥URL,通過訪問這個URL,各個引數正確無誤,就會進入到授權頁,如:
授權頁

生成授權頁URL,首先我們需要獲取得到“預授權碼”:
$pre_auth_code = $this->get_pre_auth_code ();
if ($pre_auth_code == false) {
$res ['msg'] = '獲取pre_auth_code失敗!';
return $res;
}

其次還需要封裝好“回撥URL”,其中“BASE_URL”為網站域名:
$callback = BASE_URL.U('Wechat/Wechat/after_auth');

然後,組裝授權頁URL:
$jumpURL = 'https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=第三方平臺appid&pre_auth_code='.$pre_auth_code.'&redirect_uri='.$callback;

這裡,我們對授權頁的生成建立一個可供呼叫的方法,在需要生成的授權頁URL的頁面進行呼叫,如:
$tips = A('Wechat/Wechat')
$res = $tips->tips();
if (! $res ['status']) {
$this->error ( $res ['msg'] );
exit ();
}
$this->assign ( 'jumpURL', $res ['jumpURL'] );

完整程式碼:
1)授權引導頁呼叫

Public function index(){
$tips = A('Wechat/Wechat')
$res = $tips->tips();
if (! $res ['status']) {
$this->error ( $res ['msg'] );
exit ();
}
$this->assign ( 'jumpURL', $res ['jumpURL'] );
$this->display():
}

2)授權頁URL生成方法

public function tips(){
$res ['status'] = false;
$pre_auth_code = $this->get_pre_auth_code ();
if ($pre_auth_code == false) {
$res ['msg'] = '獲取pre_auth_code失敗!';
return $res;
}
$callback = BASE_URL.U('Wechat/Wechat/after_auth');
$jumpURL = 'https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=第三方平臺appid&pre_auth_code='.$pre_auth_code.'&redirect_uri='.$callback;
$res ['status'] = true;
$res ['jumpURL'] = $jumpURL;
return $res;
}