From 0146e43815a290a84eb02142bfd20c8594b375d8 Mon Sep 17 00:00:00 2001
From: wanglin2 <1013335014@qq.com>
Date: Sun, 6 Apr 2025 09:53:16 +0800
Subject: [PATCH] =?UTF-8?q?Demo:=E6=B7=BB=E5=8A=A0=E5=86=85=E7=BD=AE?=
=?UTF-8?q?=E8=83=8C=E6=99=AF=E5=9B=BE=E7=89=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
web/src/lang/en_us.js | 3 +-
web/src/lang/zh_cn.js | 3 +-
web/src/lang/zh_tw.js | 3 +-
web/src/pages/Edit/components/BaseStyle.vue | 79 ++++++++++++++++++++-
web/src/pages/Edit/components/Edit.vue | 1 +
web/src/store.js | 9 ++-
6 files changed, 92 insertions(+), 6 deletions(-)
diff --git a/web/src/lang/en_us.js b/web/src/lang/en_us.js
index f7d06de8..e50d3b5b 100644
--- a/web/src/lang/en_us.js
+++ b/web/src/lang/en_us.js
@@ -41,7 +41,8 @@ export default {
rainbowLines: 'Rainbow lines',
notUseRainbowLines: 'Not use rainbow lines',
outerFramePadding: 'Outer frame padding',
- associativeLineStyle: 'Associative line style'
+ associativeLineStyle: 'Associative line style',
+ builtInBackgroundImage: 'Built in background image'
},
setting: {
title: 'Setting',
diff --git a/web/src/lang/zh_cn.js b/web/src/lang/zh_cn.js
index 08ea0f62..f9bf80c1 100644
--- a/web/src/lang/zh_cn.js
+++ b/web/src/lang/zh_cn.js
@@ -40,7 +40,8 @@ export default {
rainbowLines: '彩虹线条',
notUseRainbowLines: '不使用彩虹线条',
outerFramePadding: '外框内边距',
- associativeLineStyle: '关联线样式'
+ associativeLineStyle: '关联线样式',
+ builtInBackgroundImage: '内置背景图片'
},
setting: {
title: '设置',
diff --git a/web/src/lang/zh_tw.js b/web/src/lang/zh_tw.js
index 3ed053e4..744f1e72 100644
--- a/web/src/lang/zh_tw.js
+++ b/web/src/lang/zh_tw.js
@@ -41,7 +41,8 @@ export default {
rainbowLines: '彩虹線條',
notUseRainbowLines: '不使用彩虹線條',
outerFramePadding: '外框內距',
- associativeLineStyle: '關聯線樣式'
+ associativeLineStyle: '關聯線樣式',
+ builtInBackgroundImage: '內置背景圖片'
},
setting: {
title: '設置',
diff --git a/web/src/pages/Edit/components/BaseStyle.vue b/web/src/pages/Edit/components/BaseStyle.vue
index 072fd435..8db1a13d 100644
--- a/web/src/pages/Edit/components/BaseStyle.vue
+++ b/web/src/pages/Edit/components/BaseStyle.vue
@@ -98,6 +98,30 @@
+
+
+
{{ $t('baseStyle.builtInBackgroundImage') }}
+
+
+
+
+
![]()
+
+
@@ -899,7 +923,8 @@ export default {
outerFramePadding: {
outerFramePaddingX: 0,
outerFramePaddingY: 0
- }
+ },
+ bgListExpand: true
}
},
computed: {
@@ -907,7 +932,8 @@ export default {
activeSidebar: state => state.activeSidebar,
localConfig: state => state.localConfig,
isDark: state => state.localConfig.isDark,
- supportLineFlow: state => state.supportLineFlow
+ supportLineFlow: state => state.supportLineFlow,
+ bgList: state => state.bgList
}),
lineStyleList() {
return lineStyleList[this.$i18n.locale] || lineStyleList.zh
@@ -1106,6 +1132,10 @@ export default {
config: this.data.theme.config
}
})
+ },
+
+ useBg(bg) {
+ this.update('backgroundImage', bg)
}
}
}
@@ -1172,6 +1202,10 @@ export default {
align-items: center;
margin-bottom: 5px;
+ &.spaceBetween {
+ justify-content: space-between;
+ }
+
.name {
font-size: 12px;
margin-right: 10px;
@@ -1197,6 +1231,15 @@ export default {
justify-content: center;
cursor: pointer;
}
+
+ .iconBtn {
+ cursor: pointer;
+ transition: all 0.3s;
+
+ &.top {
+ transform: rotateZ(-180deg);
+ }
+ }
}
.styleBtn {
@@ -1224,6 +1267,38 @@ export default {
height: 2px;
}
}
+
+ .bgList {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ height: 75px;
+
+ &.expand {
+ height: max-content;
+ }
+
+ .bgItem {
+ width: 120px;
+ height: 73px;
+ border: 1px solid #e9e9e9;
+ border-radius: 5px;
+ overflow: hidden;
+ padding: 5px;
+ margin-bottom: 8px;
+ cursor: pointer;
+
+ &.active {
+ border-color: #409eff;
+ }
+
+ img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ }
+ }
+ }
}
}
diff --git a/web/src/pages/Edit/components/Edit.vue b/web/src/pages/Edit/components/Edit.vue
index c0db03a5..ed754303 100644
--- a/web/src/pages/Edit/components/Edit.vue
+++ b/web/src/pages/Edit/components/Edit.vue
@@ -719,6 +719,7 @@ export default {
}
]
this.$store.commit('setExtendThemeGroupList', extendThemeGroupList)
+ this.$store.commit('setBgList', MoreThemes.bgList)
}
},
diff --git a/web/src/store.js b/web/src/store.js
index 0c3fed49..647f4733 100644
--- a/web/src/store.js
+++ b/web/src/store.js
@@ -47,7 +47,9 @@ const store = new Vuex.Store({
method: 'POST'
},
// 扩展主题列表
- extendThemeGroupList: []
+ extendThemeGroupList: [],
+ // 内置背景图片
+ bgList: []
},
mutations: {
// 设置操作本地文件标志位
@@ -144,6 +146,11 @@ const store = new Vuex.Store({
// 扩展主题列表
setExtendThemeGroupList(state, data) {
state.extendThemeGroupList = data
+ },
+
+ // 设置背景图片列表
+ setBgList(state, data) {
+ state.bgList = data
}
},
actions: {}