diff --git a/pages/add-user/index.vue b/pages/add-user/index.vue index 3d25f14..284c727 100644 --- a/pages/add-user/index.vue +++ b/pages/add-user/index.vue @@ -393,9 +393,9 @@ export default { }, selectedImage(type) { uploadImage() - .then((url) => { - if (url) { - this.form[type] = url + .then((urls) => { + if (urls) { + this.form[type] = urls[0] } }) .catch((e) => { diff --git a/pages/enterprise-info/index.vue b/pages/enterprise-info/index.vue index 50bbb0b..d93ba0a 100644 --- a/pages/enterprise-info/index.vue +++ b/pages/enterprise-info/index.vue @@ -366,9 +366,10 @@ export default { }, selectedImage(type) { uploadImage() - .then((url) => { - if (url) { - this.form[type] = url + .then((urls) => { + if (urls) { + this.form[type] = urls[0] + console.log('urls', urls) } }) .catch((e) => { @@ -381,7 +382,7 @@ export default { cancel() { // 登录时取消则回到首页 if (this.operation === 'add') { - go2('client', true) + go2('client', {}, true) } else { back() } diff --git a/utils/hook.js b/utils/hook.js index 4802558..611ce9c 100644 --- a/utils/hook.js +++ b/utils/hook.js @@ -94,9 +94,10 @@ export function exit() { /** * 文件上传 * @param {array} sourceType 上传的方式 album:相册 camera:相机 - * @return {Promise} 以数组的形式返回对应的文件地址 + * @param {number} count 上传的数量 + * @return {Promise} 以数组的形式返回对应的文件地址 */ -export function uploadImage(sourceType = ['album', 'camera']) { +export function uploadImage(sourceType = ['album', 'camera'], count = 1) { return new Promise((resolve, reject) => { uni.chooseImage({ count: 1, @@ -104,24 +105,16 @@ export function uploadImage(sourceType = ['album', 'camera']) { sourceType: sourceType, success: (res) => { const tempFilePaths = res.tempFilePaths - uni.uploadFile({ - url: uploadUrl.image, - filePath: tempFilePaths[0], - name: 'image', - fileType: 'image', - success: (res) => { - let result = JSON.parse(res.data) - if (result.data) { - resolve(result.data) - } else { - reject(result.message) - } - }, - fail: (err) => { - console.error('uploadFile error:', err) - reject(err) - } + let cache = tempFilePaths.map((path) => { + return uploadFile(path, 'image') }) + Promise.all(cache) + .then((res) => { + resolve(res) + }) + .catch((err) => { + reject(err) + }) }, fail: (err) => { console.error('chooseImage error:', err) @@ -130,3 +123,32 @@ export function uploadImage(sourceType = ['album', 'camera']) { }) }) } + +/** + * 单文件上传 + * @param {string} path 文件路径 + * @param {string} type 文件类型 image | file,默认为image + * @returns {Promise} 返回单文件上传地址 + */ +export function uploadFile(path, type = 'image') { + return new Promise((resolve, reject) => { + uni.uploadFile({ + url: uploadUrl[type], + filePath: path, + name: type, + // fileType: type, + success: (res) => { + let result = JSON.parse(res.data) + if (result.data) { + resolve(result.data) + } else { + reject(result.message) + } + }, + fail: (err) => { + console.error('uploadFile error:', err) + reject(err) + } + }) + }) +}