完成账户管理;

This commit is contained in:
augushong
2019-08-23 13:35:14 +08:00
parent d60bf60786
commit 77abc59125
12 changed files with 323 additions and 8 deletions

View File

@@ -24,7 +24,7 @@
- 服务器信息(已完成)
- 系统配置(已完成)
- 管理员管理
- 账户管理
- 账户管理(已完成)
- 用户管理
- 权限管理
- 文件管理

View File

@@ -0,0 +1,72 @@
<?php
namespace app\admin\controller;
use app\model\Admin as AppAdmin;
use app\model\UploadFiles;
use think\facade\View;
use think\Request;
class Admin extends Common
{
public function edit()
{
$model_admin = AppAdmin::find($this->adminInfo['id']);
View::assign('admin',$model_admin);
return View::fetch();
}
public function password()
{
return View::fetch();
}
public function passwordUpdate()
{
$post_data = $this->request->post();
if(empty($post_data['new_password'])){
return $this->error('新密码不能为空');
}
$model_admin = AppAdmin::find($this->adminInfo['id']);
if(md5($post_data['original_password'].$model_admin->getData('salt')) != $model_admin->getData('password')){
return $this->error('原密码错误');
}
if($post_data['new_password'] != $post_data['check_password']){
return $this->error('新密码与确认密码不一致');
}
$model_admin->password = md5($post_data['new_password'].$model_admin->getData('salt'));
$model_admin->save();
return $this->success('修改成功');
}
public function update()
{
$post_data = $this->request->post();
$model_admin = AppAdmin::find($this->adminInfo['id']);
if($model_admin->getData('avatar') != $post_data['avatar']){
UploadFiles::destroy(['save_name'=>$model_admin->getData('avatar')]);
UploadFiles::update(['used_time'=>time()],['save_name'=>$post_data['avatar']]);
}
$model_admin->data($post_data);
$model_admin->save();
return $this->success('保存成功','Admin/edit');
}
}

View File

@@ -5,6 +5,7 @@ use app\BaseController;
use think\facade\Session;
use app\model\Admin;
use think\exception\HttpResponseException;
use think\facade\View;
class Common extends BaseController{
@@ -30,5 +31,7 @@ class Common extends BaseController{
}
}
View::assign('admin',$this->adminInfo);
}
}

View File

@@ -48,4 +48,11 @@ class Login extends Common
return json_message();
}
public function logout()
{
Session::clear();
$this->success('已经安全退出','Login/Index');
}
}

View File

@@ -33,15 +33,20 @@ function json_message($data = [],$code = 0,$msg = '')
]);
}
function get_system_config($name,$default = '')
function get_system_config($name = '',$default = '')
{
$list = Cache::get('system_config');
if(empty($list)){
$list = SystemConfig::column('value','name');
}
if($name === ''){
return $list;
}
if(isset($list[$name])){
return $list[$name];
}

View File

@@ -10,4 +10,9 @@ use think\Model;
class Admin extends Model
{
//
public function getAvatarAttr($value)
{
return \get_source_link($value);
}
}

View File

@@ -0,0 +1,42 @@
<?php
use think\migration\Seeder;
use app\model\SystemConfig;
use think\facade\Cache;
class InitSystemConfig extends Seeder
{
/**
* Run Method.
*
* Write your database seeder using this method.
*
* More information on writing seeders is available here:
* http://docs.phinx.org/en/latest/seeding.html
*/
public function run()
{
$data = [
'site_name'=>'奥宏后台管理小模板'
];
$list = get_system_config();
foreach ($data as $key => $value) {
if(isset($list[$key])){
SystemConfig::where('name',$key)->update(['value'=>$value]);
}else{
$model_sysconfig = new SystemConfig();
$model_sysconfig->name = $key;
$model_sysconfig->value = $value;
$model_sysconfig->save();
}
$list[$key] = $value;
}
Cache::set('system_config',$list);
}
}

100
view/admin/admin/edit.html Normal file
View File

@@ -0,0 +1,100 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>基本资料</title>
{include file="common/_require"}
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
{include file="common/_header"}
{include file="common/left_admin"}
<div class="layui-body">
<div style="padding:15px">
<div class="main-header">
<span class="layui-breadcrumb">
<a>首页</a>
<a><cite>基本资料</cite></a>
</span>
</div>
<div class="main-container">
<div class="layui-row">
<div class="layui-col-md6">
<fieldset class="layui-elem-field">
<legend>资料管理</legend>
<div class="layui-field-box">
<form action="{:url('Admin/update')}" method="POST" class="layui-form">
<div class="layui-form-item">
<div class="layui-form-label">登录账号</div>
<div class="layui-input-block">
<input type="text" name="account" value="{$admin.account}" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">昵称</div>
<div class="layui-input-block">
<input type="text" name="nickname" value="{$admin.nickname}" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">头像</div>
<div class="layui-input-block">
<div>
<div class="layui-btn upload-admin-avatar">上传</div>
</div>
<div>
<img class="layui-circle admin-avatar" style="width: 80px" src="{$admin.avatar}" alt="" srcset="">
</div>
<input type="hidden" name="avatar" value="{$admin->getData('avatar')}" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn layui-btn-fluid" type="submit">保存</button>
</div>
</form>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
{include file="common/_footer"}
<script>
layui.use(['layer','upload'],function(){
var upload = layui.upload;
var uploadSiteLogo = upload.render({
elem:'.upload-admin-avatar',
url:'{:url("api/Files/save")}',
data:{
type:1,
dir:'admin_avatar'
},
accept:'images',
done:function(result){
if(result.code == 0){
layer.msg('上传成功');
$('input[name="avatar"]').val(result.data.save_name);
$('.admin-avatar').attr('src',result.data.src);
}else{
layer.msg(result.msg)
}
}
})
})
</script>
</div>
</body>
</html>

View File

@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>基本资料</title>
{include file="common/_require"}
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
{include file="common/_header"}
{include file="common/left_admin"}
<div class="layui-body">
<div style="padding:15px">
<div class="main-header">
<span class="layui-breadcrumb">
<a>首页</a>
<a><cite>密码管理</cite></a>
</span>
</div>
<div class="main-container">
<div class="layui-row">
<div class="layui-col-md6">
<fieldset class="layui-elem-field">
<legend>密码管理</legend>
<div class="layui-field-box">
<form action="{:url('Admin/passwordUpdate')}" method="POST" class="layui-form">
<div class="layui-form-item">
<div class="layui-form-label">原密码</div>
<div class="layui-input-block">
<input type="password" name="original_password" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">新密码</div>
<div class="layui-input-block">
<input type="password" name="new_password" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-label">确认密码</div>
<div class="layui-input-block">
<input type="password" name="check_password" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn layui-btn-fluid" type="submit">保存</button>
</div>
</form>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
{include file="common/_footer"}
</div>
</body>
</html>

View File

@@ -9,15 +9,15 @@
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item">
<a href="javascript:;">
<img src="http://t.cn/RCzsdCq" class="layui-nav-img">
贤心
<img src="{$admin.avatar}" class="layui-nav-img">
{$admin.nickname}
</a>
<dl class="layui-nav-child">
<dd><a href="">基本资料</a></dd>
<dd><a href="">安全设置</a></dd>
<dd><a href="{:url('Admin/edit')}">基本资料</a></dd>
<dd><a href="{:url('Admin/password')}">安全设置</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="">退</a></li>
<li class="layui-nav-item"><a href="{:url('Login/logout')}">退</a></li>
</ul>
</div>

View File

@@ -0,0 +1,13 @@
<div class="layui-side layui-bg-black">
<div class="layui-side-scroll">
<!-- 左侧导航区域可配合layui已有的垂直导航 -->
<ul class="layui-nav layui-nav-tree" lay-filter="test">
<li class="layui-nav-item layui-nav-itemed">
<a class="" href="{:url('admin/Admin/edit')}">账号信息</a>
</li>
<li class="layui-nav-item layui-nav-itemed">
<a class="" href="{:url('Admin/password')}">密码管理</a>
</li>
</ul>
</div>
</div>

View File

@@ -31,7 +31,7 @@
<div class="layui-col-md4 layui-col-md-offset4">
<div class="login">
<div class="title">
超微H5应用
{:get_system_config('site_name')}
</div>
<div>