tall小程序和时间轴结合在小程序中
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

50 lines
1.4 KiB

export default {
/**
* 上传单个文件
* @param {string} url 服务器地址
* @param {object} formData 上传的其他字段
* @param {array} extension 上传文件类型 扩展名数组
* @param {string} name
* @returns
*/
chooseAndUpload(url, formData = {}, extension = ['.xls', '.xlsx'], name = 'param') {
return new Promise((resolve, reject) => {
const token = uni.$t.storage.getStorageSync(uni.$t.app.tokenKey);
if (!token) {
return reject('用户未登录,请登录后重试');
}
uni.chooseFile({
count: 1, //默认100
extension,
success: res => {
uni.uploadFile({
url,
filePath: res.tempFilePaths[0],
name,
formData,
header: { Authorization: `Bearer ${token}` },
success: ({ data, statusCode }) => {
console.log('data, statusCode: ', data, statusCode);
if (statusCode === 200 && data) {
const { code, msg } = JSON.parse(data);
if (code !== 200) {
reject(msg);
} else {
resolve(data.data);
}
} else {
reject('上传失败');
}
},
fail: error => {
reject(error);
},
});
},
fail: error => {
reject(error);
},
});
});
},
};