官网开发中 0731
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import type { GlobalConfig, NavConfig, SectionBlock, I18nEntry, ProductsData } from '~/types/site';
|
||||
|
||||
/**
|
||||
* 官网前台公开接口服务层
|
||||
*
|
||||
* 消费 dashboard 后端的 /api/site/* 只读接口(免鉴权)。
|
||||
*/
|
||||
export function useSiteApi() {
|
||||
const { get } = useRequest();
|
||||
|
||||
/** 全局配置:站点信息 + 页脚 + 社交链接 + SEO 默认值 */
|
||||
function getGlobal() {
|
||||
return get<GlobalConfig>('/site/global');
|
||||
}
|
||||
|
||||
/** 导航:可见入口 + 外观 */
|
||||
function getNav() {
|
||||
return get<NavConfig>('/site/nav');
|
||||
}
|
||||
|
||||
/** Section 区块列表(按页面类型,仅可见) */
|
||||
function getSections(pageType: string, productId?: number) {
|
||||
const params: Record<string, unknown> = { page_type: pageType };
|
||||
if (productId) params.product_id = productId;
|
||||
return get<{ items: SectionBlock[]; total: number }>('/site/sections', params);
|
||||
}
|
||||
|
||||
/** i18n 词条列表 */
|
||||
function getI18n() {
|
||||
return get<{ items: I18nEntry[]; total: number }>('/site/i18n');
|
||||
}
|
||||
|
||||
/** 产品:可见系列及其下可见产品 */
|
||||
function getProducts() {
|
||||
return get<ProductsData>('/site/products');
|
||||
}
|
||||
|
||||
return { getGlobal, getNav, getSections, getI18n, getProducts };
|
||||
}
|
||||
Reference in New Issue
Block a user