🔒 @ones-op/fetch/legacy
这个包会导出 FetchONES
方法,用于请求 ONES 内部的接口,我们并不建议这样使用,请尽量使用 OPEN API 来请求接口。
警告
使用这个包请求内部接口可能会导致兼容性问题,不建议使用。
要求
@ones-op/fetch | ONES |
---|---|
v0.6.0+ | V6.0.0+ |
安装
进入 /web
与 /backend
目录,通过以下命令安装此包:
- npm
- Yarn
- pnpm
npm install @ones-op/fetch
yarn add @ones-op/fetch
pnpm add @ones-op/fetch
使用
前端
FetchONES
这个包导出的是标品中的 axios
实例,具体实现可以参考标品的代码。这个包只能被当作方法使用,接受一个配置对象,返回一个 Promise。
注意
FetchONES
不能被继承,不能添加拦截器。
FetchONES.get
、FetchONES.post
等方法被废弃,不做支持。
import { FetchONES } from '@ones-op/fetch/legacy'
// 类型定义
function FetchONES(
config: AxiosRequestConfig & {
// 请使用 type,如果使用 method,会导致 body 里面的数据放在 url 上。类型和 axios 的 method 一致。
type?: 'GET'
// 默认情况下,url 会自动带上 `api/project` 前缀,如果是 true,会直接使用 `config.url` 去请求接口。
static?: boolean
// 如果不传,默认 project,如果想请求 `api/wiki`,可以将值设为 wiki
product?: 'project' | 'wiki'
},
): Promise<AxiosResponse>
// 使用示例
FetchONES({
url: '/users/me',
type: 'GET',
})
.then((response) => {
console.log(response)
})
.catch((error) => {
console.error(error)
})
后端
FetchONES
继承自 Fetch
,具体使用请参阅 实例方法
,此节仅作补充介绍 。
内置内部通信请求 ONES 接口方法适配器(后端)
我们将内部通信请求 ONES 接口方法(原 “@ones-op/node-fetch” 的 fetchONES
方法)通过适配器的方式,集成进了该包中。如果你的请求参数是一个相对路径,则会由内部通信请求替代 http
为你请求 ONES 接口。