diff --git a/app.js b/app.js index 54b796f..ca6ef09 100644 --- a/app.js +++ b/app.js @@ -24,14 +24,9 @@ App({ //获取手机屏幕高度、宽度 _self.globalData.windowHeight = wx.getSystemInfoSync().windowHeight _self.globalData.windowWidth = wx.getSystemInfoSync().windowWidth - wx.setInnerAudioOption({ - mixWithOther: false, - obeyMuteSwitch: false, - speakerOn: false - }) }, globalData: { userInfo: {}, - token: 'T3hrM2Y1eFB5eERaNXQ2bDdxZ3Y4elZVQnl6U3FWdlNBT3dGUENFNlNObjA5MWpTMW1CMG1iaSsvZmxGcERlMzV5RWw5TnplZjVIbmVQRTQ5SkVnWFF3YjdvWnVaRHhrL2l5TUNGWmFZcnJZVzI5UEhJdFVzdG55b3RLOTdKTzhmeFZvZ1hTd29qbnlYeWVSMURiTmpNNGJDOTFVbDVsMk5Ed3FiREh2QnpCN0RRSTM3eVViN2NvK1VQbzZiMXQyL1VodDhPaUwrd2pSU3RTWWFiYWlCbFQ4blZoRHo2c3BObFRaY1pTMjR3cW5VLzl6SEswemNoS0V2SGNLMXJiU2QrdGxOajJXeWtqYWEwbDhOTzRod00xQTdWNUxFOU9Wd1FkUWJwSHoramFPdUJ0MG9UbEJocFUzTkZiUy83Q2xaL2RVSXhLYnNMNGZhYm5DZ1VXOUtVUVVQR2FMQjFqaCs0NVowVDJrMFpjUFdpK0dZb0JKVWxTOCswamVXbkZQUWk5Vi9hQ0h3ci93QzJpVDA1aEt2ZlM1NWlPOW5MTGFNdmhLZDM4K0lscC9jejR2c29ON1dLeXhSbXF3QVNtNQ==' + token: '' }, }) \ No newline at end of file diff --git a/class/main.wxss b/class/main.wxss index d66b08d..a78c9ee 100644 --- a/class/main.wxss +++ b/class/main.wxss @@ -1600,7 +1600,7 @@ button.icon.lg { display: flex; position: relative; align-items: center; - min-height: 100rpx; + min-height: 60rpx; justify-content: space-between; } @@ -2417,7 +2417,7 @@ button.icon.lg { background-color: var(--white); display: flex; align-items: center; - min-height: 100rpx; + min-height: 60rpx; justify-content: space-between; } @@ -4148,7 +4148,7 @@ l .text-depblack { .shadow-box { width: 100%; border-radius: 10rpx; - border: 1rpx solid #f5f5f5; + border: 1rpx solid #f9f9f9; } .border-blue-radius { diff --git a/pages/index/index.js b/pages/index/index.js index c1677a4..6ca49cc 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -1,24 +1,16 @@ -// index.js -// 获取应用实例 const app = getApp() - +var innerAudioContext = wx.createInnerAudioContext() Page({ data: { - nameTxt: '名片' + nameTxt: '名片', + dataList: [], + curIndex: 0, //用来记录请求次数 + speedStep: 5, //快进快退秒数 + waitFlag: false, }, onLoad(options) { this.doLogin() }, - show() { - wx.navigateTo({ - url: '/pages/moments/publish/momentpublish', - }) - }, - showList() { - wx.navigateTo({ - url: '/pages/moments/list/momentslist', - }) - }, // 登录 doLogin() { var self = this; @@ -34,35 +26,326 @@ Page({ }) .then(res => { wx.hideLoading({}) - console.log(res) var token = res.data.data.split('_')[0] wx.setStorageSync('token', token) wx.setStorageSync('bindPhone', res.data.data.split('_')[1]) app.globalData.token = token + self.getMainColumn() }) .catch(err => { wx.hideLoading({}) - console.log(err) }) - - - // { - // jsCode: res.code - // }, null, function (code, data) { - // var token = data.data.split('_')[0] - // self.setData({ - // token: token, - // bindPhone: data.data.split('_')[1] - // }) - // wx.setStorageSync('token', token) - // wx.setStorageSync('bindPhone', data.data.split('_')[1]) - // app.globalData.token = token - // self.getUserInfo() - // self.getHomeColumnList() - // }, function (code, data) { - // app.dialog.msg(data.msg); - // }); } }) }, + //获取首页展示的栏目 + getMainColumn() { + var _self = this + app.http.get(app.urls.getMainColumn, { + header: { + token: app.globalData.token + } + }) + .then(res => { + wx.showLoading({ + title: '加载中...', + }) + _self.getMainMoment(res.data, 0) + }) + .catch(err => { + wx.stopPullDownRefresh({}) + }) + }, + getMainMoment(datas, index) { + var _self = this + var count = datas.length + if (index < count) { + app.http.get(app.urls.getMainMoment.format({ + configColumnId: datas[_self.data.curIndex].configColumnId + }), { + header: { + token: app.globalData.token + } + }) + .then(res => { + if (res.data.length > 0) { + var tempItem = { + name: datas[_self.data.curIndex].configColumnName, + list: res.data + } + _self.data.dataList.push(tempItem) + } + _self.setData({ + curIndex: ++_self.data.curIndex + }) + _self.getMainMoment(datas, _self.data.curIndex) + }) + .catch(err => { + _self.setData({ + curIndex: ++_self.data.curIndex + }) + _self.getMainMoment(datas, _self.data.curIndex) + }) + } else { + wx.hideLoading({}) + wx.stopPullDownRefresh({}) + _self.buildMainData() + } + }, + //构建主页显示数据 + buildMainData() { + var _self = this + _self.data.dataList.forEach(it => { + it.list.forEach(item => { + item.list.forEach(iem => { + switch (iem.dataType) { + case '2': //图片 + var items = iem.value.split(',') + var tempList = [] + items.forEach(item => { + var tempItem = { + id: item, + path: app.urls.baseImgUrl + item, + } + tempList.push(tempItem) + }) + iem.valueList = tempList + break + case '3': //音频 + var items = iem.value.split(',') + var tempList = [] + items.forEach(item => { + var tempItem = { + id: item, //id + path: app.urls.baseImgUrl + item, //地址 + isPlay: false, //是否播放中 + duration: 100000, //时长 + curDuration: 0, + curDurationStr: '00:00', + totalDurationStr: '00:00' + } + tempList.push(tempItem) + }) + iem.valueList = tempList + break + case '4': //视频 + var items = iem.value.split(',') + var tempList = [] + items.forEach(item => { + var tempItem = { + id: item, + path: app.urls.baseImgUrl + item, + imgPath: '/images/ic_temp.png' + } + tempList.push(tempItem) + }) + iem.valueList = tempList + break + case '6': + var items = iem.value.split('-') + var tempList = [] + items.forEach(item => { + var latlng = item.split(',') + var tempItem = { + name: '', + address: '', + latitude: latlng[0], + longitude: latlng[1], + } + tempList.push(tempItem) + }) + iem.valueList = tempList + break + } + }) + }) + }) + _self.setData({ + curIndex: 0, + dataList: _self.data.dataList + }) + console.log(_self.data.dataList) + }, + onPullDownRefresh() { + this.setData({ + dataList: [] + }) + this.getMainColumn() + }, + //预览图片 + viewImg(e) { + wx.previewImage({ + urls: [e.currentTarget.dataset.url], + }) + }, + //预览视频 + viewVideo(e) { + var url = e.currentTarget.dataset.url + wx.previewMedia({ + sources: [{ + url: url, + type: 'video' + }], + }) + }, + play(e) { + //进行播放 + const _self = this + const index = e.currentTarget.dataset.index + const idx = e.currentTarget.dataset.idx + const ix = e.currentTarget.dataset.i + const a = e.currentTarget.dataset.a + var audio = e.currentTarget.dataset.item + //先需要停止其他录音文件的播放 + _self.data.dataList.forEach(it => { + it.list.forEach(item => { + item.list.forEach(ix => { + if (ix.dataType == '3') { + if (ix.valueList) { + ix.valueList.forEach(ii => { + if (ii.isPlay) { + innerAudioContext.stop() + } + ii.isPlay = false + ii.curDuration = 0 + ii.curDuationStr = '00:00' + }) + } + } + }) + }) + }) + if (!audio.isPlay) { + innerAudioContext = wx.createInnerAudioContext() + innerAudioContext.src = _self.data.dataList[index].list[idx].list[ix].valueList[a].path + '.mp3' + innerAudioContext.autoplay = true + console.log(_self.data.dataList[index].list[idx].list[ix].valueList[a].path) + } else { + innerAudioContext.stop() + } + + + innerAudioContext.onPlay(() => { + console.log('onPlay') + _self.data.dataList[index].list[idx].list[ix].valueList[a]['isPlay'] = true + _self.setData({ + dataList: _self.data.dataList + }) + }); + + innerAudioContext.onCanplay((res) => { + // if (_self.data.waitFlag) { + // innerAudioContext.play() + // _self.setData({ + // waitFlag: false + // }) + // } + }) + innerAudioContext.onStop((res) => { + console.log('停止播放') + _self.data.dataList[index].list[idx].list[ix].valueList[a].isPlay = false + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration = 0 + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDurationStr = '00:00' + _self.setData({ + dataList: _self.data.dataList, + }) + innerAudioContext.destroy() + }) + innerAudioContext.onEnded((res) => { + console.log(res) + console.log('播放完毕') + _self.data.dataList[index].list[idx].list[ix].valueList[a].isPlay = false + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration = 0 + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDurationStr = '00:00' + _self.setData({ + dataList: _self.data.dataList, + }) + innerAudioContext.destroy() + }) + innerAudioContext.onError((res) => { + console.log('播放错误') + console.log(res) + _self.data.dataList[index].list[idx].list[ix].valueList[a].isPlay = false + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration = 0 + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDurationStr = '00:00' + _self.setData({ + dataList: _self.data.dataList, + }) + innerAudioContext.destroy() + }) + innerAudioContext.onSeeking(() => { + // console.log(innerAudioContext.currentTime) + }) + innerAudioContext.onWaiting(() => { + // console.log('onWaiting') + // innerAudioContext.pause() + // _self.setData({ + // waitFlag: true + // }) + }) + innerAudioContext.onTimeUpdate(() => { + if (innerAudioContext.duration != Infinity) { + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration = parseInt(innerAudioContext.currentTime) + _self.data.dataList[index].list[idx].list[ix].valueList[a].duration = parseInt(innerAudioContext.duration) + var curM = parseInt(innerAudioContext.currentTime / 60) //分钟 + var curS = parseInt(innerAudioContext.currentTime % 60) //秒 + var tM = parseInt(innerAudioContext.duration / 60) //分钟 + var tS = parseInt(innerAudioContext.duration % 60) //秒 + var curMStr = curM > 9 ? curM : '0' + curM + var curSStr = curS > 9 ? curS : '0' + curS + var totalMStr = tM > 9 ? tM : '0' + tM + var totalSStr = +tS > 9 ? tS : '0' + tS + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDurationStr = curMStr + ':' + curSStr + _self.data.dataList[index].list[idx].list[ix].valueList[a].totalDurationStr = totalMStr + ':' + totalSStr + _self.setData({ + dataList: _self.data.dataList + }) + } + }) + }, + //倒退5秒 + rewind(e) { + var _self = this + var index = e.currentTarget.dataset.index + var item = e.currentTarget.dataset.item + var idx = e.currentTarget.dataset.idx + var a = e.currentTarget.dataset.a + var ix = e.currentTarget.dataset.i + if (item.isPlay) { + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration = _self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration - _self.data.speedStep + innerAudioContext.seek(_self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration) + _self.setData({ + dataList: _self.data.dataList + }) + } + + }, + //快进5秒 + speed(e) { + var _self = this + var index = e.currentTarget.dataset.index + var item = e.currentTarget.dataset.item + var idx = e.currentTarget.dataset.idx + var a = e.currentTarget.dataset.a + var ix = e.currentTarget.dataset.i + if (item.isPlay) { + _self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration = _self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration + _self.data.speedStep + innerAudioContext.seek(_self.data.dataList[index].list[idx].list[ix].valueList[a].curDuration) + _self.setData({ + dataList: _self.data.dataList + }) + } + }, + slider4change(e) { + var index = e.currentTarget.dataset.index + var item = e.currentTarget.dataset.item + if (item.isPlay) { + innerAudioContext.seek(e.detail.value) + } + }, + testPlay() { + innerAudioContext = wx.createInnerAudioContext() + innerAudioContext.src = 'http://192.168.0.115:8091/systemcard/route/file/download/true/aae9bede-3499-4b63-8ee3-75a5ae390335' + innerAudioContext.autoplay = true + } }) \ No newline at end of file diff --git a/pages/index/index.json b/pages/index/index.json index 8835af0..69b19d4 100644 --- a/pages/index/index.json +++ b/pages/index/index.json @@ -1,3 +1,4 @@ { + "enablePullDownRefresh": true, "usingComponents": {} } \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 4393bfd..a81439b 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -1,11 +1,159 @@ {{nameTxt}} + + + + + + + + + + {{item.name}} + + + + + + + + + + + + + + {{child.comment}} + + + + + + {{child.value}} + + + + + + + + + {{child.comment}} + + + + + + + + + + + + + + + {{child.comment}} + + + + + + + + + + + + - - 测试 + + + + + + {{child.comment}} + + + + + + + + + {{audio.curDurationStr}} + + {{audio.totalDurationStr}} + + + + + + + + + + + + + + + + {{child.comment}} + + + + + + + + + + + + + + + + + + + + {{child.comment}} + + + + + + {{child.value}} + + + + + + + + - - - 列表 + + \ No newline at end of file diff --git a/pages/index/index.wxss b/pages/index/index.wxss index eb64203..66487b7 100644 --- a/pages/index/index.wxss +++ b/pages/index/index.wxss @@ -16,4 +16,36 @@ .usermotto { margin-top: 200px; +} +.intro-title image { + width: 28rpx; + height: 30rpx; + vertical-align: middle; + margin-top: -4px; +} +.catelog-title { + display: flex; + position: relative; + align-items: center; + justify-content: space-between; +} + +.catelog-title .action { + display: flex; + align-items: center; + justify-content: center; + max-width: 100%; + padding-right: 30rpx; +} + +.title { + font-size: 32rpx; + position: relative; + color: #fff; + border-top-right-radius: 20rpx; + border-top-left-radius: 20rpx; + padding-left: 15rpx; + background: #0054bd; + display: inline-block; + padding: 25rpx 35rpx 20rpx; } \ No newline at end of file diff --git a/pages/moments/edit/momentedit.js b/pages/moments/edit/momentedit.js index bea334b..ed4c092 100644 --- a/pages/moments/edit/momentedit.js +++ b/pages/moments/edit/momentedit.js @@ -45,7 +45,7 @@ Page({ setInter: '', //定时器 currentItem: undefined, isAuthAudio: false, - title:'栏目内容修改' + title: '栏目内容修改' }, /** @@ -55,7 +55,7 @@ Page({ this.setData({ columnId: options.id, uId: options.uid, - title:options.title+'修改' + title: options.title + '修改' }) this.checkPermission() this.getMomentContent() @@ -606,6 +606,7 @@ Page({ }, //删除视频 delAudio(e) { + console.log(e) let _self = this wx.showModal({ title: '提示', @@ -614,9 +615,9 @@ Page({ confirmText: '确定', success: res => { if (res.confirm) { - _self.data.audioList.splice(e.currentTarget.dataset.index, 1) + _self.data.fieldList[e.currentTarget.dataset.index].valueList.splice(e.currentTarget.dataset.idx, 1) _self.setData({ - audioList: _self.data.audioList + fieldList: _self.data.fieldList }) } } @@ -800,12 +801,12 @@ Page({ }); innerAudioContext.onCanplay((res) => { - if (_self.data.waitFlag) { - innerAudioContext.play() - _self.setData({ - waitFlag: false - }) - } + // if (_self.data.waitFlag) { + // innerAudioContext.play() + // _self.setData({ + // waitFlag: false + // }) + // } }) innerAudioContext.onStop((res) => { _self.data.fieldList[index].valueList[idx].isPlay = false @@ -835,10 +836,10 @@ Page({ console.log(innerAudioContext.currentTime) }) innerAudioContext.onWaiting(() => { - innerAudioContext.pause() - _self.setData({ - waitFlag: true - }) + // innerAudioContext.pause() + // _self.setData({ + // waitFlag: true + // }) }) innerAudioContext.onTimeUpdate(() => { if (innerAudioContext.duration != Infinity) { diff --git a/pages/moments/edit/momentedit.wxml b/pages/moments/edit/momentedit.wxml index 0a577e7..a754d44 100644 --- a/pages/moments/edit/momentedit.wxml +++ b/pages/moments/edit/momentedit.wxml @@ -85,13 +85,13 @@ + data-idx="{{idx}}" data-item="{{audio}}" catchtap="rewind"> - @@ -158,7 +158,7 @@ - + diff --git a/pages/moments/list/momentslist.js b/pages/moments/list/momentslist.js index d733bf7..fd1ac57 100644 --- a/pages/moments/list/momentslist.js +++ b/pages/moments/list/momentslist.js @@ -208,12 +208,12 @@ Page({ }); innerAudioContext.onCanplay((res) => { - if (_self.data.waitFlag) { - innerAudioContext.play() - _self.setData({ - waitFlag: false - }) - } + // if (_self.data.waitFlag) { + // innerAudioContext.play() + // _self.setData({ + // waitFlag: false + // }) + // } }) innerAudioContext.onStop((res) => { _self.data.dataList[index].list[idx].valueList[ix].isPlay = false @@ -243,10 +243,10 @@ Page({ console.log(innerAudioContext.currentTime) }) innerAudioContext.onWaiting(() => { - innerAudioContext.pause() - _self.setData({ - waitFlag: true - }) + // innerAudioContext.pause() + // _self.setData({ + // waitFlag: true + // }) }) innerAudioContext.onTimeUpdate(() => { if (innerAudioContext.duration != Infinity) { @@ -292,7 +292,7 @@ Page({ var idx = e.currentTarget.dataset.idx var ix = e.currentTarget.dataset.i if (item.isPlay) { - _self.data.dataList[index].list[idx].valueList[ix].curDuration = _self.data.dataList[index].list[idx].valueList[ix] + _self.data.speedStep + _self.data.dataList[index].list[idx].valueList[ix].curDuration = _self.data.dataList[index].list[idx].valueList[ix].curDuration + _self.data.speedStep innerAudioContext.seek(_self.data.dataList[index].list[idx].valueList[ix].curDuration) _self.setData({ dataList: _self.data.dataList diff --git a/pages/moments/list/momentslist.wxml b/pages/moments/list/momentslist.wxml index 0a46fbe..3922c13 100644 --- a/pages/moments/list/momentslist.wxml +++ b/pages/moments/list/momentslist.wxml @@ -68,11 +68,11 @@ + data-idx="{{idx}}" data-i="{{i}}" data-item="{{audio}}" catchtap="rewind"> - diff --git a/pages/moments/publish/momentpublishline.js b/pages/moments/publish/momentpublishline.js index 7288406..3175a4f 100644 --- a/pages/moments/publish/momentpublishline.js +++ b/pages/moments/publish/momentpublishline.js @@ -608,7 +608,7 @@ Page({ var _self = this; clearInterval(_self.data.setInter); // 获取到结束时间 - if (_self.data.speck_time > 3) { + if (_self.data.speck_time > 10) { //清除计时器 即清除setInter clearInterval(_self.data.setInter); // 获取到结束时间 diff --git a/pages/moments/publish/momentpublishline.wxml b/pages/moments/publish/momentpublishline.wxml index 4dc9a40..5b0a31b 100644 --- a/pages/moments/publish/momentpublishline.wxml +++ b/pages/moments/publish/momentpublishline.wxml @@ -7,7 +7,7 @@ - + {{item.comment}} @@ -20,7 +20,7 @@ {{item.comment}} - +