页面
diff --git a/src/main/resources/templates/home/console.html b/src/main/resources/templates/home/console.html
new file mode 100755
index 0000000..027897c
--- /dev/null
+++ b/src/main/resources/templates/home/console.html
@@ -0,0 +1,71 @@
+<div class="layui-row layui-col-space15">
+ <div class="layui-col-xs6 layui-col-md3">
+ <div class="layui-card">
+ <div class="layui-card-header">
+ 访问量<span class="layui-badge layui-bg-blue pull-right">周</span>
+ </div>
+ <div class="layui-card-body">
+ <p class="lay-big-font">9,999,666</p>
+ <p>总计访问量<span class="pull-right">88万 <i class="layui-icon layui-icon-flag"></i></span></p>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-xs6 layui-col-md3">
+ <div class="layui-card">
+ <div class="layui-card-header">
+ 下载<span class="layui-badge layui-bg-black pull-right">月</span>
+ </div>
+ <div class="layui-card-body">
+ <p class="lay-big-font">33,555</p>
+ <p>新下载<span class="pull-right">10% <i class="layui-icon layui-icon-download-circle"></i></span></p>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-xs6 layui-col-md3">
+ <div class="layui-card">
+ <div class="layui-card-header">
+ Start<span class="layui-badge layui-bg-green pull-right">周</span>
+ </div>
+ <div class="layui-card-body">
+ <p class="lay-big-font">999,666</p>
+ <p>总Start数<span class="pull-right">88万 <i class="layui-icon layui-icon-rate"></i></span></p>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-xs6 layui-col-md3">
+ <div class="layui-card">
+ <div class="layui-card-header">
+ 活跃用户<span class="layui-badge layui-bg-orange pull-right">月</span>
+ </div>
+ <div class="layui-card-body">
+ <p class="lay-big-font">66,666</p>
+ <p>最近一个月<span class="pull-right">15% <i class="layui-icon layui-icon-user"></i></span></p>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+
+
+
+<script>
+ layui.use(['carousel', 'element'], function () {
+ var carousel = layui.carousel;
+ var element = layui.element;
+ var device = layui.device;
+
+ layui.link('/static/custom/css/console.css');
+
+ // 渲染轮播
+ carousel.render({
+ elem: '.layui-carousel',
+ width: '100%',
+ height: '60px',
+ arrow: 'none',
+ autoplay: true,
+ trigger: device.ios || device.android ? 'click' : 'hover',
+ anim: 'fade'
+ });
+ });
+</script>
diff --git a/src/main/resources/templates/home/message.html b/src/main/resources/templates/home/message.html
new file mode 100755
index 0000000..71a097b
--- /dev/null
+++ b/src/main/resources/templates/home/message.html
@@ -0,0 +1,92 @@
+<div id="message-view" class="layui-card-body layui-tab layui-tab-brief" style="padding: 5px 0;margin: 0;">
+ <ul class="layui-tab-title" style="text-align: center;">
+ <li class="layui-this">通知(5)</li>
+ <li>私信(12)</li>
+ <li>待办(3)</li>
+ </ul>
+ <div class="layui-tab-content" style="padding: 5px 0;">
+ <!-- tab1 -->
+ <div class="layui-tab-item message-list layui-show">
+ <!-- 实际项目请使用后台数据循环出来 -->
+ <a class="message-list-item" href="javascript:;">
+ <img class="message-item-icon" th:src="@{/static/assets/images/message.png}">
+ <div class="message-item-right">
+ <h2 class="message-item-title">你收到了14份新周报</h2>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ <a class="message-list-item" href="javascript:;">
+ <img class="message-item-icon" th:src="@{/static/assets/images/message.png}">
+ <div class="message-item-right">
+ <h2 class="message-item-title">你收到了14份新周报</h2>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ <a class="message-list-item" href="javascript:;">
+ <img class="message-item-icon" th:src="@{/static/assets/images/message.png}">
+ <div class="message-item-right">
+ <h2 class="message-item-title">你收到了14份新周报</h2>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ </div>
+ <!-- tab2 -->
+ <div class="layui-tab-item">
+ <a class="message-list-item" href="javascript:;">
+ <img class="message-item-icon" th:src="@{/static/assets/images/head.png}">
+ <div class="message-item-right">
+ <h2 class="message-item-title">xx评论了你</h2>
+ <p class="message-item-text">哈哈哈哈哈哈</p>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ <a class="message-list-item" href="javascript:;">
+ <img class="message-item-icon" th:src="@{/static/assets/images/head.png}">
+ <div class="message-item-right">
+ <h2 class="message-item-title">xx评论了你</h2>
+ <p class="message-item-text">哈哈哈哈哈哈</p>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ <a class="message-list-item" href="javascript:;">
+ <img class="message-item-icon" th:src="@{/static/assets/images/head.png}">
+ <div class="message-item-right">
+ <h2 class="message-item-title">xx评论了你</h2>
+ <p class="message-item-text">哈哈哈哈哈哈</p>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ </div>
+ <!-- tab3 -->
+ <div class="layui-tab-item">
+ <a class="message-list-item" href="javascript:;">
+ <div class="message-item-right">
+ <span class="layui-badge pull-right">待完成</span>
+ <h2 class="message-item-title">你收到了14份新周报</h2>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ <a class="message-list-item" href="javascript:;">
+ <div class="message-item-right">
+ <span class="layui-badge layui-bg-gray pull-right">已完成</span>
+ <h2 class="message-item-title">你收到了14份新周报</h2>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ <a class="message-list-item" href="javascript:;">
+ <div class="message-item-right">
+ <span class="layui-badge layui-bg-gray pull-right">已完成</span>
+ <h2 class="message-item-title">你收到了14份新周报</h2>
+ <p class="message-item-text">10个月前</p>
+ </div>
+ </a>
+ </div>
+ </div>
+</div>
+
+<script>
+ layui.use('element', function () {
+ var element = layui.element;
+
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/home/password.html b/src/main/resources/templates/home/password.html
new file mode 100755
index 0000000..931eb25
--- /dev/null
+++ b/src/main/resources/templates/home/password.html
@@ -0,0 +1,58 @@
+<div class="layui-card-header">
+ <h2 class="header-title">修改密码</h2>
+</div>
+<div class="layui-card-body" style="padding: 30px;">
+ <form class="layui-form" id="form-psw">
+ <div class="layui-form-item">
+ <input type="password" name="oldPsw" required lay-verify="required" class="layui-input"
+ placeholder="请输入原密码" lay-verType="tips">
+ </div>
+ <div class="layui-form-item">
+ <input type="password" name="newPsw" required lay-verify="required|psw" class="layui-input"
+ placeholder="请输入新密码" lay-verType="tips">
+ </div>
+ <div class="layui-form-item">
+ <input type="password" name="rePsw" required lay-verify="required|repsw" class="layui-input"
+ placeholder="再次输入新密码" lay-verType="tips">
+ </div>
+ <div class="layui-form-item">
+ <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="submit-psw">确认修改</button>
+ </div>
+ </form>
+</div>
+
+<script>
+ layui.use(['form', 'admin', 'layer'], function () {
+ var form = layui.form;
+ var admin = layui.admin;
+ var layer = layui.layer;
+
+ // 监听提交
+ form.on('submit(submit-psw)', function (data) {
+ layer.load(2);
+ $.post('/system/user/updatePsw', data.field, function (data) {
+ if (data.code == 200) {
+ layer.closeAll('loading');
+ admin.closePopupRight();
+ layer.msg(data.msg, {icon: 1, time: 1000}, function () {
+ location.replace('logout');
+ });
+ } else {
+ layer.closeAll('loading');
+ layer.msg(data.msg, {icon: 2});
+ }
+ });
+ return false;
+ });
+
+ // 添加表单验证方法
+ form.verify({
+ psw: [/^[\S]{5,12}$/, '密码必须5到12位,且不能出现空格'],
+ repsw: function (t) {
+ if (t !== $('#form-psw input[name=newPsw]').val()) {
+ return '两次密码输入不一致';
+ }
+ }
+ });
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/home/theme.html b/src/main/resources/templates/home/theme.html
new file mode 100755
index 0000000..67cb12a
--- /dev/null
+++ b/src/main/resources/templates/home/theme.html
@@ -0,0 +1,37 @@
+<div class="layui-card-header">
+ <h2 class="header-title">多标签:</h2>
+ <div class="pull-right layui-form">
+ <input type="checkbox" lay-skin="switch" lay-text="ON|OFF" id="set-tab" lay-filter="set-tab" checked/>
+ </div>
+</div>
+
+<div class="layui-card-header"><h2 class="header-title">设置主题:</h2></div>
+<div class="layui-card-body layui-text">
+ <a href="/home/setTheme" class="layui-btn" style="background-color: #009688;">默认主题</a>
+ <a href="/home/setTheme?themeName=blue" class="layui-btn layui-btn-normal">蓝色主题</a>
+ <br><br><br>
+
+</div>
+
+<script>
+ layui.use(['form', 'index', 'admin'], function () {
+ var form = layui.form;
+ var index = layui.index;
+ var admin = layui.admin;
+
+ $('#set-tab').prop('checked', index.pageTabs);
+ form.render('checkbox');
+
+ form.on('switch(set-tab)', function (data) {
+ if (data.elem.checked) {
+ location.reload();
+ } else {
+ index.pageTabs = false;
+ index.checkPageTabs();
+ admin.refresh();
+ admin.closePopupRight();
+ }
+ });
+
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index 95f2dee..011e8f8 100755
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -65,6 +65,7 @@
<div class="layui-side">
<div class="layui-side-scroll">
<ul class="layui-nav layui-nav-tree" style="margin-top: 15px;">
+
<li class="layui-nav-item" th:each="menu : ${menus}">
<a th:lay-href="${menu.menuUrl}"><i th:class="'layui-icon '+${menu.menuIcon}"></i> <cite>[[${menu.menuName}]]</cite></a>
<dl class="layui-nav-child" th:if="${menu.subMenus.size()} > 0">
diff --git a/src/main/resources/templates/system/operator/index.html b/src/main/resources/templates/system/operator/index.html
new file mode 100644
index 0000000..d191a52
--- /dev/null
+++ b/src/main/resources/templates/system/operator/index.html
@@ -0,0 +1,157 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">管理员维护</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#!_operator_index">系统中心</a>
+ <a><cite>管理员维护</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div class="layui-form toolbar">
+ 搜索:
+ <select id="user-search-key">
+ <option value="">-请选择-</option>
+ <option value="opercode">账号</option>
+ <option value="opername">用户名</option>
+ <option value="mobile">手机号</option>
+ </select> 
+ <input id="user-search-value" class="layui-input search-input" type="text" placeholder="输入关键字"/> 
+ <button id="user-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button>
+ <button id="user-btn-add" class="layui-btn icon-btn" lay-tips="新用户密码为123456"><i
+ class="layui-icon"></i>添加
+ </button>
+ </div>
+
+ <table class="layui-table" id="user-table" lay-filter="user-table"></table>
+ </div>
+</div>
+
+
+
+
+<!-- 表格操作列 -->
+<script type="text/html" id="user-table-bar">
+ <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
+ <a class="layui-btn layui-btn-xs" lay-event="reset">重置密码</a>
+</script>
+
+<!-- 表格状态列 -->
+<script type="text/html" id="user-tpl-state">
+ <input type="checkbox" lay-filter="user-tpl-state" value="{{d.userId}}" lay-skin="switch" lay-text="正常|锁定"
+ {{d.state==0?'checked':''}}/>
+</script>
+<script>
+ layui.use(['form', 'table','layer', 'util', 'admin', 'element'], function () {
+ var form = layui.form;
+ var table = layui.table;
+ var layer = layui.layer;
+ var util = layui.util;
+ var admin = layui.admin;
+ var element = layui.element;
+
+ form.render('select');
+
+ // 渲染表格
+ table.render({
+ elem: '#user-table',
+ url: '/system/user/list',
+ page: true,
+ cols: [
+ [
+ {type: 'numbers'},
+ {field: 'username', sort: true, title: '账号'},
+ {field: 'nickName', sort: true, title: '用户名'},
+ {field: 'phone', sort: true, title: '手机号'},
+ {field: 'sex', sort: true, title: '性别'},
+ {
+ sort: true, templet: function (d) {
+ return util.toDateString(d.createTime);
+ }, title: '创建时间'
+ },
+ {field: 'state', sort: true, templet: '#user-tpl-state', title: '状态'},
+ {align: 'center', toolbar: '#user-table-bar', title: '操作'}
+ ]
+ ]
+ });
+
+ // 添加按钮点击事件
+ $('#user-btn-add').click(function () {
+ showEditModel();
+ });
+
+
+ // 工具条点击事件
+ table.on('tool(user-table)', function (obj) {
+ console.log(obj);
+ var data = obj.data;
+ var layEvent = obj.event;
+
+ if (layEvent === 'edit') { // 修改
+ showEditModel(data);
+ } else if (layEvent === 'reset') { // 重置密码
+ layer.confirm('确定重置此用户的密码吗?', function (i) {
+ layer.close(i);
+ layer.load(2);
+ admin.go('/system/user/restPsw', {
+ userId: obj.data.userId
+ }, function (data) {
+ console.log(data.code);
+ layer.closeAll('loading');
+ if (data.code == 200) {
+ layer.msg(data.msg, {icon: 1});
+ }else if(data.code == 401){
+ layer.msg(data.msg, {icon: 2, time: 1500}, function () {location.replace('/login'); }, 1000);
+ return;
+ }
+ else {
+ layer.msg(data.msg, {icon: 2});
+ }
+ });
+ });
+ }
+ });
+
+ // 显示表单弹窗
+ var showEditModel = function (data) {
+ var title = data ? '修改用户' : '添加用户';
+ admin.putTempData('t_user', data);
+ admin.popupCenter({
+ title: title,
+ path: '/system/user/editForm',
+ finish: function () {
+ table.reload('user-table', {});
+ }
+ });
+ };
+
+ // 搜索按钮点击事件
+ $('#user-btn-search').click(function () {
+ var key = $('#user-search-key').val();
+ var value = $('#user-search-value').val();
+ table.reload('user-table', {where: {searchKey: key, searchValue: value}});
+ });
+
+ // 修改user状态
+ form.on('switch(user-tpl-state)', function (obj) {
+ layer.load(2);
+ admin.go('/system/user/updateState', {
+ userId: obj.elem.value,
+ state: obj.elem.checked ? 0 : 1
+ }, function (data) {
+ layer.closeAll('loading');
+ if (data.code == 200) {
+ layer.msg(data.msg, {icon: 1});
+ //table.reload('table-user', {});
+ }else if(data.code == 401){
+ layer.msg(data.msg, {icon: 2, time: 1500}, function () {location.replace('/login'); }, 1000);
+ return;
+ } else {
+ layer.msg(data.msg, {icon: 2});
+ $(obj.elem).prop('checked', !obj.elem.checked);
+ form.render('checkbox');
+ }
+ });
+ });
+
+ });
+</script>
diff --git a/src/main/resources/templates/system/role/index.html b/src/main/resources/templates/system/role/index.html
new file mode 100644
index 0000000..df1c415
--- /dev/null
+++ b/src/main/resources/templates/system/role/index.html
@@ -0,0 +1,12 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">角色管理</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#!_operator_index">系统中心</a>
+ <a><cite>角色管理</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <table class="layui-table" id="user-table" lay-filter="user-table"></table>
+ </div>
+</div>
\ No newline at end of file