UNPKG

@ginstone/nga-api

Version:

95 lines (94 loc) 2.5 kB
import { AxiosResponse } from "axios"; import { NgaPhpApi } from "../enums/NgaPhpApi"; import { ThreadBody } from "../response/body/ThreadBody"; import { ReadBody } from "../response/body/ReadBody"; export declare class NgaClient { readonly baseUrl: string; readonly cookie: string; readonly userId: number; readonly username: string; readonly cid: string; private instance; /** * 构造客户端 * @param baseUrl nginx代理到官方域名的前缀 * @param cookie 从浏览器F12中复制得到的cookie */ constructor(baseUrl: string, cookie: string); /** * 从cookie中解析userId,username,cid * @param cookie 用户输入的cookie */ static parseCookie(cookie: string): { userId: number; username: string; cid: string; cookie: string; }; /** * get获取json数据 * @param api * @param params queryString 参数 */ getJson(api: NgaPhpApi, params: object): Promise<AxiosResponse<any, any>>; /** * get请求获取网页数据 * @param api api * @param params queryString 参数 */ getDoc(api: NgaPhpApi, params: object): Promise<AxiosResponse<any, any>>; /** * read.php * @param params 参数 */ read(params: object): Promise<ReadBody>; /** * read.php 网页 * @param params 参数 */ readDoc(params: object): Promise<ReadBody>; /** * thread.php * @param params 参数 */ thread(params: object): Promise<ThreadBody>; /** * forum.php * @param params 参数 */ forum(params: object): Promise<any>; /** * nuke.php * @param params 参数 */ nuke(params: object): Promise<any>; /** * post.php * @param params 参数 * @param data form-data */ post(params: object, data?: object): Promise<any>; /** * 请求一个回复Id的具体地址,使用to参数获取重定向地址 * @param replyId 回复id */ toReply(replyId: number): Promise<string>; /** * post请求 * @param api api * @param params queryString 参数 * @param data form-data 参数 */ private postJson; /** * get请求 * @param api api * @param params queryString 参数 */ private get; /** * 每次请求之前设置cookie,这样可以允许多个客户端同时存在互不干扰 * @private */ private setCookie; }