From b44335673ef51f8c3554d7435543ef247afc488e Mon Sep 17 00:00:00 2001 From: wangfukang <15630117759@163.com> Date: Wed, 22 Jul 2026 08:29:10 +0800 Subject: [PATCH 1/4] 1 --- common/fishMarketApi.js | 12 ++++++++++++ common/httpRequest.js | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/common/fishMarketApi.js b/common/fishMarketApi.js index 3af9bdc..1917002 100644 --- a/common/fishMarketApi.js +++ b/common/fishMarketApi.js @@ -86,6 +86,10 @@ export function getFishUnreadSummary() { return tui.request('/app/fishmarket/unread/summary', 'GET', {}, false, true, true).then(unwrap) } +export function markAllFishUnreadRead() { + return tui.request('/app/fishmarket/unread/read-all', 'POST', {}, false, false, true).then(unwrap) +} + export function deleteFishComment(id) { return tui.request(`/app/fishmarket/comments/${id}`, 'DELETE', {}, false, false, true).then(unwrap) } @@ -142,10 +146,18 @@ export function pageMyFishSessions(data = {}) { return tui.request('/app/fishmarket/my/sessions', 'POST', data, false, false, true).then(unwrap) } +export function deleteMyFishSessionMessage(id) { + return tui.request(`/app/fishmarket/my/sessions/${id}`, 'DELETE', {}, false, false, true).then(unwrap) +} + export function pageMyFishMessageComments(data = {}) { return tui.request('/app/fishmarket/my/message-comments', 'POST', data, false, false, true).then(unwrap) } +export function deleteMyFishCommentMessage(id) { + return tui.request(`/app/fishmarket/my/message-comments/${id}`, 'DELETE', {}, false, false, true).then(unwrap) +} + export function pageMyFishComments(data = {}) { return tui.request('/app/fishmarket/my/comments', 'POST', data, false, false, true).then(unwrap) } diff --git a/common/httpRequest.js b/common/httpRequest.js index 77e0543..a95039b 100644 --- a/common/httpRequest.js +++ b/common/httpRequest.js @@ -37,8 +37,8 @@ function getSafeWindowInfo() { const tui = { //接口地址 interfaceUrl: function() { - // return 'https://hbkuaishi.com/hiver' //正式 - return 'http://192.168.100.34:8888/hiver' //测试 + return 'https://hbkuaishi.com/hiver' //正式 + // return 'http://192.168.100.34:8888/hiver' //测试 }, toast: function(text, duration, success) { uni.showToast({ From 9302f9a0c184f073791e32e386e207079cea6a98 Mon Sep 17 00:00:00 2001 From: wangfukang <15630117759@163.com> Date: Wed, 22 Jul 2026 08:29:29 +0800 Subject: [PATCH 2/4] 1 --- components/tab-bar/postList.vue | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/components/tab-bar/postList.vue b/components/tab-bar/postList.vue index edbc7a2..3c093a9 100644 --- a/components/tab-bar/postList.vue +++ b/components/tab-bar/postList.vue @@ -120,6 +120,10 @@ > {{item.xiangyao}} + + + {{item.browseCount}} + @@ -208,7 +212,7 @@ imageKey: 'graduation', action: 'mine' }], - baseCategories: ['推荐', '最新'], + baseCategories: ['推荐', '最新', '热门'], categoryList: [], goodsList: [], pageNum: 1, @@ -518,7 +522,7 @@ const category = this.categories[this.categoryIndex] const categoryItem = this.categoryList.find(item => item.name == category) const area = this.getArea() - const sortType = this.sortType || (category == '附近' ? 'school' : (category == '最新' ? 'latest' : 'hot')) + const sortType = category == '热门' ? 'favorite' : (category == '最新' ? 'latest' : (this.sortType || (category == '附近' ? 'school' : 'hot'))) const query = { pageNum: this.pageNum, pageSize: this.pageSize, @@ -553,6 +557,7 @@ price: isWant ? (item.expectedPrice || 0) : (item.price || 0), originalPrice: item.originPrice, xiangyao: item.likeCount || 0, + browseCount: item.browseCount || 0, distance: item.distance || '本校', icon: item.userAvatar || '/static/images/img/songshu.png', shopName: item.userName || '校园同学', @@ -985,6 +990,7 @@ } .category-row { + margin-top: -15rpx; height: 80rpx; display: flex; align-items: center; @@ -1193,6 +1199,15 @@ font-size: 17rpx; } + .browse-count { + margin-left: 10rpx; + display: flex; + align-items: center; + gap: 3rpx; + color: #a1aaa6; + font-size: 17rpx; + } + .page-like-effect { position: fixed; top: 0; From a1bbc6eae1b0487a013e3a4952e6942339d37d26 Mon Sep 17 00:00:00 2001 From: wangfukang <15630117759@163.com> Date: Wed, 22 Jul 2026 08:29:49 +0800 Subject: [PATCH 3/4] 1 --- package1/address/addressList.vue | 35 ++++- package1/buyFood/buyFood.vue | 121 ++++++++++++------ .../delivery-time-op/delivery-time-op.vue | 25 ++-- package1/order/orderDetail.vue | 13 +- package1/runErrand/runErrand.vue | 9 +- package1/tabbar/fishRelease.vue | 5 +- 6 files changed, 147 insertions(+), 61 deletions(-) diff --git a/package1/address/addressList.vue b/package1/address/addressList.vue index b3fefc8..ad603d9 100644 --- a/package1/address/addressList.vue +++ b/package1/address/addressList.vue @@ -39,9 +39,10 @@ - - + + {{addressForm.id ? '编辑地址' : '填写地址'}} + {{areaTitleInput}} @@ -70,7 +71,7 @@ - + 选择楼座区域 @@ -86,7 +87,7 @@ :cursor-spacing="160" /> - + 未找到匹配的楼座 @@ -264,16 +265,19 @@ this.$refs.addBookPopup.open('bottom'); }, openAreaPopup() { - this.areaSearchInput = this.areaTitleInput; + this.areaSearchInput = ''; this.getAreaList(); this.$refs.areaPopup.open(); }, closeAreaPopup() { this.$refs.areaPopup.close(); }, + closeAddBookPopup() { + this.$refs.addBookPopup.close(); + }, selectAreaTitle(title) { this.areaTitleInput = title; - this.areaSearchInput = title; + this.areaSearchInput = ''; this.closeAreaPopup(); }, onFloorInput(e) { @@ -464,6 +468,25 @@ padding-top: 40rpx; } + .book-popup-title { + height: 80rpx; + line-height: 80rpx; + font-size: 36rpx; + font-weight: 700; + text-align: center; + position: relative; + } + + .book-popup-close { + position: absolute; + right: 0; + top: 0; + width: 80rpx; + height: 80rpx; + line-height: 80rpx; + text-align: center; + } + .area-select { margin-bottom: 20rpx; display: flex; diff --git a/package1/buyFood/buyFood.vue b/package1/buyFood/buyFood.vue index 475813f..bb87368 100644 --- a/package1/buyFood/buyFood.vue +++ b/package1/buyFood/buyFood.vue @@ -1,52 +1,56 @@ @@ -164,6 +179,7 @@ } from '@/common/fishMarketApi.js' import { getIeProfile } from '@/common/ieApi.js' import { ensureIeVerifiedBeforeAction } from '@/common/ieRealNameAuth.js' + import { buildHomeSharePath } from '@/utils/sharePath.js' import IeAuthDialog from '@/package2/components/ie-auth-dialog/ie-auth-dialog.vue' export default { @@ -184,9 +200,13 @@ commentSubmitting: false, replyTarget: {}, defaultAvatar: '', + defaultShareImage: '/static/images/img/songshu.png', currentUserId: uni.getStorageSync('id') || '', currentImageIndex: 0, - imageHeights: {} + imageHeights: {}, + likeEffectSeq: 0, + likeEffectTimers: {}, + pageLikeEffects: [] } }, computed: { @@ -238,19 +258,47 @@ }, commentPlaceholder() { return this.replyTarget && this.replyTarget.id ? '回复 ' + (this.replyTarget.userName || '校园同学') : '写下你的评论' + }, + favoriteCountText() { + return this.goods && this.goods.favoriteCount ? this.goods.favoriteCount : 0 } }, onLoad(options) { this.id = options && options.id ? options.id : '' this.detailType = options && options.type == 'want' ? 'want' : 'goods' if (uni.getMenuButtonBoundingClientRect) { - this.statusBarTop = uni.getMenuButtonBoundingClientRect().top || this.statusBarTop + const rect = uni.getMenuButtonBoundingClientRect() + this.statusBarTop = rect.top || this.statusBarTop } this.load() }, + onShareAppMessage() { + return this.buildShareInfo() + }, + onShareTimeline() { + const info = this.buildShareInfo() + return { + title: info.title, + query: info.path.split('?')[1] || '', + imageUrl: info.imageUrl + } + }, + onUnload() { + Object.keys(this.likeEffectTimers || {}).forEach(key => { + clearTimeout(this.likeEffectTimers[key]) + }) + this.likeEffectTimers = {} + }, methods: { back() { - uni.navigateBack() + const pages = getCurrentPages ? getCurrentPages() : [] + if (pages && pages.length > 1) { + uni.navigateBack() + return + } + uni.reLaunch({ + url: '/pages/index/index?tabIndex=3' + }) }, load() { if (!this.id) return @@ -381,19 +429,48 @@ }) }, likeComment(item) { + const shouldAnimate = !item.liked + if (shouldAnimate) { + this.playLikeEffect() + } toggleFishLike({ commentId: item.id, likeType: 'comment' }).then(res => { if (!res) return + this.$set(item, 'liked', !!res.liked) item.likeCount = Number(res.count) || 0 }) }, favorite() { if (!this.goods) return + const shouldAnimate = !this.goods.favorited + if (shouldAnimate) { + this.playLikeEffect() + } toggleFishFavorite(this.id).then(res => { if (!res) return this.$set(this.goods, 'favorited', !!res.favorited) this.$set(this.goods, 'favoriteCount', Number(res.count) || 0) }) }, + playLikeEffect() { + const burstId = Date.now() + '-' + (++this.likeEffectSeq) + const tracks = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight'] + const effects = tracks.map((name, index) => ({ + id: burstId + '-' + index, + className: 'page-like-heart--' + name, + style: `left:${6 + ((index * 59) % 86)}%; animation-delay:${index * 95}ms;` + })) + this.pageLikeEffects = effects + const timerKey = 'page' + if (this.likeEffectTimers[timerKey]) { + clearTimeout(this.likeEffectTimers[timerKey]) + } + this.likeEffectTimers[timerKey] = setTimeout(() => { + if (this.pageLikeEffects.length && String(this.pageLikeEffects[0].id).indexOf(burstId) === 0) { + this.pageLikeEffects = [] + } + delete this.likeEffectTimers[timerKey] + }, 3050) + }, reportGoods() { this.report({ complaintType: this.isWant ? 'want' : 'goods', goodsId: this.id }) }, @@ -434,7 +511,27 @@ }) }, share() { + // #ifdef MP-WEIXIN + uni.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'] + }) + uni.showToast({ title: '请点击右上角分享', icon: 'none' }) + // #endif + // #ifndef MP-WEIXIN uni.showToast({ title: '请使用右上角分享', icon: 'none' }) + // #endif + }, + buildShareInfo() { + const title = this.goods && this.goods.title ? this.goods.title : (this.isWant ? '校园二手求购' : '校园二手商品') + const prefix = this.isWant ? '同学正在求购:' : '校园二手好物:' + const typeQuery = this.isWant ? '&type=want' : '' + const targetPath = `/package2/IdleTrad/detail?id=${this.id || ''}${typeQuery}` + return { + title: prefix + title, + path: buildHomeSharePath(targetPath), + imageUrl: this.imageList.length ? this.imageList[0] : this.defaultShareImage + } }, copyText(text, title) { if (!text) return @@ -554,6 +651,25 @@ font-weight: 800; } + .card-share-btn { + width: 48rpx; + height: 48rpx; + margin: 0 0 0 12rpx; + padding: 0; + display: flex; + align-items: center; + justify-content: center; + border: 0; + border-radius: 24rpx; + background: #e8fbf3; + line-height: 48rpx; + flex-shrink: 0; + } + + .card-share-btn::after { + border: 0; + } + .title { margin-top: 16rpx; font-size: 34rpx; @@ -752,6 +868,10 @@ font-weight: 900; } + .reply-delete { + color: #ef4c3f; + } + .comment-actions { margin-top: 10rpx; display: flex; @@ -881,6 +1001,142 @@ line-height: 82rpx; } + .page-like-effect { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + pointer-events: none; + z-index: 99999; + } + + .page-like-heart { + position: absolute; + bottom: -230rpx; + width: 120rpx; + height: 120rpx; + opacity: 0; + transform-origin: center; + animation-duration: 2600ms; + animation-timing-function: cubic-bezier(.14, .66, .22, 1); + animation-fill-mode: forwards; + } + + .page-like-heart-shape { + position: absolute; + left: 50%; + top: 50%; + width: 72%; + height: 72%; + background: linear-gradient(135deg, rgba(255, 176, 207, .72), rgba(255, 88, 148, .36)); + border-radius: 18rpx 18rpx 10rpx 18rpx; + box-shadow: + 0 18rpx 42rpx rgba(255, 104, 164, .28), + inset 14rpx 18rpx 28rpx rgba(255, 255, 255, .32); + filter: blur(.2rpx); + transform: translate(-50%, -50%) rotate(45deg); + } + + .page-like-heart-shape::before, + .page-like-heart-shape::after { + content: ''; + position: absolute; + width: 100%; + height: 100%; + border-radius: 50%; + background: inherit; + box-shadow: inherit; + } + + .page-like-heart-shape::before { + left: -50%; + top: 0; + } + + .page-like-heart-shape::after { + left: 0; + top: -50%; + } + + .page-like-heart--one { width: 154rpx; height: 154rpx; animation-name: pageHeartFloatOne; } + .page-like-heart--two { width: 112rpx; height: 112rpx; animation-name: pageHeartFloatTwo; } + .page-like-heart--three { width: 188rpx; height: 188rpx; animation-name: pageHeartFloatThree; } + .page-like-heart--four { width: 92rpx; height: 92rpx; animation-name: pageHeartFloatFour; } + .page-like-heart--five { width: 136rpx; height: 136rpx; animation-name: pageHeartFloatFive; } + .page-like-heart--six { width: 82rpx; height: 82rpx; animation-name: pageHeartFloatSix; } + .page-like-heart--seven { width: 166rpx; height: 166rpx; animation-name: pageHeartFloatSeven; } + .page-like-heart--eight { width: 104rpx; height: 104rpx; animation-name: pageHeartFloatEight; } + + .page-like-heart--three .page-like-heart-shape, + .page-like-heart--seven .page-like-heart-shape { + background: linear-gradient(135deg, rgba(255, 198, 220, .66), rgba(255, 103, 158, .28)); + filter: blur(1rpx); + } + + .page-like-heart--four .page-like-heart-shape, + .page-like-heart--six .page-like-heart-shape, + .page-like-heart--eight .page-like-heart-shape { + background: linear-gradient(135deg, rgba(255, 211, 226, .74), rgba(255, 126, 174, .32)); + } + + @keyframes pageHeartFloatOne { + 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.68) rotate(-8deg); } + 14% { opacity: .82; transform: translate3d(-18rpx, -92rpx, 0) scale(1) rotate(5deg); } + 62% { opacity: .52; transform: translate3d(-72rpx, -370rpx, 0) scale(.94) rotate(-12deg); } + 100% { opacity: 0; transform: translate3d(-112rpx, -650rpx, 0) scale(.72) rotate(-22deg); } + } + + @keyframes pageHeartFloatTwo { + 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.62) rotate(6deg); } + 16% { opacity: .7; transform: translate3d(28rpx, -112rpx, 0) scale(.92) rotate(-6deg); } + 64% { opacity: .44; transform: translate3d(96rpx, -350rpx, 0) scale(.82) rotate(12deg); } + 100% { opacity: 0; transform: translate3d(146rpx, -600rpx, 0) scale(.62) rotate(22deg); } + } + + @keyframes pageHeartFloatThree { + 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.64) rotate(-4deg); } + 12% { opacity: .64; transform: translate3d(8rpx, -86rpx, 0) scale(.94) rotate(7deg); } + 60% { opacity: .38; transform: translate3d(-36rpx, -420rpx, 0) scale(.78) rotate(-12deg); } + 100% { opacity: 0; transform: translate3d(-68rpx, -710rpx, 0) scale(.58) rotate(-24deg); } + } + + @keyframes pageHeartFloatFour { + 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.58) rotate(12deg); } + 18% { opacity: .68; transform: translate3d(-26rpx, -124rpx, 0) scale(.86) rotate(-6deg); } + 66% { opacity: .4; transform: translate3d(-112rpx, -320rpx, 0) scale(.72) rotate(14deg); } + 100% { opacity: 0; transform: translate3d(-166rpx, -560rpx, 0) scale(.54) rotate(26deg); } + } + + @keyframes pageHeartFloatFive { + 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.64) rotate(-10deg); } + 14% { opacity: .72; transform: translate3d(34rpx, -96rpx, 0) scale(.96) rotate(6deg); } + 62% { opacity: .44; transform: translate3d(68rpx, -380rpx, 0) scale(.78) rotate(-10deg); } + 100% { opacity: 0; transform: translate3d(104rpx, -650rpx, 0) scale(.58) rotate(-20deg); } + } + + @keyframes pageHeartFloatSix { + 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.52) rotate(8deg); } + 20% { opacity: .64; transform: translate3d(6rpx, -132rpx, 0) scale(.8) rotate(-8deg); } + 68% { opacity: .36; transform: translate3d(44rpx, -290rpx, 0) scale(.64) rotate(12deg); } + 100% { opacity: 0; transform: translate3d(70rpx, -500rpx, 0) scale(.48) rotate(22deg); } + } + + @keyframes pageHeartFloatSeven { + 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.62) rotate(-8deg); } + 13% { opacity: .62; transform: translate3d(-28rpx, -82rpx, 0) scale(.88) rotate(6deg); } + 58% { opacity: .38; transform: translate3d(-86rpx, -390rpx, 0) scale(.72) rotate(-12deg); } + 100% { opacity: 0; transform: translate3d(-132rpx, -680rpx, 0) scale(.52) rotate(-22deg); } + } + + @keyframes pageHeartFloatEight { + 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.56) rotate(10deg); } + 18% { opacity: .66; transform: translate3d(38rpx, -118rpx, 0) scale(.84) rotate(-8deg); } + 64% { opacity: .4; transform: translate3d(122rpx, -338rpx, 0) scale(.68) rotate(14deg); } + 100% { opacity: 0; transform: translate3d(178rpx, -580rpx, 0) scale(.5) rotate(26deg); } + } + .bottom-space { height: 170rpx; } diff --git a/package2/IdleTrad/sessionList.vue b/package2/IdleTrad/sessionList.vue index 7fe6d46..154923c 100644 --- a/package2/IdleTrad/sessionList.vue +++ b/package2/IdleTrad/sessionList.vue @@ -2,7 +2,10 @@ - 我的咨询 + + 我的咨询 + 一键已读 + 我咨询的和咨询我的都在这里 @@ -27,10 +30,11 @@ ¥{{item.goodsPrice}} - {{item.lastChatTime || item.firstConsultTime || item.createTime || ''}} + {{item.displayTime}} {{item.desc}} + 删除 暂无咨询记录 @@ -45,7 +49,10 @@ import { pageMyFishSessions, pageMyFishMessageComments, - getFishUnreadSummary + deleteMyFishSessionMessage, + deleteMyFishCommentMessage, + getFishUnreadSummary, + markAllFishUnreadRead } from '@/common/fishMarketApi.js' export default { @@ -127,6 +134,42 @@ }) }).catch(() => {}) }, + markAllRead() { + if (this.loading) return + uni.showModal({ + title: '一键已读', + content: '确定将所有消息和留言标记为已读吗?', + confirmText: '已读', + success: (res) => { + if (!res.confirm) return + markAllFishUnreadRead().then(() => { + this.chatUnread = 0 + this.commentUnread = 0 + uni.$emit('fishUnreadChange', { chatUnread: 0, commentUnread: 0, fishUnread: 0 }) + uni.showToast({ title: '已全部标记已读', icon: 'none' }) + this.reload() + }) + } + }) + }, + deleteItem(item) { + if (!item || !item.id) return + const isComment = this.activeTab == 'comment' + uni.showModal({ + title: '删除记录', + content: isComment ? '确定删除这条留言提醒吗?' : '确定删除这条消息记录吗?', + confirmText: '删除', + confirmColor: '#e34d59', + success: (res) => { + if (!res.confirm) return + const request = isComment ? deleteMyFishCommentMessage : deleteMyFishSessionMessage + request(item.id).then(() => { + uni.showToast({ title: '删除成功', icon: 'none' }) + this.reload() + }) + } + }) + }, formatBadgeCount(count) { const value = Number(count) || 0 return value > 99 ? '99+' : value @@ -143,6 +186,7 @@ goodsTitle: session.displayTitle || '', goodsCover: session.displayCover || '', goodsPrice: session.displayPrice !== undefined && session.displayPrice !== null ? session.displayPrice : '', + displayTime: this.formatDisplayTime(session.lastChatTime || session.firstConsultTime || session.createTime), desc: isWant ? (role == 'seller' ? '你正在响应这条求购' : '同学正在响应你的求购') : (role == 'seller' ? '买家正在咨询这件商品' : '你正在咨询这件商品') } }) @@ -157,10 +201,18 @@ goodsTitle: comment.displayTitle || '', goodsCover: comment.displayCover || '', goodsPrice: comment.displayPrice !== undefined && comment.displayPrice !== null ? comment.displayPrice : '', + displayTime: this.formatDisplayTime(comment.createTime), desc: (comment.replyToUserName ? (comment.userName || '校园同学') + ' 回复 ' + comment.replyToUserName + ':' : '') + (comment.content || '') } }) }, + formatDisplayTime(value) { + if (!value) return '' + const text = String(value).replace(/T/g, ' ') + const match = text.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2})/) + if (!match) return text + return `${match[1]}-${match[2]}-${match[3]} ${match[4]}:${match[5]}` + }, openItem(item) { if (this.activeTab == 'comment') { if (!item.goodsId) return @@ -202,12 +254,35 @@ align-items: center; } + .title-row { + margin-top: 8rpx; + display: flex; + align-items: center; + justify-content: space-between; + } + .title { + flex: 1; margin-top: 8rpx; font-size: 42rpx; font-weight: 900; } + .title-row .title { + margin-top: 0; + } + + .read-all-btn { + margin-left: 20rpx; + padding: 10rpx 20rpx; + border-radius: 24rpx; + background: #e8fbf3; + color: #18a878; + font-size: 22rpx; + font-weight: 900; + white-space: nowrap; + } + .subtitle { margin-top: 8rpx; color: #71857f; @@ -293,6 +368,17 @@ margin-left: 18rpx; } + .delete-btn { + margin-left: 16rpx; + padding: 12rpx 18rpx; + border-radius: 22rpx; + background: #fff1f2; + color: #e34d59; + font-size: 22rpx; + font-weight: 900; + flex-shrink: 0; + } + .top-row { display: flex; align-items: center; diff --git a/package2/group/groupBuyList.vue b/package2/group/groupBuyList.vue index 68314c6..2f5432a 100644 --- a/package2/group/groupBuyList.vue +++ b/package2/group/groupBuyList.vue @@ -152,7 +152,7 @@ {{item._groupTip}} - {{item.saleCount != null ? item.saleCount : 0}}人跟拼 + 已售{{item.saleCount != null ? item.saleCount : 0}} diff --git a/package2/group/groupBuySingle.vue b/package2/group/groupBuySingle.vue index a28eef5..9cf55ea 100644 --- a/package2/group/groupBuySingle.vue +++ b/package2/group/groupBuySingle.vue @@ -46,7 +46,7 @@ {{getOpenKitchenText(shopItem)}} - {{getDineInText(shopItem)}} + {{getDineInText(shopItem)}} @@ -3465,11 +3465,6 @@ white-space: nowrap; } - text:last-child { - background: rgba(255, 116, 77, 0.12); - color: #ff744d; - } - .shop-status-disabled { background: rgba(225, 231, 228, 0.72) !important; color: #87938f !important; diff --git a/package2/group/studentStoreList.vue b/package2/group/studentStoreList.vue index d2415d5..b85797c 100644 --- a/package2/group/studentStoreList.vue +++ b/package2/group/studentStoreList.vue @@ -85,7 +85,7 @@ 休息中 - 热度 {{index + 1}} + 销量 {{item.saleCount != null ? item.saleCount : 0}} {{item.uiLiveText}} @@ -1603,7 +1603,7 @@ border-radius: 999rpx; background: #fff0dc; color: #e96632; - font-size: 18rpx; + font-size: 20rpx; font-weight: 900; } diff --git a/package2/myCenter/myPost.vue b/package2/myCenter/myPost.vue index 6bb2755..2733d14 100644 --- a/package2/myCenter/myPost.vue +++ b/package2/myCenter/myPost.vue @@ -128,6 +128,11 @@ if (this.loadedOnce) { this.reload() } + if (uni.$off) uni.$off('fishMarketChanged', this.reload) + if (uni.$on) uni.$on('fishMarketChanged', this.reload) + }, + onUnload() { + if (uni.$off) uni.$off('fishMarketChanged', this.reload) }, methods: { back() { @@ -194,8 +199,7 @@ const request = this.activeTab == 'goods' ? updateMyFishGoodsStatus({ goodsId: item.id, status }) : updateMyFishWantStatus({ wantId: item.id, status }) - return request.then(res => { - if (!res && res !== true) return + return request.then(() => { uni.showToast({ title: status == 3 ? '已删除' : (status == 2 ? '已下架' : '已上架'), icon: 'none' }) this.reload() }) @@ -280,7 +284,7 @@ if (item.saleStatus == 2) return '已预定' if (item.saleStatus == 3) return '已卖出' if (item.status == 2) return '已下架' - return '正常' + return '已上架' }, handleCardAction(item) { if (this.activeTab == 'favorites') { @@ -300,8 +304,7 @@ confirmColor: '#ef4c3f', success: (res) => { if (!res.confirm) return - toggleFishFavorite(item.goodsId).then(result => { - if (!result && result !== false) return + toggleFishFavorite(item.goodsId).then(() => { uni.showToast({ title: '已取消收藏', icon: 'none' }) this.reload() }) diff --git a/package2/seckill/seckillGroup.vue b/package2/seckill/seckillGroup.vue index 14848ae..31d5233 100644 --- a/package2/seckill/seckillGroup.vue +++ b/package2/seckill/seckillGroup.vue @@ -18,7 +18,7 @@ 限时开抢 · 拼着更划算 - + 立即抢 @@ -269,6 +269,7 @@ shopPhone: item.shopPhone, shopAddress: item.shopAddress, getAreaId: item.getAreaId, + shoArea: item.shoArea, attributeList: item.attributeList, raw: item } @@ -409,11 +410,11 @@ contactPhone: item.shopPhone, shopPhone: item.shopPhone, shopAddress: item.shopAddress, - shopArea: item.getAreaId + shopArea: item.shoArea || item.getAreaId } uni.navigateTo({ url: '/package1/buyFood/buyFood?cart=' + encodeURIComponent(JSON.stringify(cart)) + - '&shopItem=' + encodeURIComponent(JSON.stringify(shopItem)) + '&packageFee=0' + '&shopItem=' + encodeURIComponent(JSON.stringify(shopItem)) + '&packageFee=0&seckillOrder=1' }) }, back() { @@ -576,20 +577,21 @@ } .hero-card { - width: 230rpx; - height: 210rpx; + margin-top: 30rpx; + width: 200rpx; + height: 180rpx; position: relative; animation: heroFloat 3s ease-in-out infinite; } .hero-bowl { - width: 138rpx; - height: 138rpx; - margin: 24rpx auto 0; + width: 120rpx; + height: 120rpx; + margin: 14rpx auto 0; border-radius: 50%; background: linear-gradient(145deg, #fff 0%, #ffe8b9 100%); color: #ff5630; - font-size: 60rpx; + font-size: 50rpx; font-weight: 900; line-height: 138rpx; text-align: center; @@ -607,7 +609,7 @@ line-height: 48rpx; text-align: center; position: absolute; - right: 8rpx; + right: 42rpx; bottom: 14rpx; box-shadow: 0 10rpx 18rpx rgba(169, 40, 0, 0.18); animation: badgeBeat 1.4s ease-in-out infinite;