|
|
@@ -1,474 +1,502 @@
|
|
|
-/**
|
|
|
- * Copyright © 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
|
|
- */
|
|
|
-package com.jeeplus.common.config;
|
|
|
-
|
|
|
-import java.io.*;
|
|
|
-import java.net.URLDecoder;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Properties;
|
|
|
-
|
|
|
-import com.jeeplus.common.utils.FileUtils;
|
|
|
-import com.jeeplus.core.web.Servlets;
|
|
|
-import com.jeeplus.modules.sys.security.SystemAuthorizingRealm;
|
|
|
-import com.jeeplus.modules.sys.utils.UserUtils;
|
|
|
-import org.apache.ibatis.io.Resources;
|
|
|
-import org.springframework.core.io.DefaultResourceLoader;
|
|
|
-
|
|
|
-import com.google.common.collect.Maps;
|
|
|
-import com.jeeplus.common.utils.PropertiesLoader;
|
|
|
-import com.jeeplus.common.utils.StringUtils;
|
|
|
-
|
|
|
-/**
|
|
|
- * 全局配置类
|
|
|
- *
|
|
|
- * @author jeeplus
|
|
|
- * @version 2017-06-25
|
|
|
- */
|
|
|
-public class Global {
|
|
|
-
|
|
|
- /**
|
|
|
- * 当前对象实例
|
|
|
- */
|
|
|
- private static Global global = new Global();
|
|
|
-
|
|
|
- /**
|
|
|
- * 保存全局属性值
|
|
|
- */
|
|
|
- private static Map<String, String> map = Maps.newHashMap();
|
|
|
-
|
|
|
- /**
|
|
|
- * 属性文件加载对象
|
|
|
- */
|
|
|
- private static PropertiesLoader loader = new PropertiesLoader("/properties/jeeplus.properties");
|
|
|
-
|
|
|
- /**
|
|
|
- * 显示/隐藏
|
|
|
- */
|
|
|
- public static final String SHOW = "1";
|
|
|
- public static final String HIDE = "0";
|
|
|
-
|
|
|
- /**
|
|
|
- * 是/否
|
|
|
- */
|
|
|
- public static final String YES = "1";
|
|
|
- public static final String NO = "0";
|
|
|
-
|
|
|
- /**
|
|
|
- * 对/错
|
|
|
- */
|
|
|
- public static final String TRUE = "true";
|
|
|
- public static final String FALSE = "false";
|
|
|
-
|
|
|
- /**
|
|
|
- * 编码格式
|
|
|
- */
|
|
|
- public static final String charset = "utf-8";
|
|
|
-
|
|
|
- /**
|
|
|
- * 上传文件到oss的基础虚拟路径
|
|
|
- */
|
|
|
- public static final String USERFILES_BASE_URL = "uploadfiles";
|
|
|
-
|
|
|
- /**
|
|
|
- * 上传文件到本地的基础虚拟路径
|
|
|
- */
|
|
|
- public static final String USERFILES_BASE_LOCALURL = "/uploadfiles/";
|
|
|
-
|
|
|
- /**
|
|
|
- * 共享文档物理存储地址
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getShareBaseDir() {
|
|
|
- String dir = Global.getUserfilesBaseDir() + Global.USERFILES_BASE_LOCALURL + "共享文档/";
|
|
|
- FileUtils.createDirectory(dir);
|
|
|
- return dir;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 共享文档网络访问地址
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getShareBaseUrl() {
|
|
|
- SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
- return Servlets.getRequest().getContextPath() + Global.USERFILES_BASE_LOCALURL + "/共享文档/";
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 我的文档物理存储地址
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getMyDocDir() {
|
|
|
- SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
- String dir = Global.getUserfilesBaseDir() + Global.USERFILES_BASE_LOCALURL + principal + "/我的文档/";
|
|
|
- FileUtils.createDirectory(dir);
|
|
|
- return dir;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 我的文档网络访问地址
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getMyDocUrl() {
|
|
|
- SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
- return Servlets.getRequest().getContextPath() + Global.USERFILES_BASE_LOCALURL + principal + "/我的文档/";
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 程序附件物理存储地址
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getAttachmentDir() {
|
|
|
- SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
- String dir = Global.getUserfilesBaseDir() + Global.USERFILES_BASE_LOCALURL + principal + "/";
|
|
|
- FileUtils.createDirectory(dir);
|
|
|
- return dir;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 程序附件网络访问地址
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getAttachmentUrl() {
|
|
|
-
|
|
|
- SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
- return Servlets.getRequest().getContextPath() + Global.USERFILES_BASE_LOCALURL + principal + "/";
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 绝对地址转换为网络地址
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String transDirToUrl(String dir) {
|
|
|
- return Servlets.getRequest().getContextPath() + "/" + dir.substring(Global.getUserfilesBaseDir().length());
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取当前对象实例
|
|
|
- */
|
|
|
- public static Global getInstance() {
|
|
|
- return global;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取配置
|
|
|
- */
|
|
|
- public static String getConfig(String key) {
|
|
|
- String value = map.get(key);
|
|
|
- if (value == null) {
|
|
|
- value = loader.getProperty(key);
|
|
|
- map.put(key, value != null ? value : StringUtils.EMPTY);
|
|
|
- }
|
|
|
- return value;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取管理端根路径
|
|
|
- */
|
|
|
- public static String getAdminPath() {
|
|
|
- return getConfig("adminPath");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取管理端根路径
|
|
|
- */
|
|
|
- public static String getDefaultTheme() {
|
|
|
- return getConfig("defaultTheme");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取前端根路径
|
|
|
- */
|
|
|
- public static String getFrontPath() {
|
|
|
- return getConfig("frontPath");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取URL后缀
|
|
|
- */
|
|
|
- public static String getUrlSuffix() {
|
|
|
- return getConfig("urlSuffix");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 253短信账号
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getSmsAccount() {
|
|
|
-
|
|
|
- return getConfig("sms.account");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 253短信密码
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getSmsPassword() {
|
|
|
- return getConfig("sms.password");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 253短信地址
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getSmsUrl() {
|
|
|
- return getConfig("sms.smsUrl");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 当前服务器路径
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getServicePath() {
|
|
|
- return getConfig("servicePath");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 支付域名
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getPayPath() {
|
|
|
- return getConfig("payPath");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getAliyunUrl() {
|
|
|
- return getConfig("aliyunUrl");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getAliDownloadUrl() {
|
|
|
- return getConfig("aliyunDownloadUrl");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getOSSUrl() {
|
|
|
- return getConfig("oSSUrl");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getEndpoint() {
|
|
|
- return getConfig("endpoint");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getAccessKeyId() {
|
|
|
- return getConfig("accessKeyId");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getAccessKeySecret() {
|
|
|
- return getConfig("accessKeySecret");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getBucketName() {
|
|
|
- return getConfig("bucketName");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 小程序appid
|
|
|
- */
|
|
|
- public static String getAppId() {
|
|
|
- return getConfig("appid");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getAppsecret() {
|
|
|
- return getConfig("appsecret");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 微信授权appid
|
|
|
- */
|
|
|
- public static String getWxAppId() {
|
|
|
- return getConfig("wxappid");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- */
|
|
|
- public static String getWxAppsecret() {
|
|
|
- return getConfig("wxappsecret");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * crmautodate
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getCrmAutoDate() {
|
|
|
- return getConfig("crmautodate");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 备案号
|
|
|
- */
|
|
|
- public static String getBeian() {
|
|
|
- return getConfig("beian");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 253短信签名
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getSmsSign() {
|
|
|
- String smsSign = getConfig("sms.smsSign");
|
|
|
- // *.properties文件中的中文默认以ISO-8859-1方式编码,因此需要对中文内容进行重新编码
|
|
|
- try {
|
|
|
- return URLDecoder.decode(smsSign, charset);
|
|
|
- } catch (UnsupportedEncodingException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return smsSign;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 未登录描述
|
|
|
- */
|
|
|
- public static String getNoLogin() {
|
|
|
- return getConfig("noLogin");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 是否是演示模式,演示模式下不能修改用户、角色、密码、菜单、授权
|
|
|
- */
|
|
|
- public static Boolean isDemoMode() {
|
|
|
- String dm = getConfig("demoMode");
|
|
|
- return "true".equals(dm) || "1".equals(dm);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 在修改系统用户和角色时是否同步到Activiti
|
|
|
- */
|
|
|
- public static Boolean isSynActivitiIndetity() {
|
|
|
- String dm = getConfig("activiti.isSynActivitiIndetity");
|
|
|
- return "true".equals(dm) || "1".equals(dm);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 页面获取常量
|
|
|
- */
|
|
|
- public static Object getConst(String field) {
|
|
|
- try {
|
|
|
- return Global.class.getField(field).get(null);
|
|
|
- } catch (Exception e) {
|
|
|
- // 异常代表无配置,这里什么也不做
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取上传文件的根目录
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getUserfilesBaseDir() {
|
|
|
- String dir = getConfig("userfiles.basedir");
|
|
|
- if (StringUtils.isBlank(dir)) {
|
|
|
- return Servlets.getRequest().getContextPath();
|
|
|
- }
|
|
|
- if (!dir.endsWith("/")) {
|
|
|
- dir += "/";
|
|
|
- }
|
|
|
-// System.out.println("userfiles.basedir: " + dir);
|
|
|
- return dir;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取工程路径
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String getProjectPath() {
|
|
|
- // 如果配置了工程路径,则直接返回,否则自动获取。
|
|
|
- String projectPath = Global.getConfig("projectPath");
|
|
|
- if (StringUtils.isNotBlank(projectPath)) {
|
|
|
- return projectPath;
|
|
|
- }
|
|
|
- try {
|
|
|
- File file = new DefaultResourceLoader().getResource("").getFile();
|
|
|
- if (file != null) {
|
|
|
- while (true) {
|
|
|
- File f = new File(file.getPath() + File.separator + "src" + File.separator + "main");
|
|
|
- if (f == null || f.exists()) {
|
|
|
- break;
|
|
|
- }
|
|
|
- if (file.getParentFile() != null) {
|
|
|
- file = file.getParentFile();
|
|
|
- } else {
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- projectPath = file.toString();
|
|
|
- }
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return projectPath;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 写入properties信息
|
|
|
- *
|
|
|
- * @param key 名称
|
|
|
- * @param value 值
|
|
|
- */
|
|
|
- public static void modifyConfig(String key, String value) {
|
|
|
- try {
|
|
|
- // 从输入流中读取属性列表(键和元素对)
|
|
|
- Properties prop = getProperties();
|
|
|
- prop.setProperty(key, value);
|
|
|
- String path = Global.class.getResource("/properties/jeeplus.properties").getPath();
|
|
|
- FileOutputStream outputFile = new FileOutputStream(path);
|
|
|
- prop.store(outputFile, "modify");
|
|
|
- outputFile.close();
|
|
|
- outputFile.flush();
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 返回 Properties
|
|
|
- *
|
|
|
- * @param
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static Properties getProperties() {
|
|
|
- Properties prop = new Properties();
|
|
|
- try {
|
|
|
- Reader reader = Resources.getResourceAsReader("/properties/jeeplus.properties");
|
|
|
- prop.load(reader);
|
|
|
- } catch (Exception e) {
|
|
|
- return null;
|
|
|
- }
|
|
|
- return prop;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-}
|
|
|
+/**
|
|
|
+ * Copyright © 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
|
|
|
+ */
|
|
|
+package com.jeeplus.common.config;
|
|
|
+
|
|
|
+import java.io.*;
|
|
|
+import java.net.URLDecoder;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Properties;
|
|
|
+
|
|
|
+import com.jeeplus.common.utils.FileUtils;
|
|
|
+import com.jeeplus.core.web.Servlets;
|
|
|
+import com.jeeplus.modules.sys.security.SystemAuthorizingRealm;
|
|
|
+import com.jeeplus.modules.sys.utils.UserUtils;
|
|
|
+import org.apache.ibatis.io.Resources;
|
|
|
+import org.springframework.core.io.DefaultResourceLoader;
|
|
|
+
|
|
|
+import com.google.common.collect.Maps;
|
|
|
+import com.jeeplus.common.utils.PropertiesLoader;
|
|
|
+import com.jeeplus.common.utils.StringUtils;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 全局配置类
|
|
|
+ *
|
|
|
+ * @author jeeplus
|
|
|
+ * @version 2017-06-25
|
|
|
+ */
|
|
|
+public class Global {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 当前对象实例
|
|
|
+ */
|
|
|
+ private static Global global = new Global();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存全局属性值
|
|
|
+ */
|
|
|
+ private static Map<String, String> map = Maps.newHashMap();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 属性文件加载对象
|
|
|
+ */
|
|
|
+ private static PropertiesLoader loader = new PropertiesLoader("/properties/jeeplus.properties");
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 显示/隐藏
|
|
|
+ */
|
|
|
+ public static final String SHOW = "1";
|
|
|
+ public static final String HIDE = "0";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是/否
|
|
|
+ */
|
|
|
+ public static final String YES = "1";
|
|
|
+ public static final String NO = "0";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 对/错
|
|
|
+ */
|
|
|
+ public static final String TRUE = "true";
|
|
|
+ public static final String FALSE = "false";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编码格式
|
|
|
+ */
|
|
|
+ public static final String charset = "utf-8";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传文件到oss的基础虚拟路径
|
|
|
+ */
|
|
|
+ public static final String USERFILES_BASE_URL = "uploadfiles";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上传文件到本地的基础虚拟路径
|
|
|
+ */
|
|
|
+ public static final String USERFILES_BASE_LOCALURL = "/uploadfiles/";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 共享文档物理存储地址
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getShareBaseDir() {
|
|
|
+ String dir = Global.getUserfilesBaseDir() + Global.USERFILES_BASE_LOCALURL + "共享文档/";
|
|
|
+ FileUtils.createDirectory(dir);
|
|
|
+ return dir;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 共享文档网络访问地址
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getShareBaseUrl() {
|
|
|
+ SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
+ return Servlets.getRequest().getContextPath() + Global.USERFILES_BASE_LOCALURL + "/共享文档/";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 我的文档物理存储地址
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getMyDocDir() {
|
|
|
+ SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
+ String dir = Global.getUserfilesBaseDir() + Global.USERFILES_BASE_LOCALURL + principal + "/我的文档/";
|
|
|
+ FileUtils.createDirectory(dir);
|
|
|
+ return dir;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 我的文档网络访问地址
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getMyDocUrl() {
|
|
|
+ SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
+ return Servlets.getRequest().getContextPath() + Global.USERFILES_BASE_LOCALURL + principal + "/我的文档/";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 程序附件物理存储地址
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getAttachmentDir() {
|
|
|
+ SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
+ String dir = Global.getUserfilesBaseDir() + Global.USERFILES_BASE_LOCALURL + principal + "/";
|
|
|
+ FileUtils.createDirectory(dir);
|
|
|
+ return dir;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 程序附件网络访问地址
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getAttachmentUrl() {
|
|
|
+
|
|
|
+ SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) UserUtils.getPrincipal();
|
|
|
+ return Servlets.getRequest().getContextPath() + Global.USERFILES_BASE_LOCALURL + principal + "/";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 绝对地址转换为网络地址
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String transDirToUrl(String dir) {
|
|
|
+ return Servlets.getRequest().getContextPath() + "/" + dir.substring(Global.getUserfilesBaseDir().length());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前对象实例
|
|
|
+ */
|
|
|
+ public static Global getInstance() {
|
|
|
+ return global;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取配置
|
|
|
+ */
|
|
|
+ public static String getConfig(String key) {
|
|
|
+ String value = map.get(key);
|
|
|
+ if (value == null) {
|
|
|
+ value = loader.getProperty(key);
|
|
|
+ map.put(key, value != null ? value : StringUtils.EMPTY);
|
|
|
+ }
|
|
|
+ return value;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取管理端根路径
|
|
|
+ */
|
|
|
+ public static String getAdminPath() {
|
|
|
+ return getConfig("adminPath");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取管理端根路径
|
|
|
+ */
|
|
|
+ public static String getDefaultTheme() {
|
|
|
+ return getConfig("defaultTheme");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取前端根路径
|
|
|
+ */
|
|
|
+ public static String getFrontPath() {
|
|
|
+ return getConfig("frontPath");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取URL后缀
|
|
|
+ */
|
|
|
+ public static String getUrlSuffix() {
|
|
|
+ return getConfig("urlSuffix");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 253短信账号
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getSmsAccount() {
|
|
|
+
|
|
|
+ return getConfig("sms.account");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 253短信密码
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getSmsPassword() {
|
|
|
+ return getConfig("sms.password");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 253短信地址
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getSmsUrl() {
|
|
|
+ return getConfig("sms.smsUrl");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 当前服务器路径
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getServicePath() {
|
|
|
+ return getConfig("servicePath");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 支付域名
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getPayPath() {
|
|
|
+ return getConfig("payPath");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getAliyunUrl() {
|
|
|
+ return getConfig("aliyunUrl");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getAliDownloadUrl() {
|
|
|
+ return getConfig("aliyunDownloadUrl");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getOSSUrl() {
|
|
|
+ return getConfig("oSSUrl");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getEndpoint() {
|
|
|
+ return getConfig("endpoint");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getAccessKeyId() {
|
|
|
+ return getConfig("accessKeyId");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getAccessKeySecret() {
|
|
|
+ return getConfig("accessKeySecret");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getBucketName() {
|
|
|
+ return getConfig("bucketName");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 小程序appid
|
|
|
+ */
|
|
|
+ public static String getAppId() {
|
|
|
+ return getConfig("appid");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getAppsecret() {
|
|
|
+ return getConfig("appsecret");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 微信授权appid
|
|
|
+ */
|
|
|
+ public static String getWxAppId() {
|
|
|
+ return getConfig("wxappid");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ */
|
|
|
+ public static String getWxAppsecret() {
|
|
|
+ return getConfig("wxappsecret");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * crmautodate
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getCrmAutoDate() {
|
|
|
+ return getConfig("crmautodate");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 备案号
|
|
|
+ */
|
|
|
+ public static String getBeian() {
|
|
|
+ return getConfig("beian");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 腾讯云验证码个人秘钥id
|
|
|
+ */
|
|
|
+ public static String getSecretId() {
|
|
|
+ return getConfig("secretId");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 腾讯云验证码个人秘钥
|
|
|
+ */
|
|
|
+ public static String getSecretKey() {
|
|
|
+ return getConfig("secretKey");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 腾讯云验证码应用ID
|
|
|
+ */
|
|
|
+ public static String getCaptchaAppId() {
|
|
|
+ return getConfig("captchaAppId");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 腾讯云验证码应用秘钥
|
|
|
+ */
|
|
|
+ public static String getCaptchaAppSecret() {
|
|
|
+ return getConfig("captchaAppSecret");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 253短信签名
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getSmsSign() {
|
|
|
+ String smsSign = getConfig("sms.smsSign");
|
|
|
+ // *.properties文件中的中文默认以ISO-8859-1方式编码,因此需要对中文内容进行重新编码
|
|
|
+ try {
|
|
|
+ return URLDecoder.decode(smsSign, charset);
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return smsSign;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 未登录描述
|
|
|
+ */
|
|
|
+ public static String getNoLogin() {
|
|
|
+ return getConfig("noLogin");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否是演示模式,演示模式下不能修改用户、角色、密码、菜单、授权
|
|
|
+ */
|
|
|
+ public static Boolean isDemoMode() {
|
|
|
+ String dm = getConfig("demoMode");
|
|
|
+ return "true".equals(dm) || "1".equals(dm);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 在修改系统用户和角色时是否同步到Activiti
|
|
|
+ */
|
|
|
+ public static Boolean isSynActivitiIndetity() {
|
|
|
+ String dm = getConfig("activiti.isSynActivitiIndetity");
|
|
|
+ return "true".equals(dm) || "1".equals(dm);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 页面获取常量
|
|
|
+ */
|
|
|
+ public static Object getConst(String field) {
|
|
|
+ try {
|
|
|
+ return Global.class.getField(field).get(null);
|
|
|
+ } catch (Exception e) {
|
|
|
+ // 异常代表无配置,这里什么也不做
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取上传文件的根目录
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getUserfilesBaseDir() {
|
|
|
+ String dir = getConfig("userfiles.basedir");
|
|
|
+ if (StringUtils.isBlank(dir)) {
|
|
|
+ return Servlets.getRequest().getContextPath();
|
|
|
+ }
|
|
|
+ if (!dir.endsWith("/")) {
|
|
|
+ dir += "/";
|
|
|
+ }
|
|
|
+// System.out.println("userfiles.basedir: " + dir);
|
|
|
+ return dir;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取工程路径
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getProjectPath() {
|
|
|
+ // 如果配置了工程路径,则直接返回,否则自动获取。
|
|
|
+ String projectPath = Global.getConfig("projectPath");
|
|
|
+ if (StringUtils.isNotBlank(projectPath)) {
|
|
|
+ return projectPath;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ File file = new DefaultResourceLoader().getResource("").getFile();
|
|
|
+ if (file != null) {
|
|
|
+ while (true) {
|
|
|
+ File f = new File(file.getPath() + File.separator + "src" + File.separator + "main");
|
|
|
+ if (f == null || f.exists()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (file.getParentFile() != null) {
|
|
|
+ file = file.getParentFile();
|
|
|
+ } else {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ projectPath = file.toString();
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return projectPath;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 写入properties信息
|
|
|
+ *
|
|
|
+ * @param key 名称
|
|
|
+ * @param value 值
|
|
|
+ */
|
|
|
+ public static void modifyConfig(String key, String value) {
|
|
|
+ try {
|
|
|
+ // 从输入流中读取属性列表(键和元素对)
|
|
|
+ Properties prop = getProperties();
|
|
|
+ prop.setProperty(key, value);
|
|
|
+ String path = Global.class.getResource("/properties/jeeplus.properties").getPath();
|
|
|
+ FileOutputStream outputFile = new FileOutputStream(path);
|
|
|
+ prop.store(outputFile, "modify");
|
|
|
+ outputFile.close();
|
|
|
+ outputFile.flush();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回 Properties
|
|
|
+ *
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static Properties getProperties() {
|
|
|
+ Properties prop = new Properties();
|
|
|
+ try {
|
|
|
+ Reader reader = Resources.getResourceAsReader("/properties/jeeplus.properties");
|
|
|
+ prop.load(reader);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return prop;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|