import { storeBindingsBehavior } from 'mobx-miniprogram-bindings' import { store } from '~/store/index' import { publishWorks, publishRankWorks } from '~/api/works' Component({ behaviors: [storeBindingsBehavior], storeBindings: { store, fields: { readDetail: 'readDetail' }, actions: { setReadDetail: 'setReadDetail' } }, /** * 组件的属性列表 */ properties: { readingType: '' }, /** * 组件的初始数据 */ data: { tempFilePath: '', uploadFlag: false, uploadSuccess: false, // 是否上传过 uploadState: false, percent: 0, }, /** * 组件的方法列表 */ methods: { upload() { if (this.data.uploadState) { return } this.setData({ uploadFlag: true, uploadState: true }) const uploadTask = wx.uploadFile({ url: 'https://reader-api.ai160.com//file/upload', filePath: this.data.readDetail.tempFilePath, name: '朗读录音', header: { uid: wx.getStorageSync('uid') }, success: (res) => { const formateRes = JSON.parse(res.data); let audioPath = formateRes.data; this.uploadWorks(audioPath); this.setData({ uploadSuccess: true, }) }, complete: () => { this.setData({ uploadFlag: false }) } }) uploadTask.onProgressUpdate((res) => { this.setData({ percent: res.progress }) }) }, cancelMask() { this.setData({ uploadSuccess: false }) }, async uploadWorks(audio) { console.log(this.data); const data = { "exampleId": this.data.readDetail.id, "audioPath": audio, "originVideo": this.data.readDetail.originVideo, }; console.log(data, '嘎嘎嘎嘎'); let res if (!this.properties.readingType) { res = await publishWorks(data) } else { res = await publishRankWorks(data) } console.log(res, '嘎2'); }, } })