diff --git a/index.js b/index.js index 431175f..115230e 100644 --- a/index.js +++ b/index.js @@ -211,6 +211,7 @@ module.exports = { // multer 不会自动处理 JSON 数据,必须前后端配合处理 formData[key] = JSON.stringify(formData[key]) } + header._passtoken = uni.getStorageSync('_passtoken') uni.showLoading() let [errorUpload, { data, statusCode } = {}] = await uni.uploadFile({ url: this.makeServerUrl(url), filePath, name, header, formData }) @@ -218,8 +219,14 @@ module.exports = { // url 所在方法进一步处理后,通过 uploadFile 存在 data 里返回结果 uni.hideLoading() - if (data) { - return { _state: 'SUCCESS', fileUrl: data ? this.makeServerUrl(data.webpath || data.path) : undefined, ...data } + try{ // 不知为何,返回的 data 是字符串而不是对象 + data = JSON.parse(data) + }catch(exp){ + return { _state: 'CLIENT_FAIL_RESPONSE_JSON_MALFORMED'} + } + + if (data?._state==='SUCCESS') { + return { _state: 'SUCCESS', fileUrl: this.makeServerUrl(data.webpath || data.path), ...data } }else { return { _state: 'CLIENT_FAIL_UPLOAD_FILE', errorUpload } }