快乐的梦鱼 1 неделя назад
Родитель
Сommit
33d8e17fea

+ 9 - 0
src/pages/article/data/CommonCategoryDefine.ts

@@ -12,8 +12,17 @@ export interface IHomeCommonCategoryDefine {
    * 通用页面定义
    */
   page: {
+    /**
+     * 页面索引key
+     */
     name: string,
+    /**
+     * 页面标题
+     */
     title: string,
+    /**
+     * 页面内容定义
+     */
     content: IHomeCommonCategoryListDefine|IHomeCommonCategoryHomeDefine,
   }[],
 }

+ 32 - 2
src/pages/article/data/CommonCategoryDynamicData.ts

@@ -33,24 +33,53 @@ export * from './data-defines/Dropdown';
 
 //默认动态数据接口定义
 
+/**
+ * 默认列表动态数据接口定义 - 通用内容
+ */
 export interface IHomeCommonCategoryDynamicDataCommonContent {
   type: 'commonContent',
-  url?: string,
   params: {
+    /**
+     * 模型ID
+     */
     modelId: number,
+    /**
+     * 栏目ID
+     */
     mainBodyColumnId?: string|number|number[],
-    typeId?: number, // 分类类型id
+    /**
+     * 分类类型id
+     */
+    typeId?: number,
   },
+  /**
+   * 其他参数
+   */
   otherParams?: Record<string, any>,
 }
+/**
+ * 默认列表动态数据接口定义 - 已序列化的预制接口
+ */
 export interface IHomeCommonCategoryDynamicDataSerializedApi {
   type: 'serializedApi',
+  /**
+   * 序列化接口名称
+   */
   name: string,
   params?: {
+    /**
+     * 栏目ID
+     */
     mainBodyColumnId?: string|number|number[],
   },
+  /**
+   * 其他参数
+   */
   otherParams?: Record<string, any>,
 }
+/**
+ * 默认列表动态数据接口定义 - 请求内容
+ */
 export interface IHomeCommonCategoryDynamicDataRequest {
   type: 'request',
   method: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE",
@@ -58,6 +87,7 @@ export interface IHomeCommonCategoryDynamicDataRequest {
   querys?: Record<string, any>,
   params?: Record<string, any>,
 }
+
 export type IHomeCommonCategoryDynamicData = IHomeCommonCategoryDynamicDataCommonContent 
   | IHomeCommonCategoryDynamicDataSerializedApi 
   | IHomeCommonCategoryDynamicDataRequest;

+ 1 - 2
src/pages/article/data/CommonCategoryGlobalLoader.ts

@@ -1,10 +1,9 @@
 import { inject, provide, ref, type Ref } from "vue";
 import NotConfigue from "@/api/NotConfigue";
 import { showError } from "@/common/composeabe/ErrorDisplay";
-import type { IHomeCommonCategoryDefine } from "./CommonCategoryDefine";
 import ApiCofig from "@/common/config/ApiCofig";
 import DefaultCofig from "./DefaultCategory.json";
-import { isDev } from "@/common/config/AppCofig";
+import type { IHomeCommonCategoryDefine } from "./CommonCategoryDefine";
 
 // 全局加载默认分类
 

+ 21 - 0
src/pages/article/data/data-defines/Category.ts

@@ -2,20 +2,41 @@ import CommonContent from "@/api/CommonContent";
 import type { IHomeCommonCategoryListTabNestCategoryItemDefine } from "../CommonCategoryDefine";
 import type { IHomeCommonCategoryDynamicDataCommonContent } from "../CommonCategoryDynamicData";
 
+/**
+ * 分类项动态数据自动合并类型:获取多个分类并替换(某个分类下的所有分类)
+ */
 export interface IHomeCommonCategoryCategoryDynamicDataMergeTypeGetColumns {
   type: 'speicalMergeItem:getColumns',
   params: {
+    /**
+     * 模型ID
+     */
     modelId: number,
+    /**
+     * 栏目ID
+     */
     mainBodyColumnId: number,
+    /**
+     * 如果设置了替换项,可以强制覆盖指定ID的某些字段
+     */
     overrideItems: ({
       id: number,
     } & IHomeCommonCategoryListTabNestCategoryItemDefine)[],
   },
 }
+/**
+ * 分类项动态数据自动合并类型:获取单个分类并替换
+ */
 export interface IHomeCommonCategoryCategoryDynamicDataMergeTypeGetColumn {
   type: 'speicalMergeItem:getColumn',
   params: {
+    /**
+     * 模型ID
+     */
     modelId: number,
+    /**
+     * 栏目ID
+     */ 
     mainBodyColumnId: number,
   },
 }

+ 52 - 22
src/pages/article/data/data-defines/Dropdown.ts

@@ -15,20 +15,49 @@ export function CommonCategorDynamicDropDownValuesToParams(dropDownValues: (numb
   return params;
 }
 
+/**
+ * 下拉列表动态数据接口定义 - 通用内容
+ */
 export interface IHomeCommonCategoryDropdownDynamicDataCommonContent {
   type: 'commonContent',
-  url?: string,
-  typeId: number, // 分类类型id
+  /**
+   * 分类类型id
+   */
+  typeId: number,
+  /**
+   * 其他参数
+   */
   otherParams?: Record<string, any>,
+  /**
+   * 通用内容数据id键
+   */
   idKey?: string,
+  /**
+   * 通用内容数据名称键
+   */
   nameKey?: string,
 }
+/**
+ * 下拉列表动态数据接口定义 - 静态内容
+ */
 export interface IHomeCommonCategoryDropdownStaticData {
   type: 'static',
+  /**
+   * 静态数据
+   */
   data: Record<string, any>[],
+  /**
+   * 静态数据id键
+   */
   idKey?: string,
+  /**
+   * 静态数据名称键
+   */
   nameKey?: string,
 }
+/**
+ * 下拉列表动态数据接口定义 - 请求内容
+ */
 export interface IHomeCommonCategoryDropdownDynamicDataRequest {
   type: 'request',
   method: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE",
@@ -38,28 +67,29 @@ export interface IHomeCommonCategoryDropdownDynamicDataRequest {
   idKey?: string,
   nameKey?: string,
 }
+
 export type IHomeCommonCategoryDropdownDynamicData = 
   IHomeCommonCategoryDropdownDynamicDataCommonContent 
   | IHomeCommonCategoryDropdownDynamicDataRequest
   | IHomeCommonCategoryDropdownStaticData;
 
-  export async function doLoadDynamicDropdownData(item: IHomeCommonCategoryDropdownDynamicData) {
-    switch (item.type) {
-      case 'commonContent':
-        return (await CommonContent.getCategoryList(item.typeId)) as unknown as Record<string, any>[];
-      case 'static':
-        return item.data;
-      case 'request':
-        return (await CommonContent.request(
-          item.url, 
-          { ...item.querys }, 
-          {
-            method: item.method, 
-            data: item.params,
-          },
-          '',
-          undefined,
-        )).data as unknown as Record<string, any>[];
-    }
-    throw new Error(`未实现的动态数据接口`);
-  }
+export async function doLoadDynamicDropdownData(item: IHomeCommonCategoryDropdownDynamicData) {
+  switch (item.type) {
+    case 'commonContent':
+      return (await CommonContent.getCategoryList(item.typeId)) as unknown as Record<string, any>[];
+    case 'static':
+      return item.data;
+    case 'request':
+      return (await CommonContent.request(
+        item.url, 
+        { ...item.querys }, 
+        {
+          method: item.method, 
+          data: item.params,
+        },
+        '',
+        undefined,
+      )).data as unknown as Record<string, any>[];
+  }
+  throw new Error(`未实现的动态数据接口`);
+}

+ 26 - 0
src/pages/article/data/defines/Blocks.ts

@@ -7,18 +7,44 @@ import type { IHomeCommonCategoryDynamicData } from "../CommonCategoryDynamicDat
  */
 export interface IHomeCommonCategoryBlockStatsProps {
   statsNameConfig: {
+    /**
+     * 统计项名称
+     */
     name: string,
+    /**
+     * 统计项标题
+     */
     title: string,
+    /**
+     * 是否显示
+     * @default true
+     */
     visible?: boolean,
   }[]
 }
 
+/**
+ * 首页地图栏目名称配置
+ */
 export interface IHomeCommonCategoryBlockMapProps {
   mapPage?: string,
   mapConfigItems: {
+    /**
+     * 地图项名称
+     */
     title: string,
+    /**
+     * 地图项图标
+     */
     icon: string,
+    /**
+     * 是否显示
+     * @default true
+     */
     visible?: boolean,
+    /**
+     * 地图项数据
+     */
     data: IHomeCommonCategoryDynamicData
   }[],
 }

+ 34 - 1
src/pages/article/data/defines/Home.ts

@@ -1,19 +1,52 @@
-// 首页列表定义
+/**
+ * 页面模板:
+ * 首页定义
+ */
 
 import type { IHomeCommonCategoryListTabNestCategoryItemDefine } from "./List";
 
+/**
+ * 页面模板:首页定义
+ */
 export interface IHomeCommonCategoryHomeDefine {
   type: 'Home',
   props: {
+    /**
+     * 首页标题
+     */
     title: string,
+    /**
+     * 首页副标题
+     */
     subTitle: string,
+    /**
+     * 首页banner图
+     */
     homeBanner: string,
+    /**
+     * 首页按钮
+     */
     homeButtons: {
+      /**
+       * 按钮标题
+       */
       title: string,
+      /**
+       * 按钮图标
+       */
       icon: string,
+      /**
+       * 按钮跳转链接
+       */
       link: [string, object],
+      /**
+       * 按钮大小
+       */
       size: number
     }[],
+    /**
+     * 首页分类项
+     */
     categorys: IHomeCommonCategoryListTabNestCategoryItemDefine[],
   },
 }

+ 119 - 3
src/pages/article/data/defines/List.ts

@@ -1,23 +1,56 @@
-
-// 列表定义
+/**
+ * 页面模板:
+ * 列表定义
+ */
 
 import type { HomeCommonCategoryBlockProps } from "../../common/CommonContent";
 import type { CommonListPageProps } from "../../common/CommonListPage.vue";
 import { CommonCategoryDynamicDataSerializedApi, type IHomeCommonCategoryDropdownDynamicData, type IHomeCommonCategoryDynamicData } from "../CommonCategoryDynamicData";
 
+/**
+ * 页面模板:列表定义
+ */
 export interface IHomeCommonCategoryListDefine {
+  /**
+   * 列表类型
+   */
   type: 'CommonList',
+  /**
+   * 列表属性定义
+   */
   props: Omit<CommonListPageProps, 'load'|'tabs'> & {
+    /**
+     * 列表选项卡定义
+     */
     tabs?: (IHomeCommonCategoryListTabDefine & {
       text: string,
       width?: number,
       visible?: boolean,
       detailsPage?: string,
     })[],
+    /**
+     * 列表选项卡数据解决方法
+     */
     dataSolve?: IHomeCommonCategoryListTabListDataSolve[],
+    /**
+     * 列表选项卡数据
+     */
     data?: IHomeCommonCategoryDynamicData,
   },
 }
+
+/**
+ * 列表选项卡数据处理方法
+ * * none: 不处理
+ * * ich: 显示传承相关数据
+ * * common: 显示通用数据
+ * * date: 显示日期数据
+ */
+export type IHomeCommonCategoryListTabListDataSolve = 'none'|'ich'|'common'|'date';
+
+/**
+ * 列表选项卡下拉选择定义
+ */
 export interface IHomeCommonCategoryListTabListDropdownDefine {
   key: string,
   text: string,
@@ -26,38 +59,121 @@ export interface IHomeCommonCategoryListTabListDropdownDefine {
   addAll?: string,
   data: IHomeCommonCategoryDropdownDynamicData,
 }
-export type IHomeCommonCategoryListTabListDataSolve = 'none'|'ich'|'common'|'date';
+
+/**
+ * TAB定义 - 类型:列表
+ */
 export interface IHomeCommonCategoryListTabListDefine {
   type: 'list',
+  /**
+   * 列表选项卡数据
+   */
   data: IHomeCommonCategoryDynamicData,
+  /**
+   * 列表选项卡下拉选择定义
+   */
   dropdownDefines?: IHomeCommonCategoryListTabListDropdownDefine[],
+  /**
+   * 列表数据解决方法
+   */
   dataSolve?: IHomeCommonCategoryListTabListDataSolve[],
 }
+/**
+ * TAB定义 - 类型:跳转
+ */
 export interface IHomeCommonCategoryListTabJumpDefine {
   type: 'jump',
+  /**
+   * 跳转URL
+   */
   url: string,
+  /**
+   * 跳转参数
+   */
   params?: Record<string, any>,
 }
+/**
+ * TAB定义 - 类型:嵌套子分类
+ */
 export interface IHomeCommonCategoryListTabNestCategoryDefine {
   type: 'nestCategory',
+  /**
+   * 嵌套子分类项定义
+   */
   categorys: IHomeCommonCategoryListTabNestCategoryItemDefine[],
 }
+
+/**
+ * TAB定义 - 类型:嵌套子分类 - 子分类项定义
+ */
 export interface IHomeCommonCategoryListTabNestCategoryItemDefine {
+  /**
+   * 是否可见
+   * @default true
+   */
   visible?: boolean,
+  /**
+   * 子分类项文本
+   */
   text: string,
+  /**
+   * 是否显示标题
+   * @default true
+   */
   showTitle?: boolean,
+  /**
+   * 是否显示更多
+   * @default false
+   */
   showMore?: boolean,
+  /**
+   * 更多文本
+   */
   moreText?: string,
+  /**
+   * 子分类项的小列表显示类型
+   * @type CategoryDefine['type']
+   */
   type: string,
+  /**
+   * 子分类项的更多列表显示类型
+   * 'image-large-2'|'image-large'|'article-common'|'article-character'|'simple-text'
+   */
   itemType?: string,
+  /**
+   * 子分类项数据
+   */
   data: IHomeCommonCategoryDynamicData,
+  /**
+   * 更多页面定义
+   */
   morePage?: string|[string, Record<string, any>],
+  /**
+   * 详情页面定义
+   */
   detailsPage?: string,
+  /**
+   * 子分类项数量
+   * @default 4
+   */
   count?: number,
+  /**
+   * 子分类项数据解决方法
+   */ 
   dataSolve?: IHomeCommonCategoryListTabListDataSolve[],
+  /**
+   * 子分类项参数
+   */
   params?: Record<string, any>,
+  /**
+   * 子分类项如果是预设块,定义块的属性
+   */
   blockProps?: any;
 }
+
+/**
+ * TAB定义 - 类型:列表、跳转、嵌套子分类
+ */
 export type IHomeCommonCategoryListTabDefine = IHomeCommonCategoryListTabListDefine 
   | IHomeCommonCategoryListTabJumpDefine 
   | IHomeCommonCategoryListTabNestCategoryDefine;