import { setVideoStatus, likeVideo, collectVideo } from '~/api/video' Component({ /** * 组件的属性列表 */ properties: { videoInfo: { type: Object, value: {} }, index: { type: Number, }, currentId: { type: Number, } }, data: { }, methods: { // 播放视频 playVideo() { this.triggerEvent('playVideo', this.properties.videoInfo.userRead.id) }, // 分享视频 shareVideo() { let videoInfo = this.properties.videoInfo console.log(videoInfo); }, // 设置视频公开还是隐私 async setVideoPublic() { let info = this.properties.videoInfo.userRead let data = { id: info.id, status: info.status === 'NORMAL' ? 'DISABLE' : 'NORMAL' } let res = await setVideoStatus(data) if (res.status == 'DISABLE') { wx.showToast({ title: '该作品仅自己可见', icon: 'none', duration: 2000 }) } let index = this.properties.index let status = `list[${index}].userRead.status`; let val = info.status === 'NORMAL' ? 'DISABLE' : 'NORMAL' let options = { [status]: val } this.triggerEvent('changStatus', options) }, // 点赞 async likeVideo() { let { id } = this.properties.videoInfo.userRead if (this.properties.videoInfo.isLike) { return } await likeVideo(id) let index = this.properties.index let likeStr = `list[${index}].isLike`; let likeNumStr = `list[${index}].userRead.likeAmount`; let options = { [likeStr]: true, [likeNumStr]: this.properties.videoInfo.userRead.likeAmount + 1 } this.triggerEvent('changStatus', options) }, // 下载视频 download() { wx.showLoading({ title: '保存到本地', mask: true }) const url = this.properties.videoInfo.userRead.markPath || '' wx.downloadFile({ url, success(res) { if (res.statusCode === 200) { wx.saveVideoToPhotosAlbum({ filePath: res.tempFilePath, success(res) { wx.hideLoading() wx.showToast({ title: '成功保存到相册!', duration: 3000, icon: 'success', mask: true }) }, fail() { wx.hideLoading() wx.showToast({ title: '网络不给力', icon: 'error', duration: 3000, mask: true }) } }) } }, fail() { wx.hideLoading() wx.showToast({ title: '网络不给力', icon: 'error', duration: 3000, mask: true }) } }) }, //评论 openComment() { this.triggerEvent('openComment', this.properties.videoInfo.userRead.id) }, // 删除 delete() { let { id } = this.properties.videoInfo.userRead wx.showModal({ title: '确认删除吗?', content: '作品将被永久删除,无法找回。', confirmText: '确认', cancelText: '取消', success: async(res) => { if (res.confirm) { let data = { id, status: 'DEL' } await setVideoStatus(data) wx.showToast({ title: '删除成功!', icon: "none" }) this.triggerEvent('getList') } } }) }, // 收藏课程 async collect(e) { let { id, type, uid } = this.properties.videoInfo.userRead if (wx.getStorageSync('uid') == uid) { return } await collectVideo({ targetCode: id, favoritesType: type }) let index = this.properties.index let isFavorites = `list[${index}].isFavorites`; let options = { [isFavorites]: !this.properties.videoInfo.isFavorites } this.triggerEvent('changStatus', options) }, } })