diff --git a/components/item-list.vue b/components/item-list.vue new file mode 100644 index 0000000..d4a7e81 --- /dev/null +++ b/components/item-list.vue @@ -0,0 +1,1447 @@ + + + + + + + \ No newline at end of file diff --git a/components/themes/diy.vue b/components/themes/diy.vue index 98c8aec..0695b49 100644 --- a/components/themes/diy.vue +++ b/components/themes/diy.vue @@ -877,7 +877,12 @@ borderBottomRightRadius: (item.borderBottomRightRadius || 0) + 'px', overflow: 'hidden', }" v-if="item.eltmType == 102"> - + + + - + + + + + + @@ -259,8 +276,9 @@ export default { this.setData({ refresh: true, }); - - + if (this.hasLogin && !this.is_loaded) { + this.initData(false); + } }, onReady() { @@ -343,7 +361,13 @@ export default { onPageScroll: function (e) { this.scroll(e); }, - + watch: { + hasLogin(newVal) { + if (newVal) { // 登录成功时 + this.initData(true); // 强制刷新数据 + } + } + }, methods: { ...mapMutations([ "logout", @@ -450,6 +474,7 @@ export default { //初始化数据,获取店铺分类 initData: function (force_refresh) { var that = this; + if (!this.hasLogin) return; that.getDivModel(force_refresh); @@ -523,6 +548,7 @@ export default { let that = this; that.forceUserInfo(function (user) { that.$.navigateTo({ url: "/community/community/post" }); + that.initData(true); // 登录成功后立即刷新数据 }); }, @@ -759,4 +785,41 @@ page { .border22 { /* border: 1rpx solid #d9d9d9; */ } + +.waterfalls-container { + width: 100%; + min-height: 300rpx; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 40rpx 0; +} + +/* 未登录提示文本 */ +.login-tip { + display: flex; + flex-direction: column; + align-items: center; + gap: 20rpx; /* 文本和按钮间距 */ +} + +.tip-text { + font-size: 32rpx; + color: #666; /* 灰色文本,不刺眼 */ +} + +.login-btn { + width: 200rpx; + height: 60rpx; + line-height: 60rpx; + background-color: #3273dc; + color: #fff; + font-size: 28rpx; + border-radius: 30rpx; + padding: 0; +} +.login-btn::after { + border: none; +}