UNPKG

@etsoo/website

Version:

ETSOO CMS Based NextJs Website Framework

65 lines (64 loc) 1.91 kB
import { FetchApi } from '@etsoo/restclient'; import { Article } from '../dto/site/Article'; import { ArticleEx } from '../dto/site/ArticleEx'; import { SiteData } from '../dto/site/SiteData'; import { Slideshow } from '../dto/site/Slideshow'; import { ArticleRQ } from '../rq/site/ArticleRQ'; import { ArticlesRQ } from '../rq/site/ArticlesRQ'; /** * Static Site class * 静态网站类 */ export declare class StaticSite { /** * API * 接口调用对象 */ readonly api: FetchApi; /** * Constructor * 构造函数 * @param apiUrl Headless CMS API Url * @param token Access token * @param scheme Scheme, default is 'ETSOOCMS', ETSOO website content management system */ constructor(apiUrl: string, token: string, scheme?: string); /** * Get article * 读取文章 * @param rq Request data * @returns Result */ getArticle<T extends ArticleRQ, D = T extends { withContent: true; } ? ArticleEx : Article>(rq: T): Promise<D | undefined>; /** * Get articles * 读取文章列表 * @param rq Request data * @returns Result */ getArticles(rq: ArticlesRQ): Promise<Article[] | undefined>; /** * Get slideshow articles * 获取幻灯片文章 * @returns Result */ getSlideshows(): Promise<Slideshow[] | undefined>; /** * Get site data * 获取网站信息 * @returns Data */ getSiteData(): Promise<SiteData | undefined>; /** * Get tab article * 获取栏目文章 * @param siteData Site data * @param tabName Tab name * @param tabUrl Tab URL * @param withContent Include article content * @returns Result */ getTabArticle<T extends boolean>(siteData: SiteData, tabName: string, tabUrl?: string, withContent?: T): Promise<(T extends true ? ArticleEx : Article) | undefined>; }