Avis de traduction IA

Cette documentation a été traduite automatiquement par IA.

APIClient

Aperçu

APIClient est une surcouche basée sur axios, utilisée pour effectuer des opérations sur les ressources NocoBase côté client via HTTP.

Utilisation de base

class PluginSampleAPIClient extends Plugin {
  async load() {
    const res = await this.app.apiClient.request({
      // ...
    });
  }
}

Propriétés d'instance

axios

L'instance axios, qui vous permet d'accéder à l'API axios, par exemple apiClient.axios.interceptors.

auth

Classe d'authentification côté client, voir Auth.

storage

Classe de stockage côté client, voir Storage.

Méthodes de classe

constructor()

Constructeur, crée une instance de APIClient.

Signature

  • constructor(instance?: APIClientOptions)

Type

interface ExtendedOptions {
  authClass?: any;
  storageClass?: any;
}

export type APIClientOptions =
  | AxiosInstance
  | (AxiosRequestConfig & ExtendedOptions);

request()

Effectue une requête HTTP.

Signature

  • request<T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D> | ResourceActionOptions): Promise<R>

Type

type ResourceActionOptions<P = any> = {
  resource?: string;
  resourceOf?: any;
  action?: string;
  params?: P;
};

Détails

AxiosRequestConfig

Paramètres de requête axios génériques. Voir Request Config.

const res = await apiClient.request({ url: '' });
ResourceActionOptions

Paramètres de requête pour les opérations sur les ressources NocoBase.

const res = await apiClient.request({
  resource: 'users',
  action: 'list',
  params: {
    pageSize: 10,
  },
});
PropriétéTypeDescription
resourcestring1. Nom de la ressource, par exemple a
2. Nom de l'objet associé à la ressource, par exemple a.b
resourceOfanyLorsque resource est le nom de l'objet associé à la ressource, il s'agit de la valeur de la clé primaire de la ressource. Par exemple, pour a.b, cela représente la valeur de la clé primaire de a.
actionstringNom de l'action
paramsanyObjet des paramètres de la requête, principalement les paramètres d'URL. Le corps de la requête est placé dans params.values.
params.valuesanyObjet du corps de la requête

resource()

Récupère l'objet des méthodes d'opération sur les ressources NocoBase.

const resource = apiClient.resource('users');

await resource.create({
  values: {
    username: 'admin',
  },
});

const res = await resource.list({
  page: 2,
  pageSize: 20,
});

Signature

  • resource(name: string, of?: any, headers?: AxiosRequestHeaders): IResource

Type

export interface ActionParams {
  filterByTk?: any;
  [key: string]: any;
}

type ResourceAction = (params?: ActionParams) => Promise<any>;

export type IResource = {
  [key: string]: ResourceAction;
};

Détails

ParamètreTypeDescription
namestring1. Nom de la ressource, par exemple a
2. Nom de l'objet associé à la ressource, par exemple a.b
ofanyLorsque name est le nom de l'objet associé à la ressource, il s'agit de la valeur de la clé primaire de la ressource. Par exemple, pour a.b, cela représente la valeur de la clé primaire de a.
headersAxiosRequestHeadersEn-têtes HTTP à inclure dans les requêtes d'opération sur les ressources subséquentes.