common.js
1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
* @Date: 2022-06-17 14:54:29
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-06-25 09:33:28
* @FilePath: /huizhu/src/api/common.js
* @Description: 通用接口
*/
import { fn, fetch, uploadFn } from '@/api/fn';
const Api = {
SMS: '/srv/?a=sms',
TOKEN: '/srv/?a=upload',
SAVE_FILE: '/srv/?a=upload&t=save_file',
}
/**
* 发送短信验证码
* @param {{ phone: string }} params 请求参数
* @returns {Promise<Object|false>} 统一返回(成功为后端对象,失败为 false)
*/
export const smsAPI = (params) => fn(fetch.post(Api.SMS, params));
/**
* 获取七牛上传 token
* @param {{ filename: string, file?: string }} params 请求参数(file 可选,用于部分后端校验)
* @returns {Promise<Object|false>} 统一返回(成功为后端对象,失败为 false)
*/
export const qiniuTokenAPI = (params) => fn(fetch.stringifyPost(Api.TOKEN, params));
/**
* 上传到七牛(第三方接口,返回结构与业务接口不同)
* @param {string} url 七牛上传地址
* @param {any} data 上传 body(通常是 FormData)
* @param {Object} config axios 配置
* @returns {Promise<Object|false>} 成功返回七牛数据,失败返回 false
*/
export const qiniuUploadAPI = (url, data, config) => uploadFn(fetch.basePost(url, data, config));
/**
* 保存七牛文件(通知后端落库/生成访问地址等)
* @param {{ format: string, hash: string, height?: number, width?: number, filekey: string }} params 请求参数
* @returns {Promise<Object|false>} 统一返回(成功为后端对象,失败为 false)
*/
export const saveFileAPI = (params) => fn(fetch.stringifyPost(Api.SAVE_FILE, params));