123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- "use strict";
- var __defProp = Object.defineProperty;
- var __defProps = Object.defineProperties;
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
- var __hasOwnProp = Object.prototype.hasOwnProperty;
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
- var __spreadValues = (a, b) => {
- for (var prop in b || (b = {}))
- if (__hasOwnProp.call(b, prop))
- __defNormalProp(a, prop, b[prop]);
- if (__getOwnPropSymbols)
- for (var prop of __getOwnPropSymbols(b)) {
- if (__propIsEnum.call(b, prop))
- __defNormalProp(a, prop, b[prop]);
- }
- return a;
- };
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
- var common_vendor = require("../../../common/vendor.js");
- var utils_request_upload_qiniuUploader = require("./qiniuUploader.js");
- const randomChar = function(l, url = "") {
- const x = "0123456789qwertyuioplkjhgfdsazxcvbnm";
- let tmp = "";
- let time = new Date();
- for (let i = 0; i < l; i++) {
- tmp += x.charAt(Math.ceil(Math.random() * 1e8) % x.length);
- }
- return "file/" + url + time.getTime() + tmp;
- };
- const chooseImage = function(data) {
- return new Promise((resolve, reject) => {
- common_vendor.index.chooseImage({
- count: data.count || 9,
- sizeType: data.sizeType || ["original", "compressed"],
- sourceType: data.sourceType || ["album", "camera"],
- success: function(res) {
- resolve(res.tempFiles);
- },
- fail: (err) => {
- reject({
- errMsg: err.errMsg,
- errCode: err.errCode,
- statusCode: 0
- });
- }
- });
- });
- };
- const chooseVideo = function(data) {
- return new Promise((resolve, reject) => {
- common_vendor.index.chooseVideo({
- sourceType: data.sourceType || ["album", "camera"],
- compressed: data.compressed || false,
- maxDuration: data.maxDuration || 60,
- camera: data.camera || "back",
- success: function(res) {
- let files = [{
- path: res.tempFilePath
- }];
- files[0].duration = res.duration;
- files[0].size = res.size;
- files[0].height = res.height;
- files[0].width = res.width;
- resolve(files);
- },
- fail: (err) => {
- reject({
- errMsg: err.errMsg,
- errCode: err.errCode,
- statusCode: 0
- });
- }
- });
- });
- };
- const qiniuUpload = function(requestInfo, getQnToken) {
- return new Promise((resolve, reject) => {
- if (Array.isArray(requestInfo.files)) {
- let len = requestInfo.files.length;
- let fileList = new Array();
- if (getQnToken) {
- getQnToken((qnRes) => {
- let prefixLen = qnRes.visitPrefix.length;
- if (qnRes.visitPrefix.charAt(prefixLen - 1) == "/") {
- qnRes.visitPrefix = qnRes.visitPrefix.substring(0, prefixLen - 1);
- }
- uploadFile(0);
- function uploadFile(i) {
- let item = requestInfo.files[i];
- let updateUrl = randomChar(10, qnRes.folderPath);
- let fileData = __spreadValues({
- fileIndex: i,
- files: requestInfo.files
- }, item);
- if (item.name) {
- fileData.name = item.name;
- let nameArr = item.name.split(".");
- updateUrl += "." + nameArr[nameArr.length - 1];
- }
- utils_request_upload_qiniuUploader.qiniuUploader.upload(item.path || item, (res) => {
- fileData.url = res.imageURL;
- requestInfo.onEachUpdate && requestInfo.onEachUpdate(__spreadValues({
- url: res.imageURL
- }, fileData));
- fileList.push(res.imageURL);
- if (len - 1 > i) {
- uploadFile(i + 1);
- } else {
- resolve(fileList);
- }
- }, (error) => {
- reject(error);
- }, {
- region: qnRes.region || "SCN",
- domain: qnRes.visitPrefix,
- key: updateUrl,
- uptoken: qnRes.token,
- uptokenURL: "UpTokenURL.com/uptoken"
- }, (res) => {
- console.log(requestInfo);
- requestInfo.onProgressUpdate && requestInfo.onProgressUpdate(Object.assign({}, fileData, res));
- });
- }
- });
- } else {
- reject({
- errMsg: "\u8BF7\u6DFB\u52A0\u4E03\u725B\u4E91\u56DE\u8C03\u65B9\u6CD5\uFF1AgetQnToken",
- statusCode: 0
- });
- }
- } else {
- reject({
- errMsg: "files \u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B",
- statusCode: 0
- });
- }
- });
- };
- const urlUpload = function(requestInfo, dataFactory) {
- return new Promise((resolve, reject) => {
- if (requestInfo.header["Content-Type"]) {
- delete requestInfo.header["Content-Type"];
- }
- if (requestInfo.header["content-type"]) {
- delete requestInfo.header["content-type"];
- }
- if (Array.isArray(requestInfo.files)) {
- let fileUpload = function(i) {
- let item = requestInfo.files[i];
- let fileData = __spreadValues({
- fileIndex: i,
- files: requestInfo.files
- }, item);
- let config = {
- url: requestInfo.url,
- filePath: item.path,
- header: requestInfo.header,
- name: requestInfo.name || "file",
- success: (response) => {
- if (requestInfo.isFactory && dataFactory) {
- dataFactory(__spreadProps(__spreadValues({}, requestInfo), {
- response
- })).then((data) => {
- fileList.push(data);
- requestInfo.onEachUpdate && requestInfo.onEachUpdate(__spreadValues({
- data
- }, fileData));
- if (len <= i) {
- resolve(fileList);
- } else {
- fileUpload(i + 1);
- }
- }, (err) => {
- reject(err);
- });
- } else {
- requestInfo.onEachUpdate && requestInfo.onEachUpdate(__spreadValues({
- data: response
- }, fileData));
- fileList.push(response);
- if (len <= i) {
- resolve(fileList);
- } else {
- fileUpload(i + 1);
- }
- }
- },
- fail: (err) => {
- reject(err);
- }
- };
- if (requestInfo.data) {
- config.formData = requestInfo.data;
- }
- const uploadTask = common_vendor.index.uploadFile(config);
- uploadTask.onProgressUpdate((res) => {
- requestInfo.onProgressUpdate && requestInfo.onProgressUpdate(Object.assign({}, fileData, res));
- });
- };
- const len = requestInfo.files.length - 1;
- let fileList = new Array();
- fileUpload(0);
- } else {
- reject({
- errMsg: "files \u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B",
- statusCode: 0
- });
- }
- });
- };
- exports.chooseImage = chooseImage;
- exports.chooseVideo = chooseVideo;
- exports.qiniuUpload = qiniuUpload;
- exports.urlUpload = urlUpload;
|