import { BaseApi } from './baseApi.js' import api from './index.js' function parseResult(response) { let result = response && response.data if (typeof result === 'string') { try { result = JSON.parse(result) } catch (error) { throw new Error('上传失败,请重试') } } if (!response || response.statusCode !== 200 || !result || result.code !== 0) { throw new Error(result && result.msg ? result.msg : '上传失败,请重试') } return result.data } function unwrap(response) { const result = response && response.data if (!result || result.code !== 0) { throw new Error(result && result.msg ? result.msg : '请求失败,请重试') } return result.data } export function uploadTeamBackgroundFile(teamId, filePath, onProgress = () => {}) { return new Promise((resolve, reject) => { const task = uni.uploadFile({ url: `${BaseApi}/core/user/team/${teamId}/background-files`, filePath, name: 'file', header: { token: uni.getStorageSync('token') }, success: response => { try { resolve(parseResult(response)) } catch (error) { reject(error) } }, fail: reject }) task.onProgressUpdate(progress => onProgress(progress.progress)) }) } export const listTeamBackgroundFiles = teamId => api .get(`/core/user/team/${teamId}/background-files`, {}, false) .then(unwrap) export const disableTeamBackgroundFile = (teamId, fileId) => api .del(`/core/user/team/${teamId}/background-files/${fileId}`, {}, false) .then(unwrap) export const createTeamBackgroundSession = teamId => api .post(`/core/user/team/${teamId}/background-upload-session`, {}, false) .then(unwrap) export function downloadTeamBackgroundFile(teamId, fileId) { return new Promise((resolve, reject) => { uni.downloadFile({ url: `${BaseApi}/core/user/team/${teamId}/background-files/${fileId}/download`, header: { token: uni.getStorageSync('token') }, success: result => { if (result.statusCode !== 200) { reject(new Error('下载失败,请重试')) return } wx.openDocument({ filePath: result.tempFilePath, showMenu: true, success: resolve, fail: reject }) }, fail: reject }) }) }