add api: token
This commit is contained in:
parent
fa99db4618
commit
a9003b5908
@ -27,7 +27,7 @@ function APIrequest() {
|
|||||||
$app->get('/hello/:name', 'APIrequest', function ($name) use ($app) {
|
$app->get('/hello/:name', 'APIrequest', function ($name) use ($app) {
|
||||||
$app->render(200,array(
|
$app->render(200,array(
|
||||||
'error' => false,
|
'error' => false,
|
||||||
'msg' => 'Hello, $name'
|
'msg' => 'Hello, '.$name
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -98,7 +98,6 @@ $app->group('/users', 'APIrequest', function () use ($app, $app_template) {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if(!isset($browser)) { $browser = 'api'; }
|
|
||||||
|
|
||||||
// 進行登入
|
// 進行登入
|
||||||
try {
|
try {
|
||||||
@ -144,6 +143,7 @@ $app->group('/users', 'APIrequest', function () use ($app, $app_template) {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$app->group('/tokens', 'APIrequest', function () use ($app, $app_template) {
|
$app->group('/tokens', 'APIrequest', function () use ($app, $app_template) {
|
||||||
@ -152,10 +152,102 @@ $app->group('/tokens', 'APIrequest', function () use ($app, $app_template) {
|
|||||||
* 取得已登入的帳號資訊
|
* 取得已登入的帳號資訊
|
||||||
* GET http://localhost/api/v2/tokens/{登入Token}
|
* GET http://localhost/api/v2/tokens/{登入Token}
|
||||||
*/
|
*/
|
||||||
$app->get('/:token', function ($token) use ($app, $app_template) {
|
$app->get('/:token', function ($token) use ($app) {
|
||||||
//echo "Login Token: $token";
|
|
||||||
// TODO: 登入Token
|
try {
|
||||||
$app_template->noEnableFunc();
|
// 正常寫法
|
||||||
|
$userSession = new User\UserSession();
|
||||||
|
$user = $userSession->getUser($token);
|
||||||
|
|
||||||
|
$app->render(200,array(
|
||||||
|
'token' => $token,
|
||||||
|
'user_id' => $user->getId(),
|
||||||
|
'nickname' => $user->getNickName(),
|
||||||
|
'group_id' => $user->getGroupID(),
|
||||||
|
'group_name' => $user->getGroupName(),
|
||||||
|
'class_id' => $user->getClassId(),
|
||||||
|
'class_name' => $user->getClassName(),
|
||||||
|
'enable' => $user->isEnable(),
|
||||||
|
'build_time' => $user->getCreateTime(),
|
||||||
|
'modify_time' => $user->getModifyTime(),
|
||||||
|
'learnStyle_mode' => $user->getLearnStyle(),
|
||||||
|
'material_mode' => $user->getMaterialStyle(),
|
||||||
|
'enable_noAppoint' => $user->isEnableNoAppoint(),
|
||||||
|
'realname' => $user->getRealName(),
|
||||||
|
'email' => $user->getEmail(),
|
||||||
|
'memo' => $user->getMemo(),
|
||||||
|
'error' => false
|
||||||
|
));
|
||||||
|
}
|
||||||
|
catch (Exception\LoginTokenNoFoundException $e) {
|
||||||
|
$app->render(404,array(
|
||||||
|
'token' => $token,
|
||||||
|
'error' => true,
|
||||||
|
'msg' => 'No \''.$token.'\' session. Please login again.',
|
||||||
|
'msg_cht' => '沒有\''.$token.'\'登入階段,請重新登入'
|
||||||
|
));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 登出此登入階段
|
||||||
|
* DELETE http://localhost/api/v2/tokens/{登入Token}
|
||||||
|
*/
|
||||||
|
$app->delete('/:token', function ($token) use ($app) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
$session = new User\UserSession();
|
||||||
|
$user_id = $session->getUserId($token);
|
||||||
|
$session->logout($token);
|
||||||
|
|
||||||
|
$app->render(201,array(
|
||||||
|
'token' => $token,
|
||||||
|
'user_id' => $user_id,
|
||||||
|
'error' => false,
|
||||||
|
'msg' => '\''.$user_id.'\' this session is logout.',
|
||||||
|
'msg_cht' => '\''.$user_id.'\'此登入階段已登出'
|
||||||
|
));
|
||||||
|
}
|
||||||
|
catch (Exception\LoginTokenNoFoundException $e) {
|
||||||
|
$app->render(404,array(
|
||||||
|
'token' => $token,
|
||||||
|
'error' => true,
|
||||||
|
'msg' => 'No \''.$token.'\' session. Please login again.',
|
||||||
|
'msg_cht' => '沒有\''.$token.'\'登入階段,請重新登入'
|
||||||
|
));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 登出此此使用者其他登入階段
|
||||||
|
* DELETE http://localhost/api/v2/tokens/{登入Token}/session/other
|
||||||
|
*/
|
||||||
|
$app->delete('/:token/session/other', function ($token) use ($app) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
$session = new User\UserSession();
|
||||||
|
$user_id = $session->getUserId($token);
|
||||||
|
$logoutTotal = $session->logoutOtherSession($token);
|
||||||
|
$inLoginTotal = $session->getCurrentLoginTotalByUserId($user_id);
|
||||||
|
|
||||||
|
$app->render(201,array(
|
||||||
|
'token' => $token,
|
||||||
|
'user_id' => $user_id,
|
||||||
|
'logout_total' => $logoutTotal,
|
||||||
|
'login_total' => $inLoginTotal,
|
||||||
|
'error' => false,
|
||||||
|
'msg' => '\''.$user_id.'\' other session is logout.',
|
||||||
|
'msg_cht' => '\''.$user_id.'\'此登入階段之外的皆已登出'
|
||||||
|
));
|
||||||
|
}
|
||||||
|
catch (Exception\LoginTokenNoFoundException $e) {
|
||||||
|
$app->render(404,array(
|
||||||
|
'token' => $token,
|
||||||
|
'error' => true,
|
||||||
|
'msg' => 'No \''.$token.'\' session. Please login again.',
|
||||||
|
'msg_cht' => '沒有\''.$token.'\'登入階段,請重新登入'
|
||||||
|
));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -247,7 +247,7 @@ class User {
|
|||||||
* @return string 班級ID
|
* @return string 班級ID
|
||||||
* @since 2.0.0
|
* @since 2.0.0
|
||||||
*/
|
*/
|
||||||
public function getClass(){
|
public function getClassId(){
|
||||||
return $this->queryResultArray['class_id'];
|
return $this->queryResultArray['class_id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -380,6 +380,26 @@ class User {
|
|||||||
$this->setUpdate('material_mode', $style);
|
$this->setUpdate('material_mode', $style);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 取得是否允需此人進行非預約學習
|
||||||
|
*
|
||||||
|
* @return bool 是否允許非預約學習
|
||||||
|
* @since 2.0.0
|
||||||
|
*/
|
||||||
|
public function isEnableNoAppoint(){
|
||||||
|
return $this->queryResultArray['enable_noAppoint'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 設定是否允需此人進行非預約學習
|
||||||
|
*
|
||||||
|
* @param bool 是否允許非預約學習
|
||||||
|
* @since 2.0.0
|
||||||
|
*/
|
||||||
|
public function setEnableNoAppoint($value){
|
||||||
|
$this->setUpdate('enable_noAppoint', $value);
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user