Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
guns-vip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
guns-vip
Commits
fc72457a
Commit
fc72457a
authored
Jul 10, 2017
by
huangpu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
17f052e9
d44f0999
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
111 additions
and
19 deletions
+111
-19
README.md
+10
-12
pom.xml
+7
-1
src/main/java/com/stylefeng/guns/common/exception/BizExceptionEnum.java
+1
-0
src/main/java/com/stylefeng/guns/config/FastjsonConfig.java
+0
-1
src/main/java/com/stylefeng/guns/config/properties/BeetlProperties.java
+13
-0
src/main/java/com/stylefeng/guns/modular/system/service/impl/DictServiceImpl.java
+4
-0
src/main/resources/application.yml
+1
-0
src/main/webapp/WEB-INF/view/common/_tab.html
+3
-3
src/main/webapp/WEB-INF/view/common/tags/select.tag
+1
-1
src/main/webapp/static/css/style.css
+6
-0
src/main/webapp/static/js/contabs.js
+3
-0
src/main/webapp/static/js/hplus.js
+17
-1
上线发布流程.md
+45
-0
No files found.
README.md
View file @
fc72457a
# Guns V2.
2
# Guns V2.
3
新版Guns基于SpringBoot全面升级,完美整合springmvc + shiro + mybatis-plus + beetl!
在不用写xml配置(V1.0)的基础上进一步简化项目配置,让您更专注于业务开发!抛弃传统spring xml的配置方式,利用springboot + javabean方式配置spring,极大简化了pom.xml配置和spring配置.
...
...
@@ -13,17 +13,15 @@ Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模
## 技术讨论
如果对项目有任何疑问或者建议,欢迎加入Guns技术交流群:254550081(加之前请先看一遍readme文档)
## V2.2更新日志
1.
菜单树由最多二级菜单拓展为三级菜单
2.
用户管理页面新增部门树,方便查询部门人员信息
3.
完善系统的session机制,增加session失效时间的跳转
4.
完善Guns代码生成功能,新增Dao和Service,并且所有的生成都是可选的
5.
删除信息增加提示框
6.
删除父菜单可以删除所有子菜单
7.
新增对页面的js验证,所用框架为bootstrap validator
8.
完善druid监控,新增Web应用监控,URI监控,session监控
9.
修复新增含有0值的字典,查询会出现多条的bug
10.
修复没有角色的用户登录报错的bug
## V2.3更新日志
1.
增加多数据源支持
2.
增加富文本编辑器支持
3.
数据库字段增加注释
4.
数据字典不单单是查询功能,可以动态绑定到业务中当做枚举值使用
5.
上传图片增加进度条显示
6.
增加上线发布流程文档(上线发布流程.md)
7.
解决页面点击查询,左侧菜单高亮会消失bug
8.
解决个人信息无法提交的bug
### 如果不喜欢SpringBoot?
如果您不喜欢用SpringBoot,或者您是一个spring初学者,您可以切换到
[
Guns V1.0(点击这里)
](
http://git.oschina.net/naan1993/guns/tree/v1.0/
)
分支,
...
...
pom.xml
View file @
fc72457a
...
...
@@ -23,7 +23,8 @@
<project.reporting.outputEncoding>
UTF-8
</project.reporting.outputEncoding>
<java.version>
1.8
</java.version>
<shiro.version>
1.4.0
</shiro.version>
<mybatisplus-spring-boot-starter.version>
1.0.3
</mybatisplus-spring-boot-starter.version>
<mybatisplus-spring-boot-starter.version>
1.0.4
</mybatisplus-spring-boot-starter.version>
<mybatis-plus.version>
2.1-gamma
</mybatis-plus.version>
<fastjson.version>
1.2.31
</fastjson.version>
<commons.io.version>
2.5
</commons.io.version>
<velocity.version>
1.7
</velocity.version>
...
...
@@ -109,6 +110,11 @@
<!--其他依赖-->
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus
</artifactId>
<version>
${mybatis-plus.version}
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
${fastjson.version}
</version>
...
...
src/main/java/com/stylefeng/guns/common/exception/BizExceptionEnum.java
View file @
fc72457a
...
...
@@ -46,6 +46,7 @@ public enum BizExceptionEnum {
/**
* 错误的请求
*/
DICT_MUST_BE_NUMBER
(
400
,
"字典的值必须为数字"
),
REQUEST_NULL
(
400
,
"请求有错误"
),
SESSION_TIMEOUT
(
400
,
"会话超时"
),
SERVER_ERROR
(
500
,
"服务器异常"
);
...
...
src/main/java/com/stylefeng/guns/config/FastjsonConfig.java
View file @
fc72457a
...
...
@@ -22,7 +22,6 @@ public class FastjsonConfig {
FastJsonConfig
fastJsonConfig
=
new
FastJsonConfig
();
fastJsonConfig
.
setSerializerFeatures
(
SerializerFeature
.
PrettyFormat
,
SerializerFeature
.
WriteClassName
,
SerializerFeature
.
WriteMapNullValue
);
fastJsonConfig
.
setDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
...
...
src/main/java/com/stylefeng/guns/config/properties/BeetlProperties.java
View file @
fc72457a
...
...
@@ -27,6 +27,8 @@ public class BeetlProperties {
private
String
resourceTagsuffix
;
private
String
resourceAutoCheck
;
@Value
(
"${spring.mvc.view.prefix}"
)
private
String
prefix
;
...
...
@@ -49,6 +51,9 @@ public class BeetlProperties {
if
(
ToolUtil
.
isNotEmpty
(
resourceTagsuffix
)){
properties
.
setProperty
(
"RESOURCE.tagSuffix"
,
resourceTagsuffix
);
}
if
(
ToolUtil
.
isNotEmpty
(
resourceAutoCheck
)){
properties
.
setProperty
(
"RESOURCE.autoCheck"
,
resourceAutoCheck
);
}
return
properties
;
}
...
...
@@ -87,4 +92,12 @@ public class BeetlProperties {
public
void
setResourceTagsuffix
(
String
resourceTagsuffix
)
{
this
.
resourceTagsuffix
=
resourceTagsuffix
;
}
public
String
getResourceAutoCheck
()
{
return
resourceAutoCheck
;
}
public
void
setResourceAutoCheck
(
String
resourceAutoCheck
)
{
this
.
resourceAutoCheck
=
resourceAutoCheck
;
}
}
src/main/java/com/stylefeng/guns/modular/system/service/impl/DictServiceImpl.java
View file @
fc72457a
...
...
@@ -52,7 +52,11 @@ public class DictServiceImpl implements IDictService {
Dict
itemDict
=
new
Dict
();
itemDict
.
setPid
(
dict
.
getId
());
itemDict
.
setName
(
name
);
try
{
itemDict
.
setNum
(
Integer
.
valueOf
(
num
));
}
catch
(
NumberFormatException
e
){
throw
new
BussinessException
(
BizExceptionEnum
.
DICT_MUST_BE_NUMBER
);
}
this
.
dictMapper
.
insert
(
itemDict
);
}
}
...
...
src/main/resources/application.yml
View file @
fc72457a
...
...
@@ -22,6 +22,7 @@ beetl:
delimiter-statement-end
:
null
resource-tagroot
:
common/tags
#自定义标签文件Root目录和后缀
resource-tagsuffix
:
tag
resource-auto-check
:
true
#是否检测文件变化,开发用true合适,但线上要改为false
################### spring配置 ###################
...
...
src/main/webapp/WEB-INF/view/common/_tab.html
View file @
fc72457a
...
...
@@ -33,7 +33,7 @@
@for(title in titles){
@if(tool.isEmpty(title.children)){
<li>
<a
class=
"J_menuItem"
href=
"${ctxPath}${title.url}"
>
<a
class=
"J_menuItem"
href=
"${ctxPath}${title.url}"
name=
"tabMenuItem"
>
<i
class=
"fa ${title.icon}"
></i>
<span
class=
"nav-label"
>
${title.name}
</span>
</a>
...
...
@@ -49,7 +49,7 @@
@for(subTitle in title.children){
@if(tool.isEmpty(subTitle.children)){
<li>
<a
class=
"J_menuItem"
href=
"${ctxPath}${subTitle.url}"
>
${subTitle.name}
</a>
<a
class=
"J_menuItem"
href=
"${ctxPath}${subTitle.url}"
name=
"tabMenuItem"
>
${subTitle.name}
</a>
</li>
@}else{
<li>
...
...
@@ -57,7 +57,7 @@
<ul
class=
"nav nav-third-level"
>
@for(thirdTitle in subTitle.children){
<li>
<a
class=
"J_menuItem"
href=
"${ctxPath}${thirdTitle.url}"
>
${thirdTitle.name}
</a>
<a
class=
"J_menuItem"
href=
"${ctxPath}${thirdTitle.url}"
name=
"tabMenuItem"
>
${thirdTitle.name}
</a>
</li>
@}
</ul>
...
...
src/main/webapp/WEB-INF/view/common/tags/select.tag
View file @
fc72457a
...
...
@@ -7,7 +7,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">${name}</label>
<div class="col-sm-9">
<select class="form-control" id="${id}">
<select class="form-control" id="${id}"
name="${id}"
>
${tagBody!}
</select>
@if(isNotEmpty(hidden)){
...
...
src/main/webapp/static/css/style.css
View file @
fc72457a
...
...
@@ -7890,3 +7890,8 @@ body.skin-3 {
font-size
:
12px
}
}
.tab-menu-selected
{
background-color
:
#293846
!important
;
color
:
white
!important
;
}
\ No newline at end of file
src/main/webapp/static/js/contabs.js
View file @
fc72457a
...
...
@@ -169,6 +169,7 @@ $(function () {
if
(
$
(
this
).
parents
(
'.J_menuTab'
).
next
(
'.J_menuTab'
).
size
())
{
var
activeId
=
$
(
this
).
parents
(
'.J_menuTab'
).
next
(
'.J_menuTab:eq(0)'
).
data
(
'id'
);
highLightMenuItem
(
activeId
);
//高亮对应的tab菜单
$
(
this
).
parents
(
'.J_menuTab'
).
next
(
'.J_menuTab:eq(0)'
).
addClass
(
'active'
);
$
(
'.J_mainContent .J_iframe'
).
each
(
function
()
{
...
...
@@ -218,6 +219,7 @@ $(function () {
return
false
;
}
});
highLightMenuItem
(
activeId
);
//高亮对应的tab菜单
}
}
// 当前元素不处于活动状态
...
...
@@ -260,6 +262,7 @@ $(function () {
function
activeTab
()
{
if
(
!
$
(
this
).
hasClass
(
'active'
))
{
var
currentId
=
$
(
this
).
data
(
'id'
);
highLightMenuItem
(
currentId
);
//高亮对应的tab菜单
// 显示tab对应的内容区
$
(
'.J_mainContent .J_iframe'
).
each
(
function
()
{
if
(
$
(
this
).
data
(
'id'
)
==
currentId
)
{
...
...
src/main/webapp/static/js/hplus.js
View file @
fc72457a
...
...
@@ -7,7 +7,6 @@ $(document).ready(function () {
// MetsiMenu
$
(
'#side-menu'
).
metisMenu
();
// 打开右侧边栏
$
(
'.right-sidebar-toggle'
).
click
(
function
()
{
$
(
'#right-sidebar'
).
toggleClass
(
'sidebar-open'
);
...
...
@@ -95,6 +94,12 @@ $(document).ready(function () {
}
});
//点击菜单的时候高亮显示菜单
$
(
"a[name='tabMenuItem']"
).
click
(
function
(){
clearTabMenuItem
();
$
(
this
).
addClass
(
"tab-menu-selected"
);
});
$
(
'.nav-close'
).
click
(
NavToggle
);
//ios浏览器兼容性处理
...
...
@@ -111,6 +116,17 @@ $(window).bind("load resize", function () {
}
});
function
clearTabMenuItem
(){
$
(
"a[name='tabMenuItem']"
).
each
(
function
(){
$
(
this
).
removeClass
(
"tab-menu-selected"
);
});
}
function
highLightMenuItem
(
hrefVal
){
clearTabMenuItem
();
$
(
"a[href='"
+
hrefVal
+
"']"
).
addClass
(
"tab-menu-selected"
);
}
function
NavToggle
()
{
$
(
'.navbar-minimalize'
).
trigger
(
'click'
);
}
...
...
上线发布流程.md
0 → 100644
View file @
fc72457a
# 上线发布流程
# 上线发布流程
项目如果要发布到生产环境,步骤如下:
## 修改application.yml相关配置
1.
开启验证码验证:
```
guns.kaptcha-open=true
```
2.
开启session超时验证:
```
guns.session-open=true
```
并根据需求配置这两个参数的大小:session-invalidate-time 和 session-validation-interval.
3.
服务器端口根据上线需要进行修改:
```
server.port=xxxx
```
4.
beetl文件检测要改为false:
```
beetl.resource-auto-check=false
```
5.
激活的相关的profile
```
spring.profiles.active=produce
```
6.
关闭开发者工具
```
spring.devtools.restart.enabled=false
```
## 打包
guns支持多种启动方式(详情见readme),根据启动方式下面介绍两种打包方式:
1.
打成jar包启动,执行maven命令:
```
clean package -Dmaven.test.skip=true
```
然后放到linxu中执行后台运行命令
```
nohup java -jar xxx.jar >out.txt 2>&1 &
```
2.
打成war包启动,首先修改pom中packaging改为war,然后执行1的打包命令,直接放入服务器tomcat的webapp文件夹即可
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment