common.js 1.72 KB
/*
 * @Date: 2022-06-17 14:54:29
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2022-06-18 22:18:46
 * @FilePath: /tswj/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'
}

/**
 * @description: 发送验证码
 * @param {Object} params 请求参数
 * @param {string} params.phone 手机号
 * @returns {Promise<{code:number,data:any,msg:string}>} 标准返回
 */
export const smsAPI = params => fn(fetch.post(Api.SMS, params))

/**
 * @description: 获取七牛token
 * @param {Object} params 请求参数
 * @param {string} params.filename 文件名
 * @param {string} params.file 图片 base64
 * @returns {Promise<{code:number,data:any,msg:string}>} 标准返回(data 为上传 token 等信息)
 */
export const qiniuTokenAPI = params => fn(fetch.stringifyPost(Api.TOKEN, params))

/**
 * @description: 上传七牛
 * @param {string} url 七牛上传地址
 * @param {any} data 上传数据
 * @param {Object} config axios 配置
 * @returns {Promise<any|false>} 成功返回七牛响应数据,失败返回 false
 */
export const qiniuUploadAPI = (url, data, config) => uploadFn(fetch.basePost(url, data, config))

/**
 * @description: 保存图片
 * @param {Object} params 请求参数
 * @param {string} params.format 文件格式
 * @param {string} params.hash 文件 hash
 * @param {string|number} params.height 图片高
 * @param {string|number} params.width 图片宽
 * @param {string} params.filekey 文件 key
 * @returns {Promise<{code:number,data:any,msg:string}>} 标准返回
 */
export const saveFileAPI = params => fn(fetch.stringifyPost(Api.SAVE_FILE, params))