Browse Source

修复问题

1.页面展示图片路径错误问题
2.默认配置缺失问题
2.图片查询获取用户名失败问题
master
许孟阳 4 years ago
parent
commit
88e645a936
  1. 10
      java/src/main/java/vip/xumy/picture/ctrl/MyUserController.java
  2. 15
      java/src/main/java/vip/xumy/picture/ctrl/PictureController.java
  3. 2
      java/src/main/java/vip/xumy/picture/service/PictureService.java
  4. 41
      java/src/main/resources/application.properties
  5. 1
      vue/src/components/main/NavHeader.vue
  6. 6
      vue/src/store/mutations.js
  7. 3
      vue/src/store/state.js
  8. 4
      vue/src/views/biz/picture.vue
  9. 2
      vue/src/views/main/login.vue

10
java/src/main/java/vip/xumy/picture/ctrl/MyUserController.java

@ -38,7 +38,7 @@ public class MyUserController { @@ -38,7 +38,7 @@ public class MyUserController {
@GetMapping
public PageResponse<User> save(BasePageParam param, HttpServletRequest request) {
User user = (User) request.getSession().getAttribute(PublicController.KEY);
User user = getUser(request);
PageResponse<User> rsp = new PageResponse<>();
if (!"1".equals(user.getPermission())) {
rsp.setRows(new ArrayList<User>());
@ -64,4 +64,12 @@ public class MyUserController { @@ -64,4 +64,12 @@ public class MyUserController {
return AjaxResponse.successed();
}
public static User getUser(HttpServletRequest request) {
return (User)request.getSession().getAttribute(PublicController.KEY);
}
public static String getUserId(HttpServletRequest request) {
return getUser(request).getUserId();
}
}

15
java/src/main/java/vip/xumy/picture/ctrl/PictureController.java

@ -18,9 +18,6 @@ import org.springframework.web.multipart.MultipartFile; @@ -18,9 +18,6 @@ import org.springframework.web.multipart.MultipartFile;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import vip.xumy.admin.utils.LoginUtil;
import vip.xumy.admin.verify.controller.PublicController;
import vip.xumy.admin.verify.pojo.User;
import vip.xumy.core.exception.CoreException;
import vip.xumy.core.pojo.com.AjaxResponse;
import vip.xumy.core.pojo.com.PageResponse;
@ -42,13 +39,13 @@ public class PictureController { @@ -42,13 +39,13 @@ public class PictureController {
@GetMapping
public PageResponse<Picture> list(Picture example, HttpServletRequest request) {
User user = (User) request.getSession().getAttribute(PublicController.KEY);
PageResponse<Picture> rsp = new PageResponse<>();
if (!"1".equals(user.getPermission())) {
String userId = MyUserController.getUserId(request);
if (userId == null) {
rsp.setRows(new ArrayList<Picture>());
rsp.setTotal(0L);
}else {
example.setUser(user.getUserId());
example.setUser(userId);
Page<Picture> pages = PageHelper.startPage(example.getPage(), example.getSize());
List<Picture> list = pictureService.list(example);
rsp.setRows(list);
@ -59,7 +56,11 @@ public class PictureController { @@ -59,7 +56,11 @@ public class PictureController {
@PostMapping
public AjaxResponse save(MultipartFile file, HttpServletRequest request) throws CoreException {
pictureService.save(file, LoginUtil.getUserId(request));
String userId = MyUserController.getUserId(request);
if(userId == null) {
return AjaxResponse.failed("请先登录");
}
pictureService.save(file, userId);
return new AjaxResponse(true, "上传成功");
}

2
java/src/main/java/vip/xumy/picture/service/PictureService.java

@ -71,7 +71,7 @@ public class PictureService { @@ -71,7 +71,7 @@ public class PictureService {
File file = new File(rootPath + path);
File parent = file.getParentFile();
if (!parent.exists()) {
file.mkdirs();
parent.mkdirs();
}
try (FileOutputStream fos = new FileOutputStream(file)) {
fos.write(data);

41
java/src/main/resources/application.properties

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
service.package.type=jar
# 定位模板的目录(配合ResourceHandler使用,控制页面访问)
spring.mvc.view.prefix=/private/
spring.mvc.view.suffix=.html
logging.config:log4j2.xml
spring.main.banner-mode=off
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.initialSize=3
spring.datasource.minIdle=3
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.keepAlive=true
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=false
mybatis.mapper-locations= classpath*:mapper/**/*.xml
#mybatis.configuration.log-impl= org.apache.ibatis.logging.stdout.StdOutImpl
#开启mybatis驼峰映射
mybatis.configuration.map-underscore-to-camel-case=true
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
pagehelper.returnPageInfo=check
server.port=80
server.servlet.context-path=/
version.num=1.0.0
timeout.login.token=1000000
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=100MB

1
vue/src/components/main/NavHeader.vue

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
@click="clickGroup(item)">
{{ item.name }}
</el-menu-item>
<sub>v{{ $store.state.version }}</sub>
</el-menu>
<el-radio-group :size="$store.state.size" v-model="active">
<el-radio-button v-for="item in menus" :label="item.id">

6
vue/src/store/mutations.js

@ -8,7 +8,8 @@ const urls = { @@ -8,7 +8,8 @@ const urls = {
info: 'public/info',
dict: 'public/get/dict',
logout: 'public/logout',
conf: 'public/conf'
conf: 'public/conf',
version: 'public/version'
}
function stop() {
@ -121,6 +122,9 @@ export default { @@ -121,6 +122,9 @@ export default {
http.get(urls.conf).then(rsp => {
state.conf = rsp;
});
http.get(urls.version).then(rsp => {
state.version = rsp;
});
},
getDictMap(state, codes, callBack) {

3
vue/src/store/state.js

@ -10,5 +10,6 @@ export default { @@ -10,5 +10,6 @@ export default {
size: 'small',
dict: {},
handlers: {},
conf: {}
conf: {},
version: ''
}

4
vue/src/views/biz/picture.vue

@ -13,9 +13,9 @@ @@ -13,9 +13,9 @@
<el-row class="image-list" :style="{ height: $store.state.sizes.pTableHei + 'px' }">
<el-col v-for="(item, index) in result.rows" :xs="8" :sm="7" :md="6" :xl="4">
<el-result icon="success" :title="item.remark ? item.remark : (index + 1).toString()"
:subTitle="item.time + ' ' + item.space + ' ' + item.remark">
:subTitle="item.time + ' ' + item.space + ' ' + (item.remark ? item.remark : '')">
<template slot="icon">
<el-image :src="'http//'+ $store.state.conf.host + '/' + item.path">
<el-image :src="'http://'+ $store.state.conf.host + '/' + item.path">
</el-image>
</template>
<template slot="extra">

2
vue/src/views/main/login.vue

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
'margin-top': $store.state.sizes.loginTop,'margin-left':$store.state.sizes.loginLeft}">
<el-form ref="login" class="login-form" :model="user" :rules="rules" hide-required-asterisk label-width="30px">
<div class="login-title">
图床
图床<sub>v{{ $store.state.version }}</sub>
</div>
<br><br>
<el-form-item prop="userId">

Loading…
Cancel
Save