vr-uniapp/src/types/global.d.ts

161 lines
3.8 KiB
TypeScript

declare global {
// 数组索引
interface arrayIndex {
[key: string]: any;
}
interface select_1 {
id: string | number;
name: string;
}
interface select_2 {
value: string | number;
name: string;
checked?: boolean;
}
// 可视化数据
interface commonComponentData {
src: string;
name: string;
key: string;
}
interface color_list {
color: string;
color_percentage: number | undefined;
}
/**
* 渐变色参数集合
*/
interface gradientStyle {
color_list: color_list[];
direction: string;
}
/**
* 内边距的参数集合
*/
type paddingKeys = 'padding' | 'padding_bottom' | 'padding_top' | 'padding_left' | 'padding_right';
type paddingStyle = {
[key in paddingKeys]: number;
};
/**
* 内边距的参数集合
*/
type marginKeys = 'margin' | 'margin_bottom' | 'margin_top' | 'margin_left' | 'margin_right';
type marginStyle = {
[key in marginKeys]: number;
};
/**
* 内边距的参数集合
*/
type radiusKeys = 'radius' | 'radius_top_left' | 'radius_top_right' | 'radius_bottom_left' | 'radius_bottom_right';
type radiusStyle = {
[key in radiusKeys]: number;
};
/**
* 阴影的参数集合
*/
type boxShadowStyle = {
box_shadow_color: string;
box_shadow_x: number;
box_shadow_y: number;
box_shadow_blur: number;
box_shadow_spread: number;
};
// 图片/视频/文件的数据类型
type uploadList = {
id?: number;
url: string;
original?: string;
ext?: string;
title?: string;
size?: number;
type?: string;
error?: boolean;
};
/**
* 背景图
*/
type backgroundImgUrlStyle = {
background_img: uploadList[];
background_img_style: number;
};
/**
* 通用样式参数
*/
type componentsCommonCommonStyle = {
color_list: color_list[];
direction: string;
background_img_style: number;
padding: number;
padding_top: number;
padding_bottom: number;
padding_left: number;
padding_right: number;
margin: number;
margin_top: number;
margin_bottom: number;
margin_left: number;
margin_right: number;
radius: number;
radius_top_left: number;
radius_top_right: number;
radius_bottom_left: number;
radius_bottom_right: number;
box_shadow_color: string;
box_shadow_x: number;
box_shadow_y: number;
box_shadow_blur: number;
box_shadow_spread: number;
background_img: uploadList[];
};
/**
* 链接参数
*/
type pageLinkList = {
id?: string;
name?: string;
type?: string;
page?: string;
data?: pageLinkList[];
items?: pageLinkList[];
icon?: string;
link?: string;
lng?: number;
lat?: number;
hasChildren?: boolean;
children?: pageLinkList[];
};
// 分类树结构
type urlValue = {
goods_category: any[];
brand_list: any[];
brand_category: any[];
article_category_list: any[];
page_link_list: pageLinkList[];
};
/**
* 热区参数
*/
type hotData = {
img_width: number;
img_height: number;
data: hotListData[];
};
type rectCoords = {
x: number;
y: number;
width: number;
height: number;
};
type hotListData = {
drag_start: rectCoords;
drag_end: rectCoords;
name: string;
link: pageLinkList;
};
}
export {};