Files
2025-12-19 17:26:54 +08:00

52 lines
1.2 KiB
TypeScript

/**
* 专注力页面专用的 Mixin
* 基于通用 pageMixin,提供专注力模块特定的配置
*/
import { createPage, PageCommonMethodsConfig } from '../../../base/pageMixin';
import { FOCUS_FUNCTION_TYPES } from '../../../constants/focusFunctions';
import { defaultShareConfig } from '../../../config/config';
/**
* 专注力模块的函数类型定义
*/
export interface FocusFunctionType {
id: string;
title: string;
desc: string;
}
/**
* 专注力模块的页面信息查找函数
*/
function focusPageInfoLookup(functionId: string) {
const functionItem = FOCUS_FUNCTION_TYPES.find(
(item) => item.id === functionId,
);
if (functionItem) {
return {
title: functionItem.title,
desc: functionItem.desc,
};
}
return undefined;
}
/**
* 专注力模块的配置
*/
const focusConfig: PageCommonMethodsConfig = {
shareConfig: defaultShareConfig,
pageInfoLookup: focusPageInfoLookup,
};
/**
* 创建专注力页面的便捷函数
* 自动应用公共方法并注册为页面
* @param pageOptions 页面选项
*/
export function createFocusPage(pageOptions: any) {
createPage(pageOptions, focusConfig);
}