+
+
品牌 Banner

diff --git a/electron-vue-template/src/renderer/components/common/TrialExpiredDialog.vue b/electron-vue-template/src/renderer/components/common/TrialExpiredDialog.vue
index 1c85d0b..d5e198c 100644
--- a/electron-vue-template/src/renderer/components/common/TrialExpiredDialog.vue
+++ b/electron-vue-template/src/renderer/components/common/TrialExpiredDialog.vue
@@ -38,7 +38,7 @@ function handleConfirm() {
}
function copyWechat() {
- navigator.clipboard.writeText('_linhong').then(() => {
+ navigator.clipboard.writeText('butaihaoba001').then(() => {
ElMessage.success('微信号已复制')
}).catch(() => {
ElMessage.error('复制失败,请手动复制')
@@ -75,7 +75,7 @@ function copyWechat() {
客服微信
-
_linhong
+
butaihaoba001
📋
diff --git a/electron-vue-template/src/renderer/config/index.ts b/electron-vue-template/src/renderer/config/index.ts
index f2fcba4..9a765e4 100644
--- a/electron-vue-template/src/renderer/config/index.ts
+++ b/electron-vue-template/src/renderer/config/index.ts
@@ -3,7 +3,7 @@
*/
export const AppConfig = {
CLIENT_BASE: 'http://localhost:8081',
- RUOYI_BASE: 'http://192.168.1.89:8085',
+ RUOYI_BASE: 'http://8.138.23.49:8085',
get SSE_URL() {
return `${this.RUOYI_BASE}/monitor/account/events`
}
diff --git a/erp_client_sb/src/main/java/com/tashow/erp/utils/ProxyPool.java b/erp_client_sb/src/main/java/com/tashow/erp/utils/ProxyPool.java
index af810a5..2ce2397 100644
--- a/erp_client_sb/src/main/java/com/tashow/erp/utils/ProxyPool.java
+++ b/erp_client_sb/src/main/java/com/tashow/erp/utils/ProxyPool.java
@@ -10,7 +10,6 @@ import java.util.List;
*/
@Component
public class ProxyPool {
-
private static final String API_URL = "http://api.tianqiip.com/getip?secret=y0thbcco1rgxn9e9&num=%d&type=txt&port=2&time=3&mr=1&sign=9be780c7e27aea815f1e0874446b9e35";
/**
diff --git a/erp_client_sb/src/main/java/com/tashow/erp/utils/QiniuUtil.java b/erp_client_sb/src/main/java/com/tashow/erp/utils/QiniuUtil.java
index ac61ab1..8f607b8 100644
--- a/erp_client_sb/src/main/java/com/tashow/erp/utils/QiniuUtil.java
+++ b/erp_client_sb/src/main/java/com/tashow/erp/utils/QiniuUtil.java
@@ -13,8 +13,8 @@ public class QiniuUtil {
// 七牛配置
private static final String ACCESS_KEY = "M1I8ItQjEYOYXyJYieloSSaIG8Ppi4lfCAyZ8BaF";
private static final String SECRET_KEY = "Xvi0SwtL9WVOl28h6DNRLKP9MnZZqsKBWrC8shAl";
- private static final String BUCKET = "pxdj-prod";
- private static final String DOMAIN = "https://qiniu.pxdj.tashowz.com/"; // 开启HTTPS的外链域名
+ private static final String BUCKET = "bydj-prod";
+ private static final String DOMAIN = "https://qiniu.bydj.tashowz.com/"; // 开启HTTPS的外链域名
public static String uploadFromUrl(String imageUrl, String key) throws Exception {
// 1. 下载远程图片
diff --git a/erp_client_sb/src/main/resources/application.yml b/erp_client_sb/src/main/resources/application.yml
index 00a12cc..6f89602 100644
--- a/erp_client_sb/src/main/resources/application.yml
+++ b/erp_client_sb/src/main/resources/application.yml
@@ -46,9 +46,9 @@ server:
api:
server:
# 主服务器API配置
- #base-url: "http://8.138.23.49:8085"
+ base-url: "http://8.138.23.49:8085"
#base-url: "http://192.168.1.89:8085"
- base-url: "http://127.0.0.1:8085"
+ #base-url: "http://127.0.0.1:8085"
paths:
monitor: "/monitor/client/api"
login: "/monitor/account/login"
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ClientAccountController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ClientAccountController.java
index bec2117..b94f740 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ClientAccountController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ClientAccountController.java
@@ -74,6 +74,8 @@ public class ClientAccountController extends BaseController {
private static final String SPLASH_IMAGE_CACHE_KEY = "splash_image:";
private static final String BRAND_LOGO_CACHE_KEY = "brand_logo:";
+ private static final String GLOBAL_SPLASH_IMAGE_KEY = "global_splash_image";
+ private static final String GLOBAL_BRAND_LOGO_KEY = "global_brand_logo";
private AjaxResult checkDeviceLimit(Long accountId, String deviceId, int deviceLimit) {
int activeDeviceCount = accountDeviceMapper.countActiveDevicesByAccountId(accountId);
@@ -474,4 +476,53 @@ public class ClientAccountController extends BaseController {
}
}
+ /**
+ * 上传全局开屏图片
+ */
+ @PreAuthorize("@ss.hasPermi('system:version:upload')")
+ @PostMapping("/global-splash-image/upload")
+ public AjaxResult uploadGlobalSplashImage(@RequestParam("file") MultipartFile file) {
+ try {
+ if (!file.getContentType().startsWith("image/")) return AjaxResult.error("只支持图片文件");
+ if (file.getSize() > 5 * 1024 * 1024) return AjaxResult.error("图片大小不能超过5MB");
+
+ String fileName = "splash/global/" + DateUtil.format(new Date(), "yyyy/MM/") + IdUtil.simpleUUID() + "." + FileUtil.extName(file.getOriginalFilename());
+ try (InputStream is = file.getInputStream()) {
+ Response res = uploadManager.put(is, fileName, auth.uploadToken(qiniu.getBucket()), null, "");
+ if (!res.isOK()) return AjaxResult.error("上传失败");
+ }
+
+ String url = qiniu.getResourcesUrl() + fileName;
+ redisCache.setCacheObject(GLOBAL_SPLASH_IMAGE_KEY, url);
+ return AjaxResult.success().put("url", url).put("fileName", fileName);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return AjaxResult.error("上传失败: " + e.getMessage());
+ }
+ }
+
+ /**
+ * 获取全局开屏图片
+ */
+ @GetMapping("/global-splash-image")
+ public AjaxResult getGlobalSplashImage() {
+ String url = redisCache.getCacheObject(GLOBAL_SPLASH_IMAGE_KEY);
+ return AjaxResult.success(Map.of("url", url != null ? url : ""));
+ }
+
+ /**
+ * 删除全局开屏图片
+ */
+ @PreAuthorize("@ss.hasPermi('system:version:upload')")
+ @PostMapping("/global-splash-image/delete")
+ public AjaxResult deleteGlobalSplashImage() {
+ try {
+ redisCache.deleteObject(GLOBAL_SPLASH_IMAGE_KEY);
+ return AjaxResult.success("全局开屏图片已删除");
+ } catch (Exception e) {
+ e.printStackTrace();
+ return AjaxResult.error("删除失败: " + e.getMessage());
+ }
+ }
+
}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 11367d6..b81a533 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -18,9 +18,9 @@ qiniu:
accessKey: M1I8ItQjEYOYXyJYieloSSaIG8Ppi4lfCAyZ8BaF
secretKey: Xvi0SwtL9WVOl28h6DNRLKP9MnZZqsKBWrC8shAl
# 七牛空间名
- bucket: pxdj-prod
+ bucket: bydj-prod
# 资源地址
- resourcesUrl: https://qiniu.pxdj.tashowz.com/
+ resourcesUrl: https://qiniu.bydj.tashowz.com/
# 七牛云机房
zone: HUA_NAN
diff --git a/ruoyi-common/src/main/resources/shop.properties b/ruoyi-common/src/main/resources/shop.properties
index 18eb0ea..4f50910 100644
--- a/ruoyi-common/src/main/resources/shop.properties
+++ b/ruoyi-common/src/main/resources/shop.properties
@@ -1,7 +1,7 @@
-shop.qiniu.resourcesUrl=https://qiniu.pxdj.tashowz.com/
+shop.qiniu.resourcesUrl=https://qiniu.bydj.tashowz.com/
shop.qiniu.accessKey=M1I8ItQjEYOYXyJYieloSSaIG8Ppi4lfCAyZ8BaF
shop.qiniu.secretKey=Xvi0SwtL9WVOl28h6DNRLKP9MnZZqsKBWrC8shAl
-shop.qiniu.bucket=pxdj-prod
+shop.qiniu.bucket=bydj-prod
# \u5177\u4F53\u67E5\u770BQiniuZone.java
shop.qiniu.zone=HUA_NAN
diff --git a/ruoyi-ui/build/index.js b/ruoyi-ui/build/index.js
deleted file mode 100644
index 0c57de2..0000000
--- a/ruoyi-ui/build/index.js
+++ /dev/null
@@ -1,35 +0,0 @@
-const { run } = require('runjs')
-const chalk = require('chalk')
-const config = require('../vue.config.js')
-const rawArgv = process.argv.slice(2)
-const args = rawArgv.join(' ')
-
-if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
- const report = rawArgv.includes('--report')
-
- run(`vue-cli-service build ${args}`)
-
- const port = 9526
- const publicPath = config.publicPath
-
- var connect = require('connect')
- var serveStatic = require('serve-static')
- const app = connect()
-
- app.use(
- publicPath,
- serveStatic('./dist', {
- index: ['index.html', '/']
- })
- )
-
- app.listen(port, function () {
- console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
- if (report) {
- console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
- }
-
- })
-} else {
- run(`vue-cli-service build ${args}`)
-}
diff --git a/ruoyi-ui/src/api/monitor/splash.js b/ruoyi-ui/src/api/monitor/splash.js
new file mode 100644
index 0000000..cb05969
--- /dev/null
+++ b/ruoyi-ui/src/api/monitor/splash.js
@@ -0,0 +1,31 @@
+import request from '@/utils/request'
+
+// 上传全局开屏图片
+export function uploadGlobalSplashImage(file) {
+ const formData = new FormData()
+ formData.append('file', file)
+ return request({
+ url: '/monitor/account/global-splash-image/upload',
+ method: 'post',
+ data: formData,
+ headers: {
+ 'Content-Type': 'multipart/form-data'
+ }
+ })
+}
+
+// 获取全局开屏图片
+export function getGlobalSplashImage() {
+ return request({
+ url: '/monitor/account/global-splash-image',
+ method: 'get'
+ })
+}
+
+// 删除全局开屏图片
+export function deleteGlobalSplashImage() {
+ return request({
+ url: '/monitor/account/global-splash-image/delete',
+ method: 'post'
+ })
+}
diff --git a/ruoyi-ui/src/views/monitor/version/index.vue b/ruoyi-ui/src/views/monitor/version/index.vue
index e53c8d2..957813a 100644
--- a/ruoyi-ui/src/views/monitor/version/index.vue
+++ b/ruoyi-ui/src/views/monitor/version/index.vue
@@ -6,6 +6,63 @@
上传新版本
+
+
+
+
+
+
+ 开屏图片设置
+ (客户端启动时显示的图片)
+
+
+
+
+
+
当前开屏图片
+
+
![开屏图片]()
+
+
+ 暂未设置
+
+
+
+
+
+
+
+
+ {{ splashUploading ? '上传中...' : '上传开屏图片' }}
+
+
+
+ 删除图片
+
+
+
建议尺寸:1200 x 800 像素,支持 jpg/png/gif 格式,大小不超过 5MB
+
此图片将作为所有客户端的默认开屏图片
+
+
+
+
+
+
+
+
+
@@ -106,6 +163,7 @@