From 633ca29c362b7da6b8aeaa3b752b4c5121c32c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=87?= Date: Mon, 24 Mar 2025 20:52:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=AE=B6=E8=AF=A6=E6=83=85=E5=88=9D?= =?UTF-8?q?=E6=AD=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/common.js | 6 +- api/request.js | 16 +++- api/shop.js | 2 +- app.js | 8 +- app.wxss | 9 +- assets/icon/navbar/back-round.png | Bin 0 -> 3257 bytes assets/icon/shop/share.png | Bin 0 -> 2044 bytes components/navbar/index.js | 3 + components/navbar/index.json | 2 +- components/navbar/index.wxml | 6 +- components/navbar/index.wxss | 12 ++- pages/help/address/index/index.js | 12 ++- pages/help/index/index.js | 7 +- pages/help/package/index.js | 7 ++ pages/my/promation/activities/index.js | 54 +++++++---- pages/shop/detail/index.js | 37 +++++++- pages/shop/detail/index.wxml | 123 ++++++++++++++++--------- pages/shop/detail/index.wxss | 66 ++++++++++++- pages/shop/index/index.js | 71 ++++++++------ pages/shop/index/index.wxml | 24 ++--- pages/shop/index/index.wxss | 67 ++------------ project.private.config.json | 28 ------ utils/util.js | 9 +- 23 files changed, 346 insertions(+), 223 deletions(-) create mode 100644 assets/icon/navbar/back-round.png create mode 100644 assets/icon/shop/share.png diff --git a/api/common.js b/api/common.js index 07b215c..225ab73 100644 --- a/api/common.js +++ b/api/common.js @@ -13,11 +13,7 @@ const commonApi = { timePeriods:(community_id)=>request.get(`/api/community-time-periods/community/${community_id}`) }, address:{ - list(commityId){ - const data = {}; - if(commityId){ - data.community_id = commityId; - } + list(data){ return request.get('/api/address',data) }, add:(data)=>request.post('/api/address',data), diff --git a/api/request.js b/api/request.js index 561e1b4..63c0830 100644 --- a/api/request.js +++ b/api/request.js @@ -7,6 +7,7 @@ if(envVersion=='develop'){ baseUrl = 'https://api.beefast.co' } let app = getApp(); +let navLoginPromise = null; const sendRequest = (options)=>{ @@ -32,13 +33,24 @@ const sendRequest = (options)=>{ }else if(result.statusCode==401){ const pages = getCurrentPages(); const currentPages = pages[pages.length-1]; - if(currentPages&¤tPages.route.indexOf('pages/login')>-1){ + + if(navLoginPromise){ return; } if(app)app = getApp(); const code = app?.globalData?.shared_user_code||''; - wx.navigateTo({ + if(currentPages&¤tPages.route.indexOf('pages/login')>-1){ + //用户先打开了小程序,然后又点开了朋友的分享页 + navLoginPromise = wx.redirectTo({ + url: '/pages/login/login?shared_user_code='+code, + }); + return; + } + navLoginPromise = wx.navigateTo({ url: '/pages/login/login?shared_user_code='+code, + }); + navLoginPromise.then(()=>{ + navLoginPromise = null; }) }else{ wx.showToast({ diff --git a/api/shop.js b/api/shop.js index 7ab2e4e..9fff943 100644 --- a/api/shop.js +++ b/api/shop.js @@ -12,7 +12,7 @@ export default { return request.get(`/api/merchant/${id}`,data); }, product:{ - list:(merchant_id)=>request.get('/api/merchant/product/list',merchant_id?{merchant_id}:{}), + list:(data)=>request.get('/api/merchant/product/list',data), detail:(product_id)=>request.get(`/api/merchant/product/${product_id}`) }, orderList:(data)=>request.get('/api/merchant-pay',data), diff --git a/app.js b/app.js index dac99d6..c29f628 100644 --- a/app.js +++ b/app.js @@ -13,7 +13,7 @@ App({ wx.onAppRoute((res)=>{ const page = getCurrentPages(); const currentPage = page[page.length-1]; - if(currentPage){ + if(currentPage&&!currentPage.useCustomShare){ currentPage.onShareAppMessage = async()=>{ if(!(this.globalData.appConfig&&this.globalData.appConfig.share_card_title)){ await this.getAppConfig(); @@ -21,10 +21,14 @@ App({ if(!(this.globalData.userInfo&&this.globalData.userInfo.user_code)){ await this.getUserInfo(); } + let path = '/pages/help/index/index'; + if(this.globalData.userInfo.user_code){ + path = `${path}?shared_user_code=${this.globalData.userInfo.user_code}`; + } return { title:this.globalData.appConfig.share_card_title, imageUrl:'/assets/imgs/login/share.jpg', - path:`/pages/help/index/index?shared_user_code=${this.globalData.userInfo.user_code||''}` + path:path } } } diff --git a/app.wxss b/app.wxss index 84aed10..a64df77 100644 --- a/app.wxss +++ b/app.wxss @@ -29,7 +29,7 @@ button .icon,button label{ vertical-align: middle; } button:not([size=mini]){ - width:auto!important; + width:auto; padding:30rpx 25rpx; font-size: 36rpx; } @@ -214,6 +214,13 @@ page-container .content{ padding-bottom:calc(constant(safe-area-inset-bottom) + 24rpx); padding-bottom:calc(env(safe-area-inset-bottom) + 24rpx); } +.bottom-bar.float,.bottom-bar-v2.float{ + padding:0; + border:0; + margin: 0 24rpx; + margin-bottom:calc(constant(safe-area-inset-bottom) + 24rpx); + margin-bottom:calc(env(safe-area-inset-bottom) + 24rpx); +} .custom-scroll-view{ height:100vh; display: flex; diff --git a/assets/icon/navbar/back-round.png b/assets/icon/navbar/back-round.png new file mode 100644 index 0000000000000000000000000000000000000000..8987d7656ee28fe78e59ec928ab38f51a4812f80 GIT binary patch literal 3257 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 ai~j)_p^ky5wdCOd0000 - + + + + {{backTitle}} + diff --git a/components/navbar/index.wxss b/components/navbar/index.wxss index 6cc5fad..46aaacd 100644 --- a/components/navbar/index.wxss +++ b/components/navbar/index.wxss @@ -1,5 +1,8 @@ /* components/navBar.wxss */ -.nav-bar{} +.nav-bar{ + transition-duration: .4s; + overflow: hidden; +} .nav-bar .title{ font-size: 36rpx; font-weight: 600; @@ -15,6 +18,8 @@ flex:1; display: flex; align-items: center; + text-overflow: ellipsis; + max-width: calc(100vw - 140rpx); } .nav-bar-content .left .btns{ display: inline-flex; @@ -29,10 +34,11 @@ /*单一一个返回或者加上 backTitle的时候*/ .nav-bar-content .back{ width:40rpx;height:40rpx; - padding:12rpx 14rpx 12rpx 0; + padding:12rpx 14rpx 12rpx 12rpx; } .nav-bar-content .back.home{ width:56rpx;height:56rpx; + padding:0; } .nav-bar-content .left .btns.border{ border: 1.2px solid #D8D8D8; @@ -46,6 +52,8 @@ font-size: 36rpx; font-weight: 600; white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .nav-bar-content .share{ width:30rpx;height:34rpx; diff --git a/pages/help/address/index/index.js b/pages/help/address/index/index.js index 7488e77..d1e6cf0 100644 --- a/pages/help/address/index/index.js +++ b/pages/help/address/index/index.js @@ -20,7 +20,8 @@ Page({ onLoad(options) { this.setData({ communityId:options.community_id, - communityName:options.community_name + communityName:options.community_name, + type:options.type }) }, @@ -36,7 +37,14 @@ Page({ */ onShow() { wx.showNavigationBarLoading(); - commonApi.address.list(this.data.communityId).then((data)=>{ + let params = {}; + if(this.data.type=='pickup'){ + params.community_id = this.data.communityId; + params.address_type = 'PICKUP'; + }else{ + params.address_type = 'COMMON'; + } + commonApi.address.list(params).then((data)=>{ wx.hideNavigationBarLoading(); this.setData({ addressList:data, diff --git a/pages/help/index/index.js b/pages/help/index/index.js index 57f238c..2ef2f4a 100644 --- a/pages/help/index/index.js +++ b/pages/help/index/index.js @@ -117,7 +117,10 @@ Page({ } }, getAddress(communityId){ - commonApi.address.list(communityId).then((data)=>{ + commonApi.address.list({ + community_id:communityId, + address_type:'PICKUP' + }).then((data)=>{ let currentAddress = data[0]||{}; data.map((item,index)=>{ if(item.is_default){ @@ -340,7 +343,7 @@ Page({ if(app.globalData.accessToken){ if(this.data.currentCommunity&&this.data.currentCommunity.id){ wx.navigateTo({ - url: `/pages/help/address/index/index?community_id=${this.data.currentCommunity.id}&community_name=${this.data.currentCommunity.name}`, + url: `/pages/help/address/index/index?type=pickup&community_id=${this.data.currentCommunity.id}&community_name=${this.data.currentCommunity.name}`, }) }else{ wx.showToast({ diff --git a/pages/help/package/index.js b/pages/help/package/index.js index 00e4b76..abb7ee5 100644 --- a/pages/help/package/index.js +++ b/pages/help/package/index.js @@ -214,6 +214,13 @@ Page({ }, manuallyAdd(){ let stationNames = this.data.stationList.map((item)=>item.name); + if(stationNames.length==0){ + wx.showToast({ + icon:'none', + title: '该小区未配置驿站', + }) + return; + } wx.showActionSheet({ itemList: stationNames, success:(res)=>{ diff --git a/pages/my/promation/activities/index.js b/pages/my/promation/activities/index.js index f082bd8..f841ee7 100644 --- a/pages/my/promation/activities/index.js +++ b/pages/my/promation/activities/index.js @@ -20,27 +20,20 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { + const { miniProgram } = wx.getAccountInfoSync(); + const envVersion = miniProgram.envVersion; + if(envVersion=='develop'){ + this.setData({ + activityId:2 + }) + return; + } this.setData({ - activityId:options.id||2 + activityId:options.id }); }, getActivityDetail(){ - this.setData({ - detailLoading:true - }) - commonApi.activities.detail(this.data.activityId).then((data)=>{ - this.setData({ - detailLoading:false, - getting:false - }) - this.setData({ - detail:data - }) - }).catch(()=>{ - this.setData({ - detailLoading:false - }) - }) + }, getActivity(){ this.setData({ @@ -80,15 +73,38 @@ Page({ * 生命周期函数--监听页面显示 */ onShow() { - this.getActivityDetail(); - userApi.coupon.check(this.data.activityId).then((data)=>{ + this.setData({ + detailLoading:true + }) + commonApi.activities.detail(this.data.activityId).then((data)=>{ + this.setData({ + detailLoading:false, + getting:false, + detail:data + }); + return userApi.coupon.check(this.data.activityId); + }).then((data)=>{ if(!data.can_receive){ this.setData({ isShowModal:true, errorMsg:data.message }) } + }).catch((res)=>{ + this.setData({ + detailLoading:false + }) }) + + + // userApi.coupon.check(this.data.activityId).then((data)=>{ + // if(!data.can_receive){ + // this.setData({ + // isShowModal:true, + // errorMsg:data.message + // }) + // } + // }) }, /** diff --git a/pages/shop/detail/index.js b/pages/shop/detail/index.js index 1d05eb7..291ba08 100644 --- a/pages/shop/detail/index.js +++ b/pages/shop/detail/index.js @@ -1,5 +1,6 @@ import shopApi from '../../../api/shop'; import userApi from '../../../api/user'; +import {rpxToPx} from '../../../utils/util' const app = getApp(); @@ -19,7 +20,13 @@ Page({ scrollViewHeight:0, windowInfo:{}, - markdown:null + markdown:null, + + productInfoMD:{}, + productGuideMD:{}, + + scrollOverTop:false, + navBarHeight:0 }, showConfirm(event){ @@ -40,6 +47,9 @@ Page({ // }).catch(()=>{ this.getDetail(); // }) + this.createSelectorQuery().select('#navBar').boundingClientRect((res)=>{ + this.data.navBarHeight = res.height; + }).exec(); }, getDetail(lng,lat){ shopApi.product.detail(this.data.productId,lng,lat).then((data)=>{ @@ -51,7 +61,9 @@ Page({ } } this.setData({ - detail:data + detail:data, + productInfoMD:app.towxml('## 详情 \n- 第一项','markdown'), + productGuideMD:app.towxml('## 须知 \n- 第一项','markdown') }); }); }, @@ -65,9 +77,21 @@ Page({ }, makePhoneCall(){ wx.makePhoneCall({ - phoneNumber:this.data.detail.phone, + phoneNumber:this.data.detail.merchant.phone, }) }, + scrollViewScroll(event){ + + if(event.detail.scrollTop+this.data.navBarHeight>rpxToPx(500)){ + this.setData({ + scrollOverTop:true + }) + }else{ + this.setData({ + scrollOverTop:false + }) + } + }, /** * 生命周期函数--监听页面初次渲染完成 */ @@ -113,7 +137,12 @@ Page({ /** * 用户点击右上角分享 */ + useCustomShare:true, onShareAppMessage() { - + return { + title:this.data.detail.name, + imageUrl:this.data.detail.optimized_image_url, + path:`/pages/shop/detail/index?id=${this.data.productId}&shared_user_code=${app.globalData.userInfo.user_code||''}` + } } }) \ No newline at end of file diff --git a/pages/shop/detail/index.wxml b/pages/shop/detail/index.wxml index 77631c4..eaa8667 100644 --- a/pages/shop/detail/index.wxml +++ b/pages/shop/detail/index.wxml @@ -1,53 +1,84 @@ - - - - - - {{detail.name}} - - 定时达 - 已售100丨自提 - - - - - - - 仙人模斗 - 七栋二单元 + + + + + + + - - - - - 配送地址 - - 请选择收货地址 - - - - 配送地址 - - - - 朝阳时代西锦12栋1单元2072 + + {{detail.name}} + + 定时达 + 已售100丨自提 + + + + + + + {{detail.merchant.name}} + {{detail.merchant.address}} + + + - - - 周先生 18583236782 + + 配送地址 + + 请选择收货地址 + + + + 配送地址 + + + + 朝阳时代西锦12栋1单元2072 + + + + 周先生 18583236782 + + - - - - - 自提点 - - - - - 朝阳时代西锦12栋1单元2072 + + + 自提点 + + + + + 朝阳时代西锦12栋1单元2072 + + - + + + 商品详情 + + + + + + 购买须知 + + + + + + + + + + + + {{detail.sale_price}} + 赠蜂蜜{{detail.gift_points}}克 + diff --git a/pages/shop/detail/index.wxss b/pages/shop/detail/index.wxss index e69baef..f522e3b 100644 --- a/pages/shop/detail/index.wxss +++ b/pages/shop/detail/index.wxss @@ -1,3 +1,12 @@ +.nav-bar{ + z-index:100; + position: relative; +} +.custom-scroll-view{ + position: absolute; + width: 100%; + top:0;left:0; +} .swiper-container{ height:600rpx; position: relative; @@ -50,15 +59,34 @@ top:0;left:0; z-index: -1; } +.top .share{ + position: absolute; + bottom:24rpx;right:24rpx; + width:66rpx;height:66rpx; + background-color:rgba(0, 0, 0, 0.6); + border-radius: 50%; + display: flex; + align-items: center; + padding:0; + justify-content: center; +} +.top .share .icon{ + width:54rpx;height:52rpx; + +} +.product-info{ + padding-top:20rpx; +} .product-info .p-name{ - font-size: 34rpx; + font-size: 36rpx; + line-height: 56rpx; font-weight: 600; } .product-info .info{ display: flex; align-items: center; font-size: 26rpx; - margin-top:32rpx; + margin-top:22rpx; } .product-info .info .tag{ border: 1.2rpx solid rgba(255, 140, 18, 0.5); @@ -69,6 +97,7 @@ .product-info .info .desc{ flex:1; margin-left:14rpx; + color:#888888; } .product-info .spliter{ margin:30rpx 0; @@ -85,6 +114,12 @@ .product-info .user .center{ flex:1; margin-left:22rpx; + overflow: hidden; +} +.product-info .user .u-name,.product-info .user .building{ + overflow: hidden; + white-space: nowrap; + text-overflow:ellipsis; } .product-info .user .building{ font-size: 27rpx; @@ -117,4 +152,31 @@ .address .text{ font-size: 27rpx; margin-left: 20rpx; +} + +.bottom-bar.float{ + display: flex; + align-items: center; + border-radius: 60rpx; + overflow: hidden; + padding-left: 40rpx; + box-shadow: 0px 3px 6px 2px rgba(0, 0, 0, 0.05); +} +.bottom-bar .money{ + font-size: 52rpx; +} +.bottom-bar .tips{ + padding-top:14rpx; + font-size: 27rpx; + color:#FF8C12; + margin-left: 20rpx; + flex:1; +} +.bottom-bar .button{ + border-radius: 0; + height: 100rpx; + min-width: 240rpx; +} +.scroll-view-dispatch{ + height:calc(var(--safe-bottom) + 124rpx); } \ No newline at end of file diff --git a/pages/shop/index/index.js b/pages/shop/index/index.js index d8610e8..0dad098 100644 --- a/pages/shop/index/index.js +++ b/pages/shop/index/index.js @@ -10,13 +10,13 @@ Page({ */ data: { tabIndex:0, - categories:[], shopList:[], userInfo:{}, lng:null, lat:null, - scrollViewHeight:0, - pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false} + pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false}, + + choosedCommunity:{} }, changeTab(event){ const tabIndex = event.currentTarget.dataset.index; @@ -42,18 +42,15 @@ Page({ this.setData({ pager:this.data.pager }); - const cid = this.data.categories.length>0?this.data.categories[this.data.tabIndex].id:0; const params = { skip:this.data.pager.pageIndex*this.data.pager.limit, - limit:this.data.pager.limit + limit:this.data.pager.limit, + community_id:this.data.choosedCommunity.id } if(this.data.lng&&this.data.lat){ params.longitude = this.data.lng; params.latitude = this.data.lat; } - if(cid){ - params.category_id = cid; - } shopApi.product.list().then((data)=>{ if(this.data.pager.pageIndex==0){ this.data.shopList = data.items; @@ -80,35 +77,57 @@ Page({ shopList:this.data.shopList, pager:this.data.pager }) + }).catch(()=>{ + this.setData({ + "pager.loading":false + }) }); }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { - const windowInfo = wx.getWindowInfo(); - this.setData({ - scrollViewHeight:windowInfo.windowHeight-windowInfo.statusBarHeight-44-174 - }) - app.getLocation().then((data)=>{ - this.setData({ - lng:data.longitude, - lat:data.latitude - }); - this.loadList(); - }).catch(()=>{ - this.loadList(); - }) - shopApi.category().then((data)=>{ - this.setData({ - categories:[{id:0,name:'全部'},...data.items] - }); - }) app.getUserInfo().then((data)=>{ this.setData({ userInfo:data }) + this.data.choosedCommunity = { + id:data.community_id, + name:data.community_name + }; + return wx.getStorage({key:'community-shop'}); + }).then((res)=>{ + this.data.choosedCommunity = res.data; + this.loadList(); + },(error)=>{ + this.loadList(); + }).finally(()=>{ + this.setData({ + choosedCommunity:this.data.choosedCommunity + }) + }) + }, + + //供选择社区页面用 + changeCommunity(community){ + wx.setStorage({ + key:'community-shop', + data:{ + id:community.id, + name:community.name + } + }); + this.setData({ + choosedCommunity:community + }) + this.refreshList(); + }, + chooseCommunity(){ + const currentId = this.data.choosedCommunity.id||this.data.userInfo.community_id; + console.log(currentId); + wx.navigateTo({ + url: `/pages/help/community/index?communityId=${currentId}`, }) }, diff --git a/pages/shop/index/index.wxml b/pages/shop/index/index.wxml index d16473e..427f074 100644 --- a/pages/shop/index/index.wxml +++ b/pages/shop/index/index.wxml @@ -1,21 +1,13 @@ - - - 蜂蜜 (克) - {{userInfo.points}} - 取快递自动抵扣 - - - - - + + + + {{choosedCommunity.name}} + + + + { const year = date.getFullYear() const month = date.getMonth() + 1 @@ -14,11 +15,15 @@ const formatNumber = n => { return n[1] ? n : `0${n}` } const getStatusNavBarHeight = ()=>{ - const windowInfo = wx.getWindowInfo(); return windowInfo.statusBarHeight+44; } +const rpxToPx = (rpx) => { + return (rpx / 750) * windowInfo.windowWidth; +} + module.exports = { formatTime, - getStatusNavBarHeight + getStatusNavBarHeight, + rpxToPx }