<template>
	<view>
		<web-view src="http://192.168.0.205:8000" @message="handleMessage"></web-view>
		<!-- <button @click="downloadFile">点击下载文件</button> -->
	</view>
</template>
<!--  -->
<script>
	export default {
		data() {
			return {

			}
		},

		onReady() {

		},

		onLaunch() {

		},


		onLoad: function() {
			// this.handleMessage();
			// this.downloadFile();
		},
		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('文件名称替换完成');
												})
										})
									})
									setTimeout(()=>{
										uni.openDocument({
											filePath: newFilePath,
											success() {
												console.log('打开成功');
											},
											fail() {
												console.log('打开失败');
											}
										});
									},1000)
								}
							});
						}
					},
					fail: (err) => {
						uni.showToast({
							icon: 'none',
							mask: true,
							title: '失败请重新下载',
						});
					},
				})
			},

		}
	}
</script>

<style>

</style>