Browse Source

下载,扫码

hdw 1 năm trước cách đây
mục cha
commit
c889f6b2f3

+ 62 - 13
pages/index/index.vue

@@ -4,23 +4,22 @@
 		<!-- <web-view src="http://192.168.0.138:3200" @message="handleMessage" id="myWebview"></web-view> -->
 		<!-- <web-view src="http://120.192.74.74:7501" @message="handleMessage" id="myWebview"></web-view> -->
 		<!-- <button @click="downloadFile">点击下载文件</button> -->
-		
+
 	</view>
 </template>
 <!--  -->
 <!-- <script src="../../js/uni-webview"></script> -->
 <script>
-	
 	export default {
 		data() {
 			return {
-				
+
 			}
 		},
-		
+
 
 		onReady() {
-			
+
 		},
 
 		onLaunch() {
@@ -33,7 +32,7 @@
 		onLoad: function() {
 			// this.currentWebView = plus.webview.currentWebview();
 			// console.log('5555',this.currentWebView);
-		
+
 			// this.handleMessage();
 			// this.downloadFile();
 		},
@@ -60,15 +59,32 @@
 						});
 					} else if (data && data.type && data.type == 'file' && data.url && data.url != '' && data.fileName &&
 						data.fileName != '' && data.token && data.token != '') {
-						console.log("移动端文件下载通用方式")
+						//判断是否为post请求
+						let isPost = false;
+						try {
+							let urlType = data.urlType;
+							let postRequest = data.postRequest;
+							if (urlType == 'POST') {
+								isPost = true;
+							}
+						} catch (e) {
+							isPost = false;
+						}
+
 						let url = data.url;
 						let fileName = data.fileName;
 						let token = data.token;
-						console.log('url:' + url);
-						this.downloadFile(url, fileName, token);
+						if (!isPost) {
+							console.log("移动端文件下载通用方式")
+							console.log('url:' + url);
+							this.downloadFile(url, fileName, token);
+						} else {
+							let postRequest = data.postRequest;
+							this.downloadPostFile(url, fileName, token, postRequest)
+						}
 					} else if (data && data.type && data.type == 'scanCode') {
 						this.currentWebView = plus.webview.currentWebview();
-						console.log('66666',this.currentWebView);
+						console.log('66666', this.currentWebView);
 						this.scancode();
 
 					} else {
@@ -104,11 +120,11 @@
 						console.log('条码类型:' + res.scanType);
 						console.log('条码内容:' + res.result);
 						// let result=JSON.stringify(res.result)
-						plus.webview.getDisplayWebview()[0].evalJS(`window.postJS(${res.result})`)   
+						plus.webview.getDisplayWebview()[0].evalJS(`window.postJS(${res.result})`)
 					},
-					
+
 				});
-				
+
 				// uni.postMessage({
 				// 	data:{
 				// 		title:'555555'
@@ -174,6 +190,39 @@
 				})
 			},
 
+			downloadPostFile(_url, _name, _token, _data) {
+				let name_index = _name.lastIndexOf('.');
+				let fileName = "_doc/uniapp_save/" + _name.slice(0, name_index) + Date.now() + _name
+					.slice(name_index, _name.length);
+				console.log('文件路径:' + fileName)
+
+				var dtask = plus.downloader.createDownload(_url, {
+					filename: fileName, //利用保存路径,实现下载文件的重命名
+					method: 'POST',
+					data: _data
+				}, function(d, status) {
+					console.log("d====>", d)
+					console.log("status====>", status)
+					//d为下载的文件对象
+					if (status == 200) {
+						// var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
+						plus.runtime.openFile(d.filename); //选择软件打开文件
+					} else {
+						//下载失败
+						plus.downloader.clear(); //清除下载任务
+						reject({
+							data: d,
+							status
+						})
+					}
+				})
+
+				dtask.setRequestHeader("token", _token)
+				dtask.setRequestHeader("Content-Type", "application/json")
+				dtask.start(); //执行下载
+
+			},
+
 		}
 	}
 </script>

+ 0 - 0
unpackage/dist/dev/.automator/app-plus/.automator.json


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
unpackage/dist/dev/app-plus/__uniappchooselocation.js


BIN
unpackage/dist/dev/app-plus/__uniapperror.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
unpackage/dist/dev/app-plus/__uniappes6.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
unpackage/dist/dev/app-plus/__uniappopenlocation.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
unpackage/dist/dev/app-plus/__uniapppicker.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 8 - 0
unpackage/dist/dev/app-plus/__uniappquill.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
unpackage/dist/dev/app-plus/__uniappquillimageresize.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
unpackage/dist/dev/app-plus/__uniappscan.js


BIN
unpackage/dist/dev/app-plus/__uniappsuccess.png


+ 25 - 0
unpackage/dist/dev/app-plus/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

+ 3 - 0
unpackage/dist/dev/app-plus/androidPrivacy.json

@@ -0,0 +1,3 @@
+{
+    "prompt" : "none"
+}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 8 - 0
unpackage/dist/dev/app-plus/app-config-service.js


+ 154 - 0
unpackage/dist/dev/app-plus/app-config.js

@@ -0,0 +1,154 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// install a JSONP callback for chunk loading
+/******/ 	function webpackJsonpCallback(data) {
+/******/ 		var chunkIds = data[0];
+/******/ 		var moreModules = data[1];
+/******/ 		var executeModules = data[2];
+/******/
+/******/ 		// add "moreModules" to the modules object,
+/******/ 		// then flag all "chunkIds" as loaded and fire callback
+/******/ 		var moduleId, chunkId, i = 0, resolves = [];
+/******/ 		for(;i < chunkIds.length; i++) {
+/******/ 			chunkId = chunkIds[i];
+/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
+/******/ 				resolves.push(installedChunks[chunkId][0]);
+/******/ 			}
+/******/ 			installedChunks[chunkId] = 0;
+/******/ 		}
+/******/ 		for(moduleId in moreModules) {
+/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ 				modules[moduleId] = moreModules[moduleId];
+/******/ 			}
+/******/ 		}
+/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
+/******/
+/******/ 		while(resolves.length) {
+/******/ 			resolves.shift()();
+/******/ 		}
+/******/
+/******/ 		// add entry modules from loaded chunk to deferred list
+/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
+/******/
+/******/ 		// run deferred modules when all chunks ready
+/******/ 		return checkDeferredModules();
+/******/ 	};
+/******/ 	function checkDeferredModules() {
+/******/ 		var result;
+/******/ 		for(var i = 0; i < deferredModules.length; i++) {
+/******/ 			var deferredModule = deferredModules[i];
+/******/ 			var fulfilled = true;
+/******/ 			for(var j = 1; j < deferredModule.length; j++) {
+/******/ 				var depId = deferredModule[j];
+/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
+/******/ 			}
+/******/ 			if(fulfilled) {
+/******/ 				deferredModules.splice(i--, 1);
+/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		return result;
+/******/ 	}
+/******/
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// object to store loaded and loading chunks
+/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
+/******/ 	// Promise = chunk loading, 0 = chunk loaded
+/******/ 	var installedChunks = {
+/******/ 		"app-config": 0
+/******/ 	};
+/******/
+/******/ 	var deferredModules = [];
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/ 	var jsonpArray = this["webpackJsonp"] = this["webpackJsonp"] || [];
+/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
+/******/ 	jsonpArray.push = webpackJsonpCallback;
+/******/ 	jsonpArray = jsonpArray.slice();
+/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
+/******/ 	var parentJsonpFunction = oldJsonpFunction;
+/******/
+/******/
+/******/ 	// run deferred modules from other chunks
+/******/ 	checkDeferredModules();
+/******/ })
+/************************************************************************/
+/******/ ([]);

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 568 - 0
unpackage/dist/dev/app-plus/app-service.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 904 - 0
unpackage/dist/dev/app-plus/app-view.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
unpackage/dist/dev/app-plus/manifest.json


BIN
unpackage/dist/dev/app-plus/static/ICON.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
unpackage/dist/dev/app-plus/view.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 6 - 0
unpackage/dist/dev/app-plus/view.umd.min.js