diff --git a/components/TabBar/TabBar.vue b/components/TabBar/TabBar.vue index 7da9ca3..8dc7d3d 100644 --- a/components/TabBar/TabBar.vue +++ b/components/TabBar/TabBar.vue @@ -59,7 +59,7 @@ display: flex; align-items: center; justify-content: space-around; - border-top: 1rpx solid #F2F2F7; + border-top: 1rpx solid rgba(242, 242, 242, 0.5); padding-bottom: env(safe-area-inset-bottom); } .tab-bar-item { diff --git a/main.js b/main.js index 2a7e884..bde1deb 100644 --- a/main.js +++ b/main.js @@ -1,10 +1,5 @@ import App from './App' -// #ifdef H5 -import VConsole from 'vconsole' -new VConsole() -// #endif - // #ifndef VUE3 import Vue from 'vue' import './uni.promisify.adaptor' diff --git a/pages.json b/pages.json index 4bc1d9b..33a10d7 100644 --- a/pages.json +++ b/pages.json @@ -6,37 +6,37 @@ { "path": "pages/index/index", "style": { - "navigationBarTitleText": "首页" + "navigationStyle": "custom" } }, { "path": "pages/index/login", "style": { - "navigationBarTitleText": "登录" + "navigationStyle": "custom" } }, { "path": "pages/mine/mine", "style": { - "navigationBarTitleText": "我的" + "navigationStyle": "custom" } }, { "path": "pages/venue/venue", "style": { - "navigationBarTitleText": "文旅场馆" + "navigationStyle": "custom" } }, { "path": "pages/discount/discount", "style": { - "navigationBarTitleText": "商户折扣" + "navigationStyle": "custom" } }, { "path": "pages/rights/rights", "style": { - "navigationBarTitleText": "权益信息" + "navigationStyle": "custom" } }, { @@ -48,7 +48,7 @@ { "path": "pages/venue/detail", "style": { - "navigationBarTitleText": "门店详情" + "navigationStyle": "custom" } }, { @@ -68,6 +68,18 @@ "style": { "navigationBarTitleText": "使用指南" } + }, + { + "path": "pages/agreement/user", + "style": { + "navigationBarTitleText": "用户协议" + } + }, + { + "path": "pages/agreement/privacy", + "style": { + "navigationBarTitleText": "隐私协议" + } } ], "globalStyle": { diff --git a/pages/agreement/privacy.vue b/pages/agreement/privacy.vue new file mode 100644 index 0000000..d87ba4b --- /dev/null +++ b/pages/agreement/privacy.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/pages/agreement/user.vue b/pages/agreement/user.vue new file mode 100644 index 0000000..16f317f --- /dev/null +++ b/pages/agreement/user.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/pages/discount/discount.vue b/pages/discount/discount.vue index b920286..088693d 100644 --- a/pages/discount/discount.vue +++ b/pages/discount/discount.vue @@ -2,16 +2,22 @@ - - - - 搜索 + + + + 返回 + + + + + 搜索 + - + {{ item.name }} @@ -23,7 +29,9 @@ {{ item.distance < 1 ? Math.round(item.distance * 1000) + 'm' : Math.round(item.distance) + 'km' }} - + + + @@ -40,7 +48,8 @@ export default { loading: false, lng: '', lat: '', - loadStatus: 'loadmore' + loadStatus: 'loadmore', + hasScrolled: false } }, onLoad() { @@ -88,11 +97,15 @@ export default { }) }, loadMore() { + this.hasScrolled = true if (this.list.length < this.total && !this.loading) { this.pageNo++ this.loadList() } }, + goBack() { + uni.navigateBack() + }, goDetail(item) { uni.navigateTo({ url: '/pages/venue/detail?id=' + item.shopId }) }, @@ -117,7 +130,28 @@ export default { padding: 6px 12px; } +.nav-row { + display: flex; + align-items: center; + gap: 12px; +} + +.back-btn { + display: flex; + align-items: center; + justify-content: center; + height: 44px; + flex-shrink: 0; + gap: 2px; +} + +.back-text { + font-size: 14px; + color: #333333; +} + .search-bar { + flex: 1; display: flex; align-items: center; height: 44px; @@ -144,23 +178,20 @@ export default { } .list-area { - width: 702rpx; - margin-left: 24rpx; - margin-top: 24rpx; - display: flex; - flex-direction: column; - gap: 10px; + padding: 12px; } -.merchant-card { +.venue-card { display: flex; align-items: flex-end; background-color: #ffffff; border: 1px solid #f2f2f7; border-radius: 6px; + width: 702rpx; padding: 24px 12px; gap: 12px; box-shadow: 0 2px 3px #f2f2f7; + margin-bottom: 12px; } .card-img { @@ -181,10 +212,6 @@ export default { font-size: 16px; font-weight: 500; color: #000000; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - max-width: 180px; } .card-category { @@ -214,4 +241,8 @@ export default { font-size: 12px; color: #727272; } + +.nomore-area { + padding-top: 24px; +} diff --git a/pages/index/index.vue b/pages/index/index.vue index b9bd1f9..67de28b 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -9,6 +9,7 @@ + {{ item.text }} @@ -37,10 +38,10 @@ data() { return { kingList: [ - { icon: 'https://aliyunoss.hn12301.net/hhrs/hhrs_wlcg.png', url: '/pages/venue/venue' }, - { icon: 'https://aliyunoss.hn12301.net/hhrs/hhrs_shzk.png', url: '/pages/discount/discount' }, - { icon: 'https://aliyunoss.hn12301.net/hhrs/hhrs_qyb.png', url: '/pages/rights/rights', isRights: true }, - { icon: 'https://aliyunoss.hn12301.net/hhrs/hhrs_zjmd.png', url: '/pages/winners/winners' } + { icon: 'https://aliyunoss.hn12301.net/hhrs/hhrs_wlcg.png', text: '文旅场馆', url: '/pages/venue/venue' }, + { icon: 'https://aliyunoss.hn12301.net/hhrs/hhrs_shzk.png', text: '商户折扣', url: '/pages/discount/discount' }, + { icon: 'https://aliyunoss.hn12301.net/hhrs/hhrs_qyb.png', text: '权益包', url: '/pages/rights/rights', isRights: true }, + { icon: 'https://aliyunoss.hn12301.net/hhrs/hhrs_zjmd.png', text: '中奖名单', url: '/pages/winners/winners' } ], guideList: [ { @@ -93,10 +94,17 @@ diff --git a/pages/mine/mine.vue b/pages/mine/mine.vue index fb1086c..5526df0 100644 --- a/pages/mine/mine.vue +++ b/pages/mine/mine.vue @@ -108,13 +108,13 @@ export default { display: flex; align-items: center; justify-content: space-between; - background-color: #ffffff; - padding: 20px 16px; + background: linear-gradient(to bottom, #0066cc, #f2f2f7); + padding: 40px 16px 130px; } .login-hint { font-size: 16px; - color: #1a1818; + color: #ffffff; font-weight: 500; margin-left: 12px; } @@ -129,6 +129,7 @@ export default { width: 48px; height: 48px; border-radius: 50%; + background-color: #ffffff; } .user-detail { @@ -140,17 +141,17 @@ export default { .user-name { font-size: 16px; font-weight: 500; - color: #1a1818; + color: #ffffff; } .user-phone { font-size: 14px; - color: #666666; + color: rgba(255, 255, 255, 0.8); } .logout-btn { - background-color: #e8e8e8; - color: #666666; + background-color: rgba(255, 255, 255, 0.2); + color: #ffffff; font-size: 13px; padding: 6px 16px; border-radius: 4px; @@ -158,14 +159,16 @@ export default { /* 菜单列表 */ .menu-list { - margin-top: 12px; + margin: -88px 12px 0; background-color: #ffffff; + border-radius: 8px; } .menu-item { display: flex; align-items: center; - padding: 16px; + height: 64px; + padding: 0 16px; border-bottom: 1px solid #f5f5f5; } diff --git a/pages/rights/rights.vue b/pages/rights/rights.vue index 7c8524f..8935493 100644 --- a/pages/rights/rights.vue +++ b/pages/rights/rights.vue @@ -1,5 +1,15 @@ @@ -40,7 +48,8 @@ export default { loading: false, lng: '', lat: '', - loadStatus: 'loadmore' + loadStatus: 'loadmore', + hasScrolled: false } }, onLoad() { @@ -88,11 +97,15 @@ export default { }) }, loadMore() { + this.hasScrolled = true if (this.list.length < this.total && !this.loading) { this.pageNo++ this.loadList() } }, + goBack() { + uni.navigateBack() + }, goDetail(item) { uni.navigateTo({ url: '/pages/venue/detail?id=' + item.shopId }) }, @@ -117,7 +130,28 @@ export default { padding: 6px 12px; } +.nav-row { + display: flex; + align-items: center; + gap: 12px; +} + +.back-btn { + display: flex; + align-items: center; + justify-content: center; + height: 44px; + flex-shrink: 0; + gap: 2px; +} + +.back-text { + font-size: 14px; + color: #333333; +} + .search-bar { + flex: 1; display: flex; align-items: center; height: 44px; @@ -145,9 +179,6 @@ export default { .list-area { padding: 12px; - display: flex; - flex-direction: column; - gap: 10px; } .venue-card { @@ -157,10 +188,10 @@ export default { border: 1px solid #f2f2f7; border-radius: 6px; width: 702rpx; - padding: 24px 12px; gap: 12px; box-shadow: 0 2px 3px #f2f2f7; + margin-bottom: 12px; } .card-img { @@ -210,4 +241,8 @@ export default { font-size: 12px; color: #727272; } + +.nomore-area { + padding-top: 24px; +}