9-2-1
限制登入後才能取得資料
您沒有觀看影片的權限
請先登入,登入後,確認您的權限後,即可觀看影片。
- 在
app_api.php
新增一個用來取得某一活動報名資料的流程:
// 取得某活動報名名單
case 'tad_signup_data_index':
echo $api->tad_signup_data_index($action_id);
break;
記得做變數過濾
$action_id = Request::getInt('action_id');
- 在
class\Tad_signup_api.php
新增對應方法:
// 取得某活動報名名單
public function tad_signup_data_index($action_id)
{
$data = Tad_signup_data::get_all($action_id);
return $this->encodeJson($data);
}
記得 use 該物件
use XoopsModules\Tad_signup\Tad_signup_data;
- 如此不用任何認證就會顯示所有報名資料,危險。
- 所以,請改成:
// 取得某活動報名名單
public function tad_signup_data_index($action_id)
{
$data = $this->token ? Tad_signup_data::get_all($action_id) : [];
return $this->encodeJson($data);
}
- XOOPS內建 JSON Web Token(JWT)機制,所以只要利用
$this->token
就可以判斷是否有登入。
token編碼
可以檢視 cookie 中的 xoops_user_xxxxxx 得到,其值看起來像這樣(一定有包含兩個 .
): eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
eyJ1aWQiOjEsImV4cCI6MTYyOTYxNjQxNX0.
2eJs6z04-6U4T6egbm6jQ0yDioP906DEI-f-gMuH0Xg
- 取得目前登入的詳細身份資料: http://localhost/modules/tad_signup/app_api.php?token=
token編碼
- 取得報名資料: http://localhost/modules/tad_signup/app_api.php?token=
token編碼
&op=tad_signup_data_index&action_id=活動編號
link to https://github.com/tadlearn/tad_signup/commit/0b09a455a060c000c7101c37894ff7011468f446 \