@etsoo/website
Version:
ETSOO CMS Based NextJs Website Framework
65 lines (64 loc) • 1.91 kB
TypeScript
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>;
}