fishn

前端代码参考

{__NOLAYOUT__}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
</head>
<p style="color: #5a6268;font-size: 30px;font-weight: bold;text-align: center;">登录页面</p>
<form style="width: 30%;margin: 0 auto">
<label>用户名</label>
<input type="text" id="t_name" class="form-control" >
<br>
<label >密码</label>
<input type="password" id="t_pwd" class="form-control">
<br>
<button type="button" class="btn btn-primary">确认登录</button>
</form>
</body>
</html>

<script>
$(\'.btn\').click(function () {
var t_name=$(this).siblings(\'#t_name\').val();
var t_pwd=$(this).siblings(\'#t_pwd\').val();


$.ajax({
"url":\'/admin/add/login\',
"type":"POST",
"data":{
\'t_name\':t_name,
\'t_pwd\':t_pwd,
\'__token__\':"{$Request.token}",
},
"dataType":"json",
"success":function (res) {
console.log(res.data);
if(res.code==200){
alert(\'登录成功\');
localStorage.setItem(\'token\',res.data.token);//将token上传到游览器本地化
window.location.href="{:url(\'admin/add/index\')}";
}
},
"error":function (error) {
console.log(error);
}
})
})
</script>

控制器代码参考:
public function login(){
$param=request()->post();

$data = [
\'t_name\' =>$param[\'t_name\'],
\'t_pwd\' =>$param[\'t_pwd\'],
];
$res=stus::loginDo($data);

if(empty($res)){
return json([\'code\'=>0,\'data\'=>\'\',\'msg\'=>\'登录失败\']);
}else{

$token = Token::createToken($res[\'t_id\']);
$res[\'token\']=$token;
session(\'token\',$token);
$admin=stus::getUserNodeAll($res[\'t_id\']);
// return json($admin);
session(\'admin\',$admin);
return json([\'code\'=>200,\'data\'=>$res,\'msg\'=>\'登录成功\']);
}
}
    public function login(){
$param=request()->post();

$data = [
\'t_name\' =>$param[\'t_name\'],
\'t_pwd\' =>$param[\'t_pwd\'],
];
$res=stus::loginDo($data);

if(empty($res)){
return json([\'code\'=>0,\'data\'=>\'\',\'msg\'=>\'登录失败\']);
}else{

$token = Token::createToken($res[\'t_id\']);
$res[\'token\']=$token;
session(\'token\',$token);
$admin=stus::getUserNodeAll($res[\'t_id\']);
// return json($admin);
session(\'admin\',$admin);
return json([\'code\'=>200,\'data\'=>$res,\'msg\'=>\'登录成功\']);
}
}

模型层代码参考:
   public static function loginDo($data){
return self::where($data)->find();
}
public static function getUserNodeAll($id){
$field=\'t_id,t_name,role,p_id,id\';

$userNode = self::alias(\'u\')
->field($field)
->join(\'roles\', \'a_id = t_id\')
->where(\'t_id\', $id)
->select();
// return $userNode;
return self::getTree($userNode,0);
}
public static function getTree($data,$p_id=0){
$result=[];
if(empty($data)){
return $result;
}
foreach ($data as $key=>$item){
if($item[\'p_id\']==$p_id){
$item[\'child\']=self::getTree($data,$item[\'id\']);
$result[]=$item;
}

}
return $result;die();
}

layout代码参考:
<div class="sidebar-nav">

{foreach $Think.session.admin as $vo}
<a href="#{$vo.id}" class="nav-header collapsed" data-toggle="collapse"><i class="icon-exclamation-sign"></i>{$vo.role}</a>
<ul id="{$vo.id}" class="nav nav-list collapse">
{foreach $vo[\'child\'] as $v}
<li><a >{$v.role}</a></li>

{/foreach}
</ul>
{/foreach}
</div>
{__CONTENT__}


分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-02-07
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
猜你喜欢
  • 2022-12-23
  • 2022-01-26
  • 2022-12-23
  • 2021-11-18
  • 2021-11-10
  • 2021-09-24
  • 2022-12-23
相关资源
相似解决方案