瀏覽代碼

文件下载

sucheng 1 年之前
父節點
當前提交
b623f6e8ec
共有 1 個文件被更改,包括 117 次插入78 次删除
  1. 117 78
      pages/index/index.vue

+ 117 - 78
pages/index/index.vue

@@ -1,96 +1,135 @@
 <template>
 	<view>
-	   <web-view src="http://localhost:3200"></web-view>
+		<web-view src="http://61.177.40.178:8000" @message="handleMessage"></web-view>
+		<!-- <button @click="downloadFile">点击下载文件</button> -->
 	</view>
 </template>
-
+<!--  -->
 <script>
 	export default {
 		data() {
 			return {
-				
+
 			}
 		},
+
 		onReady() {
-			// let token=uni.getStorageSync("token")
-			// let userId=uni.getStorageSync("userId")
-			// if(userId || token){
-				// window.addEventListener("message", function (e) {
-				//      console.log('client 2 获取到数据啦:', e)
-				// 	 uni.setStorageSync("token",e.data.token)
-				// 	 uni.setStorageSync("userId",e.data.userId)
-				//    })
-				   
-				   // window.addEventListener("unload", function () {
-				   //   window.removeEventListener("message", function (e) {
-				   //     console.log('client 2 获取到数据啦:', e)
-				   //     uni.setStorageSync("token",e.data.token)
-				   //     uni.setStorageSync("userId",e.data.userId)
-				   //   })
-				   // })  
-			},
-			
-			    
-		
-		
-		onLoad() {
-			window.addEventListener("message", function (e) {
-			     console.log('client 2 获取到数据啦:', e)
-				 uni.setStorageSync("token",e.data.token)
-				 uni.setStorageSync("userId",e.data.userId)
-			   })
-			let token=uni.getStorageSync("token")
-			let userId=uni.getStorageSync("userId")
-			let url= "ws://192.168.0.205:9000/common/websocket/test/"+ userId +""
-			console.log("url",url)
-			uni.connectSocket({
-				url: "ws://192.168.0.205:9000/common/websocket/test/"+ userId +"/"+ token +"",
-				// header: {
-				// 	'content-type': 'application/json'
-				// },
-				// protocols: ['protocol1'],
-				// method: 'GET'
-			});
-			uni.onSocketMessage(function (res) {
-			  console.log('收到服务器内容:' + res);
-			});
-			// uni.createPushMessage({
-			//     content: '这是一条推送消息', // 推送内容
-			//     title: '新消息', // 推送标题
-			//     icon: '', // 推送图标(可选)
-			//     badge: '', // 应用角标数(可选)
-			//     duration:0, // 推送持续时间(可选)
-			//     success: function (res) {
-			//       console.log('推送成功', res);
-			//     },
-			//     fail: function (err) {
-			//       console.log('推送失败', err);
-			//     }
-			//   });
-			// let item=uni.getStorageSync("_token");
-			// console.log("item",item)
+
+		},
+
+		onLaunch() {
+
+		},
+
+
+		onLoad: function() {
+			// this.handleMessage();
+			this.downloadFile();
 		},
-		// onLoad: function () { 
-		//   uni.createPushMessage({
-		//     content: '这是一条推送消息', // 推送内容
-		//     title: '新消息', // 推送标题
-		//     icon: '', // 推送图标(可选)
-		//     badge: '', // 应用角标数(可选)
-		//     duration:0, // 推送持续时间(可选)
-		//     success: function (res) {
-		//       console.log('推送成功', res);
-		//     },
-		//     fail: function (err) {
-		//       console.log('推送失败', err);
-		//     }
-		//   });
-		// },
 		methods: {
-		   
+			handleMessage(evt) {
+				console.log('原始信息:' + evt)
+				console.log('接收到的消息:' + JSON.stringify(evt));
+				if (evt) {
+					let data = JSON.parse(evt.detail.data);
+					console.log('json解析:' + JSON.stringify(data));
+					if (data && data.content && data.title && data.content != '' && data.title != '') {
+						uni.createPushMessage({
+							content: data.content, // 推送内容
+							title: data.title, // 推送标题
+							sound: "system",
+							success: function(res) {
+								console.log('推送成功', res);
+							},
+							fail: function(err) {
+								console.log('推送失败', err);
+							}
+						});
+					} else if (data && data.type && data.type == 'file' && data.url && data.url != '' && data.fileName &&
+						data.fileName != '' && data.token && data.token != '') {
+						console.log("移动端文件下载通用方式")
+						let url = data.url;
+						let fileName = data.fileName;
+						let token = data.token;
+						console.log('url:' + url);
+						this.downloadFile(url, fileName, token);
+					} else {
+						return;
+					}
+
+				}
+			},
+			// downloadFile(url) {
+			// 	uni.downloadFile({
+			// 		url: url,
+			// 		success: function(res) {
+			// 			if (res.statusCode === 200) {
+			// 				console.log('下载成功:' + JSON.stringify(res));
+			// 				uni.saveFile({
+			// 					tempFilePath: res.tempFilePath,
+			// 					success: function(res) {
+			// 						var savedFilePath = res.savedFilePath;
+			// 						console.log("download:" + savedFilePath)
+			// 						uni.openDocument({
+			// 							filePath: savedFilePath
+			// 						});
+			// 					}
+			// 				});
+			// 			}
+			// 		}
+			// 	});
+			// },
+			downloadFile(_url, _name, _token) {
+				uni.downloadFile({
+					url: _url, //文件链接
+					header: {
+						"token": _token
+					},
+					success: (res) => {
+						if (res.statusCode === 200) {
+							console.log("res:", res)
+							uni.saveFile({
+								tempFilePath: res.tempFilePath,
+								success: function(res) {
+									var savedFilePath = res.savedFilePath;
+									let lastSlashIndex = savedFilePath.lastIndexOf("/");
+									var newFilePath = savedFilePath.slice(0, lastSlashIndex + 1) +
+										_name;
+									console.log("download:" + savedFilePath)
+									console.log('修改之后的文件路径:' + newFilePath)
+									//修改名称
+									plus.io.resolveLocalFileSystemURL(savedFilePath, entry => {
+										entry.getParent(_oldFile => {
+											entry.moveTo(_oldFile, '/' + _name,
+												newFilePath => {
+													console.log('newFilePath',
+														newFilePath
+														.fullPath)
+												})
+										})
+									})
+
+									uni.openDocument({
+										filePath: newFilePath
+									});
+								}
+							});
+						}
+					},
+					fail: (err) => {
+						uni.showToast({
+							icon: 'none',
+							mask: true,
+							title: '失败请重新下载',
+						});
+					},
+				})
+			}
+
 		}
 	}
 </script>
 
 <style>
-	
-</style>
+
+</style>