You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
4.6 KiB
154 lines
4.6 KiB
<?php
|
|
namespace app\adminapi\controller\v1;
|
|
|
|
use app\adminapi\ApiController;
|
|
use think\facade\Db;
|
|
use think\facade\Session;
|
|
use thans\jwt\facade\JWTAuth;
|
|
use think\facade\Log;
|
|
|
|
class Auth extends ApiController
|
|
{
|
|
public function Login()
|
|
{
|
|
$username=input('username');
|
|
$password=input('password');
|
|
|
|
// $captcha=input('captcha');
|
|
|
|
// Log::write(json_encode(Session::all()));
|
|
|
|
// if(!captcha_check($captcha)){
|
|
// return $this->Error('驗證碼錯誤','請求失敗',301);
|
|
// }
|
|
$result=Db::name('admin')
|
|
->where('username',$username)
|
|
->find();
|
|
|
|
if(!$result){
|
|
return $this->Error('帳號或密碼錯誤','請求失敗',302);
|
|
}
|
|
|
|
if(!password_verify($password , $result['password'])){
|
|
return $this->Error('帳號或密碼錯誤','請求失敗',303);
|
|
}
|
|
|
|
$token = JWTAuth::builder(['uid' => $result['id']]);
|
|
|
|
$result=[
|
|
'user'=>[
|
|
'uid'=>$result['id'],
|
|
"name" => $result['username'],
|
|
"avatar" => "https://gw.alipayobjects.com/zos/rmsportal/ubnKSIfAJTxIgXOKlciN.png",
|
|
"address" => "固原市",
|
|
"position" => [
|
|
"CN" => "產品分析師 | 螞蟻金服-計算服務事業群-IOS平臺部",
|
|
"TW" => "產品分析師 | 螞蟻金服-計算服務事業群-IOS平臺部",
|
|
"US" => "Product analyst | Ant Financial - Computing services business group - IOS platform division"
|
|
]
|
|
],
|
|
'permissions'=>[
|
|
[
|
|
'id'=>'queryForm',
|
|
'operation'=>['add','edit','delete']
|
|
]
|
|
],
|
|
'roles'=>[
|
|
[
|
|
'id'=>'admin',
|
|
'operation'=>['add','edit','delete']
|
|
]
|
|
],
|
|
'token'=>$token,
|
|
'expireAt'=>time()+30*60*1000
|
|
];
|
|
return $this->Success($result);
|
|
|
|
}
|
|
|
|
public function check(){
|
|
print_r(JWTAuth::auth());
|
|
}
|
|
|
|
public function captcha($id=''){
|
|
return captcha($id);
|
|
}
|
|
|
|
public function checkC($value){
|
|
print_r(Session::all());
|
|
|
|
if(!captcha_check($value)){
|
|
//驗證失敗
|
|
echo 'failure';
|
|
};
|
|
echo 'Success';
|
|
}
|
|
|
|
public function getRoute(){
|
|
$routes=[
|
|
[
|
|
"router" => "root",
|
|
"children" => [
|
|
"DashBoard",
|
|
[
|
|
"router" => "system",
|
|
"children" => [
|
|
[
|
|
"router" => "systemConfig",
|
|
"name" => "站台設置",
|
|
"authority" => [
|
|
"permission" => "demo",
|
|
"role" => "admin"
|
|
]
|
|
]
|
|
]
|
|
],
|
|
[
|
|
"router" => "admin",
|
|
"children" => [
|
|
"adminUser",
|
|
"adminLog",
|
|
"adminRole",
|
|
]
|
|
],
|
|
[
|
|
"router" => "goods",
|
|
"children" => [
|
|
"goodsList",
|
|
"goodsCategory",
|
|
"goodsType",
|
|
]
|
|
],
|
|
[
|
|
"router" => "order",
|
|
"children" => [
|
|
"orderList",
|
|
]
|
|
],
|
|
[
|
|
"router" => "room",
|
|
"children" => [
|
|
"roomList",
|
|
]
|
|
],
|
|
[
|
|
"router" => "user",
|
|
"children" => [
|
|
"userList"
|
|
]
|
|
],
|
|
[
|
|
"router" => "setting",
|
|
"children" => [
|
|
"settingBase",
|
|
"settingConfig"
|
|
]
|
|
]
|
|
]
|
|
]
|
|
];
|
|
|
|
return $this->Success($routes);
|
|
}
|
|
}
|