123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- <template>
- <view>
- <web-view src="http://61.177.40.178:8001" @message="handleMessage"></web-view>
- <!-- <button @click="downloadFile">点击下载文件</button> -->
- </view>
- </template>
- <!-- -->
- <script>
- export default {
- data() {
- return {
- }
- },
- onReady() {
- },
- onLaunch() {
- // uni.onPushMessage((res)=>{
- // console.log('8888',res);
- // })
- },
- onLoad: function() {
- // this.handleMessage();
- // this.downloadFile();
- },
- methods: {
-
- handleMessage(evt) {
- console.log('原始信息:' + evt)
- console.log('接收到的消息:' + JSON.stringify(evt));
- if (evt) {
- // let data={};
- 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) {
- // let timestamp=Date.now()
- // let URL=`${_url}?timestamp=${timestamp}`
- // uni.getSavedFileList({
- // success:function(res){
- // console.log('4545',res);
- // if(res.fileList.length>0){
- // // res.fileList=[];
- // console.log('77845',res);
- // uni.removeSavedFile({
- // filePath:res.fileList[0].filePath
- // });
- // }
- // }
- // })
-
- 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("/");
- let name_index=_name.lastIndexOf('.');
- let fileName=_name.slice(0,name_index)+Date.now()+_name.slice(name_index,_name.length)
- var newFilePath = savedFilePath.slice(0, lastSlashIndex + 1) +
- fileName;
- console.log("download:" + savedFilePath)
- console.log('修改之后的文件路径:' + newFilePath)
- //修改名称
-
- plus.io.resolveLocalFileSystemURL(savedFilePath, entry => {
- entry.getParent(_oldFile => {
- entry.moveTo(_oldFile, '/' + fileName ,
- newFilePath => {
- console.log('文件名称替换完成');
- // console.log('000',newFilePath.fullPath);
- })
- })
- })
- setTimeout(()=>{
- uni.openDocument({
- filePath: newFilePath,
- success() {
- console.log('打开成功');
- },
- fail() {
- console.log('打开失败');
- }
- });
- },1000)
- }
- });
- }
- },
- fail: (err) => {
- uni.showToast({
- icon: 'none',
- mask: true,
- title: '失败请重新下载',
- });
- },
- })
- },
- }
- }
- </script>
- <style>
- </style>
|