新建项目
This commit is contained in:
commit
22f0de6b86
33
.gitignore
vendored
Normal file
33
.gitignore
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
HELP.md
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
134
pom.xml
Normal file
134
pom.xml
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
|
<version>2.4.2</version>
|
||||||
|
<relativePath/> <!-- lookup parent from repository -->
|
||||||
|
</parent>
|
||||||
|
<groupId>com.tenlion</groupId>
|
||||||
|
<artifactId>twoduty</artifactId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
<name>twoduty</name>
|
||||||
|
<description>沧州两个责任</description>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<java.version>1.8</java.version>
|
||||||
|
<spring.version>5.1.4.RELEASE</spring.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<!--二维码start-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.zxing</groupId>
|
||||||
|
<artifactId>core</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.zxing</groupId>
|
||||||
|
<artifactId>javase</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
</dependency>
|
||||||
|
<!--二维码end-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mybatis.spring.boot</groupId>
|
||||||
|
<artifactId>mybatis-spring-boot-starter</artifactId>
|
||||||
|
<version>2.1.4</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>druid-spring-boot-starter</artifactId>
|
||||||
|
<version>1.1.9</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>mysql</groupId>
|
||||||
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- wgink start -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>ink.wgink</groupId>
|
||||||
|
<artifactId>service-group</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ink.wgink</groupId>
|
||||||
|
<artifactId>service-position</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ink.wgink</groupId>
|
||||||
|
<artifactId>service-role</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ink.wgink</groupId>
|
||||||
|
<artifactId>login-base</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>ink.wgink</groupId>
|
||||||
|
<artifactId>basic-app</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baidu.aip</groupId>
|
||||||
|
<artifactId>java-sdk</artifactId>
|
||||||
|
<version>4.8.0</version>
|
||||||
|
</dependency>
|
||||||
|
<!-- wgink end -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>fastjson</artifactId>
|
||||||
|
<version>1.2.72</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<version>2.1.2.RELEASE</version>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<excludes>
|
||||||
|
<exclude>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
</exclude>
|
||||||
|
</excludes>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
19
src/main/java/com/tenlion/twoduty/TwoDutyApplication.java
Normal file
19
src/main/java/com/tenlion/twoduty/TwoDutyApplication.java
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
package com.tenlion.twoduty;
|
||||||
|
|
||||||
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
||||||
|
|
||||||
|
@EnableSwagger2
|
||||||
|
@SpringBootApplication(scanBasePackages = {"com", "ink.wgink"})
|
||||||
|
@MapperScan({"cn.com.**.dao", "ink.wgink.**.dao"})
|
||||||
|
@EnableScheduling
|
||||||
|
public class TwoDutyApplication {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(TwoDutyApplication.class, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
1
src/main/resources/banner.txt
Normal file
1
src/main/resources/banner.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
banner
|
17
src/main/resources/mybatis/mybatis-config.xml
Normal file
17
src/main/resources/mybatis/mybatis-config.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||||
|
<configuration>
|
||||||
|
<settings>
|
||||||
|
<setting name="cacheEnabled" value="true"/>
|
||||||
|
</settings>
|
||||||
|
|
||||||
|
<typeAliases>
|
||||||
|
<typeAlias type="java.util.Map" alias="map"/>
|
||||||
|
<typeAlias type="java.util.List" alias="list"/>
|
||||||
|
</typeAliases>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
|
||||||
|
</plugins>
|
||||||
|
|
||||||
|
</configuration>
|
39
src/main/resources/static/default.html
Normal file
39
src/main/resources/static/default.html
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<base href="/twoduty/">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||||
|
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="LAY-app" class="layui-fluid">
|
||||||
|
<div class="layui-row layui-col-space15"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript" src="assets/js/vue.min.js"></script>
|
||||||
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
|
<script>
|
||||||
|
layui.config({
|
||||||
|
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||||
|
}).extend({
|
||||||
|
index: 'lib/index' //主入口模块
|
||||||
|
}).use(['index', 'animate-numbers'], function() {
|
||||||
|
var $ = layui.$;
|
||||||
|
new Vue({
|
||||||
|
el: '#LAY-app',
|
||||||
|
data: {},
|
||||||
|
methods: {},
|
||||||
|
mounted: function() {
|
||||||
|
var self = this;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
28
src/main/resources/static/error/403.html
Normal file
28
src/main/resources/static/error/403.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<base href="/projectmanage/">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, appversion-scalable=0">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="layadmin-tips">
|
||||||
|
<i class="layui-icon" face></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
权限不足
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">4</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">3</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
28
src/main/resources/static/error/404.html
Normal file
28
src/main/resources/static/error/404.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<base href="/projectmanage/">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, appversion-scalable=0">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="layadmin-tips">
|
||||||
|
<i class="layui-icon" face></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
无法访问
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">4</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">4</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
28
src/main/resources/static/error/500.html
Normal file
28
src/main/resources/static/error/500.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<base href="/projectmanage/">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, appversion-scalable=0">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="layadmin-tips">
|
||||||
|
<i class="layui-icon" face></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
系统错误
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">4</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">5</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
236
src/main/resources/templates/index.html
Normal file
236
src/main/resources/templates/index.html
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<head>
|
||||||
|
<base href="/twoduty/">
|
||||||
|
<title th:text="${title}"></title>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||||
|
<link rel="icon" type="image/ico" href="assets/favicon.ico"/>
|
||||||
|
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
</head>
|
||||||
|
<body class="layui-layout-body">
|
||||||
|
<div id="LAY_app">
|
||||||
|
<div class="layui-layout layui-layout-admin">
|
||||||
|
<div class="layui-header">
|
||||||
|
<!-- 头部区域 -->
|
||||||
|
<ul class="layui-nav layui-layout-left">
|
||||||
|
<li class="layui-nav-item layadmin-flexible" lay-unselect>
|
||||||
|
<a href="javascript:void(0);" layadmin-event="flexible" title="侧边伸缩">
|
||||||
|
<i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="layui-nav-item layui-hide-xs" lay-unselect>
|
||||||
|
<a th:href="${oauthServer}" title="前台">
|
||||||
|
<i class="layui-icon layui-icon-website"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="layui-nav-item" lay-unselect>
|
||||||
|
<a href="javascript:void(0);" layadmin-event="refresh" title="刷新">
|
||||||
|
<i class="layui-icon layui-icon-refresh-3"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">
|
||||||
|
<li class="layui-nav-item layui-hide-xs" lay-unselect>
|
||||||
|
<a href="javascript:void(0);" layadmin-event="theme">
|
||||||
|
<i class="layui-icon layui-icon-theme"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="layui-nav-item layui-hide-xs" lay-unselect>
|
||||||
|
<a href="javascript:void(0);" layadmin-event="note">
|
||||||
|
<i class="layui-icon layui-icon-note"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="layui-nav-item layui-hide-xs" lay-unselect>
|
||||||
|
<a href="javascript:void(0);" layadmin-event="fullscreen">
|
||||||
|
<i class="layui-icon layui-icon-screen-full"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="layui-nav-item" lay-unselect>
|
||||||
|
<a href="javascript:void(0);">
|
||||||
|
<cite th:text="${userUsername}"></cite>
|
||||||
|
</a>
|
||||||
|
<dl class="layui-nav-child">
|
||||||
|
<dd><a id="LAY-changePassword" lay-href="javascript:void(0);">修改密码</a></dd>
|
||||||
|
<hr>
|
||||||
|
<dd id="LAY-logout" style="text-align: center;"><a href="javascript:void(0);">退出</a></dd>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="layui-nav-item layui-hide-xs" lay-unselect>
|
||||||
|
<a href="javascript:void(0);" layadmin-event="about"><i class="layui-icon layui-icon-more-vertical"></i></a>
|
||||||
|
</li>
|
||||||
|
<li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-unselect>
|
||||||
|
<a href="javascript:void(0);" layadmin-event="more"><i class="layui-icon layui-icon-more-vertical"></i></a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 侧边菜单 -->
|
||||||
|
<div class="layui-side layui-side-menu">
|
||||||
|
<div class="layui-side-scroll" id="menuBox"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 页面标签 -->
|
||||||
|
<div class="layadmin-pagetabs" id="LAY_app_tabs">
|
||||||
|
<div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div>
|
||||||
|
<div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div>
|
||||||
|
<div class="layui-icon layadmin-tabs-control layui-icon-down">
|
||||||
|
<ul class="layui-nav layadmin-tabs-select" lay-filter="layadmin-pagetabs-nav">
|
||||||
|
<li class="layui-nav-item" lay-unselect>
|
||||||
|
<a href="javascript:void(0);"></a>
|
||||||
|
<dl class="layui-nav-child layui-anim-fadein">
|
||||||
|
<dd layadmin-event="closeThisTabs"><a href="javascript:void(0);">关闭当前标签页</a></dd>
|
||||||
|
<dd layadmin-event="closeOtherTabs"><a href="javascript:void(0);">关闭其它标签页</a></dd>
|
||||||
|
<dd layadmin-event="closeAllTabs"><a href="javascript:void(0);">关闭全部标签页</a></dd>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs">
|
||||||
|
<ul class="layui-tab-title" id="LAY_app_tabsheader">
|
||||||
|
<li lay-id="default.html" lay-attr="default.html" class="layui-this"><i class="layui-icon layui-icon-home"></i></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 主体内容 -->
|
||||||
|
<div class="layui-body" id="LAY_app_body">
|
||||||
|
<div class="layadmin-tabsbody-item layui-show">
|
||||||
|
<iframe id="defaultIFrame" frameborder="0" class="layadmin-iframe"></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 辅助元素,一般用于移动设备下遮罩 -->
|
||||||
|
<div class="layadmin-body-shade" layadmin-event="shade"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script id="menuTemplate" type="text/html">
|
||||||
|
<div class="layui-logo">
|
||||||
|
<span th:text="${title}"></span>
|
||||||
|
</div>
|
||||||
|
<ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
|
||||||
|
{{# for(var i = 0, menu1; menu1 = d[i++];) { }}
|
||||||
|
<li data-name="component" class="layui-nav-item">
|
||||||
|
{{# if(menu1.subMenus.length > 0) { }}
|
||||||
|
<a href="javascript:void(0);" lay-tips="{{menu1.menuName}}" lay-direction="2">
|
||||||
|
<span class="layui-icon">
|
||||||
|
<i class="{{menu1.menuIcon}}"></i>
|
||||||
|
</span>
|
||||||
|
<cite>{{menu1.menuName}}</cite>
|
||||||
|
</a>
|
||||||
|
{{# } else { }}
|
||||||
|
<a href="javascript:void(0);" lay-tips="{{menu1.menuName}}" lay-href="{{menu1.routePrefix}}{{menu1.menuUrl}}" lay-open-type="{{menu1.openType}}" lay-direction="2">
|
||||||
|
<span class="layui-icon">
|
||||||
|
<i class="{{menu1.menuIcon}}"></i>
|
||||||
|
</span>
|
||||||
|
<cite>{{menu1.menuName}}</cite>
|
||||||
|
</a>
|
||||||
|
{{# } }}
|
||||||
|
{{# if(menu1.subMenus.length > 0) { }}
|
||||||
|
<dl class="layui-nav-child">
|
||||||
|
{{# for(var j = 0, menu2; menu2 = menu1.subMenus[j++];) { }}
|
||||||
|
<dd data-name="grid">
|
||||||
|
{{# if(menu2.subMenus.length > 0) { }}
|
||||||
|
<a href="javascript:void(0);">
|
||||||
|
<span class="layui-icon">
|
||||||
|
<i class="{{menu2.menuIcon}}"></i>
|
||||||
|
</span>
|
||||||
|
<cite>{{menu2.menuName}}</cite>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
{{# } else { }}
|
||||||
|
<a href="javascript:void(0);" lay-href="{{menu2.routePrefix}}{{menu2.menuUrl}}" lay-open-type="{{menu2.openType}}">
|
||||||
|
<span class="layui-icon">
|
||||||
|
<i class="{{menu2.menuIcon}}"></i>
|
||||||
|
</span>
|
||||||
|
<cite>{{menu2.menuName}}</cite>
|
||||||
|
</a>
|
||||||
|
{{# } }}
|
||||||
|
{{# if(menu2.subMenus.length > 0) { }}
|
||||||
|
<dl class="layui-nav-child">
|
||||||
|
{{# for(var k = 0, menu3; menu3 = menu2.subMenus[k++];) { }}
|
||||||
|
<dd data-name="list">
|
||||||
|
<a href="javascript:void(0)" lay-href="{{menu3.routePrefix}}{{menu3.menuUrl}}" lay-open-type="{{menu3.openType}}">{{menu3.menuName}}</a>
|
||||||
|
</dd>
|
||||||
|
{{# } }}
|
||||||
|
</dl>
|
||||||
|
{{# } }}
|
||||||
|
</dd>
|
||||||
|
{{# } }}
|
||||||
|
</dl>
|
||||||
|
{{# } }}
|
||||||
|
</li>
|
||||||
|
{{# } }}
|
||||||
|
</ul>
|
||||||
|
</script>
|
||||||
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
|
<script>
|
||||||
|
layui.config({
|
||||||
|
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||||
|
}).extend({
|
||||||
|
index: 'lib/index' //主入口模块
|
||||||
|
}).use(['index', 'laytpl', 'restajax', 'datamessage', 'dialog'], function() {
|
||||||
|
var $ = layui.$;
|
||||||
|
var layer = layui.layer;
|
||||||
|
var laytpl = layui.laytpl;
|
||||||
|
window.dialog = layui.dialog;
|
||||||
|
window.restAjax = layui.restajax;
|
||||||
|
window.dataMessage = layui.datamessage;
|
||||||
|
|
||||||
|
// 初始化菜单
|
||||||
|
function initMenus() {
|
||||||
|
restAjax.get(restAjax.path('api/menu/listmenuofmine', []), {}, null, function(code, data) {
|
||||||
|
laytpl(document.getElementById('menuTemplate').innerHTML).render(data, function(html){
|
||||||
|
document.getElementById('menuBox').innerHTML = html;
|
||||||
|
});
|
||||||
|
layui.element.init();
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
initMenus();
|
||||||
|
|
||||||
|
function changePassword() {
|
||||||
|
top.dialog.open({
|
||||||
|
url: top.restAjax.path('route/user/updatepassword', []),
|
||||||
|
title: '修改密码',
|
||||||
|
width: '400px',
|
||||||
|
height: '290px',
|
||||||
|
onClose: function() {}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkPasswordStatus() {
|
||||||
|
top.restAjax.get(top.restAjax.path('api/user/getpasswordstatus', []), {}, null, function(code, data) {
|
||||||
|
if(data.data == 'change') {
|
||||||
|
changePassword();
|
||||||
|
} else if(data.data == 'remind') {
|
||||||
|
layer.open({
|
||||||
|
auto: ['100px', '80px'],
|
||||||
|
offset: 'rb'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.message(data.msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
checkPasswordStatus();
|
||||||
|
|
||||||
|
$('#LAY-changePassword').on('click', function() {
|
||||||
|
changePassword()
|
||||||
|
});
|
||||||
|
$('#defaultIFrame').attr('src', 'default.html');
|
||||||
|
$('#LAY-logout').on('click', function() {
|
||||||
|
top.dialog.confirm('确认退出?', function() {
|
||||||
|
window.location.href = 'logout';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,13 @@
|
|||||||
|
package com.tenlion.twoduty;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
@SpringBootTest
|
||||||
|
class TwodutyApplicationTests {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void contextLoads() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user