# 请求

我们提供了request方法用于在前端调用后端提供的服务,并处理了大部分异常。大多数情况下你无需关心异常时所需的提示, 我们将根据响应数据中的errorMessagestatus进行异常提示

示例:

/**
 * 示例
 */
export function selectTable () {
  return request({
    url: '/sample/api',
    method: 'get'
  })
}

TIP

异常时,优先使用errorMessage提示异常,如未设置该属性则根据status提示异常信息。

const codeMessage = {
  200: '服务器成功返回请求的数据。',
  201: '新建或修改数据成功。',
  202: '一个请求已经进入后台排队(异步任务)。',
  204: '删除数据成功。',
  400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',
  401: '用户没有权限(令牌、用户名、密码错误)。',
  403: '用户得到授权,但是访问是被禁止的。',
  404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
  405: '请求方法不被允许。',
  406: '请求的格式不可得。',
  410: '请求的资源被永久删除,且不会再得到的。',
  415: '服务器不支持当前方法,请求被拒绝。',
  422: '当创建一个对象时,发生一个验证错误。',
  500: '服务器发生错误,请检查服务器。',
  502: '网关错误。',
  503: '服务不可用,服务器暂时过载或维护。',
  504: '网关超时。'
}

# 规范

我们统一将api文件放到/src/api/目录下并分模块存放,现有模块如下:

├── activiti        # 工作流
├── cms             # CMS
├── generator       # 开发工具 
├── sample          # 示例
├── scheduler       # 定时任务
└── sys             # 系统

# 示例

下面是一个完整的CRUD示例

import request from '@/utils/request'
import { HTTP_METHOD } from '@/utils/const/http/method'

const baseUrl = '/auth/sample/general/'

/**
 * 查询数据
 *
 * @param params {object} 查询参数
 * @return Page<SampleGeneral>
 */
export function select (params) {
  return request({
    url: baseUrl,
    method: HTTP_METHOD.GET,
    params
  })
}

/**
 * 详情
 *
 * @param id {String} id
 * @return SampleGeneral
 */
export function get (id) {
  return request({
    url: baseUrl + id,
    method: HTTP_METHOD.GET
  })
}

/**
 * 新增
 *
 * @return SampleGeneral
 */
export function add () {
  return request({
    url: `${baseUrl}/add`,
    method: HTTP_METHOD.GET
  })
}

/**
 * 删除
 *
 * @param ids {String} ids 多个使用 , 隔开
 * @return true/false
 */
export function remove (ids) {
  return request({
    url: baseUrl + ids,
    method: HTTP_METHOD.DELETE
  })
}

/**
 * 保存
 *
 * @param params {object} 表单数据
 * @return SampleGeneral
 */
export function save (params) {
  return request({
    url: baseUrl,
    method: HTTP_METHOD.POST,
    data: params
  })
}
Last Updated: 2/23/2022, 2:09:37 PM