diff --git a/admin/package.json b/admin/package.json
index f12b6f62..a6681cf9 100644
--- a/admin/package.json
+++ b/admin/package.json
@@ -30,6 +30,7 @@
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.1.0",
+ "@tailwindcss/line-clamp": "^0.4.2",
"@types/lodash-es": "^4.17.6",
"@types/node": "^16.11.41",
"@types/nprogress": "^0.2.0",
diff --git a/admin/src/api/decoration.ts b/admin/src/api/decoration.ts
index 1ecb0cfb..28d61e63 100644
--- a/admin/src/api/decoration.ts
+++ b/admin/src/api/decoration.ts
@@ -10,6 +10,11 @@ export function setDecoratePages(params: any) {
return request.post({ url: '/decorate/pages/save', params })
}
+// 获取首页文章数据
+export function getDecorateArticle(params?: any) {
+ return request.get({ url: '/decorate/data/article', params })
+}
+
// 底部导航详情
export function getDecorateTabbar(params?: any) {
return request.get({ url: '/decorate/tabbar/detail', params })
diff --git a/admin/src/components/image-contain/index.vue b/admin/src/components/image-contain/index.vue
index 09ad8068..e0285b92 100644
--- a/admin/src/components/image-contain/index.vue
+++ b/admin/src/components/image-contain/index.vue
@@ -1,11 +1,5 @@
-
-
-
-
-
-
-
+
+
+
diff --git a/admin/src/views/decoration/component/pages/preview.vue b/admin/src/views/decoration/component/pages/preview.vue
index 818a2349..34a4f61f 100644
--- a/admin/src/views/decoration/component/pages/preview.vue
+++ b/admin/src/views/decoration/component/pages/preview.vue
@@ -1,31 +1,32 @@
-
+
-
-
+ @click="handleClick(widget, index)"
+ >
+
+
-
-
-
+
+
+
+
diff --git a/admin/src/views/decoration/component/widgets/news/attr.vue b/admin/src/views/decoration/component/widgets/news/attr.vue
new file mode 100644
index 00000000..6645dc41
--- /dev/null
+++ b/admin/src/views/decoration/component/widgets/news/attr.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/admin/src/views/decoration/component/widgets/news/content.vue b/admin/src/views/decoration/component/widgets/news/content.vue
new file mode 100644
index 00000000..197f9171
--- /dev/null
+++ b/admin/src/views/decoration/component/widgets/news/content.vue
@@ -0,0 +1,70 @@
+
+
+
+ 最新资讯
+
+
+
+
![]()
+
+
+
{{ item.title }}
+
+ {{ item.intro }}
+
+
+
+
{{ item.createTime }}
+
+
+
+
+
+
+
+
+
+
diff --git a/admin/src/views/decoration/component/widgets/news/index.ts b/admin/src/views/decoration/component/widgets/news/index.ts
new file mode 100644
index 00000000..c776bce3
--- /dev/null
+++ b/admin/src/views/decoration/component/widgets/news/index.ts
@@ -0,0 +1,8 @@
+import attr from './attr.vue'
+import content from './content.vue'
+import options from './options'
+export default {
+ attr,
+ content,
+ options
+}
diff --git a/admin/src/views/decoration/component/widgets/news/options.ts b/admin/src/views/decoration/component/widgets/news/options.ts
new file mode 100644
index 00000000..dde2c1f5
--- /dev/null
+++ b/admin/src/views/decoration/component/widgets/news/options.ts
@@ -0,0 +1,7 @@
+export default () => ({
+ title: '资讯',
+ name: 'news',
+ disabled: 1,
+ content: {},
+ styles: {}
+})
diff --git a/admin/src/views/decoration/component/widgets/user-banner/content.vue b/admin/src/views/decoration/component/widgets/user-banner/content.vue
index 9317842b..0a11a01c 100644
--- a/admin/src/views/decoration/component/widgets/user-banner/content.vue
+++ b/admin/src/views/decoration/component/widgets/user-banner/content.vue
@@ -1,14 +1,14 @@
diff --git a/app/src/uni_modules/vk-uview-ui/components/u-tabbar/u-tabbar.vue b/app/src/uni_modules/vk-uview-ui/components/u-tabbar/u-tabbar.vue
index 6ec5b686..c45f0d44 100644
--- a/app/src/uni_modules/vk-uview-ui/components/u-tabbar/u-tabbar.vue
+++ b/app/src/uni_modules/vk-uview-ui/components/u-tabbar/u-tabbar.vue
@@ -238,16 +238,20 @@ export default {
},
// 切换tab
switchTab(index) {
- // 发出事件和修改v-model绑定的值
- this.$emit("change", index);
+
+ let pagePath = this.list[index].pagePath;
// 如果有配置pagePath属性,使用uni.switchTab进行跳转
- if (this.list[index].pagePath) {
+ if (pagePath) {
+ if(pagePath == this.pageUrl || pagePath == "/" + this.pageUrl) return
+ // 发出事件和修改v-model绑定的值
+ this.$emit("change", index);
uni.switchTab({
- url: this.list[index].pagePath
+ url: pagePath
});
} else {
// 如果配置了papgePath属性,将不会双向绑定v-model传入的value值
// 因为这个模式下,不再需要v-model绑定的value值了,而是通过getCurrentPages()适配
+ this.$emit("change", index);
this.$emit("input", index);
this.$emit("update:modelValue", index);
}
@@ -370,4 +374,4 @@ export default {
}
}
}
-
+
diff --git a/app/src/utils/util.ts b/app/src/utils/util.ts
index 4653ebf4..6385bcfe 100644
--- a/app/src/utils/util.ts
+++ b/app/src/utils/util.ts
@@ -53,15 +53,8 @@ export enum LinkTypeEnum {
}
export function navigateTo(link: Link, navigateType: 'navigateTo' | 'reLaunch' = 'navigateTo') {
- let url: string
- switch (link.type) {
- case LinkTypeEnum.SHOP_PAGES:
- url = link.query ? `${link.path}?${objectToQuery(link.query)}` : link.path
- uni[navigateType]({ url })
- break
- case LinkTypeEnum.CUSTOM_LINK:
- uni[navigateType]({ url: `/pages/webview/webview?url=${link.path}` })
- }
+ const url = link.query ? `${link.path}?${objectToQuery(link.query)}` : link.path
+ uni[navigateType]({ url })
}
/**