mirror of
https://github.com/pure-admin/pure-admin-thin.git
synced 2025-11-12 21:53:39 +08:00
update
This commit is contained in:
18
types/directives.d.ts
vendored
18
types/directives.d.ts
vendored
@@ -3,21 +3,21 @@ import type { CopyEl, OptimizeOptions, RippleOptions } from "@/directives";
|
||||
|
||||
declare module "vue" {
|
||||
export interface ComponentCustomProperties {
|
||||
/** `Loading` 动画加载指令,具体看:https://element-plus.org/zh-CN/component/loading.html#%E6%8C%87%E4%BB%A4 */
|
||||
/** Chỉ thị `Loading` cho hoạt ảnh tải, chi tiết xem tại: https://element-plus.org/en-US/component/loading.html
|
||||
vLoading: Directive<Element, boolean>;
|
||||
/** 按钮权限指令 */
|
||||
/** Chỉ thị quyền nút */
|
||||
vAuth: Directive<HTMLElement, string | Array<string>>;
|
||||
/** 文本复制指令(默认双击复制) */
|
||||
/** Chỉ thị sao chép văn bản (mặc định nhấp đúp để sao chép) */
|
||||
vCopy: Directive<CopyEl, string>;
|
||||
/** 长按指令 */
|
||||
/** Chỉ thị nhấn giữ */
|
||||
vLongpress: Directive<HTMLElement, Function>;
|
||||
/** 防抖、节流指令 */
|
||||
/** Chỉ thị chống rung, tiết lưu */
|
||||
vOptimize: Directive<HTMLElement, OptimizeOptions>;
|
||||
/**
|
||||
* `v-ripple`指令,用法如下:
|
||||
* 1. `v-ripple`代表启用基本的`ripple`功能
|
||||
* 2. `v-ripple="{ class: 'text-red' }"`代表自定义`ripple`颜色,支持`tailwindcss`,生效样式是`color`
|
||||
* 3. `v-ripple.center`代表从中心扩散
|
||||
* Chỉ thị `v-ripple`, cách sử dụng như sau:
|
||||
* 1. `v-ripple` để kích hoạt tính năng `ripple` cơ bản
|
||||
* 2. `v-ripple="{ class: 'text-red' }"` để tùy chỉnh màu `ripple`, hỗ trợ `tailwindcss`, màu hiệu lực là `color`
|
||||
* 3. `v-ripple.center` để lan tỏa từ trung tâm
|
||||
*/
|
||||
vRipple: Directive<HTMLElement, RippleOptions>;
|
||||
}
|
||||
|
||||
4
types/global-components.d.ts
vendored
4
types/global-components.d.ts
vendored
@@ -1,6 +1,6 @@
|
||||
declare module "vue" {
|
||||
/**
|
||||
* 自定义全局组件获得 Volar 提示(自定义的全局组件需要在这里声明下才能获得 Volar 类型提示哦)
|
||||
* Đăng ký các thành phần toàn cầu tùy chỉnh để nhận được gợi ý từ Volar
|
||||
*/
|
||||
export interface GlobalComponents {
|
||||
IconifyIconOffline: (typeof import("../src/components/ReIcon"))["IconifyIconOffline"];
|
||||
@@ -12,7 +12,7 @@ declare module "vue" {
|
||||
|
||||
/**
|
||||
* TODO https://github.com/element-plus/element-plus/blob/dev/global.d.ts#L2
|
||||
* No need to install @vue/runtime-core
|
||||
* Không cần cài đặt @vue/runtime-core
|
||||
*/
|
||||
declare module "vue" {
|
||||
export interface GlobalComponents {
|
||||
|
||||
31
types/global.d.ts
vendored
31
types/global.d.ts
vendored
@@ -2,11 +2,12 @@ import type { ECharts } from "echarts";
|
||||
import type { TableColumns } from "@pureadmin/table";
|
||||
|
||||
/**
|
||||
* 全局类型声明,无需引入直接在 `.vue` 、`.ts` 、`.tsx` 文件使用即可获得类型提示
|
||||
* Khai báo toàn cầu, không cần nhập trực tiếp để sử dụng gợi ý kiểu trong các tệp `.vue`, `.ts`, `.tsx`
|
||||
*/
|
||||
declare global {
|
||||
/**
|
||||
* 平台的名称、版本、运行所需的`node`和`pnpm`版本、依赖、最后构建时间的类型提示
|
||||
* Thông tin ứng dụng như tên, phiên bản, yêu cầu phiên bản `node` và `pnpm`, các phụ thuộc,
|
||||
* các phụ thuộc phát triển và thời gian xây dựng cuối cùng của nó.
|
||||
*/
|
||||
const __APP_INFO__: {
|
||||
pkg: {
|
||||
@@ -23,10 +24,10 @@ declare global {
|
||||
};
|
||||
|
||||
/**
|
||||
* Window 的类型提示
|
||||
* Kiểu gợi ý cho đối tượng Window
|
||||
*/
|
||||
interface Window {
|
||||
// Global vue app instance
|
||||
// Thể hiện ứng dụng Vue toàn cục
|
||||
__APP__: App<Element>;
|
||||
webkitCancelAnimationFrame: (handle: number) => void;
|
||||
mozCancelAnimationFrame: (handle: number) => void;
|
||||
@@ -39,7 +40,7 @@ declare global {
|
||||
}
|
||||
|
||||
/**
|
||||
* Document 的类型提示
|
||||
* Kiểu gợi ý cho đối tượng Document
|
||||
*/
|
||||
interface Document {
|
||||
webkitFullscreenElement?: Element;
|
||||
@@ -48,7 +49,7 @@ declare global {
|
||||
}
|
||||
|
||||
/**
|
||||
* 打包压缩格式的类型声明
|
||||
* Kiểu gợi ý cho các lựa chọn nén và đóng gói
|
||||
*/
|
||||
type ViteCompression =
|
||||
| "none"
|
||||
@@ -60,8 +61,7 @@ declare global {
|
||||
| "both-clear";
|
||||
|
||||
/**
|
||||
* 全局自定义环境变量的类型声明
|
||||
* @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#%E5%85%B7%E4%BD%93%E9%85%8D%E7%BD%AE}
|
||||
* Kiểu gợi ý cho các biến môi trường tùy chỉnh toàn cầu
|
||||
*/
|
||||
interface ViteEnv {
|
||||
VITE_PORT: number;
|
||||
@@ -73,13 +73,12 @@ declare global {
|
||||
}
|
||||
|
||||
/**
|
||||
* 继承 `@pureadmin/table` 的 `TableColumns` ,方便全局直接调用
|
||||
* Mảng kiểu gợi ý cho các cột trong bảng, mở rộng từ `@pureadmin/table`
|
||||
*/
|
||||
interface TableColumnList extends Array<TableColumns> {}
|
||||
|
||||
/**
|
||||
* 对应 `public/platform-config.json` 文件的类型声明
|
||||
* @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#platform-config-json}
|
||||
* Kiểu dữ liệu tương ứng với tệp `public/platform-config.json`
|
||||
*/
|
||||
interface PlatformConfigs {
|
||||
Version?: string;
|
||||
@@ -111,8 +110,7 @@ declare global {
|
||||
}
|
||||
|
||||
/**
|
||||
* 与 `PlatformConfigs` 类型不同,这里是缓存到浏览器本地存储的类型声明
|
||||
* @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#platform-config-json}
|
||||
* Kiểu dữ liệu lưu trữ trong bộ nhớ cục bộ, khác biệt so với `PlatformConfigs`
|
||||
*/
|
||||
interface StorageConfigs {
|
||||
version?: string;
|
||||
@@ -140,7 +138,7 @@ declare global {
|
||||
}
|
||||
|
||||
/**
|
||||
* `responsive-storage` 本地响应式 `storage` 的类型声明
|
||||
* Đối tượng lưu trữ phản ứng cục bộ dựa trên `responsive-storage`
|
||||
*/
|
||||
interface ResponsiveStorage {
|
||||
locale: {
|
||||
@@ -169,7 +167,7 @@ declare global {
|
||||
}
|
||||
|
||||
/**
|
||||
* 平台里所有组件实例都能访问到的全局属性对象的类型声明
|
||||
* Thuộc tính toàn cầu cho tất cả các thể hiện thành phần trong ứng dụng
|
||||
*/
|
||||
interface GlobalPropertiesApi {
|
||||
$echarts: ECharts;
|
||||
@@ -178,10 +176,9 @@ declare global {
|
||||
}
|
||||
|
||||
/**
|
||||
* 扩展 `Element`
|
||||
* Mở rộng đối tượng Element để hỗ trợ v-ripple từ `src/directives/ripple/index.ts`
|
||||
*/
|
||||
interface Element {
|
||||
// v-ripple 作用于 src/directives/ripple/index.ts 文件
|
||||
_ripple?: {
|
||||
enabled?: boolean;
|
||||
centered?: boolean;
|
||||
|
||||
2
types/index.d.ts
vendored
2
types/index.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
// 此文件跟同级目录的 global.d.ts 文件一样也是全局类型声明,只不过这里存放一些零散的全局类型,无需引入直接在 .vue 、.ts 、.tsx 文件使用即可获得类型提示
|
||||
// Như tệp global.d.ts cùng cấp với nó, tệp này cũng là khai báo toàn cầu, nhưng lưu trữ một số loại toàn cầu phân tán. Không cần nhập, bạn có thể sử dụng trực tiếp trong các tệp .vue, .ts, .tsx để nhận được gợi ý kiểu
|
||||
|
||||
type RefType<T> = T | null;
|
||||
|
||||
|
||||
76
types/router.d.ts
vendored
76
types/router.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
// 全局路由类型声明
|
||||
// Khai báo toàn cầu cho loại định tuyến
|
||||
|
||||
import type { RouteComponent, RouteLocationNormalized } from "vue-router";
|
||||
import type { FunctionalComponent } from "vue";
|
||||
@@ -9,95 +9,95 @@ declare global {
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 完整子路由的`meta`配置表
|
||||
* @description Bảng cấu hình `meta` cho định tuyến con đầy đủ
|
||||
*/
|
||||
interface CustomizeRouteMeta {
|
||||
/** 菜单名称(兼容国际化、非国际化,如何用国际化的写法就必须在根目录的`locales`文件夹下对应添加) `必填` */
|
||||
/** Tên của menu (hỗ trợ cả quốc tế hóa và không quốc tế hóa, nếu sử dụng cách viết quốc tế hóa, cần thêm vào thư mục `locales` ở thư mục gốc) `Bắt buộc` */
|
||||
title: string;
|
||||
/** 菜单图标 `可选` */
|
||||
/** Biểu tượng của menu `Tùy chọn` */
|
||||
icon?: string | FunctionalComponent | IconifyIcon;
|
||||
/** 菜单名称右侧的额外图标 */
|
||||
/** Biểu tượng bổ sung bên phải của tên menu */
|
||||
extraIcon?: string | FunctionalComponent | IconifyIcon;
|
||||
/** 是否在菜单中显示(默认`true`)`可选` */
|
||||
/** Hiển thị trong menu hay không (mặc định là `true`) `Tùy chọn` */
|
||||
showLink?: boolean;
|
||||
/** 是否显示父级菜单 `可选` */
|
||||
/** Hiển thị menu cha hay không `Tùy chọn` */
|
||||
showParent?: boolean;
|
||||
/** 页面级别权限设置 `可选` */
|
||||
/** Cài đặt quyền trang `Tùy chọn` */
|
||||
roles?: Array<string>;
|
||||
/** 按钮级别权限设置 `可选` */
|
||||
/** Cài đặt quyền nút `Tùy chọn` */
|
||||
auths?: Array<string>;
|
||||
/** 路由组件缓存(开启 `true`、关闭 `false`)`可选` */
|
||||
/** Bật/tắt bộ nhớ đệm cho thành phần định tuyến (bật `true`, tắt `false`) `Tùy chọn` */
|
||||
keepAlive?: boolean;
|
||||
/** 内嵌的`iframe`链接 `可选` */
|
||||
/** Liên kết `iframe` nhúng `Tùy chọn` */
|
||||
frameSrc?: string;
|
||||
/** `iframe`页是否开启首次加载动画(默认`true`)`可选` */
|
||||
/** Bật/tắt hoạt hình tải lần đầu cho `iframe` (mặc định là `true`) `Tùy chọn` */
|
||||
frameLoading?: boolean;
|
||||
/** 页面加载动画(两种模式,第二种权重更高,第一种直接采用`vue`内置的`transitions`动画,第二种是使用`animate.css`编写进、离场动画,平台更推荐使用第二种模式,已经内置了`animate.css`,直接写对应的动画名即可)`可选` */
|
||||
/** Hoạt hình tải trang (hai chế độ, chế độ thứ hai có ưu tiên hơn, chế độ thứ nhất sử dụng hoạt hình `transitions` có sẵn trong Vue, chế độ thứ hai sử dụng hoạt hình `animate.css`, nền tảng khuyến khích sử dụng chế độ thứ hai với `animate.css` đã được tích hợp sẵn, chỉ cần viết tên hoạt hình tương ứng) `Tùy chọn` */
|
||||
transition?: {
|
||||
/**
|
||||
* @description 当前路由动画效果
|
||||
* @description Hiệu ứng hoạt hình cho định tuyến hiện tại
|
||||
* @see {@link https://next.router.vuejs.org/guide/advanced/transitions.html#transitions}
|
||||
* @see animate.css {@link https://animate.style}
|
||||
*/
|
||||
name?: string;
|
||||
/** 进场动画 */
|
||||
/** Hiệu ứng khi vào */
|
||||
enterTransition?: string;
|
||||
/** 离场动画 */
|
||||
/** Hiệu ứng khi ra đi */
|
||||
leaveTransition?: string;
|
||||
};
|
||||
/** 当前菜单名称或自定义信息禁止添加到标签页(默认`false`) */
|
||||
/** Không cho phép thêm tên menu hiện tại hoặc thông tin tùy chỉnh vào tab (mặc định là `false`) */
|
||||
hiddenTag?: boolean;
|
||||
/** 当前菜单名称是否固定显示在标签页且不可关闭(默认`false`) */
|
||||
/** Cố định hiển thị tên menu hiện tại trên tab và không thể đóng (mặc định là `false`) */
|
||||
fixedTag?: boolean;
|
||||
/** 动态路由可打开的最大数量 `可选` */
|
||||
/** Số lượng tối đa của độ sâu định tuyến có thể mở `Tùy chọn` */
|
||||
dynamicLevel?: number;
|
||||
/** 将某个菜单激活
|
||||
* (主要用于通过`query`或`params`传参的路由,当它们通过配置`showLink: false`后不在菜单中显示,就不会有任何菜单高亮,
|
||||
* 而通过设置`activePath`指定激活菜单即可获得高亮,`activePath`为指定激活菜单的`path`)
|
||||
/** Kích hoạt một menu cụ thể
|
||||
* (chủ yếu dùng cho định tuyến truyền tham số qua `query` hoặc `params`, khi chúng không hiển thị trong menu với `showLink: false`, không có bất kỳ menu nào được làm nổi bật,
|
||||
* thay vào đó chỉ cần đặt `activePath` để chỉ định menu cần kích hoạt, `activePath` là `path` của menu cần kích hoạt)
|
||||
*/
|
||||
activePath?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 完整子路由配置表
|
||||
* @description Bảng cấu hình định tuyến con đầy đủ
|
||||
*/
|
||||
interface RouteChildrenConfigsTable {
|
||||
/** 子路由地址 `必填` */
|
||||
/** Địa chỉ định tuyến con `Bắt buộc` */
|
||||
path: string;
|
||||
/** 路由名字(对应不要重复,和当前组件的`name`保持一致)`必填` */
|
||||
/** Tên định tuyến (đảm bảo duy nhất, tên phải trùng với `name` của thành phần hiện tại) `Bắt buộc` */
|
||||
name?: string;
|
||||
/** 路由重定向 `可选` */
|
||||
/** Điều hướng lại định tuyến `Tùy chọn` */
|
||||
redirect?: string;
|
||||
/** 按需加载组件 `可选` */
|
||||
/** Thành phần tải theo yêu cầu `Tùy chọn` */
|
||||
component?: RouteComponent;
|
||||
meta?: CustomizeRouteMeta;
|
||||
/** 子路由配置项 */
|
||||
/** Các mục cấu hình định tuyến con */
|
||||
children?: Array<RouteChildrenConfigsTable>;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 整体路由配置表(包括完整子路由)
|
||||
* @description Bảng cấu hình toàn bộ định tuyến (bao gồm cả định tuyến con đầy đủ)
|
||||
*/
|
||||
interface RouteConfigsTable {
|
||||
/** 路由地址 `必填` */
|
||||
/** Địa chỉ định tuyến `Bắt buộc` */
|
||||
path: string;
|
||||
/** 路由名字(保持唯一)`可选` */
|
||||
/** Tên định tuyến (duy trì duy nhất) `Tùy chọn` */
|
||||
name?: string;
|
||||
/** `Layout`组件 `可选` */
|
||||
/** Thành phần `Layout` `Tùy chọn` */
|
||||
component?: RouteComponent;
|
||||
/** 路由重定向 `可选` */
|
||||
/** Điều hướng lại định tuyến `Tùy chọn` */
|
||||
redirect?: string;
|
||||
meta?: {
|
||||
/** 菜单名称(兼容国际化、非国际化,如何用国际化的写法就必须在根目录的`locales`文件夹下对应添加)`必填` */
|
||||
/** Tên menu (hỗ trợ cả quốc tế hóa và không quốc tế hóa, nếu sử dụng cách viết quốc tế hóa, cần thêm vào thư mục `locales` ở thư mục gốc) `Bắt buộc` */
|
||||
title: string;
|
||||
/** 菜单图标 `可选` */
|
||||
/** Biểu tượng của menu `Tùy chọn` */
|
||||
icon?: string | FunctionalComponent | IconifyIcon;
|
||||
/** 是否在菜单中显示(默认`true`)`可选` */
|
||||
/** Hiển thị trong menu hay không (mặc định là `true`) `Tùy chọn` */
|
||||
showLink?: boolean;
|
||||
/** 菜单升序排序,值越高排的越后(只针对顶级路由)`可选` */
|
||||
/** Sắp xếp thứ tự menu, giá trị càng cao sắp xếp càng sau (chỉ áp dụng cho định tuyến cấp đầu) `Tùy chọn` */
|
||||
rank?: number;
|
||||
};
|
||||
/** 子路由配置项 */
|
||||
/** Các mục cấu hình định tuyến con */
|
||||
children?: Array<RouteChildrenConfigsTable>;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user