From 45a31db37fbc9a54e9d0801614d2295642341e45 Mon Sep 17 00:00:00 2001 From: Jason <5340635+wen-jason@user.noreply.gitee.com> Date: Tue, 6 Sep 2022 11:51:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E4=BF=AE=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/.eslintrc.cjs | 3 +- admin/src/api/decoration.ts | 11 +++ admin/src/components/image-contain/index.vue | 8 +- admin/src/components/link/custom-link.vue | 39 ++++++++ admin/src/components/link/index.ts | 11 +++ admin/src/components/link/index.vue | 71 ++++++++++++++ admin/src/components/link/picker.vue | 53 ++++++++++ admin/src/components/link/shop-pages.vue | 42 ++++++++ admin/src/components/material/picker.vue | 11 ++- .../default/components/sidebar/menu.vue | 7 +- admin/src/router/index.ts | 1 + admin/src/styles/var.css | 2 +- admin/src/views/article/lists/edit.vue | 7 +- admin/src/views/channel/h5.vue | 9 +- admin/src/views/channel/wx_dev.vue | 11 +-- .../component/pages/attr-setting.vue | 26 +++++ .../views/decoration/component/pages/menu.vue | 44 +++++++++ .../decoration/component/pages/preview.vue | 64 +++++++++++++ .../component/widgets/banner/attr.vue | 73 ++++++++++++++ .../component/widgets/banner/content.vue | 31 ++++++ .../component/widgets/banner/options.ts | 15 +++ .../decoration/component/widgets/index.ts | 15 +++ .../decoration/component/widgets/nav/attr.vue | 77 +++++++++++++++ .../component/widgets/nav/content.vue | 35 +++++++ .../component/widgets/nav/options.ts | 15 +++ .../component/widgets/search/attr.vue | 20 ++++ .../component/widgets/search/content.vue | 23 +++++ .../component/widgets/search/options.ts | 7 ++ admin/src/views/decoration/pages/index.vue | 96 +++++++++++++++++++ admin/src/views/message/short_letter/edit.vue | 13 ++- admin/tailwind.config.js | 1 + 31 files changed, 820 insertions(+), 21 deletions(-) create mode 100644 admin/src/api/decoration.ts create mode 100644 admin/src/components/link/custom-link.vue create mode 100644 admin/src/components/link/index.ts create mode 100644 admin/src/components/link/index.vue create mode 100644 admin/src/components/link/picker.vue create mode 100644 admin/src/components/link/shop-pages.vue create mode 100644 admin/src/views/decoration/component/pages/attr-setting.vue create mode 100644 admin/src/views/decoration/component/pages/menu.vue create mode 100644 admin/src/views/decoration/component/pages/preview.vue create mode 100644 admin/src/views/decoration/component/widgets/banner/attr.vue create mode 100644 admin/src/views/decoration/component/widgets/banner/content.vue create mode 100644 admin/src/views/decoration/component/widgets/banner/options.ts create mode 100644 admin/src/views/decoration/component/widgets/index.ts create mode 100644 admin/src/views/decoration/component/widgets/nav/attr.vue create mode 100644 admin/src/views/decoration/component/widgets/nav/content.vue create mode 100644 admin/src/views/decoration/component/widgets/nav/options.ts create mode 100644 admin/src/views/decoration/component/widgets/search/attr.vue create mode 100644 admin/src/views/decoration/component/widgets/search/content.vue create mode 100644 admin/src/views/decoration/component/widgets/search/options.ts diff --git a/admin/.eslintrc.cjs b/admin/.eslintrc.cjs index 44a42f0b..fa81252d 100644 --- a/admin/.eslintrc.cjs +++ b/admin/.eslintrc.cjs @@ -34,7 +34,8 @@ module.exports = { 'no-prototype-builtins': 'off', 'prefer-spread': 'off', '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-non-null-asserted-optional-chain': 'off' + '@typescript-eslint/no-non-null-asserted-optional-chain': 'off', + 'vue/no-mutating-props': 'off' }, globals: { module: 'readonly' diff --git a/admin/src/api/decoration.ts b/admin/src/api/decoration.ts new file mode 100644 index 00000000..62945e06 --- /dev/null +++ b/admin/src/api/decoration.ts @@ -0,0 +1,11 @@ +import request from '@/utils/request' + +// 页面装修详情 +export function getDecoratePages(params: any) { + return request.get({ url: '/decorate/pages/detail', params }) +} + +// 页面装修保存 +export function setDecoratePages(params: any) { + return request.post({ url: '/decorate/pages/save', params }) +} diff --git a/admin/src/components/image-contain/index.vue b/admin/src/components/image-contain/index.vue index fc42a46a..3625cce8 100644 --- a/admin/src/components/image-contain/index.vue +++ b/admin/src/components/image-contain/index.vue @@ -1,5 +1,11 @@ diff --git a/admin/src/components/link/index.ts b/admin/src/components/link/index.ts new file mode 100644 index 00000000..8e12a67a --- /dev/null +++ b/admin/src/components/link/index.ts @@ -0,0 +1,11 @@ +export enum LinkTypeEnum { + 'SHOP_PAGES' = 'shop', + 'CUSTOM_LINK' = 'custom' +} + +export interface Link { + path: string + name?: string + type: string + params?: Record +} diff --git a/admin/src/components/link/index.vue b/admin/src/components/link/index.vue new file mode 100644 index 00000000..700305d3 --- /dev/null +++ b/admin/src/components/link/index.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/admin/src/components/link/picker.vue b/admin/src/components/link/picker.vue new file mode 100644 index 00000000..b65a8a5c --- /dev/null +++ b/admin/src/components/link/picker.vue @@ -0,0 +1,53 @@ + + + diff --git a/admin/src/components/link/shop-pages.vue b/admin/src/components/link/shop-pages.vue new file mode 100644 index 00000000..4012dfbb --- /dev/null +++ b/admin/src/components/link/shop-pages.vue @@ -0,0 +1,42 @@ + + + diff --git a/admin/src/components/material/picker.vue b/admin/src/components/material/picker.vue index 0f6f6162..6fd96e1f 100644 --- a/admin/src/components/material/picker.vue +++ b/admin/src/components/material/picker.vue @@ -41,7 +41,8 @@ v-show="showUpload" :class="{ 'is-disabled': disabled, - 'is-one': limit == 1 + 'is-one': limit == 1, + [uploadClass]: true }" > @@ -123,6 +124,10 @@ export default defineComponent({ hiddenUpload: { type: Boolean, default: false + }, + uploadClass: { + type: String, + default: '' } }, @@ -269,8 +274,8 @@ export default defineComponent({ } } .material-upload { - .upload-btn { - @apply box-border rounded border-br border-dashed border flex flex-col justify-center items-center; + :deep(.upload-btn) { + @apply text-tx-secondary box-border rounded border-br border-dashed border flex flex-col justify-center items-center; } } } diff --git a/admin/src/layout/default/components/sidebar/menu.vue b/admin/src/layout/default/components/sidebar/menu.vue index 67c38922..a94dcc03 100644 --- a/admin/src/layout/default/components/sidebar/menu.vue +++ b/admin/src/layout/default/components/sidebar/menu.vue @@ -1,5 +1,9 @@