diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..4db8c31e9ffd74dbae9bd012d9b750efb661a3f3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,29 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Java template
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+.idea
+*.iml
+
diff --git a/database/v1.2/oss.sql b/database/v1.2/oss.sql
new file mode 100644
index 0000000000000000000000000000000000000000..d2d2c74672042490ee866df80e6b4ecf9a29d68f
--- /dev/null
+++ b/database/v1.2/oss.sql
@@ -0,0 +1,131 @@
+PRAGMA foreign_keys=OFF;
+BEGIN TRANSACTION;
+CREATE TABLE IF NOT EXISTS "oss_sys_user" (
+
+ "id" text NOT NULL,
+
+ "username" TEXT,
+
+ "password" TEXT,
+
+ "create_time" TEXT,
+
+ "intro" TEXT,
+
+ PRIMARY KEY ("id")
+
+);
+CREATE TABLE IF NOT EXISTS "oss_information" (
+
+ "id" text NOT NULL,
+
+ "root" TEXT,
+
+ "invoking_root" TEXT,
+
+ "nginx_log_path" TEXT,
+
+ "create_time" TEXT,
+
+ "modified_time" TEXT,
+
+ PRIMARY KEY ("id")
+
+);
+CREATE TABLE IF NOT EXISTS "oss_material_info" (
+
+ "id" text NOT NULL,
+
+ "original_name" TEXT,
+
+ "store_path" TEXT,
+
+ "url" TEXT,
+
+ "user_id" text,
+
+ "type" TEXT,
+
+ "byte_str" TEXT,
+
+ "len" integer,
+
+ "create_time" TEXT,
+
+ "last_modified_time" TEXT NOT NULL,
+
+ "app_id" text,
+
+ "from_ip" TEXT,
+
+ PRIMARY KEY ("id", "last_modified_time")
+
+);
+CREATE TABLE IF NOT EXISTS "oss_developer" (
+
+ "id" text NOT NULL,
+
+ "name" TEXT,
+
+ "appid" text,
+
+ "appsecret" TEXT,
+
+ "email" TEXT,
+
+ "create_time" TEXT,
+
+ "tel" TEXT,
+
+ "intro" TEXT,
+
+ "status" TEXT,
+
+ "use_space" integer,
+
+ "use_space_str" TEXT,
+
+ PRIMARY KEY ("id")
+
+);
+CREATE TABLE IF NOT EXISTS "oss_app_info" (
+
+ "id" text NOT NULL,
+
+ "name" TEXT,
+
+ "code" TEXT,
+
+ "create_time" TEXT,
+
+ "intro" TEXT,
+
+ "dev_id" text,
+
+ "use_space" integer,
+
+ "use_space_str" TEXT,
+
+ PRIMARY KEY ("id")
+
+);
+CREATE TABLE IF NOT EXISTS "oss_statistic_day" (
+
+ "id" text NOT NULL,
+
+ "create_time" TEXT,
+
+ "files" integer,
+
+ "use_spaces" integer,
+
+ "cur_date" TEXT,
+
+ "modified_time" TEXT,
+
+ "user_id" text,
+
+ PRIMARY KEY ("id")
+
+);
+--COMMIT;
diff --git a/oss-server/pom.xml b/oss-server/pom.xml
index f4f0a8c606fd982f601cc89028916e53376c6598..37020792a7c6dc8208e2d34302c2e3aaaa8a0854 100644
--- a/oss-server/pom.xml
+++ b/oss-server/pom.xml
@@ -85,7 +85,10 @@
commons-codec
1.11
-
+
+ org.apache.commons
+ commons-lang3
+
@@ -146,11 +149,18 @@
druid
1.1.9
-
+
com.oracle
ojdbc6
- 10.2.0.1.0
+ 11.2.0.3
+ test
+
+
+
+ org.xerial
+ sqlite-jdbc
+ 3.30.1
@@ -184,6 +194,11 @@
netty-all
4.1.25.Final
+
+
+ org.projectlombok
+ lombok
+
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/OssServerApplication.java b/oss-server/src/main/java/com/xiaominfo/oss/OssServerApplication.java
index 739901c7c00dbdc59130c8d810f8c509366ba81b..de2c0f71c2dda0905bd877b88c55aead982bcdb7 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/OssServerApplication.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/OssServerApplication.java
@@ -17,7 +17,6 @@ import java.net.UnknownHostException;
@SpringBootApplication
@EnableScheduling
-@ComponentScan(basePackages = {"com.xiaominfo.oss"})
public class OssServerApplication {
private final static Log log = LogFactory.get();
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/api/MaterialApplication.java b/oss-server/src/main/java/com/xiaominfo/oss/api/MaterialApplication.java
index 820c9a5fbb005b4967e9efb064f576faf9cdc052..89f49d1f3f35517a6ad20a4a588860d0e6e0b0da 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/api/MaterialApplication.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/api/MaterialApplication.java
@@ -20,6 +20,7 @@ import com.xiaominfo.oss.domain.FileBinaryResponse;
import com.xiaominfo.oss.exception.AssemblerException;
import com.xiaominfo.oss.exception.ErrorCable;
import com.xiaominfo.oss.exception.ErrorConstant;
+import com.xiaominfo.oss.exception.OssException;
import com.xiaominfo.oss.module.entity.OSSMaterialInfoResult;
import com.xiaominfo.oss.module.model.OSSAppInfo;
import com.xiaominfo.oss.module.model.OSSDeveloper;
@@ -28,6 +29,7 @@ import com.xiaominfo.oss.module.model.OSSMaterialInfo;
import com.xiaominfo.oss.service.*;
import io.netty.util.internal.StringUtil;
import org.apache.commons.codec.net.URLCodec;
+import org.apache.commons.io.FileUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
@@ -108,9 +110,6 @@ public class MaterialApplication extends RootApis {
dirStr.append("/").append(pro);
File file = new File(dirStr.toString());
createDirectoryQuietly(file);
- file.setExecutable(false);
- file.setWritable(false);
- file.setReadOnly();
successResultCode(restfulMessage);
} catch (Exception e) {
restfulMessage = wrapperException(e);
@@ -118,6 +117,16 @@ public class MaterialApplication extends RootApis {
return restfulMessage;
}
+ @GetMapping("/delete")
+ public RestfulMessage deleteFileOrDirectory(
+ @RequestParam(value = "path", required = true) String filePath) {
+ try {
+ return RestfulMessage.success(FileUtils.deleteQuietly(new File(filePath)));
+ } catch (Exception e) {
+ throw new OssException(e.getMessage());
+ }
+ }
+
/***
* byte 字节码上传文件
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/api/OSSApplication.java b/oss-server/src/main/java/com/xiaominfo/oss/api/OSSApplication.java
index 6f2a5485118fed9315adef31a4e739e0ba3d51f9..dd4f81575d847a7ee019f525d35f0551354027ac 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/api/OSSApplication.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/api/OSSApplication.java
@@ -136,6 +136,7 @@ public class OSSApplication {
, FileUtils.byteToString(FileUtils.getFileSize(file)));
fileInfo.setType(FileUtils.getFileType(file));
fileInfo.setMediaType(FileUtils.getMediaType(file));
+ fileInfo.setPath(file.getAbsolutePath());
if (file.isDirectory()){
String dirPath=dirFile.getAbsolutePath().substring(start);
dirPath=FileUtils.transforSysSpec(dirPath);
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/api/RootApis.java b/oss-server/src/main/java/com/xiaominfo/oss/api/RootApis.java
index c3b3ce97a6272c6b40c15b79b6bcde0f777c4c7f..729af8932fbb1d87b498b6c7842e70e92044006a 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/api/RootApis.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/api/RootApis.java
@@ -15,12 +15,14 @@ import com.xiaominfo.oss.common.pojo.RestfulMessage;
import com.xiaominfo.oss.exception.AssemblerException;
import com.xiaominfo.oss.exception.ErrorCable;
import com.xiaominfo.oss.exception.ErrorConstant;
+import org.apache.commons.io.FileUtils;
import org.joda.time.DateTime;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import java.io.File;
+import java.io.IOException;
/***
*
@@ -152,24 +154,12 @@ public class RootApis {
/***
* 创建文件夹
* @param file
+ * @deprecated 不能设置只读
*/
public void createDirectoryQuietly(File file) {
try {
- if (file != null) {
- if (!file.exists()) {
- if (!file.mkdirs()) {
- throw new RuntimeException(file.getName() + " is invalid,can't be create directory");
- }
- }
- }
- } finally {
- if (file != null) {
- file.setWritable(false);
- file.setExecutable(false);
- file.setReadOnly();
- }
-
- }
+ FileUtils.forceMkdir(file);
+ } catch (Exception ignored) {}
}
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/common/pojo/RestfulMessage.java b/oss-server/src/main/java/com/xiaominfo/oss/common/pojo/RestfulMessage.java
index c6263ab62366ec0f5f0fc17abff9a10be33d66fa..9a75a27127246e9e814a634f178781ed024f258a 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/common/pojo/RestfulMessage.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/common/pojo/RestfulMessage.java
@@ -7,6 +7,9 @@
package com.xiaominfo.oss.common.pojo;
+import com.xiaominfo.oss.exception.ErrorConstant;
+import lombok.Data;
+
import java.io.Serializable;
/***
@@ -15,6 +18,7 @@ import java.io.Serializable;
* @author xiaoymin@foxmail.com
* 2018/03/19 14:17
*/
+@Data
public class RestfulMessage implements Serializable {
private Integer code;
@@ -44,4 +48,23 @@ public class RestfulMessage implements Serializable {
public void setData(Object data) {
this.data = data;
}
+
+ public static RestfulMessage success(Object data) {
+ return get(ErrorConstant.SUCCESS, data, "success");
+ }
+
+ /**
+ *
+ * @param code {@link ErrorConstant}
+ * @param data
+ * @param message
+ * @return
+ */
+ public static RestfulMessage get(Integer code, Object data, String message) {
+ RestfulMessage res = new RestfulMessage();
+ res.code = code;
+ res.data = data;
+ res.message = message;
+ return res;
+ }
}
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/config/FreeMarkerConfig.java b/oss-server/src/main/java/com/xiaominfo/oss/config/FreeMarkerConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..08dd4982b658bf1e85a7a3ffcc47a9bd031ce270
--- /dev/null
+++ b/oss-server/src/main/java/com/xiaominfo/oss/config/FreeMarkerConfig.java
@@ -0,0 +1,47 @@
+package com.xiaominfo.oss.config;
+
+import freemarker.template.TemplateModelException;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+
+import javax.annotation.PostConstruct;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ *
+ * oss-server-parent: freemarker全局配置
+ *
+ *
+ * @author ixyxj xieyangxuejun@gmail.com
+ * @date 2020-01-18 21:41:19
+ * @since oss-server-parent 1
+ */
+@Configuration
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@PropertySource(value="classpath:application.properties",encoding = "utf-8")
+public class FreeMarkerConfig {
+ @Autowired private freemarker.template.Configuration configuration;
+
+
+ @Value(value = "${website.name}")
+ private String websiteName;
+ @Value(value = "${material.navbarName}")
+ private String navbarName;
+
+ @PostConstruct
+ public void setGlobalConfig() throws TemplateModelException {
+ Map map = new HashMap<>();
+ map.put("navbarName", navbarName);
+ map.put("websiteName", websiteName);
+ configuration.setSharedVaribles(map);
+ }
+
+}
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/config/GlobalExceptionHandler.java b/oss-server/src/main/java/com/xiaominfo/oss/config/GlobalExceptionHandler.java
index 369c2bf3d3027380420c778c6c14134ae9f69c86..831b804b005fe93dd04396b31a7bdbe86bc4bac8 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/config/GlobalExceptionHandler.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/config/GlobalExceptionHandler.java
@@ -13,6 +13,7 @@ import cn.hutool.log.LogFactory;
import com.xiaominfo.oss.api.RootApis;
import com.xiaominfo.oss.common.pojo.RestfulMessage;
import com.xiaominfo.oss.exception.ErrorConstant;
+import com.xiaominfo.oss.exception.OssException;
import com.xiaominfo.oss.exception.UserNotLoginException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@@ -52,4 +53,10 @@ public class GlobalExceptionHandler extends RootApis{
}
return r;
}
+ @ExceptionHandler(value= OssException.class)
+ @ResponseBody
+ public RestfulMessage handleOssException(OssException ex){
+ log.error(ex);
+ return wrapperException(ex);
+ }
}
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/domain/FileInfo.java b/oss-server/src/main/java/com/xiaominfo/oss/domain/FileInfo.java
index ee29b9a8e8c4b0b43331c67ba3c706ee0bee81d8..ad770b313afb9d01851896e00a694598c1acef2a 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/domain/FileInfo.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/domain/FileInfo.java
@@ -7,6 +7,8 @@
package com.xiaominfo.oss.domain;
+import java.io.File;
+
/***
*
* @since:oss-server 1.0
@@ -19,6 +21,8 @@ public class FileInfo {
private String name;
+ private String path;
+
private String type;
private String lastModifiedTime;
@@ -90,4 +94,12 @@ public class FileInfo {
this.lastModifiedTime = lastModifiedTime;
this.size = size;
}
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ public String getPath() {
+ return path;
+ }
}
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/exception/OssException.java b/oss-server/src/main/java/com/xiaominfo/oss/exception/OssException.java
new file mode 100644
index 0000000000000000000000000000000000000000..7125f3afabf3c6ead867b2abd62d67b328d93248
--- /dev/null
+++ b/oss-server/src/main/java/com/xiaominfo/oss/exception/OssException.java
@@ -0,0 +1,64 @@
+package com.xiaominfo.oss.exception;
+
+import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.NoSuchMessageException;
+import org.springframework.context.i18n.LocaleContextHolder;
+
+import java.io.Serializable;
+
+/**
+ *
+ * oss-server-parent:
+ *
+ *
+ * @author ixyxj xieyangxuejun@gmail.com
+ * @date 2020-01-19 18:18:08
+ * @since oss-server-parent
+ */
+@Data
+public class OssException extends RuntimeException implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String msgCode;
+ private Object[] msgArgs;
+ private String msg;
+
+ public OssException(String msg) {
+ this.msg = msg;
+ }
+
+ public OssException(String msg, Throwable e) {
+ super(e);
+ this.msg = msg;
+ }
+
+ public OssException(Throwable cause, String messageCode, String message) {
+ super(cause);
+ this.msgCode = messageCode;
+ this.msg = message;
+ }
+
+ public OssException(String messageCode, Object... messageArgs) {
+ this.msgCode = messageCode;
+ this.msgArgs = messageArgs;
+ }
+ public OssException(int messageCode, String messageArgs) {
+ this.msgCode = messageCode + "";
+ this.msg = messageArgs;
+ }
+ public OssException(String messageCode, Throwable cause, Object... messageArgs) {
+ super(cause);
+ this.msgCode = messageCode;
+ this.msgArgs = messageArgs;
+ }
+
+ @Override
+ public String getMessage() {
+ if (this.msg != null) {
+ return this.msg;
+ }
+ return super.getMessage();
+ }
+}
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/module/model/OSSStatisticDay.java b/oss-server/src/main/java/com/xiaominfo/oss/module/model/OSSStatisticDay.java
index 89cddc58f6c0d7d4591cf4b2b31f6044d07b55ad..73a96fa1e783bb45432dc255aa194098b107bd0e 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/module/model/OSSStatisticDay.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/module/model/OSSStatisticDay.java
@@ -42,6 +42,7 @@ public class OSSStatisticDay extends Model {
@TableField(value = "use_spaces")
private Long useSpaces;
+ @TableField(exist = false)
private Integer files;
diff --git a/oss-server/src/main/java/com/xiaominfo/oss/utils/FileUtils.java b/oss-server/src/main/java/com/xiaominfo/oss/utils/FileUtils.java
index 47343082331e6fe9337a14d772235327501e7cb8..7e6029ecd6cadb2b11c6ea19dc955080db61aa4a 100644
--- a/oss-server/src/main/java/com/xiaominfo/oss/utils/FileUtils.java
+++ b/oss-server/src/main/java/com/xiaominfo/oss/utils/FileUtils.java
@@ -10,6 +10,8 @@ package com.xiaominfo.oss.utils;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
+import org.apache.commons.io.FilenameUtils;
+import org.springframework.boot.web.server.MimeMappings;
import java.io.File;
import java.math.BigDecimal;
@@ -110,20 +112,24 @@ public class FileUtils {
* @return
*/
public static String getFileType(File file){
- String type="文件";
if (file.isDirectory()){
- type="文件夹";
- }else{
- String fileName=file.getName();
- //判断是否有后缀
- if (StrUtil.isNotBlank(fileName)){
- if (fileName.contains(".")){
- String suffix=fileName.substring(fileName.lastIndexOf(".")+1);
- type=suffix.toUpperCase()+" 文件";
- }
- }
+ return "文件夹";
}
- return type;
+ return MimeMappings.DEFAULT.get(FilenameUtils.getExtension(file.getAbsolutePath()));
+// String type="文件";
+// if (file.isDirectory()){
+// type="文件夹";
+// }else{
+// String fileName=file.getName();
+// //判断是否有后缀
+// if (StrUtil.isNotBlank(fileName)){
+// if (fileName.contains(".")){
+// String suffix=fileName.substring(fileName.lastIndexOf(".")+1);
+// type=suffix.toUpperCase()+" 文件";
+// }
+// }
+// }
+// return type;
}
public static String getMediaType(File file){
diff --git a/oss-server/src/main/resources/application.properties b/oss-server/src/main/resources/application.properties
index 1603ceec4cac4b12c40e0538bcdcc54f9c0913ac..d73d3907febcfdcc38431831ff25b7303001b9db 100644
--- a/oss-server/src/main/resources/application.properties
+++ b/oss-server/src/main/resources/application.properties
@@ -1,72 +1,84 @@
# ----------------------------------------------------------------------------------------------------------------#
-# oss-server #
+# oss-server \u57FA\u7840\u914D\u7F6E #
# ----------------------------------------------------------------------------------------------------------------#
server.port=18000
spring.application.name=OSS Server Application v1.0
-#ļ˿
+website.name=1-OSS-Server\u5728\u7EBF\u5B58\u50A8\u7BA1\u7406\u7CFB\u7EDF
+#\u6587\u4EF6\u4F20\u8F93\u7AEF\u53E3
material.masterPort=18001
-#ļȺ
+#\u6587\u4EF6\u96C6\u7FA4\u914D\u7F6E
material.nodes=172.30.45.2:18001
-#زĴ洢· -- /β
+#\u7D20\u6750\u5B58\u50A8\u8DEF\u5F84 -- \u4EE5/\u7ED3\u5C3E
material.root=/home/material/
-#ز·Ŀ¼
+#\u7D20\u6750\u4E0B\u8F7D\u8DEF\u5F84\u6839\u76EE\u5F55
material.invokingRoot=http://192.168.0.7/
-#·ʽ:R(·+ļ),N(ļ)
+#\u8DEF\u5F84\u65B9\u5F0F:R(\u76F8\u5BF9\u8DEF\u5F84+\u6587\u4EF6\u540D),N(\u6587\u4EF6\u540D)
material.pathstyle=R
-## ϴļʽ,Сд
+## \u8FC7\u6EE4\u4E0A\u4F20\u6587\u4EF6\u683C\u5F0F,\u5927\u5C0F\u5199\u5FFD\u7565
material.excludeFileTypes=sh,jsp,php,exe,asp,dll
+## \u8BBE\u7F6E\u7BA1\u7406\u540E\u53F0\u540D\u79F0
+material.navbarName=1-OSS-Server\u5BF9\u8C61\u5B58\u50A8\u7BA1\u7406\u540E\u53F0
# ----------------------------------------------------------------------------------------------------------------#
-# spring jackson ʱ #
+# spring jackson \u65F6\u95F4\u914D\u7F6E #
# ----------------------------------------------------------------------------------------------------------------#
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.joda-date-time-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
# ----------------------------------------------------------------------------------------------------------------#
-# oss ־ #
+# oss \u65E5\u5FD7\u914D\u7F6E #
# ----------------------------------------------------------------------------------------------------------------#
logging.config=classpath:logback-oss.xml
# ----------------------------------------------------------------------------------------------------------------#
-# multipart ϴ #
+# multipart \u4E0A\u4F20\u914D\u7F6E #
# ----------------------------------------------------------------------------------------------------------------#
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=1024MB
spring.servlet.multipart.max-request-size=1024MB
# ----------------------------------------------------------------------------------------------------------------#
-# freemarkerģ #
+# freemarker\u6A21\u677F\u6846\u67B6\u914D\u7F6E #
# ----------------------------------------------------------------------------------------------------------------#
spring.freemarker.suffix=.html
spring.freemarker.enabled=true
spring.freemarker.cache=false
-#ڽǰ˱ָ
+#\u7528\u4E8E\u89E3\u51B3\u524D\u7AEF\u62A5\u7A7A\u6307\u9488\u95EE\u9898
spring.freemarker.settings.classic_compatible=true
-#ȡ·
+#\u83B7\u53D6\u6839\u8DEF\u5F84
spring.freemarker.request-context-attribute=request
-#֤û
+spring.freemarker.charset=utf-8
+#\u9A8C\u8BC1\u7528\u6237\u540D \u5BC6\u7801
oss.security.userName=admin
oss.security.password=adminA123
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
-spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
-spring.datasource.url=jdbc:oracle:thin:@172.30.45.2:1521:z45db2
-#spring.datasource.url=jdbc:sqlite:classpath:resource:\\db\\datashare.db
-spring.datasource.username=111
-spring.datasource.password=111
-#spring.datasource.platform=sqlite
-spring.datasource.min-idle=3
-spring.datasource.initial-size=3
-spring.datasource.max-active=20
-spring.datasource.max-wait=60000
-spring.datasource.time-between-eviction-runs-millis=600000
-spring.datasource.min-evictable-idle-time-millis=30000
-spring.datasource.validation-query=select 1 from dual
-spring.datasource.test-while-idle=true
-spring.datasource.test-on-borrow=false
-spring.datasource.test-on-return=false
-spring.datasource.pool-prepared-statements=true
-spring.datasource.max-pool-prepared-statement-per-connection-size=20
+#spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
+spring.datasource.platform=sqlite
+spring.datasource.driver-class-name=org.sqlite.JDBC
+#spring.datasource.url=jdbc:oracle:thin:@172.30.45.2:1521:z45db2
+#spring.datasource.url=jdbc:sqlite:classpath:resource:\\db\\oss.db
+spring.datasource.url=jdbc:sqlite:/Users/xyxj/Programs/Sourcetree/oss-server/oss-server/src/main/resources/db/oss.db
+spring.datasource.hikari.minimum-idle=5
+spring.datasource.hikari.maximum-pool-size=100
+spring.datasource.hikari.auto-commit=true
+spring.datasource.hikari.idle-timeout=60000
+spring.datasource.hikari.maxLifetime=60000
+spring.datasource.hikari.connection-timeout=5000
+#spring.datasource.username=111
+#spring.datasource.password=111
+#spring.datasource.hikari.min-idle=3
+#spring.datasource.initial-size=3
+#spring.datasource.max-active=20
+#spring.datasource.max-wait=60000
+#spring.datasource.time-between-eviction-runs-millis=600000
+#spring.datasource.min-evictable-idle-time-millis=30000
+#spring.datasource.validation-query=select 1 from dual
+#spring.datasource.test-while-idle=true
+#spring.datasource.test-on-borrow=false
+#spring.datasource.test-on-return=false
+#spring.datasource.pool-prepared-statements=true
+#spring.datasource.max-pool-prepared-statement-per-connection-size=20
#spring.datasource.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.datasource.filters=stat,wall,slf4j
-## mybatis-plus ļ
+## mybatis-plus \u914D\u7F6E\u6587\u4EF6
mybatis-plus.mapper-locations=classpath:/com/xiaominfo/oss/module/dao/mappings/*Mapper.xml
mybatis-plus.type-aliases-package=com.xiaominfo.oss.module.model
-## ־
-mybatis-plus.configuration.log-impl=com.xiaominfo.oss.extend.mybatis.MybatisStdOutImpl
+## \u65E5\u5FD7\u8F93\u51FA
+mybatis-plus.configuration.log-impl=com.xiaominfo.oss.extend.mybatis.MybatisStdOutImpl
\ No newline at end of file
diff --git a/oss-server/src/main/resources/db/oss.db b/oss-server/src/main/resources/db/oss.db
index 4f233efb30746d69529cd2c914e549a32684d94b..143de855dc8151d1af9f9ff083b94ed5cd2f0b0d 100644
Binary files a/oss-server/src/main/resources/db/oss.db and b/oss-server/src/main/resources/db/oss.db differ
diff --git a/oss-server/src/main/resources/templates/index.html b/oss-server/src/main/resources/templates/index.html
index e1691ad9a88a19757b70069d37748b0fcf2f9ab4..db4d49bcffe0833459df586394e7bcab2f1735e9 100644
--- a/oss-server/src/main/resources/templates/index.html
+++ b/oss-server/src/main/resources/templates/index.html
@@ -3,7 +3,7 @@
- OSS-Server在线存储管理系统
+ ${websiteName}
@@ -26,7 +26,7 @@
-
OSS-Server对象存储管理后台
+
${navbarName}
diff --git a/oss-server/src/main/resources/templates/list.html b/oss-server/src/main/resources/templates/list.html
index b3937dbf95ca695764804f15bd98decc90a0e142..1877c3f487c254b49539b92928ca0de65009b197 100644
--- a/oss-server/src/main/resources/templates/list.html
+++ b/oss-server/src/main/resources/templates/list.html
@@ -22,7 +22,7 @@
}
-
+
@@ -56,11 +56,12 @@
- 全选 |
+ |
文件名称 |
类型 |
最后修改时间 |
大小 |
+ 操作 |
@@ -71,6 +72,9 @@
${file.type} |
${file.lastModifiedTime} |
${file.size} |
+
+
+ |
#list>
@@ -251,8 +255,13 @@
$(".btn-danger").on("click",function (e) {
e.preventDefault();
- layer.confirm("确定删除该文件吗?",function () {
- layer.msg("尚未实现.")
+ layer.confirm("确定删除该文件吗?",function (index) {
+ console.log(e.target.id);
+ $.get('/oss/material/delete', {path: e.target.id}, function(res) {
+ console.log(res);
+ window.location.reload();
+ });
+ layer.close(index)
})
})
diff --git a/oss-server/src/main/resources/templates/login.html b/oss-server/src/main/resources/templates/login.html
index 98beedab233b1530607ef0652f9ff99b6a552548..b0ad4f717eff8263ed73f338bf695f8f30f07aac 100644
--- a/oss-server/src/main/resources/templates/login.html
+++ b/oss-server/src/main/resources/templates/login.html
@@ -24,10 +24,10 @@