@maketribe/ms-app 3.2.44 → 3.2.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/basic/lexical-editor/assets/doc-editor.css.js +1 -1
- package/dist/cjs/components/basic/lexical-editor/assets/doc-editor.css.js.map +1 -1
- package/dist/cjs/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js +1 -1
- package/dist/cjs/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js.map +1 -1
- package/dist/cjs/components/basic/lexical-editor/utils/html.js +1 -19
- package/dist/cjs/components/basic/lexical-editor/utils/html.js.map +1 -1
- package/dist/cjs/components/basic/lexical-editor/utils/module.js.map +1 -1
- package/dist/cjs/modules/cms/cms-settings.js +5 -1
- package/dist/cjs/modules/cms/cms-settings.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +40 -324
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner.vue.js +362 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner.vue.js.map +1 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner.vue2.js +4 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner.vue2.js.map +1 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +38 -15
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
- package/dist/esm/components/basic/lexical-editor/assets/doc-editor.css.js +1 -1
- package/dist/esm/components/basic/lexical-editor/assets/doc-editor.css.js.map +1 -1
- package/dist/esm/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js +1 -1
- package/dist/esm/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js.map +1 -1
- package/dist/esm/components/basic/lexical-editor/utils/html.js +2 -20
- package/dist/esm/components/basic/lexical-editor/utils/html.js.map +1 -1
- package/dist/esm/components/basic/lexical-editor/utils/module.js.map +1 -1
- package/dist/esm/modules/cms/cms-settings.js +5 -1
- package/dist/esm/modules/cms/cms-settings.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +41 -325
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner.vue.js +363 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner.vue.js.map +1 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner.vue2.js +5 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner.vue2.js.map +1 -0
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +38 -15
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
- package/dist/style/index.css +1 -1
- package/dist/style/modules/cms/index.css +1 -1
- package/dist/style/modules/cms/pages/cms-contents/components/mk-cms-part-banner.css +1 -1
- package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
- package/dist/style/src/modules/cms/pages/cms-contents/components/mk-cms-part-banner.scss +1 -0
- package/dist/types/components/basic/lexical-editor/nodes/ModuleDecoratorNode.d.ts +1 -3
- package/dist/types/modules/cms/cms-settings.d.ts +5 -1
- package/dist/types/modules/cms/pages/cms-contents/components/part-banner.vue.d.ts +32 -0
- package/package.json +3 -3
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const vue = require("vue");
|
|
3
|
+
const cmsSettings = require("../../../cms-settings.js");
|
|
4
|
+
const request = require("@maketribe/request");
|
|
5
|
+
const dm = require("@maketribe/dm");
|
|
6
|
+
const CmsAdContentsForm = require("../../../dataviews/cms-ad-contents/CmsAdContentsForm.js");
|
|
7
|
+
const CmsAdDefinesForm = require("../../../dataviews/cms-ad-defines/CmsAdDefinesForm.js");
|
|
8
|
+
require("element-plus");
|
|
9
|
+
require("@maketribe/utils");
|
|
10
|
+
require("../../../../../core/DataModelDefines.js");
|
|
11
|
+
require("vue-router");
|
|
12
|
+
require("@maketribe/locale");
|
|
13
|
+
require("../../../../ms/dataviews/ms-config/MsConfigTable.js");
|
|
14
|
+
require("lodash-es");
|
|
15
|
+
require("../../../../../components/basic/svg-icon/index.js");
|
|
16
|
+
require("../../../../../components/data-model/data-form/index.js");
|
|
17
|
+
require("../../../../../components/data-model/data-table/index.js");
|
|
18
|
+
require("../../../../../components/data-model/data-table-pagination/index.js");
|
|
19
|
+
require("../../../../../components/abstract/abstract-select/abstract-select.js");
|
|
20
|
+
require("../../../../../components/abstract/abstract-select/abstract-select-options.js");
|
|
21
|
+
require("../../../../../components/basic/button/button-options.js");
|
|
22
|
+
require("../../../../../components/basic/config-provider/index.js");
|
|
23
|
+
require("../../../../../components/basic/data-table-select/index.js");
|
|
24
|
+
require("../../../../../components/basic/data-select/index.js");
|
|
25
|
+
require("../../../../../components/basic/pagination/index.js");
|
|
26
|
+
require("../../../../../components/basic/system-provider/index.js");
|
|
27
|
+
require("../../../../../components/basic/code-editor/index.js");
|
|
28
|
+
require("../../../../../components/basic/json-editor/index.js");
|
|
29
|
+
require("../../../../../components/basic/page-container/index.js");
|
|
30
|
+
require("../../../../../components/basic/date-picker/index.js");
|
|
31
|
+
require("../../../../../components/basic/icon-select/index.js");
|
|
32
|
+
require("../../../../../components/basic/upload-file/upload-file.js");
|
|
33
|
+
require("../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
34
|
+
require("../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
35
|
+
require("../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
36
|
+
require("../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
37
|
+
require("../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
38
|
+
require("../../../../../components/basic/upload-file/upload-file-options.js");
|
|
39
|
+
require("../../../../../components/basic/doc-editor/index.js");
|
|
40
|
+
require("../../../../../components/basic/copy-container/index.js");
|
|
41
|
+
require("../../../../../components/basic/image-cropper/index.js");
|
|
42
|
+
require("../../../../../components/basic/visual-page-editor/index.js");
|
|
43
|
+
require("../../../../../components/basic/lexical-editor/assets/iconfont.js");
|
|
44
|
+
require("@lexical/overflow");
|
|
45
|
+
require("@lexical/text");
|
|
46
|
+
require("@lexical/utils");
|
|
47
|
+
require("lexical");
|
|
48
|
+
require("@lexical/selection");
|
|
49
|
+
require("@lexical/link");
|
|
50
|
+
require("@lexical/rich-text");
|
|
51
|
+
require("../../../../../components/basic/lexical-editor/utils/html.js");
|
|
52
|
+
require("../../../../../components/basic/lexical-editor/utils/image.js");
|
|
53
|
+
const elIcons = require("@element-plus/icons-vue");
|
|
54
|
+
require("../../../../../components/basic/lexical-editor/composables/useElementBlockSelection.js");
|
|
55
|
+
require("@lexical/history");
|
|
56
|
+
;/* empty css */
|
|
57
|
+
require("../../../../../components/basic/lexical-editor/nodes/ModuleDecoratorNode.js");
|
|
58
|
+
require("../../../../../components/basic/lexical-editor/nodes/ImageNode.js");
|
|
59
|
+
require("../../../../../components/basic/lexical-editor/nodes/ImageTextWarpNode.js");
|
|
60
|
+
require("../../../../../components/basic/lexical-editor/nodes/Template.js");
|
|
61
|
+
;/* empty css */
|
|
62
|
+
;/* empty css */
|
|
63
|
+
;/* empty css */
|
|
64
|
+
require("../../../../../components/basic/lexical-editor/plugins/RichTextEditorPlugin.js");
|
|
65
|
+
require("../../../../../components/basic/lexical-editor/plugins/HashtagPlugin.js");
|
|
66
|
+
require("../../../../../components/basic/lexical-editor/plugins/ListPlugin.js");
|
|
67
|
+
require("../../../../../components/basic/lexical-editor/plugins/CheckListPlugin.js");
|
|
68
|
+
require("../../../../../components/basic/lexical-editor/plugins/TablePlugin.js");
|
|
69
|
+
;/* empty css */
|
|
70
|
+
require("@lexical/dragon");
|
|
71
|
+
require("@lexical/plain-text");
|
|
72
|
+
require("../../../../../components/basic/lexical-editor/stage/DecoratedTeleports.js");
|
|
73
|
+
;/* empty css */
|
|
74
|
+
require("../../../../../components/business/verify-dialog/verify-dialog-option.js");
|
|
75
|
+
require("../../../../../components/business/resource-list/index.js");
|
|
76
|
+
require("../../../../../components/business/resource-manager/index.js");
|
|
77
|
+
require("../../../../ms/dataviews/department/DepartmentForm.js");
|
|
78
|
+
require("../../../../ms/dataviews/department/DepartmentTable.js");
|
|
79
|
+
require("../../../../ms/dataviews/department/DepartmentTree.js");
|
|
80
|
+
require("../../../../ms/dataviews/log/operate-log/OperateLogTable.js");
|
|
81
|
+
require("../../../../ms/dataviews/log/login-log/LoginLogTable.js");
|
|
82
|
+
require("../../../../ms/dataviews/log/request-log/RequestLogTable.js");
|
|
83
|
+
require("../../../../ms/dataviews/log/local-log/LocalLogTree.js");
|
|
84
|
+
require("../../../../ms/components/material-list/index.js");
|
|
85
|
+
require("../../../../ms/components/markdown-editor/index.js");
|
|
86
|
+
require("../../../../ms/components/rich-text-editor/index.js");
|
|
87
|
+
require("../../../../ms/material-upload-context/material-upload-context-options.js");
|
|
88
|
+
require("../../../../ms/material-upload-context/material-upload-context.js");
|
|
89
|
+
require("@codemirror/lang-html");
|
|
90
|
+
const _hoisted_1 = { class: "mk-cms-part-banner__list_item" };
|
|
91
|
+
const _hoisted_2 = { class: "mk-cms-part-banner__list_content" };
|
|
92
|
+
const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("div", {
|
|
93
|
+
slot: "placeholder",
|
|
94
|
+
class: "image-slot"
|
|
95
|
+
}, [
|
|
96
|
+
/* @__PURE__ */ vue.createTextVNode(" 加载中"),
|
|
97
|
+
/* @__PURE__ */ vue.createElementVNode("span", { class: "dot" }, "...")
|
|
98
|
+
], -1);
|
|
99
|
+
const _hoisted_4 = ["src"];
|
|
100
|
+
const _hoisted_5 = { class: "mk-cms-part-banner__list_bottom" };
|
|
101
|
+
const _hoisted_6 = { class: "mk-cms-part-banner__list_title" };
|
|
102
|
+
const _hoisted_7 = { class: "mk-cms-part-banner__list_action-mask" };
|
|
103
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
104
|
+
__name: "part-banner",
|
|
105
|
+
props: { adkey: { type: String }, title: { type: String }, deviceValue: { type: String, default: "" }, viewWidth: { type: Number } },
|
|
106
|
+
setup(__props) {
|
|
107
|
+
const props = __props;
|
|
108
|
+
const adRequest = new request.DataViewRequest({ name: "ad-define", moduleName: "cms" });
|
|
109
|
+
const adContentRequest = new request.DataViewRequest({ name: "ad-content", moduleName: "cms" });
|
|
110
|
+
const cmsSettings$1 = cmsSettings.useCmsSettings();
|
|
111
|
+
const partAdBanner = vue.ref(null);
|
|
112
|
+
const loading = vue.ref(true);
|
|
113
|
+
const adContentForm = vue.reactive(new CmsAdContentsForm.CmsAdContentsForm({ cutSise: cmsSettings$1.part.bannerImageSize }));
|
|
114
|
+
const adDefineForm = vue.reactive(new CmsAdDefinesForm.CmsAdDefinesForm());
|
|
115
|
+
vue.ref(null);
|
|
116
|
+
const partAdBannerHeight = vue.computed(() => {
|
|
117
|
+
var _a, _b;
|
|
118
|
+
const sizes = cmsSettings$1.part.bannerImageSize.split("*");
|
|
119
|
+
let widthHeightRatio = 0;
|
|
120
|
+
if (!!((_a = partAdBanner.value) == null ? void 0 : _a.width) && !!((_b = partAdBanner.value) == null ? void 0 : _b.height)) {
|
|
121
|
+
widthHeightRatio = partAdBanner.value.width / partAdBanner.value.height;
|
|
122
|
+
} else if (sizes.length && sizes[0] && sizes[1]) {
|
|
123
|
+
widthHeightRatio = sizes[0] / sizes[1];
|
|
124
|
+
}
|
|
125
|
+
if (widthHeightRatio && props.viewWidth) {
|
|
126
|
+
return props.viewWidth / widthHeightRatio + "px";
|
|
127
|
+
}
|
|
128
|
+
return "240px";
|
|
129
|
+
});
|
|
130
|
+
adContentForm.beforeSubmitEvent.on(async ({ data }) => {
|
|
131
|
+
if (partAdBanner.value) {
|
|
132
|
+
data.adDefineId = partAdBanner.value.id;
|
|
133
|
+
} else {
|
|
134
|
+
try {
|
|
135
|
+
const widthAndHeight = cmsSettings$1.part.bannerImageSize.split("*");
|
|
136
|
+
const result = await adRequest.add({ key: props.adkey, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] });
|
|
137
|
+
if (result.data.code == 200) {
|
|
138
|
+
partAdBanner.value = { id: result.data.data };
|
|
139
|
+
data.adDefineId = result.data.data;
|
|
140
|
+
}
|
|
141
|
+
} catch (error) {
|
|
142
|
+
dm.Messager.error({ message: "添加失败!" });
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
adDefineForm.formatSubmitData = (data) => {
|
|
147
|
+
if (partAdBanner.value) {
|
|
148
|
+
data.id = partAdBanner.value.id;
|
|
149
|
+
} else {
|
|
150
|
+
data.key = props.adkey;
|
|
151
|
+
data.desc = `${props.title}的Banner`;
|
|
152
|
+
}
|
|
153
|
+
return data;
|
|
154
|
+
};
|
|
155
|
+
adContentForm.submittedEvent.on(() => loadPartAdDefineData());
|
|
156
|
+
adDefineForm.submittedEvent.on(() => loadPartAdDefineData());
|
|
157
|
+
const loadPartAdDefineData = async () => {
|
|
158
|
+
var _a, _b;
|
|
159
|
+
try {
|
|
160
|
+
loading.value = true;
|
|
161
|
+
const where = new request.Where();
|
|
162
|
+
where.addCondition("key", "=", props.adkey);
|
|
163
|
+
partAdBanner.value = (await adRequest.query({
|
|
164
|
+
data: {
|
|
165
|
+
pn: 1,
|
|
166
|
+
pc: 1e6,
|
|
167
|
+
condition: where
|
|
168
|
+
}
|
|
169
|
+
})).data.data[0];
|
|
170
|
+
if (((_a = partAdBanner.value) == null ? void 0 : _a.width) && ((_b = partAdBanner.value) == null ? void 0 : _b.width)) {
|
|
171
|
+
adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`);
|
|
172
|
+
}
|
|
173
|
+
} catch (e) {
|
|
174
|
+
console.error(e);
|
|
175
|
+
} finally {
|
|
176
|
+
loading.value = false;
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
const showAdContentHandle = async (id) => {
|
|
180
|
+
await dm.Dialoger.dataFormDialog({
|
|
181
|
+
dataForm: adContentForm,
|
|
182
|
+
recId: id
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
const showAdDefineHandle = async () => {
|
|
186
|
+
var _a;
|
|
187
|
+
await dm.Dialoger.dataFormDialog({
|
|
188
|
+
title: "设置素材显示尺寸",
|
|
189
|
+
dataForm: adDefineForm,
|
|
190
|
+
recId: (_a = partAdBanner.value) == null ? void 0 : _a.id
|
|
191
|
+
});
|
|
192
|
+
adDefineForm.getColumn("contents").visible = false;
|
|
193
|
+
adDefineForm.getColumn("key").visible = false;
|
|
194
|
+
adDefineForm.getColumn("desc").visible = false;
|
|
195
|
+
};
|
|
196
|
+
const deleteAdContentHandle = async (id) => {
|
|
197
|
+
try {
|
|
198
|
+
const isConfirm = await dm.Dialoger.confirm({ title: "确定删除?", message: "确定删除当前轮播吗?", type: "warning" });
|
|
199
|
+
if (!isConfirm) return;
|
|
200
|
+
const result = await adContentRequest.delete(id);
|
|
201
|
+
if (result.data.code != 200) {
|
|
202
|
+
dm.Messager.error({ message: result.data.msg || "删除失败!" });
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
;
|
|
206
|
+
loadPartAdDefineData();
|
|
207
|
+
} catch (error) {
|
|
208
|
+
dm.Messager.error({ message: "删除失败!" });
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
vue.onMounted(() => {
|
|
212
|
+
vue.watch(() => props.adkey, () => loadPartAdDefineData(), { immediate: true });
|
|
213
|
+
});
|
|
214
|
+
return (_ctx, _cache) => {
|
|
215
|
+
var _a;
|
|
216
|
+
const _component_el_image = vue.resolveComponent("el-image");
|
|
217
|
+
const _component_el_button = vue.resolveComponent("el-button");
|
|
218
|
+
const _component_el_carousel_item = vue.resolveComponent("el-carousel-item");
|
|
219
|
+
const _component_el_carousel = vue.resolveComponent("el-carousel");
|
|
220
|
+
const _component_el_text = vue.resolveComponent("el-text");
|
|
221
|
+
const _component_el_empty = vue.resolveComponent("el-empty");
|
|
222
|
+
const _directive_loading = vue.resolveDirective("loading");
|
|
223
|
+
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", null, [
|
|
224
|
+
partAdBanner.value && ((_a = partAdBanner.value.contents) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createBlock(_component_el_carousel, {
|
|
225
|
+
key: 0,
|
|
226
|
+
autoplay: false,
|
|
227
|
+
height: partAdBannerHeight.value,
|
|
228
|
+
arrow: "always",
|
|
229
|
+
ref: "carouselRef"
|
|
230
|
+
}, {
|
|
231
|
+
default: vue.withCtx(() => [
|
|
232
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(partAdBanner.value.contents, (item) => {
|
|
233
|
+
return vue.openBlock(), vue.createBlock(_component_el_carousel_item, {
|
|
234
|
+
key: item.id
|
|
235
|
+
}, {
|
|
236
|
+
default: vue.withCtx(() => [
|
|
237
|
+
vue.createElementVNode("div", _hoisted_1, [
|
|
238
|
+
vue.createElementVNode("div", _hoisted_2, [
|
|
239
|
+
item.type == 1 ? (vue.openBlock(), vue.createBlock(_component_el_image, {
|
|
240
|
+
key: 0,
|
|
241
|
+
class: "mk-cms-part-banner__list_content_img",
|
|
242
|
+
src: item.path,
|
|
243
|
+
fit: "cover",
|
|
244
|
+
tyle: "width: 100%;height: 100%;"
|
|
245
|
+
}, {
|
|
246
|
+
default: vue.withCtx(() => [
|
|
247
|
+
_hoisted_3
|
|
248
|
+
]),
|
|
249
|
+
_: 2
|
|
250
|
+
}, 1032, ["src"])) : vue.createCommentVNode("", true),
|
|
251
|
+
item.type == 2 ? (vue.openBlock(), vue.createElementBlock("video", {
|
|
252
|
+
key: 1,
|
|
253
|
+
class: "video",
|
|
254
|
+
src: item.path,
|
|
255
|
+
style: { "width": "100%", "height": "100%" },
|
|
256
|
+
controls: ""
|
|
257
|
+
}, null, 8, _hoisted_4)) : vue.createCommentVNode("", true)
|
|
258
|
+
]),
|
|
259
|
+
vue.createElementVNode("div", _hoisted_5, [
|
|
260
|
+
vue.createElementVNode("div", _hoisted_6, vue.toDisplayString(item.title), 1),
|
|
261
|
+
vue.createElementVNode("div", null, vue.toDisplayString(item.desc), 1)
|
|
262
|
+
]),
|
|
263
|
+
vue.createElementVNode("div", _hoisted_7, [
|
|
264
|
+
vue.createVNode(_component_el_button, {
|
|
265
|
+
type: "primary",
|
|
266
|
+
style: { "margin-left": "10px" },
|
|
267
|
+
icon: vue.unref(elIcons.EditPen),
|
|
268
|
+
onClick: ($event) => showAdContentHandle(item.id)
|
|
269
|
+
}, {
|
|
270
|
+
default: vue.withCtx(() => [
|
|
271
|
+
vue.createTextVNode(" 编辑当前轮播素材 ")
|
|
272
|
+
]),
|
|
273
|
+
_: 2
|
|
274
|
+
}, 1032, ["icon", "onClick"]),
|
|
275
|
+
vue.createVNode(_component_el_button, {
|
|
276
|
+
type: "primary",
|
|
277
|
+
style: { "margin-left": "10px" },
|
|
278
|
+
icon: vue.unref(elIcons.Plus),
|
|
279
|
+
onClick: _cache[0] || (_cache[0] = ($event) => showAdContentHandle(null))
|
|
280
|
+
}, {
|
|
281
|
+
default: vue.withCtx(() => [
|
|
282
|
+
vue.createTextVNode(" 添加新轮播素材 ")
|
|
283
|
+
]),
|
|
284
|
+
_: 1
|
|
285
|
+
}, 8, ["icon"]),
|
|
286
|
+
vue.createVNode(_component_el_button, {
|
|
287
|
+
type: "primary",
|
|
288
|
+
style: { "margin-left": "10px" },
|
|
289
|
+
icon: vue.unref(elIcons.EditPen),
|
|
290
|
+
onClick: _cache[1] || (_cache[1] = ($event) => showAdDefineHandle())
|
|
291
|
+
}, {
|
|
292
|
+
default: vue.withCtx(() => [
|
|
293
|
+
vue.createTextVNode(" 设置素材显示尺寸 ")
|
|
294
|
+
]),
|
|
295
|
+
_: 1
|
|
296
|
+
}, 8, ["icon"]),
|
|
297
|
+
vue.createVNode(_component_el_button, {
|
|
298
|
+
type: "danger",
|
|
299
|
+
style: { "margin-left": "10px" },
|
|
300
|
+
icon: vue.unref(elIcons.Delete),
|
|
301
|
+
onClick: ($event) => deleteAdContentHandle(item.id)
|
|
302
|
+
}, {
|
|
303
|
+
default: vue.withCtx(() => [
|
|
304
|
+
vue.createTextVNode(" 删除当前素材 ")
|
|
305
|
+
]),
|
|
306
|
+
_: 2
|
|
307
|
+
}, 1032, ["icon", "onClick"])
|
|
308
|
+
])
|
|
309
|
+
])
|
|
310
|
+
]),
|
|
311
|
+
_: 2
|
|
312
|
+
}, 1024);
|
|
313
|
+
}), 128))
|
|
314
|
+
]),
|
|
315
|
+
_: 1
|
|
316
|
+
}, 8, ["height"])) : (vue.openBlock(), vue.createBlock(_component_el_empty, {
|
|
317
|
+
key: 1,
|
|
318
|
+
"image-size": 80,
|
|
319
|
+
style: vue.normalizeStyle({ height: partAdBannerHeight.value })
|
|
320
|
+
}, {
|
|
321
|
+
description: vue.withCtx(() => [
|
|
322
|
+
vue.createVNode(_component_el_text, null, {
|
|
323
|
+
default: vue.withCtx(() => [
|
|
324
|
+
vue.createTextVNode("暂无" + vue.toDisplayString(__props.title) + "轮播素材数据", 1)
|
|
325
|
+
]),
|
|
326
|
+
_: 1
|
|
327
|
+
}),
|
|
328
|
+
vue.createVNode(_component_el_button, {
|
|
329
|
+
type: "primary",
|
|
330
|
+
text: "",
|
|
331
|
+
style: { "margin-left": "10px" },
|
|
332
|
+
icon: vue.unref(elIcons.Plus),
|
|
333
|
+
onClick: _cache[2] || (_cache[2] = ($event) => showAdDefineHandle())
|
|
334
|
+
}, {
|
|
335
|
+
default: vue.withCtx(() => [
|
|
336
|
+
vue.createTextVNode(" 设置素材显示尺寸 ")
|
|
337
|
+
]),
|
|
338
|
+
_: 1
|
|
339
|
+
}, 8, ["icon"]),
|
|
340
|
+
vue.createVNode(_component_el_button, {
|
|
341
|
+
type: "primary",
|
|
342
|
+
text: "",
|
|
343
|
+
style: { "margin-left": "10px" },
|
|
344
|
+
icon: vue.unref(elIcons.Plus),
|
|
345
|
+
onClick: _cache[3] || (_cache[3] = ($event) => showAdContentHandle(null))
|
|
346
|
+
}, {
|
|
347
|
+
default: vue.withCtx(() => [
|
|
348
|
+
vue.createTextVNode(" 添加 ")
|
|
349
|
+
]),
|
|
350
|
+
_: 1
|
|
351
|
+
}, 8, ["icon"])
|
|
352
|
+
]),
|
|
353
|
+
_: 1
|
|
354
|
+
}, 8, ["style"]))
|
|
355
|
+
])), [
|
|
356
|
+
[_directive_loading, loading.value]
|
|
357
|
+
]);
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
module.exports = _sfc_main;
|
|
362
|
+
//# sourceMappingURL=part-banner.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part-banner.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-banner.vue"],"sourcesContent":["<template>\r\n <div v-loading=\"loading\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" :height=\"partAdBannerHeight\"\r\n arrow=\"always\" ref=\"carouselRef\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdContentHandle(item.id)\">\r\n 编辑当前轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加新轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"danger\" style=\"margin-left: 10px;\" :icon=\"Delete\" @click=\"deleteAdContentHandle(item.id)\">\r\n 删除当前素材\r\n </el-button>\r\n </div>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n <el-empty v-else :image-size=\"80\" :style=\"{ height: partAdBannerHeight }\">\r\n <template #description>\r\n <el-text>暂无{{ title }}轮播素材数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, ref, watch, defineProps, computed } from \"vue\";\r\nimport { DataViewRequest, DVQueryable, Where } from \"@maketribe/request\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, Plus, Delete } from \"@element-plus/icons-vue\"\r\n\r\nconst props = defineProps({ adkey: { type: String }, title: { type: String }, deviceValue: { type: String, default: \"\" }, viewWidth: { type: Number } })\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\n// 栏目广告\r\nconst partAdBanner = ref<any | null>(null);\r\nconst loading = ref(true);\r\nconst adContentForm = reactive<CmsAdContentsForm>(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }))\r\nconst adDefineForm = reactive<CmsAdDefinesForm>(new CmsAdDefinesForm())\r\nconst warpRef = ref<any | null>(null);\r\n// 计算广告的高度\r\nconst partAdBannerHeight = computed(() => {\r\n\r\n // 全局Banner尺寸信息\r\n const sizes = cmsSettings.part.bannerImageSize.split(\"*\") as Array<any>;\r\n\r\n // 宽高比\r\n let widthHeightRatio = 0;\r\n\r\n //设定的比例\r\n if (!!partAdBanner.value?.width && !!partAdBanner.value?.height) {\r\n widthHeightRatio = partAdBanner.value.width / partAdBanner.value.height;\r\n }\r\n else if (sizes.length && sizes[0] && sizes[1]) {\r\n widthHeightRatio = sizes[0] / sizes[1]\r\n }\r\n\r\n if (widthHeightRatio && props.viewWidth) { return (props.viewWidth / widthHeightRatio) + \"px\" }\r\n\r\n return \"240px\"\r\n\r\n})\r\n\r\n// 内容添加之前监测广告是否存在不存在先添加广告\r\nadContentForm.beforeSubmitEvent.on(async ({ data }) => {\r\n\r\n if (partAdBanner.value) {\r\n data.adDefineId = partAdBanner.value.id as any;\r\n }\r\n else {\r\n try {\r\n\r\n const widthAndHeight = cmsSettings.part.bannerImageSize.split(\"*\");\r\n // 添加广告\r\n const result = await adRequest.add({ key: props.adkey, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] })\r\n\r\n if (result.data.code == 200) {\r\n partAdBanner.value = { id: result.data.data as string }\r\n data.adDefineId = result.data.data;\r\n }\r\n\r\n } catch (error) {\r\n Messager.error({ message: \"添加失败!\" });\r\n }\r\n }\r\n\r\n})\r\n\r\n//提交判断是否存在,判断更新还是添加\r\nadDefineForm.formatSubmitData = ((data) => {\r\n if (partAdBanner.value) {\r\n data.id = partAdBanner.value.id as any;\r\n } else {\r\n data.key = props.adkey\r\n data.desc = `${props.title}的Banner`\r\n }\r\n return data\r\n})\r\n\r\n// 添加完成则刷新\r\nadContentForm.submittedEvent.on(() => loadPartAdDefineData())\r\n// 添加完成则刷新\r\nadDefineForm.submittedEvent.on(() => loadPartAdDefineData())\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", props.adkey);\r\n // 加载广告定义\r\n partAdBanner.value = (await adRequest.query({\r\n data: {\r\n pn: 1,\r\n pc: 1000000,\r\n condition: where\r\n }\r\n })).data.data[0];\r\n\r\n if (partAdBanner.value?.width && partAdBanner.value?.width) {\r\n adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`)\r\n }\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n\r\n//显示栏目广告的编辑弹窗\r\nconst showAdContentHandle = async (id: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n\r\n//显示栏目广告定义的编辑弹窗\r\nconst showAdDefineHandle = async () => {\r\n await Dialoger.dataFormDialog({\r\n title: \"设置素材显示尺寸\",\r\n dataForm: adDefineForm as CmsAdDefinesForm,\r\n recId: partAdBanner.value?.id\r\n })\r\n adDefineForm.getColumn(\"contents\")!.visible = false;\r\n adDefineForm.getColumn(\"key\")!.visible = false;\r\n adDefineForm.getColumn(\"desc\")!.visible = false;\r\n}\r\n\r\nconst deleteAdContentHandle = async (id: any) => {\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"确定删除?\", message: \"确定删除当前轮播吗?\", type: \"warning\" })\r\n if (!isConfirm) return;\r\n const result = await adContentRequest.delete(id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败!\" })\r\n return\r\n };\r\n loadPartAdDefineData()\r\n } catch (error) {\r\n Messager.error({ message: \"删除失败!\" })\r\n }\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.adkey, () => loadPartAdDefineData(), { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":["DataViewRequest","cmsSettings","useCmsSettings","ref","reactive","CmsAdContentsForm","CmsAdDefinesForm","computed","Messager","Where","Dialoger","onMounted","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,UAAM,QAAQ;AAGR,UAAA,YAAY,IAAIA,QAAAA,gBAAgB,EAAE,MAAM,aAAa,YAAY,OAAO;AACxE,UAAA,mBAAmB,IAAIA,QAAAA,gBAAgB,EAAE,MAAM,cAAc,YAAY,OAAO;AAEtF,UAAMC,gBAAcC,YAAAA;AAEd,UAAA,eAAeC,QAAgB,IAAI;AACnC,UAAA,UAAUA,QAAI,IAAI;AAClB,UAAA,gBAAgBC,aAA4B,IAAIC,oCAAkB,EAAE,SAASJ,cAAY,KAAK,gBAAiB,CAAA,CAAC;AACtH,UAAM,eAAeG,IAAAA,SAA2B,IAAIE,iBAAAA,iBAAkB,CAAA;AACtDH,QAAAA,IAAgB,IAAI;AAE9B,UAAA,qBAAqBI,IAAAA,SAAS,MAAM;;AAGxC,YAAM,QAAQN,cAAY,KAAK,gBAAgB,MAAM,GAAG;AAGxD,UAAI,mBAAmB;AAGnB,UAAA,CAAC,GAAC,kBAAa,UAAb,mBAAoB,UAAS,CAAC,GAAC,kBAAa,UAAb,mBAAoB,SAAQ;AAC/D,2BAAmB,aAAa,MAAM,QAAQ,aAAa,MAAM;AAAA,MAAA,WAE1D,MAAM,UAAU,MAAM,CAAC,KAAK,MAAM,CAAC,GAAG;AAC7C,2BAAmB,MAAM,CAAC,IAAI,MAAM,CAAC;AAAA,MACvC;AAEI,UAAA,oBAAoB,MAAM,WAAW;AAAU,eAAA,MAAM,YAAY,mBAAoB;AAAA,MAAK;AAEvF,aAAA;AAAA,IAAA,CAER;AAGD,kBAAc,kBAAkB,GAAG,OAAO,EAAE,WAAW;AAErD,UAAI,aAAa,OAAO;AACjB,aAAA,aAAa,aAAa,MAAM;AAAA,MAAA,OAElC;AACC,YAAA;AAEF,gBAAM,iBAAiBA,cAAY,KAAK,gBAAgB,MAAM,GAAG;AAE3D,gBAAA,SAAS,MAAM,UAAU,IAAI,EAAE,KAAK,MAAM,OAAO,MAAM,GAAG,MAAM,KAAK,WAAW,OAAO,eAAe,CAAC,GAAG,QAAQ,eAAe,CAAC,EAAA,CAAG;AAEvI,cAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,yBAAa,QAAQ,EAAE,IAAI,OAAO,KAAK;AAClC,iBAAA,aAAa,OAAO,KAAK;AAAA,UAChC;AAAA,iBAEO,OAAO;AACdO,aAAAA,SAAS,MAAM,EAAE,SAAS,QAAS,CAAA;AAAA,QACrC;AAAA,MACF;AAAA,IAAA,CAED;AAGY,iBAAA,mBAAoB,CAAC,SAAS;AACzC,UAAI,aAAa,OAAO;AACjB,aAAA,KAAK,aAAa,MAAM;AAAA,MAAA,OACxB;AACL,aAAK,MAAM,MAAM;AACZ,aAAA,OAAO,GAAG,MAAM,KAAK;AAAA,MAC5B;AACO,aAAA;AAAA,IAAA;AAIT,kBAAc,eAAe,GAAG,MAAM,qBAAsB,CAAA;AAE5D,iBAAa,eAAe,GAAG,MAAM,qBAAsB,CAAA;AAG3D,UAAM,uBAAuB,YAAY;;AAEnC,UAAA;AAEF,gBAAQ,QAAQ;AACV,cAAA,QAAQ,IAAIC,QAAAA;AAClB,cAAM,aAAa,OAAO,KAAK,MAAM,KAAK;AAE7B,qBAAA,SAAS,MAAM,UAAU,MAAM;AAAA,UAC1C,MAAM;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,WAAW;AAAA,UACb;AAAA,QACD,CAAA,GAAG,KAAK,KAAK,CAAC;AAEf,cAAI,kBAAa,UAAb,mBAAoB,YAAS,kBAAa,UAAb,mBAAoB,QAAO;AAC5C,wBAAA,cAAc,GAAG,aAAa,MAAM,KAAK,IAAI,aAAa,MAAM,MAAM,EAAE;AAAA,QACxF;AAAA,eAEO,GAAG;AACV,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAII,UAAA,sBAAsB,OAAO,OAAY;AAC7C,YAAMC,GAAAA,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,QACV,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAIH,UAAM,qBAAqB,YAAY;;AACrC,YAAMA,GAAAA,SAAS,eAAe;AAAA,QAC5B,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAO,kBAAa,UAAb,mBAAoB;AAAA,MAAA,CAC5B;AACY,mBAAA,UAAU,UAAU,EAAG,UAAU;AACjC,mBAAA,UAAU,KAAK,EAAG,UAAU;AAC5B,mBAAA,UAAU,MAAM,EAAG,UAAU;AAAA,IAAA;AAGtC,UAAA,wBAAwB,OAAO,OAAY;AAC3C,UAAA;AACI,cAAA,YAAY,MAAMA,YAAS,QAAQ,EAAE,OAAO,SAAS,SAAS,cAAc,MAAM,UAAW,CAAA;AACnG,YAAI,CAAC,UAAW;AAChB,cAAM,SAAS,MAAM,iBAAiB,OAAO,EAAE;AAC3C,YAAA,OAAO,KAAK,QAAQ,KAAK;AAC3BF,sBAAS,MAAM,EAAE,SAAS,OAAO,KAAK,OAAO,SAAS;AACtD;AAAA,QACF;AAAC;AACoB;eACd,OAAO;AACdA,WAAAA,SAAS,MAAM,EAAE,SAAS,QAAS,CAAA;AAAA,MACrC;AAAA,IAAA;AAIFG,QAAAA,UAAU,MAAM;AACRC,gBAAA,MAAM,MAAM,OAAO,MAAM,wBAAwB,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CAC3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part-banner.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -53,6 +53,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
53
53
|
const _component_el_radio = vue.resolveComponent("el-radio");
|
|
54
54
|
const _component_el_radio_group = vue.resolveComponent("el-radio-group");
|
|
55
55
|
const _component_el_form_item = vue.resolveComponent("el-form-item");
|
|
56
|
+
const _component_el_checkbox = vue.resolveComponent("el-checkbox");
|
|
57
|
+
const _component_el_checkbox_group = vue.resolveComponent("el-checkbox-group");
|
|
56
58
|
const _component_el_form = vue.resolveComponent("el-form");
|
|
57
59
|
const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
|
|
58
60
|
const _component_el_divider = vue.resolveComponent("el-divider");
|
|
@@ -101,7 +103,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
101
103
|
vue.createElementVNode("div", _hoisted_3, [
|
|
102
104
|
vue.createVNode(_component_el_tabs, {
|
|
103
105
|
modelValue: activeTabName.value,
|
|
104
|
-
"onUpdate:modelValue": _cache[
|
|
106
|
+
"onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => activeTabName.value = $event),
|
|
105
107
|
class: "mk-cms-contents__body__right"
|
|
106
108
|
}, {
|
|
107
109
|
default: vue.withCtx(() => [
|
|
@@ -139,6 +141,27 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
139
141
|
}, 8, ["modelValue"])
|
|
140
142
|
]),
|
|
141
143
|
_: 1
|
|
144
|
+
}),
|
|
145
|
+
vue.createVNode(_component_el_form_item, { label: "兼容设备 : " }, {
|
|
146
|
+
default: vue.withCtx(() => [
|
|
147
|
+
vue.createVNode(_component_el_checkbox_group, {
|
|
148
|
+
modelValue: vue.unref(CmsSettings).devices,
|
|
149
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(CmsSettings).devices = $event)
|
|
150
|
+
}, {
|
|
151
|
+
default: vue.withCtx(() => [
|
|
152
|
+
vue.createVNode(_component_el_checkbox, {
|
|
153
|
+
label: "PC端",
|
|
154
|
+
value: "pc"
|
|
155
|
+
}),
|
|
156
|
+
vue.createVNode(_component_el_checkbox, {
|
|
157
|
+
label: "移动端",
|
|
158
|
+
value: "mobile"
|
|
159
|
+
})
|
|
160
|
+
]),
|
|
161
|
+
_: 1
|
|
162
|
+
}, 8, ["modelValue"])
|
|
163
|
+
]),
|
|
164
|
+
_: 1
|
|
142
165
|
})
|
|
143
166
|
]),
|
|
144
167
|
_: 1
|
|
@@ -166,7 +189,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
166
189
|
default: vue.withCtx(() => [
|
|
167
190
|
vue.createVNode(_component_el_switch, {
|
|
168
191
|
modelValue: vue.unref(CmsSettings).part.openBanner,
|
|
169
|
-
"onUpdate:modelValue": _cache[
|
|
192
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(CmsSettings).part.openBanner = $event)
|
|
170
193
|
}, null, 8, ["modelValue"])
|
|
171
194
|
]),
|
|
172
195
|
_: 1
|
|
@@ -178,7 +201,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
178
201
|
default: vue.withCtx(() => [
|
|
179
202
|
vue.createVNode(_component_el_input, {
|
|
180
203
|
modelValue: vue.unref(CmsSettings).part.bannerImageSize,
|
|
181
|
-
"onUpdate:modelValue": _cache[
|
|
204
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(CmsSettings).part.bannerImageSize = $event),
|
|
182
205
|
placeholder: "",
|
|
183
206
|
style: { "max-width": "200px" }
|
|
184
207
|
}, null, 8, ["modelValue"])
|
|
@@ -198,7 +221,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
198
221
|
default: vue.withCtx(() => [
|
|
199
222
|
vue.createVNode(_component_el_input, {
|
|
200
223
|
modelValue: vue.unref(CmsSettings).part.doc.css,
|
|
201
|
-
"onUpdate:modelValue": _cache[
|
|
224
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(CmsSettings).part.doc.css = $event),
|
|
202
225
|
autosize: { minRows: 2, maxRows: 4 },
|
|
203
226
|
type: "textarea",
|
|
204
227
|
placeholder: "多个css url , 号分割,逗号必须是英文逗号"
|
|
@@ -210,7 +233,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
210
233
|
default: vue.withCtx(() => [
|
|
211
234
|
vue.createVNode(_component_el_input, {
|
|
212
235
|
modelValue: vue.unref(CmsSettings).part.doc.js,
|
|
213
|
-
"onUpdate:modelValue": _cache[
|
|
236
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(CmsSettings).part.doc.js = $event),
|
|
214
237
|
autosize: { minRows: 2, maxRows: 4 },
|
|
215
238
|
type: "textarea",
|
|
216
239
|
placeholder: "多个 js url , 号分割,逗号必须是英文逗号"
|
|
@@ -238,7 +261,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
238
261
|
default: vue.withCtx(() => [
|
|
239
262
|
vue.createVNode(_component_el_switch, {
|
|
240
263
|
modelValue: vue.unref(CmsSettings).content.useTop,
|
|
241
|
-
"onUpdate:modelValue": _cache[
|
|
264
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(CmsSettings).content.useTop = $event)
|
|
242
265
|
}, null, 8, ["modelValue"])
|
|
243
266
|
]),
|
|
244
267
|
_: 1
|
|
@@ -247,7 +270,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
247
270
|
default: vue.withCtx(() => [
|
|
248
271
|
vue.createVNode(_component_el_switch, {
|
|
249
272
|
modelValue: vue.unref(CmsSettings).content.useNew,
|
|
250
|
-
"onUpdate:modelValue": _cache[
|
|
273
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(CmsSettings).content.useNew = $event)
|
|
251
274
|
}, null, 8, ["modelValue"])
|
|
252
275
|
]),
|
|
253
276
|
_: 1
|
|
@@ -256,7 +279,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
256
279
|
default: vue.withCtx(() => [
|
|
257
280
|
vue.createVNode(_component_el_switch, {
|
|
258
281
|
modelValue: vue.unref(CmsSettings).content.useHotRecommend,
|
|
259
|
-
"onUpdate:modelValue": _cache[
|
|
282
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(CmsSettings).content.useHotRecommend = $event)
|
|
260
283
|
}, null, 8, ["modelValue"])
|
|
261
284
|
]),
|
|
262
285
|
_: 1
|
|
@@ -265,7 +288,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
265
288
|
default: vue.withCtx(() => [
|
|
266
289
|
vue.createVNode(_component_el_switch, {
|
|
267
290
|
modelValue: vue.unref(CmsSettings).content.usePartRecommend,
|
|
268
|
-
"onUpdate:modelValue": _cache[
|
|
291
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(CmsSettings).content.usePartRecommend = $event)
|
|
269
292
|
}, null, 8, ["modelValue"])
|
|
270
293
|
]),
|
|
271
294
|
_: 1
|
|
@@ -274,7 +297,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
274
297
|
default: vue.withCtx(() => [
|
|
275
298
|
vue.createVNode(_component_el_switch, {
|
|
276
299
|
modelValue: vue.unref(CmsSettings).content.useTags,
|
|
277
|
-
"onUpdate:modelValue": _cache[
|
|
300
|
+
"onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(CmsSettings).content.useTags = $event)
|
|
278
301
|
}, null, 8, ["modelValue"])
|
|
279
302
|
]),
|
|
280
303
|
_: 1
|
|
@@ -283,7 +306,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
283
306
|
default: vue.withCtx(() => [
|
|
284
307
|
vue.createVNode(_component_el_switch, {
|
|
285
308
|
modelValue: vue.unref(CmsSettings).content.useAtlas,
|
|
286
|
-
"onUpdate:modelValue": _cache[
|
|
309
|
+
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(CmsSettings).content.useAtlas = $event)
|
|
287
310
|
}, null, 8, ["modelValue"])
|
|
288
311
|
]),
|
|
289
312
|
_: 1
|
|
@@ -292,7 +315,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
292
315
|
default: vue.withCtx(() => [
|
|
293
316
|
vue.createVNode(_component_el_input, {
|
|
294
317
|
modelValue: vue.unref(CmsSettings).content.coverImageSize,
|
|
295
|
-
"onUpdate:modelValue": _cache[
|
|
318
|
+
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(CmsSettings).content.coverImageSize = $event),
|
|
296
319
|
placeholder: "",
|
|
297
320
|
style: { "max-width": "200px" }
|
|
298
321
|
}, null, 8, ["modelValue"])
|
|
@@ -303,7 +326,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
303
326
|
default: vue.withCtx(() => [
|
|
304
327
|
vue.createVNode(_component_el_input, {
|
|
305
328
|
modelValue: vue.unref(CmsSettings).content.bannerImageSize,
|
|
306
|
-
"onUpdate:modelValue": _cache[
|
|
329
|
+
"onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(CmsSettings).content.bannerImageSize = $event),
|
|
307
330
|
placeholder: "",
|
|
308
331
|
style: { "max-width": "200px" }
|
|
309
332
|
}, null, 8, ["modelValue"])
|
|
@@ -329,7 +352,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
329
352
|
default: vue.withCtx(() => [
|
|
330
353
|
vue.createVNode(_component_el_input, {
|
|
331
354
|
modelValue: vue.unref(CmsSettings).content.doc.css,
|
|
332
|
-
"onUpdate:modelValue": _cache[
|
|
355
|
+
"onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(CmsSettings).content.doc.css = $event),
|
|
333
356
|
autosize: { minRows: 2, maxRows: 4 },
|
|
334
357
|
type: "textarea",
|
|
335
358
|
placeholder: "多个css url , 号分割,逗号必须是英文逗号"
|
|
@@ -341,7 +364,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
341
364
|
default: vue.withCtx(() => [
|
|
342
365
|
vue.createVNode(_component_el_input, {
|
|
343
366
|
modelValue: vue.unref(CmsSettings).content.doc.js,
|
|
344
|
-
"onUpdate:modelValue": _cache[
|
|
367
|
+
"onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(CmsSettings).content.doc.js = $event),
|
|
345
368
|
autosize: { minRows: 2, maxRows: 4 },
|
|
346
369
|
type: "textarea",
|
|
347
370
|
placeholder: "多个 js url , 号分割,逗号必须是英文逗号"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-settigns/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-appsettings__warp\" v-loading=\"loading\" style=\"\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\r\n <MKSvgIcon iconClass=\"Operation\" style=\"margin-right: 5px\" />\r\n CMS应用设置\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div>\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text :disabled=\"!changed\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" />\r\n 保存\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-appsettings__form_warp\" style=\"\r\n background: #fff;\r\n flex: 1;\r\n height: 100%;\r\n padding: 10px;\r\n margin: 10px;\r\n overflow: auto;\r\n \">\r\n <el-tabs v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <el-tab-pane label=\"发布设置\" name=\"publish\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"发布模式 : \">\r\n <el-radio-group v-model=\"CmsSettings.publish.mode\">\r\n <el-radio value=\"static\">静态发布</el-radio>\r\n <el-radio value=\"dynamic\">动态发布</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-form>\r\n <!-- <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"文档模块 : \">\r\n <DocModuleEditForm :modules=\"CmsSettings.docModules\"></DocModuleEditForm>\r\n </el-form-item>\r\n </el-form> -->\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\">\r\n <el-divider content-position=\"left\">栏目内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"开启栏目轮播图 : \">\r\n <el-switch v-model=\"CmsSettings.part.openBanner\" />\r\n </el-form-item>\r\n\r\n <el-form-item v-if=\"CmsSettings.part.openBanner\" label=\"轮播图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.part.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n \r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.part.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.part.doc.js\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"内容设置\" name=\"content\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"启用内容置顶 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTop\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用最新内容 : \">\r\n <el-switch v-model=\"CmsSettings.content.useNew\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用热门推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.useHotRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用栏目推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.usePartRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容标签 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTags\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容资源库 : \">\r\n <el-switch v-model=\"CmsSettings.content.useAtlas\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容封面图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.coverImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容Banner图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n \r\n <el-divider content-position=\"left\">内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.content.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.content.doc.js\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref,onMounted,watch, } from \"vue\";\r\nimport { useCmsSettings,CmsSettingsKEY,type CmsSettingsType } from \"../../cms-settings\"\r\nimport { MsConfigTable } from \"../../../ms/dataviews/ms-config/\"\r\nimport DocModuleEditForm from \"./DocModuleEditForm.vue\"\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true); \r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"publish\");\r\n// 激活的tab\r\nconst loading = ref(false);\r\nconst changed = ref(false);\r\n\r\n\r\nconst saveHandle = async ()=>{\r\n\r\n if(changed.value){\r\n loading.value = true;\r\n await MsConfigTable.setConfigValue(CmsSettingsKEY,JSON.stringify(CmsSettings))\r\n loading.value = false;\r\n changed.value = false;\r\n }\r\n\r\n}\r\n\r\nonMounted(async ()=>{\r\n\r\n // 初始化\r\n const data = await MsConfigTable.getConfigValue<CmsSettingsType>(CmsSettingsKEY);\r\n if(data){ Object.assign(CmsSettings,data) }\r\n setTimeout(() => {\r\n loading.value = false;\r\n }, 500);\r\n // 数据改变\r\n watch(CmsSettings,()=>{\r\n changed.value = true;\r\n },{ deep:true })\r\n})\r\n</script>\r\n"],"names":["useCmsSettings","ref","MsConfigTable","CmsSettingsKEY","onMounted","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-settigns/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-appsettings__warp\" v-loading=\"loading\" style=\"\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\">\r\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\r\n <MKSvgIcon iconClass=\"Operation\" style=\"margin-right: 5px\" />\r\n CMS应用设置\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div>\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text :disabled=\"!changed\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" />\r\n 保存\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-appsettings__form_warp\" style=\"\r\n background: #fff;\r\n flex: 1;\r\n height: 100%;\r\n padding: 10px;\r\n margin: 10px;\r\n overflow: auto;\r\n \">\r\n <el-tabs v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <el-tab-pane label=\"发布设置\" name=\"publish\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"发布模式 : \">\r\n <el-radio-group v-model=\"CmsSettings.publish.mode\">\r\n <el-radio value=\"static\">静态发布</el-radio>\r\n <el-radio value=\"dynamic\">动态发布</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n <el-form-item label=\"兼容设备 : \">\r\n <el-checkbox-group v-model=\"CmsSettings.devices\">\r\n <el-checkbox label=\"PC端\" value=\"pc\" />\r\n <el-checkbox label=\"移动端\" value=\"mobile\" />\r\n </el-checkbox-group>\r\n </el-form-item>\r\n </el-form>\r\n <!-- <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"文档模块 : \">\r\n <DocModuleEditForm :modules=\"CmsSettings.docModules\"></DocModuleEditForm>\r\n </el-form-item>\r\n </el-form> -->\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\">\r\n <el-divider content-position=\"left\">栏目内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"开启栏目轮播图 : \">\r\n <el-switch v-model=\"CmsSettings.part.openBanner\" />\r\n </el-form-item>\r\n\r\n <el-form-item v-if=\"CmsSettings.part.openBanner\" label=\"轮播图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.part.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n \r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.part.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.part.doc.js\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"内容设置\" name=\"content\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"启用内容置顶 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTop\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用最新内容 : \">\r\n <el-switch v-model=\"CmsSettings.content.useNew\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用热门推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.useHotRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用栏目推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.usePartRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容标签 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTags\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容资源库 : \">\r\n <el-switch v-model=\"CmsSettings.content.useAtlas\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容封面图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.coverImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容Banner图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n \r\n <el-divider content-position=\"left\">内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.content.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.content.doc.js\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref,onMounted,watch, } from \"vue\";\r\nimport { useCmsSettings,CmsSettingsKEY,type CmsSettingsType } from \"../../cms-settings\"\r\nimport { MsConfigTable } from \"../../../ms/dataviews/ms-config/\"\r\nimport DocModuleEditForm from \"./DocModuleEditForm.vue\"\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true); \r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"publish\");\r\n// 激活的tab\r\nconst loading = ref(false);\r\nconst changed = ref(false);\r\n\r\n\r\nconst saveHandle = async ()=>{\r\n\r\n if(changed.value){\r\n loading.value = true;\r\n await MsConfigTable.setConfigValue(CmsSettingsKEY,JSON.stringify(CmsSettings))\r\n loading.value = false;\r\n changed.value = false;\r\n }\r\n\r\n}\r\n\r\nonMounted(async ()=>{\r\n\r\n // 初始化\r\n const data = await MsConfigTable.getConfigValue<CmsSettingsType>(CmsSettingsKEY);\r\n if(data){ Object.assign(CmsSettings,data) }\r\n setTimeout(() => {\r\n loading.value = false;\r\n }, 500);\r\n // 数据改变\r\n watch(CmsSettings,()=>{\r\n changed.value = true;\r\n },{ deep:true })\r\n})\r\n</script>\r\n"],"names":["useCmsSettings","ref","MsConfigTable","CmsSettingsKEY","onMounted","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA+IM,UAAA,cAAcA,2BAAe,IAAI;AAGjC,UAAA,gBAAgBC,QAAI,SAAS;AAE7B,UAAA,UAAUA,QAAI,KAAK;AACnB,UAAA,UAAUA,QAAI,KAAK;AAGzB,UAAM,aAAa,YAAU;AAE3B,UAAG,QAAQ,OAAM;AACf,gBAAQ,QAAQ;AAChB,cAAMC,cAAAA,cAAc,eAAeC,YAAA,gBAAe,KAAK,UAAU,WAAW,CAAC;AAC7E,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAIFC,QAAAA,UAAU,YAAU;AAGlB,YAAM,OAAQ,MAAMF,cAAAA,cAAc,eAAgCC,YAAc,cAAA;AAChF,UAAG,MAAK;AAAS,eAAA,OAAO,aAAY,IAAI;AAAA,MAAE;AAC1C,iBAAW,MAAM;AACf,gBAAQ,QAAQ;AAAA,SACf,GAAG;AAENE,UAAA,MAAM,aAAY,MAAI;AACpB,gBAAQ,QAAQ;AAAA,MAAA,GAChB,EAAE,MAAK,KAAA,CAAM;AAAA,IAAA,CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|