@gt6/sdk
Version:
GT6 SDK for articles management - A comprehensive JavaScript/TypeScript library for managing articles, categories, and tags in GT6 platform
266 lines • 8.3 kB
TypeScript
import { GT6Client } from '../core/client';
import { Article, Category, Tag, ArticlesByTagOptions, ArticlesByCategoryOptions, SingleTagResponse } from '../core/types';
export declare class ArticlesAPI {
private client;
constructor(client: GT6Client);
/**
* 1. 根据文章ID获取文章详情
*/
getArticle(articleId: number | string): Promise<Article>;
/**
* 1.1 根据文章ID获取文章详情(平台使用)
*/
getArticle_p(articleId: number | string): Promise<Article>;
/**
* 2. 获取文章分类列表
*/
getCategories(rootCategoryId?: number | string): Promise<Category[]>;
/**
* 2.1 获取文章分类列表(使用下级平台ID)
*/
getCategories_p(rootCategoryId_p?: number | string): Promise<Category[]>;
/**
* 2.2 获取文章分类列表(使用下级平台ID)
*/
getCategories_a(rootCategoryId?: number | string): Promise<Category[]>;
/**
* 3. 获取文章标签列表
*/
getTags(tagAlias?: string): Promise<Tag[]>;
/**
* 3.1 获取文章标签列表(使用下级平台ID)
*/
getTags_p(tagAlias_p?: string): Promise<Tag[]>;
/**
* 3.2. 获取单个平台文章标签列表
*/
getTags_p_single(tagId_p?: number): Promise<SingleTagResponse>;
/**
* 3.3. 获取单个平台文章标签的文章ID列表
*/
getTagArticleIds_p(tagId_p?: number): Promise<number[]>;
/**
* 4. 根据分类ID获取文章列表
* 支持单个分类ID或分类ID数组
*/
getArticlesByCategory(categoryId: number | number[], options?: ArticlesByCategoryOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 4.1 根据分类ID获取文章列表
* 支持单个分类ID或分类ID数组
*/
getArticlesByCategory_p(categoryId: number | number[], options?: ArticlesByCategoryOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 4.2 根据分类ID获取文章列表
* 支持单个分类ID或分类ID数组
*/
getArticlesByCategory_t(categoryId: number | number[], options?: ArticlesByCategoryOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 4.3 根据分类ID获取文章列表(使用大型分类静态文件)
* 只支持单个分类ID,从大型分类静态文件获取文章ID列表
*/
getArticlesByCategory_a(categoryId: number, options?: ArticlesByCategoryOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 5. 根据标签ID获取文章列表
* 支持单个标签ID或标签ID数组
*/
getArticlesByTag(tagId: number | number[], options?: ArticlesByTagOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 5.1 根据标签ID获取文章列表
* 支持单个标签ID或标签ID数组
*/
getArticlesByTag_p(tagId: number | number[], options?: ArticlesByTagOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 5.2 根据标签ID获取文章列表
* 支持单个标签ID或标签ID数组
*/
getArticlesByTag_t(tagId: number | number[], options?: ArticlesByTagOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 5.3. 根据单个标签ID获取平台文章列表
* 使用getTags_p_single获取指定标签数据,然后获取文章详情
* @param tagId 单个标签ID
* @param options 查询选项
*/
getArticlesByTag_single(tagId: number, options?: ArticlesByTagOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
tag: Omit<SingleTagResponse, 'articleIds'>;
}>;
/**
* 6. 根据分类ID获取该分类的层级路径
* 用于前端面包屑导航
*/
getCategoryPath(categoryId: number): Promise<{
path: Category[];
currentCategory: Category | null;
breadcrumbs: Array<{
categoryId: number;
categoryName: string;
level: number;
}>;
}>;
/**
* 7. 获取指定分类ID下的子分类
* 支持递归获取所有层级的子分类
*/
getSubCategories(categoryId: number, options?: {
recursive?: boolean;
includeCurrent?: boolean;
maxDepth?: number;
}): Promise<{
subCategories: Category[];
currentCategory: Category | null;
total: number;
depth: number;
}>;
/******************************************************************************************
* 1.1 根据文章ID获取文章详情(平台用户都可以使用)
*/
getArticle_all(articleId: number | string): Promise<Article>;
/**
* 1.2 根据分类ID获取文章列表(平台用户都可以使用)
*/
getArticlesByCategory_all(categoryId: number, options?: ArticlesByCategoryOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 1.2.2 根据分类ID获取文章列表(支持搜索过滤)
*/
getArticlesByCategory_all_search(categoryId: number, searchOptions?: {
page?: number;
limit?: number;
status?: string;
regionIds?: string[];
priceRange?: {
min?: number;
max?: number;
};
salaryRange?: {
min?: number;
max?: number;
};
mileageRange?: {
min?: number;
max?: number;
};
propertyAreaRange?: {
min?: number;
max?: number;
};
plotAreaRange?: {
min?: number;
max?: number;
};
tagIds?: number[];
requireAllTags?: boolean;
}): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
filteredTotal: number;
}>;
/**
* 1.2.2 根据分类ID获取文章列表(支持搜索过滤)
*/
getArticlesByCategory_all_search01(categoryId: number | number[], searchOptions?: {
page?: number;
limit?: number;
status?: string;
regionIds?: string[];
priceRange?: {
min?: number;
max?: number;
};
salaryRange?: {
min?: number;
max?: number;
};
mileageRange?: {
min?: number;
max?: number;
};
propertyAreaRange?: {
min?: number;
max?: number;
};
plotAreaRange?: {
min?: number;
max?: number;
};
tagIds?: number[];
requireAllTags?: boolean;
}): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
filteredTotal: number;
}>;
/**
* 1.2.1 根据平台ID获取文章列表(平台用户都可以使用)
*/
getArticlesByplatform_all(platformId: number, options?: ArticlesByCategoryOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
}>;
/**
* 1.3 获取文章分类列表(平台用户都可以使用)
*/
getArticlesCategories_all(rootCategoryId?: number | string): Promise<Category[]>;
/**
* 1.4 根据单个标签ID获取平台文章列表
* 使用getTags_p_single获取指定标签数据,然后获取文章详情
* @param tagId 单个标签ID
* @param options 查询选项
*/
getArticlesByTag_single_all(tagId: number, options?: ArticlesByTagOptions): Promise<{
articles: Article[];
total: number;
page: number;
limit: number;
tag: Omit<SingleTagResponse, 'articleIds'>;
}>;
}
//# sourceMappingURL=articles.d.ts.map