From 1745293d05d75baf0b2ff451d482bf4fc4d5a227 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=87?= Date: Sat, 1 Mar 2025 02:00:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/order.js | 3 +- api/user.js | 14 +++ app.js | 6 ++ app.json | 5 +- app.wxss | 21 +++++ assets/audio/order_complete.wav | Bin 0 -> 105918 bytes components/background-notice/index.js | 114 ++++++++++++++++++++++++ components/background-notice/index.json | 4 + components/background-notice/index.wxml | 2 + components/background-notice/index.wxss | 1 + components/swipeButton/index.js | 1 - pages/index/index.js | 79 +++++++++++++++- pages/index/index.json | 3 +- pages/index/index.wxml | 18 +++- pages/index/index.wxss | 31 +++++++ pages/test/audio.js | 94 +++++++++++++++++++ pages/test/audio.json | 3 + pages/test/audio.wxml | 1 + pages/test/audio.wxss | 1 + pages/user/income/index.wxml | 2 +- 20 files changed, 392 insertions(+), 11 deletions(-) create mode 100644 assets/audio/order_complete.wav create mode 100644 components/background-notice/index.js create mode 100644 components/background-notice/index.json create mode 100644 components/background-notice/index.wxml create mode 100644 components/background-notice/index.wxss create mode 100644 pages/test/audio.js create mode 100644 pages/test/audio.json create mode 100644 pages/test/audio.wxml create mode 100644 pages/test/audio.wxss diff --git a/api/order.js b/api/order.js index eb99775..11f53f2 100644 --- a/api/order.js +++ b/api/order.js @@ -25,5 +25,6 @@ export default { receive:(orderid)=>request.post(`/api/order/${orderid}/deliveryman/receive`), pickup:(orderid)=>request.post(`/api/order/${orderid}/deliveryman/pickup`), complete:(orderid,images)=>request.post(`/api/order/${orderid}/deliveryman/complete`,{images:images}), - cancel:(orderid,reason)=>request.post(`/api/order/${orderid}/deliveryman/cancel`,{reason}) + cancel:(orderid,reason)=>request.post(`/api/order/${orderid}/deliveryman/cancel`,{reason}), + check:()=>request.get('/api/order/deliveryman/check_new_order') } \ No newline at end of file diff --git a/api/user.js b/api/user.js index 5b28b06..55980b5 100644 --- a/api/user.js +++ b/api/user.js @@ -53,5 +53,19 @@ export default { task.onProgressUpdate(progress); } }); + }, + downloadFile(url,filePath){ + return new Promise((rs,rj)=>{ + wx.downloadFile({ + url: url, + filePath: filePath, + success: (result) => { + rs() + }, + fail: (res) => { + rj() + } + }) + }) } } \ No newline at end of file diff --git a/app.js b/app.js index 5daca23..2df36c2 100644 --- a/app.js +++ b/app.js @@ -5,6 +5,9 @@ const date = new Date(); App({ verifyCodeWaitingTime:60, onLaunch() { + wx.setInnerAudioOption({ + obeyMuteSwitch:false + }); if(!token){ wx.reLaunch({ url: '/pages/login/index', @@ -16,6 +19,9 @@ App({ } }) }, + onHide(){ + console.log('app on hide'); + }, resetUserInfoUpdateTag(){ this.globalData.userInfoGetTime = null; }, diff --git a/app.json b/app.json index 00cd0e5..4c5da5e 100644 --- a/app.json +++ b/app.json @@ -21,5 +21,8 @@ "style": "v2", "componentFramework": "glass-easel", "sitemapLocation": "sitemap.json", - "lazyCodeLoading": "requiredComponents" + "lazyCodeLoading": "requiredComponents", + "requiredBackgroundModes": [ + "audio" + ] } \ No newline at end of file diff --git a/app.wxss b/app.wxss index 69e1b3c..b4e11f7 100644 --- a/app.wxss +++ b/app.wxss @@ -370,4 +370,25 @@ navigator button{ } list-view{ display: block; +} + + +switch .wx-switch-input.wx-switch-input-checked { + background-color:var(--main-color); + border-color: var(--main-color); +} +switch .wx-switch-input::after { + width: 40rpx; + height: 40rpx; +} + + + + + + +.weui-loading{ + font-size:16px;width:1em;height:1em;display:inline-block;vertical-align:middle; + background:transparent url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='80px' height='80px' viewBox='0 0 80 80' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eloading%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='94.0869141%25' y1='0%25' x2='94.0869141%25' y2='90.559082%25' id='linearGradient-1'%3E%3Cstop stop-color='%23606060' stop-opacity='0' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3ClinearGradient x1='100%25' y1='8.67370605%25' x2='100%25' y2='90.6286621%25' id='linearGradient-2'%3E%3Cstop stop-color='%23606060' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23606060' stop-opacity='0.3' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' opacity='0.9'%3E%3Cg%3E%3Cpath d='M40,0 C62.09139,0 80,17.90861 80,40 C80,62.09139 62.09139,80 40,80 L40,73 C58.2253967,73 73,58.2253967 73,40 C73,21.7746033 58.2253967,7 40,7 L40,0 Z' fill='url(%23linearGradient-1)'%3E%3C/path%3E%3Cpath d='M40,0 L40,7 C21.7746033,7 7,21.7746033 7,40 C7,58.2253967 21.7746033,73 40,73 L40,80 C17.90861,80 0,62.09139 0,40 C0,17.90861 17.90861,0 40,0 Z' fill='url(%23linearGradient-2)'%3E%3C/path%3E%3Ccircle id='Oval' fill='%23606060' cx='40.5' cy='3.5' r='3.5'%3E%3C/circle%3E%3C/g%3E%3CanimateTransform attributeName='transform' begin='0s' dur='1s' type='rotate' values='0 40 40;360 40 40' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E%0A") no-repeat; + background-size:100% } \ No newline at end of file diff --git a/assets/audio/order_complete.wav b/assets/audio/order_complete.wav new file mode 100644 index 0000000000000000000000000000000000000000..15a4f0268530dc790ede8cd0099008663fc13c29 GIT binary patch literal 105918 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 + this.bgam = wx.getBackgroundAudioManager(); + this.bgam.title = '后台通知'; + this.bgam.audioType = 'music'; + this.bgam.coverImgUrl = 'https://dman-1311994147.cos.ap-chengdu.myqcloud.com/20250227/DoADoEhKi4U4ab75d180b27fa14b7c34ae7969762809_d7ee9018-828e-43c7-8b2b-29d4352c0277.jpg?imageMogr2/thumbnail/800x800/format/webp'; + this.bgam.onEnded(()=>{ + this.bgam.src = this.data.emptyAudio; + }); + this.triggerEvent('initSuccess'); + }).catch(()=>{ + this.triggerEvent('initError'); + }) + + } + }, + observers:{ + "start"(s){ + if(s){ + this.start(); + }else{ + this.stop(); + } + } + }, + /** + * 组件的方法列表 + */ + methods: { + async downloadResource(){ + this.data.emptyAudio = `${wx.env.USER_DATA_PATH}/empty.mp3`; + const emptyServerPath = 'https://dman-1311994147.cos.ap-chengdu.myqcloud.com/static/silence_file.wav'; + this.data.haveOrderAudio = `${wx.env.USER_DATA_PATH}/haveorder.wav`; + const haveOrderPath = 'https://dman-1311994147.cos.ap-chengdu.myqcloud.com/static/new_order.mp3' + await this.download(this.data.emptyAudio,emptyServerPath); + await this.download(this.data.haveOrderAudio,haveOrderPath); + }, + async download(localPath,serverPath){ + try { + //判断文件是否存在 + const fs = wx.getFileSystemManager(); + fs.accessSync(localPath); + } catch (error) { + await userApi.downloadFile(serverPath,localPath); + } + }, + start(){ + this.bgam.src = this.data.emptyAudio; + if(this.loopOrderTimer){ + clearInterval(this.loopOrderTimer); + } + this.loopOrderTimer = setInterval(()=>{ + this.triggerEvent('onTrigger'); + },10000); + }, + stop(){ + if(this.loopOrderTimer){ + clearInterval(this.loopOrderTimer); + } + if(this.emptyAutioPlayTimer){ + clearTimeout(this.emptyAutioPlayTimer) + } + if(this.bgam){ + this.bgam.stop(); + } + }, + notice(){ + if(this.emptyAutioPlayTimer){ + clearTimeout(this.emptyAutioPlayTimer) + } + + // this.bgam.src = this.data.haveOrderAudio; + // this.bgam.onEnded(()=>{ + // console.log('notice onend'); + // this.emptyAutioPlayTimer = setTimeout(()=>{ + // this.bgam.src = this.data.emptyAudio; + // },1000) + // }); + + const innerAudioContext = wx.createInnerAudioContext({ + useWebAudioImplement:true + }) + innerAudioContext.src = this.data.haveOrderAudio; + innerAudioContext.play(); + innerAudioContext.onEnded(()=>{ + innerAudioContext.destroy(); + }) + } + } +}) \ No newline at end of file diff --git a/components/background-notice/index.json b/components/background-notice/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/components/background-notice/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/components/background-notice/index.wxml b/components/background-notice/index.wxml new file mode 100644 index 0000000..386f4b7 --- /dev/null +++ b/components/background-notice/index.wxml @@ -0,0 +1,2 @@ + +components/background-notice/index.wxml \ No newline at end of file diff --git a/components/background-notice/index.wxss b/components/background-notice/index.wxss new file mode 100644 index 0000000..5fb7434 --- /dev/null +++ b/components/background-notice/index.wxss @@ -0,0 +1 @@ +/* components/background-notice/index.wxss */ \ No newline at end of file diff --git a/components/swipeButton/index.js b/components/swipeButton/index.js index 5b6be68..f08cb6d 100644 --- a/components/swipeButton/index.js +++ b/components/swipeButton/index.js @@ -79,7 +79,6 @@ Component({ }, observers:{ "loading"(l){ - console.log('loading',l); if(!l){ this.setData({ moveViewX:0, diff --git a/pages/index/index.js b/pages/index/index.js index 54279b5..468624e 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -6,6 +6,7 @@ const app = getApp(); Page({ currentOrder:null, + haveNewOrder:false, data: { statusBarHeight:0, snBarHeight:0, @@ -52,9 +53,19 @@ Page({ completing:false, - isShowRefundConfirm:false + isShowRefundConfirm:false, + + isStartLoopOrder:false, + + bgNoticeLoadResult:{ + error:false, + loading:true + }, + unReadOrderCount:0 }, onLoad(){ + console.log(wx.env.USER_DATA_PATH); + this.orderBackgroundNotice = this.selectComponent('#orderBackgroundNotice'); const snHeight = getStatusNavBarHeight(); this.setData({ statusBarHeight:snHeight.statusBar, @@ -74,6 +85,52 @@ Page({ }); }); }, + findNewOrder(){ + // app.forceGetUserInfo().then((data)=>{ + // if(data.nickname=='仙人模斗'){ + // this.haveNewOrder = true; + // this.orderBackgroundNotice.notice(); + // } + // }) + // return; + orderApi.check().then((data)=>{ + if(data.has_new_order){ + this.orderBackgroundNotice.notice(); + this.setData({ + unReadOrderCount:this.data.unReadOrderCount+data.order_ids.length + }) + } + }) + }, + bgNoticeSuccess(){ + this.setData({ + bgNoticeLoadResult:{ + error:false, + loading:false + } + }) + }, + bgNoticeError(){ + wx.showToast({ + icon:'error', + title: '资源加载失败', + }) + this.setData({ + bgNoticeLoadResult:{ + error:true, + loading:false + } + }) + }, + bgNoticeRetry(){ + this.setData({ + bgNoticeLoadResult:{ + error:false, + loading:true + } + }) + this.orderBackgroundNotice.downloadResource(); + }, async getUserInfo(){ await app.forceGetUserInfo().then((data)=>{ this.setData({ @@ -203,12 +260,16 @@ Page({ pItem.receivedAll = this.getPackageReceiveStatus(item.orderid,pItem); }) }) - this.setData({ + let needSetData = { list:this.data.list, pager:this.data.pager, statusDetailKey:this.data.statusDetailKey, buildingIndex:this.data.buildingIndex - }); + } + if(this.data.statusDetailKey==this.data.statusDetail.created.key.toLowerCase()){ + needSetData.unReadOrderCount = 0; + } + this.setData(needSetData); }) }, @@ -384,7 +445,6 @@ Page({ }) return; } - console.log(this.data.tempImgs); this.setData({ completing:true }) @@ -469,6 +529,12 @@ Page({ }) this.setData(needRefreshData); } + if(this.haveNewOrder){ + this.data.statusDetailKey = this.data.statusDetail.created.key.toLowerCase(); + this.data.buildingIndex = 0; + this.refreshList(); + this.haveNewOrder = false; + } }, getPackageReceiveStatus(orderId,pkg){ let receivedInfo = wx.getStorageSync(orderId); @@ -477,5 +543,10 @@ Page({ return true; } return false; + }, + loopOrderChange(event){ + this.setData({ + isStartLoopOrder:event.detail.value + }) } }) diff --git a/pages/index/index.json b/pages/index/index.json index be659f5..d7d0bc7 100644 --- a/pages/index/index.json +++ b/pages/index/index.json @@ -2,7 +2,8 @@ "usingComponents": { "list-view":"/components/listView", "swipe-button":"/components/swipeButton", - "modal-view":"/components/modalView" + "modal-view":"/components/modalView", + "background-notice":"/components/background-notice" }, "navigationStyle": "custom", "navigationBarTextStyle": "white" diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 56d8ec4..c188d15 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -3,15 +3,25 @@ - + + + + + 重试 + + + {{unReadOrderCount}} + {{item.text}}({{item.value}}) @@ -182,4 +192,8 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/pages/index/index.wxss b/pages/index/index.wxss index 70d5a18..8e90934 100644 --- a/pages/index/index.wxss +++ b/pages/index/index.wxss @@ -8,6 +8,11 @@ display: flex; align-items: center; } +.nav-bar .retry{ + text-decoration: underline; + color: rgb(250, 67, 67); + padding:14rpx; +} .nav-bar .left-btn{ width:56rpx; height:56rpx; @@ -26,6 +31,23 @@ width:20rpx;height:20rpx; margin-right:8rpx; } +.nav-bar .loop-order-switch{ + background: rgba(255, 255, 255, 0.08); + border-radius: 40rpx; + color: #fff; + padding:4rpx 4rpx 4rpx 18rpx; + margin-left:24rpx; + display: flex; + align-items: center; + gap: 14rpx; + font-size: 28rpx; +} +.nav-bar .loop-order-switch .switch .wx-switch-input{ + width:84rpx; + height: 48rpx; + --switch-checked-color:red; + --switch-node-size: 16rpx; +} .head{ display: flex; background-color: #111111; @@ -42,11 +64,20 @@ flex:1; text-align: center; padding:39rpx 0 19rpx 0; + position: relative; } .head .item.current{ color:#ffffff; font-weight: 500; } +.head .item .red-bubble{ + position: absolute; + right:8rpx;top:20rpx; + background-color: red; + border-radius: 50%; + font-size: 24rpx; + padding:4rpx 8rpx; +} .building{ display: flex; overflow-x: auto; diff --git a/pages/test/audio.js b/pages/test/audio.js new file mode 100644 index 0000000..01ceebf --- /dev/null +++ b/pages/test/audio.js @@ -0,0 +1,94 @@ +// pages/test/audio.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + time:0 + }, + gbam:null, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + this.bgam = wx.getBackgroundAudioManager(); + this.bgam.src = 'https://dman-1311994147.cos.ap-chengdu.myqcloud.com/static/empty.mp3'; + this.bgam.title = '后台通知'; + this.bgam.audioType = 'music'; + this.bgam.coverImgUrl = 'https://dman-1311994147.cos.ap-chengdu.myqcloud.com/20250227/DoADoEhKi4U4ab75d180b27fa14b7c34ae7969762809_d7ee9018-828e-43c7-8b2b-29d4352c0277.jpg?imageMogr2/thumbnail/800x800/format/webp'; + this.bgam.play(); + this.bgam.onPlay(); + this.bgam.onEnded(()=>{ + console.log('end'); + // this.bgam.src = 'https://dman-1311994147.cos.ap-chengdu.myqcloud.com/static/empty.mp3'; + // this.bgam.play(); + }) + // const innerAudioContext = wx.createInnerAudioContext({ + // useWebAudioImplement:true + // }) + // innerAudioContext.src = '/assets/audio/order_complete.wav'; + // innerAudioContext.play(); + }, + playAudio(){ + setInterval(()=>{ + this.setData({ + time:this.data.time+1 + }); + },1000); + setInterval(()=>{ + this.bgam.src = 'https://dman-1311994147.cos.ap-chengdu.myqcloud.com/static/new_order.mp3'; + this.bgam.play(); + },10000) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/test/audio.json b/pages/test/audio.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/test/audio.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/test/audio.wxml b/pages/test/audio.wxml new file mode 100644 index 0000000..7139558 --- /dev/null +++ b/pages/test/audio.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pages/test/audio.wxss b/pages/test/audio.wxss new file mode 100644 index 0000000..04f5fe0 --- /dev/null +++ b/pages/test/audio.wxss @@ -0,0 +1 @@ +/* pages/test/audio.wxss */ \ No newline at end of file diff --git a/pages/user/income/index.wxml b/pages/user/income/index.wxml index e64201d..dd6d578 100644 --- a/pages/user/income/index.wxml +++ b/pages/user/income/index.wxml @@ -1,7 +1,7 @@ 今日收益(元) - {{summary.total_income}} + {{summary.today_income}}