| 
					
				 | 
			
			
				@@ -1,47 +1,322 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // pages/doTask/doTask.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import VODUpload from '../../utils/aliyun-upload-sdk-1.0.1.min' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const app = getApp() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const util = require("../../utils/util") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const urlDef = require("../../utils/urls") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const recordManager = wx.getRecorderManager() //录音对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const audioContext = wx.createInnerAudioContext() //音频播放对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var uploader = null //阿里云视频上传对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * 页面的初始数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    talkFlag:false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    closeName: '开始录音' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    talkFlag: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    closeName: '开始录音', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    videoList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    videoFlag: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    imgList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    audioList:[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    audioPause: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  getRecord:function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    console.log(this.data.talkFlag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if(this.data.talkFlag){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getRecord: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const that = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (that.data.talkFlag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      recordManager.stop() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      recordManager.onStop((res) => {  //监听录音停止的事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log("监听录音停止事件",res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (res.duration < 1000) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          wx.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            title: '录音时间太短', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            icon: none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          var tempFilePath = res.tempFilePath; // 文件临时路径 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.log("文件临时路径", tempFilePath) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // audioContext.src = tempFilePath 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // audioContext.play() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const list = [tempFilePath] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          that.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            audioList:that.data.audioList.concat(list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      that.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         talkFlag: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         closeName: '开始录音' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        talkFlag: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        closeName: '正在录音,再次点击结束录音' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      wx.getSetting({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        success(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (!res.authSetting['scope.record']) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            wx.authorize({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              scope: 'scope.record', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              success() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const options = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                recordManager.start(options) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              fail(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                wx.openSetting({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  withSubscriptions: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            that.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              talkFlag: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              closeName: '正在录音,再次点击结束录音' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const options = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            recordManager.start(options) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  uploadTap:function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  showAudio:function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const index = e.currentTarget.dataset.index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(this.data.curAudioIndex != index){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        curAudioIndex: index, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      audioContext.src = this.data.audioList[index] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      audioContext.play() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      audioContext.onEnded((res)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          curAudioIndex: '-1', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(this.data.audioPause){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        audioContext.play() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          audioPause: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        audioContext.pause() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          audioPause: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  delAudio:function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const index = e.currentTarget.dataset.index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.data.audioList.splice(index,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      audioList: this.data.audioList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  uploadTap: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const that = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const urls = urlDef.urls; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     wx.chooseImage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       count: 6, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       sourceType: ['album', 'camera'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      success(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        wx.showLoading({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: '上传中...', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (var i in res.tempFilePaths) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          wx.uploadFile({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            filePath: res.tempFilePaths[i], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: 'name', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            url: urls.file_upload, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            header: util.getHeaders(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            success(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              wx.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                title: '上传成功', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const rs = JSON.parse(JSON.parse(JSON.stringify(res.data))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const list = [rs.data[0].url] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              that.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                imgList: that.data.imgList.concat(list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fail(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              wx.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                title: '上传失败', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                icon: none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            complete(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              wx.hideLoading({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                success: (res) => {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  showImg: function (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const index = e.currentTarget.dataset.index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    wx.previewImage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      current: this.data.imgList[index], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      urls: this.data.imgList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  delImg: function (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const index = e.currentTarget.dataset.index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.data.imgList.splice(index, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      imgList: this.data.imgList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  upLoadVideo:function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  upLoadVideo: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const that = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     wx.chooseVideo({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      camera: ['album', 'camera'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      camera: ['album'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      success(res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var file = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          url: res.tempFilePath, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          coverUrl: res.thumbTempFilePath 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var userData = '{"Vod":{}}'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const urls = urlDef.urls; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let createUrl = urls.video_create_upload + '?title=' + res.tempFilePath + '&fileName=' + res.tempFilePath; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log('createUploadVideo ... '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        util.apiPost(createUrl).then((rs) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let d = JSON.parse(rs.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // console.log('createUploadVideo ' + JSON.stringify(d)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          that.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            uploadAuth: d.UploadAuth, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            uploadAddress: d.UploadAddress, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            videoId: d.VideoId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          uploader.addFile(file, null, null, null, userData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          uploader.startUpload(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, e => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.log('createUploadVideo error ' + JSON.stringify(e)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  showVideo: function (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const index = e.currentTarget.dataset.index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const curVideo = this.data.videoList[index].src 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      curVideo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  },   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.videoContext.requestFullScreen({ // 设置全屏时视频的方向,不指定则根据宽高比自动判断。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      direction: 90 // 屏幕逆时针90度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 监听视频是否为全屏,否则直接关闭 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bindfullscreenchange: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (this.data.videoFlag == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        videoFlag: 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        videoFlag: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        curVideo: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  delVideo: function (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const index = e.currentTarget.dataset.index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.data.videoList.splice(index, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      videoList: this.data.videoList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * 生命周期函数--监听页面加载 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   onLoad: function (options) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.videoContext = wx.createVideoContext('play-video'); // 	创建 video 上下文 VideoContext 对象。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const that = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const createUpLoad = new VODUpload({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //阿里账号ID,必须有值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      userId: "WaWQOn6gXod13WLEp8cr4ljUdvcbXJ", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //网络原因失败时,重新上传次数,默认为3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      retryCount: 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //网络原因失败时,重新上传间隔时间,默认为2秒 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      retryDuration: 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //开始上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'onUploadstarted': function (uploadInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        wx.showLoading({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: '上传中...', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          mask: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // console.log("onUploadStarted:" + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //上传方式1,需要根据uploadInfo.videoId是否有值,调用点播的不同接口获取uploadauth和uploadAddress,如果videoId有值,调用刷新视频上传凭证接口,否则调用创建视频上传凭证接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (uploadInfo.videoId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //如果uploadInfo.videoId存在,调用刷新视频上传凭证接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //如果uploadInfo.videoId不存在,调用获取视频上传地址和凭证接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //从点播服务获取的uploadAuth、uploadAddress和videoId,设置SDK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(that.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        uploader.setUploadAuthAndAddress(uploadInfo, that.data.uploadAuth, that.data.uploadAddress, that.data.videoId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //文件上传成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'onUploadSucceed': function (uploadInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // console.log("上传成功:" + JSON.stringify(uploadInfo)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var json = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          src: uploadInfo.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          img: uploadInfo.coverUrl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var list = [json] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        that.setData({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          videoList: that.data.videoList.concat(list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        wx.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: '上传成功', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // console.log("onUploadSucceed: " + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //文件上传失败 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'onUploadFailed': function (uploadInfo, code, message) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // console.log("onUploadFailed: file:" + uploadInfo.file.name + ",code:" + code + ", message:" + message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        wx.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: '上传失败', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //文件上传进度,单位:字节 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'onUploadProgress': function (uploadInfo, totalSize, loadedPercent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // console.log("onUploadProgress:file:" + uploadInfo.file.name + ", fileSize:" + totalSize + ", percent:" + Math.ceil(loadedPercent * 100) + "%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //上传凭证超时 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'onUploadTokenExpired': function (uploadInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        wx.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: '上传超时', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log("onUploadTokenExpired"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //实现时,根据uploadInfo.videoId调用刷新视频上传凭证接口重新获取UploadAuth 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //从点播服务刷新的uploadAuth,设置到SDK里 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        uploader.resumeUploadWithAuth(uploadAuth); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //全部文件上传结束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'onUploadEnd': function (uploadInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log("onUploadEnd: uploaded all the files"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    uploader = createUpLoad 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 
			 |