| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 | 'use strict';var __assign =  (this && this.__assign) ||  function () {    __assign =      Object.assign ||      function (t) {        for (var s, i = 1, n = arguments.length; i < n; i++) {          s = arguments[i];          for (var p in s)            if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];        }        return t;      };    return __assign.apply(this, arguments);  };Object.defineProperty(exports, '__esModule', { value: true });exports.chooseFile = exports.isVideoFile = exports.isImageFile = void 0;var utils_1 = require('../common/utils');var validator_1 = require('../common/validator');function isImageFile(item) {  if (item.isImage != null) {    return item.isImage;  }  if (item.type) {    return item.type === 'image';  }  if (item.url) {    return validator_1.isImageUrl(item.url);  }  return false;}exports.isImageFile = isImageFile;function isVideoFile(item) {  if (item.isVideo != null) {    return item.isVideo;  }  if (item.type) {    return item.type === 'video';  }  if (item.url) {    return validator_1.isVideoUrl(item.url);  }  return false;}exports.isVideoFile = isVideoFile;function formatImage(res) {  return res.tempFiles.map(function (item) {    return __assign(__assign({}, utils_1.pickExclude(item, ['path'])), {      type: 'image',      url: item.path,      thumb: item.path,    });  });}function formatVideo(res) {  return [    __assign(      __assign(        {},        utils_1.pickExclude(res, [          'tempFilePath',          'thumbTempFilePath',          'errMsg',        ])      ),      { type: 'video', url: res.tempFilePath, thumb: res.thumbTempFilePath }    ),  ];}function formatMedia(res) {  return res.tempFiles.map(function (item) {    return __assign(      __assign(        {},        utils_1.pickExclude(item, [          'fileType',          'thumbTempFilePath',          'tempFilePath',        ])      ),      {        type: res.type,        url: item.tempFilePath,        thumb:          res.type === 'video' ? item.thumbTempFilePath : item.tempFilePath,      }    );  });}function formatFile(res) {  return res.tempFiles.map(function (item) {    return __assign(__assign({}, utils_1.pickExclude(item, ['path'])), {      url: item.path,    });  });}function chooseFile(_a) {  var accept = _a.accept,    multiple = _a.multiple,    capture = _a.capture,    compressed = _a.compressed,    maxDuration = _a.maxDuration,    sizeType = _a.sizeType,    camera = _a.camera,    maxCount = _a.maxCount;  return new Promise(function (resolve, reject) {    switch (accept) {      case 'image':        wx.chooseImage({          count: multiple ? Math.min(maxCount, 9) : 1,          sourceType: capture,          sizeType: sizeType,          success: function (res) {            return resolve(formatImage(res));          },          fail: reject,        });        break;      case 'media':        wx.chooseMedia({          count: multiple ? Math.min(maxCount, 9) : 1,          sourceType: capture,          maxDuration: maxDuration,          sizeType: sizeType,          camera: camera,          success: function (res) {            return resolve(formatMedia(res));          },          fail: reject,        });        break;      case 'video':        wx.chooseVideo({          sourceType: capture,          compressed: compressed,          maxDuration: maxDuration,          camera: camera,          success: function (res) {            return resolve(formatVideo(res));          },          fail: reject,        });        break;      default:        wx.chooseMessageFile({          count: multiple ? maxCount : 1,          type: accept,          success: function (res) {            return resolve(formatFile(res));          },          fail: reject,        });        break;    }  });}exports.chooseFile = chooseFile;
 |