diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..562e7fee --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM eclipse-temurin:17-jdk-jammy as build +WORKDIR /app +ADD . . +RUN wget --no-check-certificate https://mirrors.huaweicloud.com/apache/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz + +RUN tar -zxvf apache-maven-3.9.8-bin.tar.gz + +RUN rm apache-maven-3.9.8-bin.tar.gz +ENV M2_HOME=/app/apache-maven-3.9.8 +ENV PATH=$M2_HOME/bin:$PATH +COPY settings.xml /app/apache-maven-3.9.8/conf/settings.xml +RUN mvn clean package -Dmaven.test.skip=true +FROM eclipse-temurin:17-jdk-jammy +WORKDIR /app +COPY --from=build /app/app/target/tiny-engine-app-*.jar /app/tiny-engine-app.jar +COPY --from=build /app/base/target/tiny-engine-base-*.jar /app/tiny-engine-base.jar + +ENTRYPOINT ["java", "-jar", "tiny-engine-app.jar", "--spring.profiles.active=alpha"] +EXPOSE 9090 + diff --git a/app/src/main/resources/application-alpha.yml b/app/src/main/resources/application-alpha.yml new file mode 100644 index 00000000..7cde50b6 --- /dev/null +++ b/app/src/main/resources/application-alpha.yml @@ -0,0 +1,68 @@ +server: + port: 9090 + +spring: + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + jackson: + date-format: yyyy-MM-dd HH:mm:ss + datasource: + driver-class-name: org.mariadb.jdbc.Driver + username: root + password: 111111 + url: jdbc:mariadb://tiny-engine-data:3306/tiny_engine_data_java?useUnicode=true&useSSL=false&characterEncoding=utf8 + type: com.alibaba.druid.pool.DruidDataSource + druid: + initial-size: 5 # 连接池初始化时建立的连接数,默认值为 0。 + min-idle: 5 # 连接池中最小的空闲连接数,默认值为 0。 + max-active: 20 # 连接池中最大活动连接数(即同时可以被请求的连接数),默认值为 8。 + test-on-borrow: true # 在从连接池获取连接时,是否进行有效性检查,默认值为 false。 + validation-query: SELECT 1 # 用于检测连接是否有效的 SQL 查询语句,通常为简单的查询,比如 `SELECT 1`。如果连接不可用,会被关闭并重新建立。 + max-wait: 60000 # 获取连接的最大等待时间(单位:毫秒),超时会抛出异常,默认值为 30000。 + time-between-eviction-runs-millis: 60000 # 空闲连接检测线程运行的时间间隔(单位:毫秒)。空闲连接检测线程会定期检查空闲连接,默认值为 30000。 + min-evictable-idle-time-millis: 300000 # 连接在池中保持空闲的最小时间(单位:毫秒)。如果空闲时间超过这个值,连接将被回收,默认值为 1800000。 + pool-prepared-statements: true # 是否缓存 PreparedStatement 对象,默认值为 true。 + max-open-prepared-statements: 20 # 最大缓存的 PreparedStatement 数量,默认值为 -1,表示无限制。如果 `pool-prepared-statements` 设置为 true,设置此值以限制缓存数量。 + config: + activate: + on-profile: alpha + #切面启用 + aop: + proxy-target-class: true #默认为false + auto: true #默认为false +springdoc: + api-docs: + #是否开启文档功能 + enabled: true + #swagger后端请求地址 + path: /api-docs + swagger-ui: + enabled: false + path: /swagger-ui.html #自定义swagger-ui HTML文档路径 + #包扫描路径 + packages-to-scan: com.tinyengine.it.controller + +mybatis-plus: + mapper-locations: classpath:mappers/*.xml + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + map-underscore-to-camel-case: true + auto-mapping-behavior: full + com.tinyengine.it.mapper: debug + type-handlers-package: com.tinyengine.it.common.handler + + +logging: + level: + ROOT: INFO + druid.sql.Statement: INFO + pattern: + file: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" + file: + name: /logs + +cors: + allowed-origins: "*" + diff --git a/app/src/main/resources/application-dev.yml b/app/src/main/resources/application-dev.yml index f276145d..7b423d93 100644 --- a/app/src/main/resources/application-dev.yml +++ b/app/src/main/resources/application-dev.yml @@ -2,6 +2,10 @@ server: port: 9090 spring: + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB jackson: date-format: yyyy-MM-dd HH:mm:ss datasource: diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..c5cd6843 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,40 @@ +version: '3' +services: + tiny-engine-data: + image: mysql:5.7 + container_name: tiny-engine-data + ports: + - "3306:3306" + environment: + MYSQL_ROOT_PASSWORD: 111111 + MYSQL_DATABASE: tiny_engine_data_java + TZ: Asia/Shanghai + volumes: + - ./docker-deploy-data/mysql/data/:/var/lib/mysql/ + - ./docker-deploy-data/mysql/conf/:/etc/mysql/conf.d/ + - ./docker-deploy-data/mysql/init/:/docker-entrypoint-initdb.d/ + - ./docker-deploy-data/mysql/logs/:/logs/ + + tiny-engine-back: + image: tiny-engine-back + container_name: tiny-engine-back + build: + context: . + dockerfile: Dockerfile + ports: + - "9090:9090" + depends_on: + - tiny-engine-data + + tiny-engine: + image: tiny-engine + container_name: tiny-engine + build: + context: ../tiny-engine/ + dockerfile: Dockerfile + ports: + - "80:80" + volumes: + - ./docker-deploy-data/nginx.conf:/etc/nginx/nginx.conf + depends_on: + - tiny-engine-back diff --git a/docker-deploy-data/mysql/conf/my.cnf b/docker-deploy-data/mysql/conf/my.cnf new file mode 100644 index 00000000..542d37e4 --- /dev/null +++ b/docker-deploy-data/mysql/conf/my.cnf @@ -0,0 +1,10 @@ +[client] +default-character-set=utf8mb4 +[mysql] +default-character-set=utf8mb4 +[mysqld] +init-connect="SET collation_connection = utf8mb4_unicode_ci" +init-connect="SET NAMES utf8mb4" +collation-server=utf8mb4_unicode_ci +character-set-server=utf8mb4 + diff --git a/docker-deploy-data/mysql/init/create_all_tables_ddl_v1.0.0.mysql.sql b/docker-deploy-data/mysql/init/create_all_tables_ddl_v1.0.0.mysql.sql new file mode 100644 index 00000000..587f2e79 --- /dev/null +++ b/docker-deploy-data/mysql/init/create_all_tables_ddl_v1.0.0.mysql.sql @@ -0,0 +1,679 @@ + +drop table if exists `t_platform`; + +create table `t_platform` +( + `id` int not null auto_increment comment '主键id', + `name` varchar(255) not null comment '名称', + `published` tinyint(1) comment '是否发布:1是,0否', + `last_build_info` longtext comment '最后构建信息', + `description` varchar(2000) comment '描述', + `latest_version` varchar(255) comment '当前历史记录表最新版本', + `latest_history_id` int comment '当前历史记录表id', + `material_history_id` int comment '关联物料包历史id', + `image_url` varchar(255) comment '设计器截图地址', + `sort_plugins` longtext comment '插件集合', + `sort_toolbar` longtext comment '工具集合', + `is_default` tinyint(1) comment '是否默认编辑器:1是,0否', + `prettier_opts` longtext comment '设计预留字段', + `set_default_by` varchar(60) comment '设置默认编辑器的人', + `app_extend_config` longtext comment '应用扩展配置', + `data_hash` varchar(255) comment '设计器数据hash,验证数据一致性', + `business_category_id` int comment '业务类型', + `theme_id` int comment '生态扩展使用,关联主题', + `platform_url` varchar(255) comment '设计器静态资源托管地址url', + `vscode_url` varchar(255) comment '设计预留字段', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `last_updated_by` varchar(60) not null comment '最后修改人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_platform` (`tenant_id`, `name`) using btree +) engine = innodb comment = '设计器表'; + +drop table if exists `t_platform_history`; + +create table `t_platform_history` +( + `id` int not null auto_increment comment '主键id', + `ref_id` int not null comment '关联主表id', + `version` varchar(255) not null comment '版本', + `name` varchar(255) not null comment '名称', + `publish_url` varchar(255) comment '设计器静态资源托管地址', + `description` varchar(2000) comment '描述', + `vscode_url` varchar(255) comment '设计预留字段', + `material_history_id` int not null comment '关联物料包历史id', + `sub_count` int comment '设计预留字段', + `material_pkg_name` varchar(255) comment '物料包名称', + `material_version` varchar(255) comment '物料包版本', + `image_url` varchar(255) comment '封面图地址', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `last_updated_by` varchar(60) not null comment '最后修改人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_platform_history` (`ref_id`, `version`) using btree +) engine = innodb comment = '设计器历史表'; + +drop table if exists `t_app`; + +create table `t_app` +( + `id` int not null auto_increment comment '主键id', + `name` varchar(255) not null comment '应用名称', + `platform_id` int not null comment '关联设计器id', + `platform_history_id` int comment '关联设计器历史版本id', + `publish_url` varchar(255) comment '应用静态资源托管地址', + `editor_url` varchar(255) comment '设计器地址', + `visit_url` varchar(255) comment '访问地址', + `image_url` varchar(255) comment '封面图地址', + `assets_url` varchar(255) comment '应用资源地址', + `state` int comment '应用状态,1可用,0不可用', + `published` tinyint(1) comment '是否发布:1是,0否', + `home_page_id` int comment '主页id,关联page表的id', + `app_website` varchar(255) comment '设计预留字段', + `css` longtext comment '设计预留字段', + `config` longtext comment '设计预留字段', + `constants` longtext comment '设计预留字段', + `data_handler` longtext comment '数据源的拦截器', + `latest` varchar(255) comment '应用最新历史记录id', + `git_group` varchar(255) comment 'git仓库分组', + `project_name` varchar(255) comment 'git仓库名称', + `branch` varchar(255) comment '默认提交分支', + `is_demo` tinyint(1) comment '是否是demo应用', + `is_default` tinyint(1) comment '是否是默认应用', + `template_type` varchar(255) comment '应用模板类型', + `set_template_time` timestamp comment '设置模板时间', + `description` varchar(2000) comment '描述', + `set_template_by` varchar(60) comment '设置模板人id', + `set_default_by` varchar(60) comment '设置为默认应用人id', + `framework` varchar(255) comment '应用框架', + `global_state` longtext comment '应用全局状态', + `default_lang` varchar(255) comment '默认语言', + `extend_config` longtext comment '应用扩展config', + `data_hash` varchar(255) comment '应用内容哈希值', + `can_associate` tinyint(1) comment '设计预留字段', + `data_source_global` longtext comment '数据源全局配置', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `last_updated_by` varchar(60) not null comment '最后修改人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_app` (`tenant_id`, `platform_id`, `name`) using btree +) engine = innodb comment = '应用表'; + +drop table if exists `t_app_extension`; + +create table `t_app_extension` +( + `id` int not null auto_increment comment '主键id', + `name` varchar(255) not null comment '名称', + `type` varchar(255) not null comment '类型:npm, function', + `content` longtext not null comment '内容', + `app_id` int not null comment '关联appid', + `category` varchar(255) not null comment '分类:utils,bridge', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `last_updated_by` varchar(60) not null comment '最后修改人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_app_extension` (`app_id`, `name`) using btree +) engine = innodb comment = '应用扩展表'; + +drop table if exists `t_block_group`; + +create table `t_block_group` +( + `id` int not null auto_increment comment '主键id', + `name` varchar(255) not null comment '分组名称', + `description` varchar(2000) comment '描述', + `app_id` int not null comment '关联app id', + `platform_id` int not null comment '设计器id', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_block_group` (`tenant_id`, `platform_id`, `name`) using btree +) engine = innodb comment = '区块分组表,设计器内共享'; + +drop table if exists `t_business_category`; + +create table `t_business_category` +( + `id` int not null auto_increment comment '主键id', + `code` varchar(255) not null comment '编码', + `name` varchar(255) not null comment '名称', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_business_category` (`tenant_id`, `code`) using btree +) engine = innodb comment = '业务类型表,全局'; + + + +drop table if exists `t_block`; + +create table `t_block` +( + `id` int not null auto_increment comment '主键id', + `label` varchar(255) not null comment '区块编码', + `name` varchar(255) comment '名称', + `framework` varchar(255) comment '技术栈', + `content` longtext comment '区块内容', + `assets` longtext comment '构建资源', + `last_build_info` longtext comment '最新一次构建信息', + `description` varchar(2000) comment '描述', + `tags` longtext comment '标签', + `latest_version` varchar(255) comment '当前历史记录表最新版本', + `latest_history_id` int comment '当前历史记录表id', + `screenshot` longtext comment '截屏', + `path` varchar(255) comment '区块路径', + `occupier_by` varchar(60) comment '当前检出者id', + `is_official` tinyint(1) comment '是否是官方', + `public` int comment '公开状态:0,1,2', + `is_default` tinyint(1) comment '是否是默认', + `tiny_reserved` tinyint(1) comment '是否是tiny自有', + `npm_name` varchar(255) comment 'npm包名', + `i18n` longtext NULL COMMENT '国际化', + `platform_id` int not null comment '设计器id', + `app_id` int not null comment '创建区块时所在appid', + `content_blocks` longtext comment '设计预留字段', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_block` (`platform_id`, `label`, `framework`) using btree +) engine = innodb comment = '区块表'; + +drop table if exists `t_block_history`; + +create table `t_block_history` +( + `id` int not null auto_increment comment '主键id', + `ref_id` int not null comment '关联主表id', + `version` varchar(255) not null comment '版本', + `message` varchar(255) comment '历史记录描述消息', + `label` varchar(255) not null comment '显示标签', + `name` varchar(255) comment '名称', + `framework` varchar(255) comment '技术栈', + `content` longtext comment '区块内容', + `assets` longtext comment '构建资源', + `build_info` longtext comment '构建信息', + `screenshot` longtext comment '截屏', + `path` varchar(255) comment '区块路径', + `description` varchar(2000) comment '描述', + `tags` longtext comment '标签', + `is_official` tinyint(1) comment '是否是官方', + `public` int comment '公开状态:0,1,2', + `is_default` tinyint(1) comment '是否是默认', + `tiny_reserved` tinyint(1) comment '是否是tiny自有', + `mode` varchar(255) comment '模式:vscode', + `platform_id` int not null comment '设计器id', + `app_id` int not null comment '创建区块时所在appid', + `npm_name` varchar(255) comment 'npm包名', + `i18n` longtext NULL COMMENT '国际化', + `content_blocks` longtext comment '设计预留字段', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_block_history` (`app_id`, `ref_id`, `version`) using btree +) engine = innodb comment = '区块历史表'; + +drop table if exists `t_material`; + +create table `t_material` +( + `id` int not null auto_increment comment '主键id', + `name` varchar(255) not null comment '名称', + `npm_name` varchar(255) comment 'npm包名', + `framework` varchar(255) not null comment '技术栈', + `assets_url` longtext comment '资源地址', + `image_url` varchar(255) comment '封面图地址', + `published` tinyint(1) comment '是否发布:1是,0否', + `latest_version` varchar(255) comment '当前历史记录表最新版本', + `latest_history_id` int comment '当前历史记录表id', + `public` int comment '公开状态:0,1,2', + `last_build_info` longtext comment '最新一次构建信息', + `description` varchar(2000) comment '描述', + `is_official` tinyint(1) comment '是否是官方', + `is_default` tinyint(1) comment '是否是默认', + `tiny_reserved` tinyint(1) comment '是否是tiny自有', + `component_library_id` int comment '设计预留字段', + `material_category_id` int comment '物料包业务类型', + `material_size` int comment '物料包大小', + `tgz_url` varchar(255) comment '物料包存储地址', + `unzip_tgz_root_path_url` longtext comment '物料包存储根路径', + `unzip_tgz_files` longtext comment '物料包存储文件', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_material` (`tenant_id`, `name`, `framework`) using btree +) engine = innodb comment = '物料包表'; + +drop table if exists `t_material_history`; + +create table `t_material_history` +( + `id` int not null auto_increment comment '主键id', + `ref_id` int not null comment '关联主表id', + `version` varchar(255) not null comment '版本', + `content` longtext comment '物料内容', + `name` varchar(255) not null comment '名称', + `npm_name` varchar(255) comment 'npm包名', + `framework` varchar(255) comment '技术栈', + `assets_url` longtext comment '资源地址', + `image_url` varchar(255) comment '封面图地址', + `build_info` longtext comment '构建信息', + `description` varchar(2000) comment '描述', + `material_size` int comment '物料包大小', + `tgz_url` varchar(255) comment '物料包存储地址', + `unzip_tgz_root_path_url` longtext comment '物料包存储根路径', + `unzip_tgz_files` longtext comment '物料包存储文件', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_material_history` (`tenant_id`, `ref_id`, `version`) using btree +) engine = innodb comment = '物料包历史表'; + +drop table if exists `t_page`; + +create table `t_page` +( + `id` int not null auto_increment comment '主键id', + `name` varchar(255) not null comment '名称', + `app_id` int not null comment '关联appid', + `route` varchar(255) not null comment '访问路径', + `page_content` longtext comment '页面内容', + `is_body` tinyint(1) comment '根元素是否是body', + `parent_id` int not null comment '父文件夹id', + `group` varchar(255) comment '分组', + `depth` int comment '页面/文件夹深度,更改层级时服务端校验用(校验可有可无)', + `is_page` tinyint(1) not null comment '是否为页面:分为页面和文件夹', + `occupier_by` varchar(60) comment '当前检出者id', + `is_default` tinyint(1) not null comment '是否是默认页面', + `content_blocks` longtext comment '设计预留字段', + `latest_version` varchar(255) comment '当前历史记录表最新版本', + `latest_history_id` int comment '当前历史记录表id', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_page` (`app_id`,`parent_id`,`route`,`is_page`,`tenant_id`, `name`) using btree +) engine = innodb comment = '页面表'; + +drop table if exists `t_page_history`; + +create table `t_page_history` +( + `id` int not null auto_increment comment '主键id', + `ref_id` int not null comment '关联主表id', + `version` varchar(255) comment '版本', + `name` varchar(255) not null comment '名称', + `app_id` int not null comment '关联appid', + `route` varchar(255) not null comment '访问路径', + `page_content` longtext comment '页面内容', + `is_body` tinyint(1) comment '根元素是否是body', + `parent_id` int not null comment '父文件夹id', + `group` varchar(255) comment '分组', + `depth` int comment '页面/文件夹深度,更改层级时服务端校验用(校验可有可无)', + `is_page` tinyint(1) not null comment '是否为页面:分为页面和文件夹', + `is_default` tinyint(1) not null comment '是否是默认页面', + `message` varchar(255) comment '历史记录消息描述', + `is_home` tinyint(1) not null default 0 comment '是否首页', + `content_blocks` longtext comment '设计预留字段', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `is_published` tinyint(1) not null comment '是否发布', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree +) engine = innodb comment = '页面历史表'; + +drop table if exists `t_page_template`; + +create table `t_page_template` +( + `id` int not null auto_increment comment '主键id', + `name` varchar(255) not null comment '名称', + `page_content` longtext comment '模板页面内容,存储页面内容、数据等', + `framework` varchar(255) not null comment '技术栈', + `published` tinyint(1) comment '是否发布:1是,0否', + `public` tinyint(1) comment '公开状态:0,1,2', + `type` varchar(255) not null comment '模板类型', + `status` varchar(255) not null comment '模板状态', + `is_preset` tinyint(1) comment '设计预留字段', + `image_url` longtext comment '封面图地址', + `description` varchar(2000) comment '描述', + `platform_id` int not null comment '设计器id', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree +) engine = innodb comment = '页面模板表'; + +drop table if exists `t_component`; + +create table `t_component` +( + `id` int not null auto_increment comment '主键id', + `version` varchar(255) not null comment '版本', + `name` varchar(255) not null comment '中文名称', + `name_en` varchar(255) not null comment '英文名称', + `icon` varchar(255) comment '图标', + `description` varchar(2000) comment '描述', + `doc_url` varchar(255) comment '文档链接', + `screenshot` varchar(255) comment '缩略图', + `tags` varchar(255) comment '标签', + `keywords` varchar(255) comment '关键字', + `dev_mode` varchar(255) not null comment '研发模式', + `npm` longtext not null comment 'npm对象属性', + `group` varchar(255) comment '分组', + `category` varchar(255) comment '分类', + `priority` int comment '排序', + `snippets` longtext comment 'schema片段', + `schema_fragment` longtext comment 'schema片段', + `configure` longtext comment '配置信息', + `public` int comment '公开状态:0,1,2', + `framework` varchar(255) not null comment '技术栈', + `is_official` tinyint(1) comment '是否是官方', + `is_default` tinyint(1) comment '是否是默认', + `tiny_reserved` tinyint(1) comment '是否是tiny自有', + `component_metadata` longtext comment '属性信息', + `library_id` int comment '设计预留字段', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_component` (`tenant_id`, `name_en`, `version`) using btree +) engine = innodb comment = '组件表'; + +drop table if exists `r_material_category`; + +create table `r_material_category` +( + `id` int not null auto_increment comment '主键id', + `material_id` int not null comment '物料包id', + `category_id` int not null comment '业务分类id', + primary key (`id`) using btree +) engine = innodb comment = '物料包业务分类关系表'; + +drop table if exists `r_material_history_block`; + +create table `r_material_history_block` +( + `id` int not null auto_increment comment '主键id', + `material_history_id` int not null comment '物料包历史id', + `block_history_id` int not null comment '区块历史id', + primary key (`id`) using btree +) engine = innodb comment = '物料包历史区块关系表'; + +drop table if exists `r_material_history_component`; + +create table `r_material_history_component` +( + `id` int not null auto_increment comment '主键id', + `material_history_id` int not null comment '物料包历史id', + `component_id` int not null comment '组件id', + primary key (`id`) using btree +) engine = innodb comment = '物料包历史组件关系表'; + +drop table if exists `r_material_component`; + +create table `r_material_component` +( + `id` int not null auto_increment comment '主键id', + `material_id` int not null comment '物料包id', + `component_id` int not null comment '组件id', + primary key (`id`) using btree +) engine = innodb comment = '物料包组件编辑态关系表'; + +drop table if exists `r_material_block`; + +create table `r_material_block` +( + `id` int not null auto_increment comment '主键id', + `material_id` int not null comment '物料包id', + `block_id` int not null comment '区块id', + primary key (`id`) using btree +) engine = innodb comment = '物料包区块编辑态关系表'; + +drop table if exists `t_i18n_entry`; + +create table `t_i18n_entry` +( + `id` int not null auto_increment comment '主键id', + `key` varchar(255) not null comment '国际化词条key', + `content` varchar(3000) not null comment '词条内容', + `host_id` int not null comment '关联的hostid: appid或blockid', + `host_type` varchar(255) not null comment 'app或者block', + `lang_id` int comment '关联语言id', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_i18n_entity` (`key`, `host_id`, `host_type`,`lang_id`) using btree +) engine = innodb comment = '国际化语言配置表'; + +drop table if exists `t_i18n_lang`; + +create table `t_i18n_lang` +( + `id` int not null auto_increment comment '主键id', + `lang` varchar(255) not null comment '语言代码', + `label` varchar(255) not null comment '语言', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_18n_lang` (`lang`) using btree +) engine = innodb comment = '国际化语言表,全局'; + +drop table if exists `t_datasource`; + +create table `t_datasource` +( + `id` int not null auto_increment comment '主键id', + `name` varchar(255) not null comment '数据源名称', + `data` longtext comment '数据源内容', + `tpl` int comment '设计预留字段', + `app_id` int comment '关联appId', + `platform_id` int comment '关联设计器id', + `description` varchar(2000) comment '描述', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_datasource` (`tenant_id`, `platform_id`, `name`) using btree +) engine = innodb comment = '数据源表'; + +drop table if exists `t_task_record`; + +create table `t_task_record` +( + `id` int not null auto_increment comment '主键id', + `team_id` int comment '团队id, 默认0', + `task_type` int comment '任务类型: 1 assets_build / 2 app_build / 3 platform_build / 4 vscode_plugin_build/5 block_build', + `build_id` int comment '构建资源id', + `task_name` varchar(255) comment '构建任务名称', + `task_status` int comment '任务状态:0 init / 1 running / 2 stopped / 3 finished', + `task_result` longtext comment '当前执行进度结果信息', + `progress` varchar(255) comment '当前进行的子任务名', + `ratio` int comment '无用字段', + `progress_percent` int comment '构建进度百分比数', + `indicator` longtext comment '构建指标', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree +) engine = innodb comment = '构建任务表'; + +drop table if exists `t_tenant`; + +create table `t_tenant` +( + `id` int not null auto_increment comment '主键id', + `org_code` varchar(255) comment '组织唯一代码', + `name_cn` varchar(255) not null comment '组织中文名', + `name_en` varchar(255) comment '组织英文名', + `description` varchar(2000) comment '组织描述', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_tenant` (`name_cn`) using btree +) engine = innodb comment = '租户表'; + +drop table if exists `t_user`; + +create table `t_user` +( + `id` int not null auto_increment comment '主键id', + `username` varchar(255) not null comment '用户名', + `email` varchar(255) not null comment '邮箱', + `role` varchar(255) comment '用户角色', + `enable` tinyint(1) comment '账号是否可用', + `is_admin` tinyint(1) comment '是否管理员', + `is_public` tinyint(1) comment '是否公共账号', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_user` (`username`) using btree +) engine = innodb comment = '用户表'; + +drop table if exists `t_block_carriers_relation`; + +create table `t_block_carriers_relation` +( + `id` int not null auto_increment comment '主键id', + `block_id` int not null comment '区块id', + `host_id` int not null comment '类型id', + `host_type` varchar(60) comment '类型:blockGroup,materialHistory', + `version` varchar(60) not null comment '区块当前使用版本', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_block_carriers_relation` (`host_id`, `host_type`, `block_id`) using btree +) engine = innodb comment = '区块分组与区块历史版本'; + +drop table if exists `r_block_group_block`; + +create table `r_block_group_block` +( + `id` int not null auto_increment comment '主键id', + `block_id` int not null comment '区块id', + `block_group_id` int not null comment '区块分组id', + primary key (`id`) using btree, + unique index `u_idx_block_group_block` (block_id, block_group_id) using btree +) engine = innodb comment = '区块分组和区块关系表'; + +drop table if exists `t_component_library`; + +create table `t_component_library` +( + `id` int not null auto_increment comment '主键id', + `version` varchar(255) not null comment '版本', + `name` varchar(255) not null comment '名称', + `app_id` int comment '关联应用id', + `package` varchar(255) not null comment '包名', + `registry` varchar(255) comment '注册', + `framework` varchar(255) not null comment '技术栈', + `description` varchar(2000) comment '描述', + `script` varchar(255) comment '脚本地址', + `css` varchar(255) comment '样式地址', + `bundle` varchar(255) comment 'bundle.json地址', + `dependencies` longtext comment '依赖', + `others` longtext comment '其他', + `thumbnail` varchar(255) comment '略图', + `public` int comment '公开状态:0,1,2', + `is_started` tinyint(1) comment '是否启用', + `is_official` tinyint(1) comment '是否是官方', + `is_default` tinyint(1) comment '是否是默认', + `tenant_id` varchar(60) comment '租户id', + `renter_id` varchar(60) comment '业务租户id', + `site_id` varchar(60) comment '站点id,设计预留字段', + `created_by` varchar(60) not null comment '创建人', + `created_time` timestamp not null default current_timestamp comment '创建时间', + `last_updated_by` varchar(60) not null comment '最后修改人', + `last_updated_time` timestamp not null default current_timestamp comment '更新时间', + primary key (`id`) using btree, + unique index `u_idx_component_library` (`tenant_id`, `name`, `version`) using btree +) engine = innodb comment = '组件库表'; diff --git a/docker-deploy-data/mysql/init/init_data_for_test_v1.0.0.sql b/docker-deploy-data/mysql/init/init_data_for_test_v1.0.0.sql new file mode 100644 index 00000000..0e38b756 --- /dev/null +++ b/docker-deploy-data/mysql/init/init_data_for_test_v1.0.0.sql @@ -0,0 +1,175 @@ + +INSERT INTO `t_material_history` (`id`, `ref_id`, `version`, `content`, `name`, `npm_name`, `framework`, `assets_url`, `image_url`, `description`, `material_size`, `tgz_url`, `unzip_tgz_root_path_url`, `unzip_tgz_files`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`, `tenant_id`, `site_id`) VALUES (1, 1, '1.0.8', '{}', 'materialstwo', '@opentiny/lowcode-alpha-material-materialstwo-1505', 'Vue', '{\"material\":[\"\"],\"scripts\":[\"\",\"\"],\"styles\":[]}', NULL, '1.0.8', NULL, NULL, NULL, NULL, '1', '1', '2024-10-16 19:28:53', '2024-10-16 19:28:53', '1', '1'); + +INSERT INTO `t_tenant` (`id`, `name_cn`, `name_en`, `description`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`) VALUES (1, 'public', '公共租户', 'Default tenant for new user to explore.', '1', '1', '2024-10-16 19:31:28', '2024-10-16 19:31:28'); + +INSERT INTO `t_app` (`id`, `name`, `app_website`, `platform_id`, `platform_history_id`, `publish_url`, `editor_url`, `visit_url`, `image_url`, `assets_url`, `state`, `published`, `home_page_id`, `css`, `config`, `constants`, `data_handler`, `description`, `latest`, `git_group`, `project_name`, `branch`, `is_demo`, `is_default`, `template_type`, `set_template_time`, `set_template_by`, `set_default_by`, `framework`, `global_state`, `default_lang`, `extend_config`, `data_hash`, `can_associate`, `data_source_global`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`, `tenant_id`, `site_id`) VALUES (1, 'portal-app', NULL, 1, '1', NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, NULL, '{}', NULL, '{\"type\":\"JSFunction\",\"value\":\"function dataHanlder(res){\\n return res;\\n}\"}', 'demo应用', '22', NULL, NULL, 'develop', NULL, NULL, 'serviceDevelop', '2023-11-19 18:14:37', '1', '1', 'Vue', '[{\"id\":\"test2\",\"state\":{\"name1\":\"xxx1\"},\"getters\":{\"count\":{\"type\":\"JSFunction\",\"value\":\"function count() {}\"}},\"actions\":{\"actions\":{\"type\":\"JSFunction\",\"value\":\"function actions() {}\"}}},{\"id\":\"test3\",\"state\":{\"name1\":\"xxx\"},\"getters\":{\"count\":{\"type\":\"JSFunction\",\"value\":\"function count() {}\"}},\"actions\":{\"actions\":{\"type\":\"JSFunction\",\"value\":\"function actions() {}\"}}},{\"id\":\"test4\",\"state\":{\"region\":\"\",\"scenario\":\"all\",\"productId\":\"\",\"planId\":\"\",\"addEvs\":false,\"addHss\":false,\"addCbr\":false,\"period\":{\"value\":1,\"unit\":\"month\"},\"amount\":1},\"getters\":{},\"actions\":{}},{\"id\":\"test1\",\"state\":{\"name1\":\"xxx\"},\"getters\":{\"count\":{\"type\":\"JSFunction\",\"value\":\"function count() {}\"}},\"actions\":{\"actions\":{\"type\":\"JSFunction\",\"value\":\"function actions() {}\"}}}]', NULL, '{\"business\":{\"serviceName\":\"\",\"endpointName\":\"cce\",\"endpointId\":\"ee\",\"serviceId\":\"ee\",\"router\":\"ee\"},\"env\":{\"alpha\":{\"regions\":[{\"name\":\"\",\"baseUrl\":\"\",\"isDefault\":false}],\"isDefault\":true}},\"type\":\"console\"}', '8b0eba6ad055532a586f9f669108fabb', '1', '{\"dataHandler\":{\"type\":\"JSFunction\",\"value\":\"function dataHanlder(res){\\n return res;\\n}\"}}', '1', '1', '2024-10-16 23:27:10', '2024-10-16 23:27:10', '1', '1'); + +INSERT INTO `t_material` (`id`, `name`, `npm_name`, `framework`, `assets_url`, `image_url`, `published`, `latest_version`, `latest_history_id`, `public`, `last_build_info`, `description`, `is_official`, `is_default`, `tiny_reserved`, `component_library_id`, `material_category_id`, `material_size`, `tgz_url`, `unzip_tgz_root_path_url`, `unzip_tgz_files`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`, `tenant_id`, `site_id`) VALUES (1, 'materialstwo', '@opentiny/lowcode-alpha-material-materialstwo-1505', 'Vue', NULL, NULL, NULL, '1.0.8', 1, 1, '{\"version\": \"1.0.8\"}', '物料包', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '2024-10-16 23:37:14', '2024-10-16 23:37:14', '1', '1'); + +INSERT INTO `t_page` (`id`, `name`, `app_id`, `route`, `page_content`, `is_body`, `parent_id`, `group`, `depth`, `is_page`, `occupier_by`, `is_default`, `content_blocks`, `latest_version`, `latest_history_id`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`, `tenant_id`, `site_id`) VALUES (1, 'createVm', 1, 'createVm', '{\"state\":{\"dataDisk\":[1,2,3]},\"methods\":{},\"componentName\":\"Page\",\"css\":\"body {\\r\\n background-color:#eef0f5 ;\\r\\n margin-bottom: 80px;\\r\\n}\",\"props\":{},\"children\":[{\"componentName\":\"div\",\"props\":{\"style\":\"padding-bottom: 10px; padding-top: 10px;\"},\"id\":\"2b2cabf0\",\"children\":[{\"componentName\":\"TinyTimeLine\",\"props\":{\"active\":\"2\",\"data\":[{\"name\":\"基础配置\"},{\"name\":\"网络配置\"},{\"name\":\"高级配置\"},{\"name\":\"确认配置\"}],\"horizontal\":true,\"style\":\"border-radius: 0px;\"},\"id\":\"dd764b17\"}]},{\"componentName\":\"div\",\"props\":{\"style\":\"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;\"},\"id\":\"30c94cc8\",\"children\":[{\"componentName\":\"TinyForm\",\"props\":{\"labelWidth\":\"80px\",\"labelPosition\":\"top\",\"inline\":false,\"label-position\":\"left \",\"label-width\":\"150px\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyFormItem\",\"props\":{\"label\":\"计费模式\"},\"children\":[{\"componentName\":\"TinyButtonGroup\",\"props\":{\"data\":[{\"text\":\"包年/包月\",\"value\":\"1\"},{\"text\":\"按需计费\",\"value\":\"2\"}],\"modelValue\":\"1\"},\"id\":\"a8d84361\"}],\"id\":\"9f39f3e7\"},{\"componentName\":\"TinyFormItem\",\"props\":{\"label\":\"区域\"},\"children\":[{\"componentName\":\"TinyButtonGroup\",\"props\":{\"data\":[{\"text\":\"乌兰察布二零一\",\"value\":\"1\"}],\"modelValue\":\"1\",\"style\":\"border-radius: 0px; margin-right: 10px;\"},\"id\":\"c97ccd99\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"温馨提示:页面左上角切换区域\",\"style\":\"background-color: [object Event]; color: #8a8e99; font-size: 12px;\"},\"id\":\"20923497\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"不同区域的云服务产品之间内网互不相通;请就近选择靠近您业务的区域,可减少网络时延,提高访问速度\",\"style\":\"display: block; color: #8a8e99; border-radius: 0px; font-size: 12px;\"},\"id\":\"54780a26\"}],\"id\":\"4966384d\"},{\"componentName\":\"TinyFormItem\",\"props\":{\"label\":\"可用区\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyButtonGroup\",\"props\":{\"data\":[{\"text\":\"可用区1\",\"value\":\"1\"},{\"text\":\"可用区2\",\"value\":\"2\"},{\"text\":\"可用区3\",\"value\":\"3\"}],\"modelValue\":\"1\"},\"id\":\"6184481b\"}],\"id\":\"690837bf\"}],\"id\":\"b6a425d4\"}]},{\"componentName\":\"div\",\"props\":{\"style\":\"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;\"},\"children\":[{\"componentName\":\"TinyForm\",\"props\":{\"labelWidth\":\"80px\",\"labelPosition\":\"top\",\"inline\":false,\"label-position\":\"left \",\"label-width\":\"150px\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyFormItem\",\"props\":{\"label\":\"CPU架构\"},\"children\":[{\"componentName\":\"TinyButtonGroup\",\"props\":{\"data\":[{\"text\":\"x86计算\",\"value\":\"1\"},{\"text\":\"鲲鹏计算\",\"value\":\"2\"}],\"modelValue\":\"1\"},\"id\":\"7d33ced7\"}],\"id\":\"05ed5a79\"},{\"componentName\":\"TinyFormItem\",\"props\":{\"label\":\"区域\"},\"children\":[{\"componentName\":\"div\",\"props\":{\"style\":\"display: flex; justify-content: flex-start; align-items: center;\"},\"id\":\"606edf78\",\"children\":[{\"componentName\":\"div\",\"props\":{\"style\":\"display: flex; align-items: center; margin-right: 10px;\"},\"id\":\"f3f98246\",\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"vCPUs\",\"style\":\"width: 80px;\"},\"id\":\"c287437e\"},{\"componentName\":\"TinySelect\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请选择\",\"options\":[{\"value\":\"1\",\"label\":\"黄金糕\"},{\"value\":\"2\",\"label\":\"双皮奶\"}]},\"id\":\"4c43286b\"}]},{\"componentName\":\"div\",\"props\":{\"style\":\"display: flex; align-items: center; margin-right: 10px;\"},\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"内存\",\"style\":\"width: 80px; border-radius: 0px;\"},\"id\":\"38b8fa1f\"},{\"componentName\":\"TinySelect\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请选择\",\"options\":[{\"value\":\"1\",\"label\":\"黄金糕\"},{\"value\":\"2\",\"label\":\"双皮奶\"}]},\"id\":\"cd33328e\"}],\"id\":\"2b2c678f\"},{\"componentName\":\"div\",\"props\":{\"style\":\"display: flex; align-items: center;\"},\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"规格名称\",\"style\":\"width: 80px;\"},\"id\":\"d3eb6352\"},{\"componentName\":\"TinySearch\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"输入关键词\"},\"id\":\"21cb9282\"}],\"id\":\"b8e0f35c\"}]},{\"componentName\":\"div\",\"props\":{\"style\":\"border-radius: 0px;\"},\"id\":\"5000c83e\",\"children\":[{\"componentName\":\"TinyButtonGroup\",\"props\":{\"data\":[{\"text\":\"通用计算型\",\"value\":\"1\"},{\"text\":\"通用计算增强型\",\"value\":\"2\"},{\"text\":\"内存优化型\",\"value\":\"3\"},{\"text\":\"内存优化型\",\"value\":\"4\"},{\"text\":\"磁盘增强型\",\"value\":\"5\"},{\"text\":\"超高I/O型\",\"value\":\"6\"},{\"text\":\"GPU加速型\",\"value\":\"7\"}],\"modelValue\":\"1\",\"style\":\"border-radius: 0px; margin-top: 12px;\"},\"id\":\"b8724703\"},{\"componentName\":\"TinyGrid\",\"props\":{\"editConfig\":{\"trigger\":\"click\",\"mode\":\"cell\",\"showStatus\":true},\"columns\":[{\"type\":\"radio\",\"width\":60},{\"field\":\"employees\",\"title\":\"规格名称\"},{\"field\":\"created_date\",\"title\":\"vCPUs | 内存(GiB)\",\"sortable\":true},{\"field\":\"city\",\"title\":\"CPU\",\"sortable\":true},{\"title\":\"基准 / 最大带宽\\t\",\"sortable\":true},{\"title\":\"内网收发包\",\"sortable\":true}],\"data\":[{\"id\":\"1\",\"name\":\"GFD科技有限公司\",\"city\":\"福州\",\"employees\":800,\"created_date\":\"2014-04-30 00:56:00\",\"boole\":false},{\"id\":\"2\",\"name\":\"WWW科技有限公司\",\"city\":\"深圳\",\"employees\":300,\"created_date\":\"2016-07-08 12:36:22\",\"boole\":true}],\"style\":\"margin-top: 12px; border-radius: 0px;\",\"auto-resize\":true},\"id\":\"77701c25\"},{\"componentName\":\"div\",\"props\":{\"style\":\"margin-top: 12px; border-radius: 0px;\"},\"id\":\"3339838b\",\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"当前规格\",\"style\":\"width: 150px; display: inline-block;\"},\"id\":\"203b012b\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"通用计算型 | Si2.large.2 | 2vCPUs | 4 GiB\",\"style\":\"font-weight: 700;\"},\"id\":\"87723f52\"}]}]}],\"id\":\"657fb2fc\"}],\"id\":\"d19b15cf\"}],\"id\":\"9991228b\"},{\"componentName\":\"div\",\"props\":{\"style\":\"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;\"},\"children\":[{\"componentName\":\"TinyForm\",\"props\":{\"labelWidth\":\"80px\",\"labelPosition\":\"top\",\"inline\":false,\"label-position\":\"left \",\"label-width\":\"150px\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyFormItem\",\"props\":{\"label\":\"镜像\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyButtonGroup\",\"props\":{\"data\":[{\"text\":\"公共镜像\",\"value\":\"1\"},{\"text\":\"私有镜像\",\"value\":\"2\"},{\"text\":\"共享镜像\",\"value\":\"3\"}],\"modelValue\":\"1\"},\"id\":\"922b14cb\"},{\"componentName\":\"div\",\"props\":{\"style\":\"display: flex; margin-top: 12px; border-radius: 0px;\"},\"id\":\"6b679524\",\"children\":[{\"componentName\":\"TinySelect\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请选择\",\"options\":[{\"value\":\"1\",\"label\":\"黄金糕\"},{\"value\":\"2\",\"label\":\"双皮奶\"}],\"style\":\"width: 170px; margin-right: 10px;\"},\"id\":\"4851fff7\"},{\"componentName\":\"TinySelect\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请选择\",\"options\":[{\"value\":\"1\",\"label\":\"黄金糕\"},{\"value\":\"2\",\"label\":\"双皮奶\"}],\"style\":\"width: 340px;\"},\"id\":\"a7183eb7\"}]},{\"componentName\":\"div\",\"props\":{\"style\":\"margin-top: 12px;\"},\"id\":\"57aee314\",\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"请注意操作系统的语言类型。\",\"style\":\"color: #e37d29;\"},\"id\":\"56d36c27\"}]}],\"id\":\"e3b02436\"}],\"id\":\"59aebf2b\"}],\"id\":\"87ff7b99\"},{\"componentName\":\"div\",\"props\":{\"style\":\"border-width: 1px; border-style: solid; border-radius: 4px; border-color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; margin-bottom: 10px;\"},\"children\":[{\"componentName\":\"TinyForm\",\"props\":{\"labelWidth\":\"80px\",\"labelPosition\":\"top\",\"inline\":false,\"label-position\":\"left \",\"label-width\":\"150px\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyFormItem\",\"props\":{\"label\":\"系统盘\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"div\",\"props\":{\"style\":\"display: flex;\"},\"id\":\"cddba5b8\",\"children\":[{\"componentName\":\"TinySelect\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请选择\",\"options\":[{\"value\":\"1\",\"label\":\"黄金糕\"},{\"value\":\"2\",\"label\":\"双皮奶\"}],\"style\":\"width: 200px; margin-right: 10px;\"},\"id\":\"a97fbe15\"},{\"componentName\":\"TinyInput\",\"props\":{\"placeholder\":\"请输入\",\"modelValue\":\"\",\"style\":\"width: 120px; margin-right: 10px;\"},\"id\":\"1cde4c0f\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"GiB \\nIOPS上限240,IOPS突发上限5,000\",\"style\":\"color: #575d6c; font-size: 12px;\"},\"id\":\"2815d82d\"}]}],\"id\":\"50239a3a\"}],\"id\":\"e8582986\"},{\"componentName\":\"TinyForm\",\"props\":{\"labelWidth\":\"80px\",\"labelPosition\":\"top\",\"inline\":false,\"label-position\":\"left \",\"label-width\":\"150px\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyFormItem\",\"props\":{\"label\":\"数据盘\",\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"div\",\"props\":{\"style\":\"margin-top: 12px; display: flex;\"},\"id\":\"728c9825\",\"children\":[{\"componentName\":\"Icon\",\"props\":{\"style\":\"margin-right: 10px; width: 16px; height: 16px;\",\"name\":\"IconPanelMini\"},\"id\":\"fded6930\"},{\"componentName\":\"TinySelect\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请选择\",\"options\":[{\"value\":\"1\",\"label\":\"黄金糕\"},{\"value\":\"2\",\"label\":\"双皮奶\"}],\"style\":\"width: 200px; margin-right: 10px;\"},\"id\":\"62734e3f\"},{\"componentName\":\"TinyInput\",\"props\":{\"placeholder\":\"请输入\",\"modelValue\":\"\",\"style\":\"width: 120px; margin-right: 10px;\"},\"id\":\"667c7926\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"GiB \\nIOPS上限600,IOPS突发上限5,000\",\"style\":\"color: #575d6c; font-size: 12px; margin-right: 10px;\"},\"id\":\"e7bc36d6\"},{\"componentName\":\"TinyInput\",\"props\":{\"placeholder\":\"请输入\",\"modelValue\":\"\",\"style\":\"width: 120px;\"},\"id\":\"1bd56dc0\"}],\"loop\":{\"type\":\"JSExpression\",\"value\":\"this.state.dataDisk\"}},{\"componentName\":\"div\",\"props\":{\"style\":\"display: flex; margin-top: 12px; border-radius: 0px;\"},\"children\":[{\"componentName\":\"Icon\",\"props\":{\"name\":\"IconPlus\",\"style\":\"width: 16px; height: 16px; margin-right: 10px;\"},\"id\":\"65c89f2b\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"增加一块数据盘\",\"style\":\"font-size: 12px; border-radius: 0px; margin-right: 10px;\"},\"id\":\"cb344071\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"您还可以挂载 21 块磁盘(云硬盘)\",\"style\":\"color: #8a8e99; font-size: 12px;\"},\"id\":\"80eea996\"}],\"id\":\"e9e530ab\"}],\"id\":\"078e03ef\"}],\"id\":\"ccef886e\"}],\"id\":\"0fb7bd74\"},{\"componentName\":\"div\",\"props\":{\"style\":\"border-width: 1px; border-style: solid; border-color: #ffffff; padding-top: 10px; padding-left: 10px; padding-right: 10px; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px; background-color: #fff; position: fixed; inset: auto 0% 0% 0%; height: 80px; line-height: 80px; border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyForm\",\"props\":{\"labelWidth\":\"80px\",\"labelPosition\":\"top\",\"inline\":false,\"label-position\":\"left \",\"label-width\":\"150px\",\"style\":\"border-radius: 0px;\"},\"children\":[],\"id\":\"21ed4475\"},{\"componentName\":\"TinyRow\",\"props\":{\"style\":\"border-radius: 0px; height: 100%;\"},\"children\":[{\"componentName\":\"TinyCol\",\"props\":{\"span\":\"8\"},\"id\":\"b9d051a5\",\"children\":[{\"componentName\":\"TinyRow\",\"props\":{\"style\":\"border-radius: 0px;\"},\"children\":[{\"componentName\":\"TinyCol\",\"props\":{\"span\":\"5\",\"style\":\"display: flex;\"},\"id\":\"02352776\",\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"购买量\",\"style\":\"margin-right: 10px;\"},\"id\":\"0cd9ed5c\"},{\"componentName\":\"TinyInput\",\"props\":{\"placeholder\":\"请输入\",\"modelValue\":\"\",\"style\":\"width: 120px; margin-right: 10px;\"},\"id\":\"2f9cf442\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"台\"},\"id\":\"facd4481\"}]},{\"componentName\":\"TinyCol\",\"props\":{\"span\":\"7\"},\"id\":\"82b6c659\",\"children\":[{\"componentName\":\"div\",\"props\":{},\"id\":\"9cd65874\",\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"配置费用\",\"style\":\"font-size: 12px;\"},\"id\":\"b5a0a0da\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"¥1.5776\",\"style\":\"padding-left: 10px; padding-right: 10px; color: #de504e;\"},\"id\":\"d9464214\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"/小时\",\"style\":\"font-size: 12px;\"},\"id\":\"af7cc5e6\"}]},{\"componentName\":\"div\",\"props\":{},\"id\":\"89063830\",\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"参考价格,具体扣费请以账单为准。\",\"style\":\"font-size: 12px; border-radius: 0px;\"},\"id\":\"d8995fbc\"},{\"componentName\":\"Text\",\"props\":{\"text\":\"了解计费详情\",\"style\":\"font-size: 12px; color: #344899;\"},\"id\":\"b383c3e2\"}]}]}],\"id\":\"94fc0e43\"}]},{\"componentName\":\"TinyCol\",\"props\":{\"span\":\"4\",\"style\":\"display: flex; flex-direction: row-reverse; border-radius: 0px; height: 100%; justify-content: flex-start; align-items: center;\"},\"id\":\"10b73009\",\"children\":[{\"componentName\":\"TinyButton\",\"props\":{\"text\":\"下一步: 网络配置\",\"type\":\"danger\",\"style\":\"max-width: unset;\"},\"id\":\"0b584011\"}]}],\"id\":\"d414a473\"}],\"id\":\"e8ec029b\"}],\"fileName\":\"createVM\"}', 0, 0, 'staticPages', 0, 1, '1', 0, NULL, NULL, NULL, '1', '1', '2024-10-16 23:31:48', '2024-10-16 23:31:48', '1', '1'); + +INSERT INTO `t_user` (`id`, `username`, `email`, `enable`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`, `tenant_id`, `site_id`, `is_admin`, `is_public`) VALUES (1, '开发者', 'developer@lowcode.com', NULL, '1', '1', '2024-10-16 23:28:41', '2024-10-16 23:28:41', '1', '1', 1, NULL); + +INSERT INTO `t_i18n_lang` (`id`, `lang`, `label`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`) VALUES (1, 'zh_CN', '简体中文', '1', '1', '2024-10-17 00:01:36', '2024-10-17 00:01:36'); +INSERT INTO `t_i18n_lang` (`id`, `lang`, `label`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`) VALUES (2, 'en_US', '美式英文', '1', '1', '2024-10-17 00:02:03', '2024-10-17 00:02:03'); + +INSERT INTO `t_platform` (`id`, `name`, `published`, `last_build_info`, `description`, `latest_version`, `latest_history_id`, `material_history_id`, `image_url`, `sort_plugins`, `sort_toolbar`, `is_default`, `prettier_opts`, `set_default_by`, `app_extend_config`, `data_hash`, `business_category_id`, `theme_id`, `platform_url`, `vscode_url`, `tenant_id`, `site_id`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`) VALUES (1, 'default', 1, NULL, '专用设计器', '1.0.0', 1, 1, NULL, NULL, NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '1', '1', '2024-11-14 22:17:39', '2024-11-14 22:17:39'); + +INSERT INTO `t_platform_history` (`id`, `ref_id`, `version`, `name`, `publish_url`, `description`, `vscode_url`, `material_history_id`, `sub_count`, `material_pkg_name`, `material_version`, `image_url`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `last_updated_by`, `created_time`, `last_updated_time`) VALUES (1, 1, '1.0.0', 'default', 'http://tinyengine.com', '默认设计器', NULL, 1, 1, '@opentiny/lowcode-alpha-material-materialstwo-1505', '1.0.8', NULL, '1', NULL, '1', '1', '1', '2024-11-14 22:20:25', '2024-11-14 22:20:25'); + +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (1, '2.4.2', '{\"zh_CN\":\"输入框\"}', 'ElInput', 'input', '通过鼠标或键盘输入字符', '', '', '', '', 'proCode', '{\"package\":\"element-plus\",\"exportName\":\"ElInput\"}', '表单组件', 'element-plus', NULL, '[{\"name\":{\"zh_CN\":\"输入框\"},\"icon\":\"input\",\"screenshot\":\"\",\"snippetName\":\"ElInput\",\"schema\":{}}]', '{\"properties\":[{\"name\":\"0\",\"label\":{\"zh_CN\":\"基础属性\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"description\":{\"zh_CN\":\"绑定值\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"尺寸\"}},\"description\":{\"zh_CN\":\"尺寸\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"defaultValue\":\"default\",\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"large\",\"value\":\"large\"},{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"small\",\"value\":\"small\"}]}}},{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"description\":{\"zh_CN\":\"类型\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"placeholder\",\"label\":{\"text\":{\"zh_CN\":\"占位文本\"}},\"description\":{\"zh_CN\":\"输入框占位文本\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"maxlength\",\"label\":{\"text\":{\"zh_CN\":\"最大长度\"}},\"description\":{\"zh_CN\":\"最大输入长度\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"number\",\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"是否禁用\"}},\"description\":{\"zh_CN\":\"是否禁用\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定值改变时触发\"},\"description\":{\"zh_CN\":\"双向绑定值改变时触发\"}},\"onBlur\":{\"label\":{\"zh_CN\":\"输入框失去焦点时触发\"},\"description\":{\"zh_CN\":\"输入框失去焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"}},\"slots\":{\"prefix\":{\"label\":{\"zh_CN\":\"头部内容\"},\"description\":{\"zh_CN\":\"输入框头部内容,只对非 type=\'textarea\' 有效\"}},\"suffix\":{\"label\":{\"zh_CN\":\"尾部内容\"},\"description\":{\"zh_CN\":\"输入框尾部内容,只对非 type=\'textarea\' 有效\"}},\"prepend\":{\"label\":{\"zh_CN\":\"前置内容\"},\"description\":{\"zh_CN\":\"输入框前置内容,只对非 type=\'textarea\' 有效\"}},\"append\":{\"label\":{\"zh_CN\":\"后置内容\"},\"description\":{\"zh_CN\":\"输入框后置内容,只对非 type=\'textarea\' 有效\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"isPopper\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"type\",\"size\"]},\"contextMenu\":{\"actions\":[\"copy\",\"remove\",\"insert\",\"updateAttr\",\"bindEevent\",\"createBlock\"],\"disable\":[]},\"invalidity\":[\"\"],\"clickCapture\":true,\"framework\":\"Vue\"}', 1, 'Vue', 1, 1, 0, NULL, 2, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (2, '2.4.2', '{\"zh_CN\":\"按钮\"}', 'ElButton', 'button', '常用的操作按钮', '', '', '', '', 'proCode', '{\"package\":\"element-plus\",\"exportName\":\"ElButton\"}', '基础组件', 'element-plus', NULL, '[{\"name\":{\"zh_CN\":\"按钮\"},\"icon\":\"button\",\"screenshot\":\"\",\"snippetName\":\"ElButton\",\"schema\":{\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"按钮文本\"}}]}}]', '{\"properties\":[{\"name\":\"0\",\"label\":{\"zh_CN\":\"基础属性\"},\"content\":[{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"尺寸\"}},\"description\":{\"zh_CN\":\"尺寸\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"defaultValue\":\"default\",\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"large\",\"value\":\"large\"},{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"small\",\"value\":\"small\"}]}}},{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"description\":{\"zh_CN\":\"类型\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"plain\",\"label\":{\"text\":{\"zh_CN\":\"朴素按钮\"}},\"description\":{\"zh_CN\":\"是否为朴素按钮\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"text\",\"label\":{\"text\":{\"zh_CN\":\"文字按钮\"}},\"description\":{\"zh_CN\":\"是否为文字按钮\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"bg\",\"label\":{\"text\":{\"zh_CN\":\"背景颜色\"}},\"description\":{\"zh_CN\":\"是否显示文字按钮背景颜色\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"link\",\"label\":{\"text\":{\"zh_CN\":\"链接按钮\"}},\"description\":{\"zh_CN\":\"是否为链接按钮\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"round\",\"label\":{\"text\":{\"zh_CN\":\"圆角按钮\"}},\"description\":{\"zh_CN\":\"是否为圆角按钮\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"circle\",\"label\":{\"text\":{\"zh_CN\":\"圆形按钮\"}},\"description\":{\"zh_CN\":\"是否为圆形按钮\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"loading\",\"label\":{\"text\":{\"zh_CN\":\"加载中状态\"}},\"description\":{\"zh_CN\":\"是否为加载中状态\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"description\":{\"zh_CN\":\"是否禁用\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{},\"slots\":{\"default\":{\"label\":{\"zh_CN\":\"default\"},\"description\":{\"zh_CN\":\"自定义默认内容\"}},\"loading\":{\"label\":{\"zh_CN\":\"loading\"},\"description\":{\"zh_CN\":\"自定义加载中组件\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"isPopper\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"type\",\"size\"]},\"contextMenu\":{\"actions\":[\"copy\",\"remove\",\"insert\",\"updateAttr\",\"bindEevent\",\"createBlock\"],\"disable\":[]},\"invalidity\":[\"\"],\"clickCapture\":true,\"framework\":\"Vue\"}', 1, 'Vue', 1, 1, 0, NULL, 2, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (3, '2.4.2', '{\"zh_CN\":\"表单\"}', 'ElForm', 'form', '表单包含 输入框, 单选框, 下拉选择, 多选框 等用户输入的组件。 使用表单,您可以收集、验证和提交数据。', '', '', '', '', 'proCode', '{\"package\":\"element-plus\",\"exportName\":\"ElForm\"}', '表单组件', 'element-plus', NULL, '[{\"name\":{\"zh_CN\":\"表单\"},\"icon\":\"form\",\"screenshot\":\"\",\"snippetName\":\"ElForm\",\"schema\":{\"children\":[{\"componentName\":\"ElFormItem\",\"props\":{\"label\":\"账号\",\"prop\":\"account\"},\"children\":[{\"componentName\":\"ElInput\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请输入账号\"}}]},{\"componentName\":\"ElFormItem\",\"props\":{\"label\":\"密码\",\"prop\":\"password\"},\"children\":[{\"componentName\":\"ElInput\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请输入密码\",\"type\":\"password\"}}]},{\"componentName\":\"ElFormItem\",\"props\":{},\"children\":[{\"componentName\":\"ElButton\",\"props\":{\"type\":\"primary\",\"style\":\"margin-right: 10px\"},\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"提交\"}}]},{\"componentName\":\"ElButton\",\"props\":{\"type\":\"primary\"},\"children\":[{\"componentName\":\"Text\",\"props\":{\"text\":\"重置\"}}]}]}]}}]', '{\"properties\":[{\"name\":\"0\",\"label\":{\"zh_CN\":\"基础属性\"},\"content\":[{\"property\":\"model\",\"label\":{\"text\":{\"zh_CN\":\"数据对象\"}},\"description\":{\"zh_CN\":\"表单数据对象\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"top\",\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}}},{\"property\":\"rules\",\"label\":{\"text\":{\"zh_CN\":\"验证规则\"}},\"description\":{\"zh_CN\":\"表单验证规则\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"top\",\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}}},{\"property\":\"inline\",\"label\":{\"text\":{\"zh_CN\":\"行内模式\"}},\"description\":{\"zh_CN\":\"行内表单模式\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"label-position\",\"label\":{\"text\":{\"zh_CN\":\"标签位置\"}},\"description\":{\"zh_CN\":\"表单域标签的位置, 当设置为 left 或 right 时,则也需要设置标签宽度属性\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"defaultValue\":\"right\",\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"right\",\"value\":\"right\"},{\"label\":\"top\",\"value\":\"top\"}]}}},{\"property\":\"label-width\",\"label\":{\"text\":{\"zh_CN\":\"标签宽度\"}},\"description\":{\"zh_CN\":\"标签的长度,例如 \'50px\'。 作为 Form 直接子元素的 form-item 会继承该值。 可以使用 auto。\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"label-suffix\",\"label\":{\"text\":{\"zh_CN\":\"标签后缀\"}},\"description\":{\"zh_CN\":\"表单域标签的后缀\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"hide-required-asterisk\",\"label\":{\"text\":{\"zh_CN\":\"隐藏必填星号\"}},\"description\":{\"zh_CN\":\"是否隐藏必填字段标签旁边的红色星号\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"require-asterisk-position\",\"label\":{\"text\":{\"zh_CN\":\"星号位置\"}},\"description\":{\"zh_CN\":\"星号的位置\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"defaultValue\":\"left\",\"widget\":{\"component\":\"ButtonGroupConfigurator\",\"props\":{\"options\":[{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"right\",\"value\":\"right\"}]}}},{\"property\":\"show-message\",\"label\":{\"text\":{\"zh_CN\":\"显示校验信息\"}},\"description\":{\"zh_CN\":\"是否显示校验错误信息\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":true,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"inline-message\",\"label\":{\"text\":{\"zh_CN\":\"行内显示校验信息\"}},\"description\":{\"zh_CN\":\"是否以行内形式展示校验信息\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"status-icon\",\"label\":{\"text\":{\"zh_CN\":\"显示校验结果图标\"}},\"description\":{\"zh_CN\":\"是否在输入框中显示校验结果反馈图标\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"validate-on-rule-change\",\"label\":{\"text\":{\"zh_CN\":\"触发验证\"}},\"description\":{\"zh_CN\":\"是否在 rules 属性改变后立即触发一次验证\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":true,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"尺寸\"}},\"description\":{\"zh_CN\":\"用于控制该表单内组件的尺寸\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"defaultValue\":\"default\",\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"large\",\"value\":\"large\"},{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"small\",\"value\":\"small\"}]}}},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"description\":{\"zh_CN\":\"是否禁用该表单内的所有组件。 如果设置为 true, 它将覆盖内部组件的 disabled 属性\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"scroll-to-error\",\"label\":{\"text\":{\"zh_CN\":\"滚动到错误项\"}},\"description\":{\"zh_CN\":\"当校验失败时,滚动到第一个错误表单项\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"device\":[]}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onValidate\":{\"label\":{\"zh_CN\":\"任一表单项被校验后触发\"},\"description\":{\"zh_CN\":\"任一表单项被校验后触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}},\"slots\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"isPopper\":false,\"nestingRule\":{\"childWhitelist\":[\"ElFormItem\"],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"inline\",\"label-width\"]},\"contextMenu\":{\"actions\":[\"copy\",\"remove\",\"insert\",\"updateAttr\",\"bindEevent\",\"createBlock\"],\"disable\":[]},\"invalidity\":[\"\"],\"clickCapture\":true,\"framework\":\"Vue\"}', 1, 'Vue', 1, 1, 0, NULL, 2, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (4, '2.4.2', '{\"zh_CN\":\"表单子项\"}', 'ElFormItem', 'formItem', '表单包含 输入框, 单选框, 下拉选择, 多选框 等用户输入的组件。 使用表单,您可以收集、验证和提交数据。', '', '', '', '', 'proCode', '{\"package\":\"element-plus\",\"exportName\":\"ElFormItem\"}', '表单组件', 'element-plus', NULL, NULL, '{\"properties\":[{\"name\":\"0\",\"label\":{\"zh_CN\":\"基础属性\"},\"content\":[{\"property\":\"prop\",\"label\":{\"text\":{\"zh_CN\":\"键名\"}},\"description\":{\"zh_CN\":\"model 的键名。 它可以是一个属性的值(如 a.b.0 或 [a\', \'b\', \'0\'])。 在定义了 validate、resetFields 的方法时,该属性是必填的\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"label\",\"label\":{\"text\":{\"zh_CN\":\"标签文本\"}},\"description\":{\"zh_CN\":\"标签文本\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"label-width\",\"label\":{\"text\":{\"zh_CN\":\"标签宽度\"}},\"description\":{\"zh_CN\":\"标签宽度,例如 \'50px\'。 可以使用 auto\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"required\",\"label\":{\"text\":{\"zh_CN\":\"必填项\"}},\"description\":{\"zh_CN\":\"是否为必填项,如不设置,则会根据校验规则确认\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"rules\",\"label\":{\"text\":{\"zh_CN\":\"验证规则\"}},\"description\":{\"zh_CN\":\"表单验证规则, 更多内容可以参考async-validator\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"top\",\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}}},{\"property\":\"error\",\"label\":{\"text\":{\"zh_CN\":\"错误信息\"}},\"description\":{\"zh_CN\":\"表单域验证错误时的提示信息。设置该值会导致表单验证状态变为 error,并显示该错误信息\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"show-message\",\"label\":{\"text\":{\"zh_CN\":\"显示错误信息\"}},\"description\":{\"zh_CN\":\"是否显示校验错误信息\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"inline-message\",\"label\":{\"text\":{\"zh_CN\":\"行内显示错误信息\"}},\"description\":{\"zh_CN\":\"是否在行内显示校验信息\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"尺寸\"}},\"description\":{\"zh_CN\":\"用于控制该表单内组件的尺寸\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"defaultValue\":\"default\",\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"large\",\"value\":\"large\"},{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"small\",\"value\":\"small\"}]}}},{\"property\":\"for\",\"label\":{\"text\":{\"zh_CN\":\"for\"}},\"description\":{\"zh_CN\":\"和原生标签相同能力\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"validate-status\",\"label\":{\"text\":{\"zh_CN\":\"校验状态\"}},\"description\":{\"zh_CN\":\"formItem 校验的状态\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"error\",\"value\":\"error\"},{\"label\":\"validating\",\"value\":\"validating\"},{\"label\":\"success\",\"value\":\"success\"}]}}}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{},\"slots\":{\"label\":{\"label\":{\"zh_CN\":\"label\"},\"description\":{\"zh_CN\":\"标签位置显示的内容\"}},\"error\":{\"label\":{\"zh_CN\":\"error\"},\"description\":{\"zh_CN\":\"验证错误信息的显示内容\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"isPopper\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"inline\",\"label-width\"]},\"contextMenu\":{\"actions\":[\"copy\",\"remove\",\"insert\",\"updateAttr\",\"bindEevent\",\"createBlock\"],\"disable\":[]},\"invalidity\":[\"\"],\"clickCapture\":true,\"framework\":\"Vue\"}', 1, 'Vue', 1, 1, 0, NULL, 2, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (5, '2.4.2', '{\"zh_CN\":\"表单\"}', 'ElTable', 'table', '用于展示多条结构类似的数据, 可对数据进行排序、筛选、对比或其他自定义操作', '', '', '', '', 'proCode', '{\"package\":\"element-plus\",\"exportName\":\"ElTable\"}', '数据展示', 'element-plus', NULL, '[{\"name\":{\"zh_CN\":\"表格\"},\"icon\":\"grid\",\"screenshot\":\"\",\"snippetName\":\"ElTable\",\"schema\":{\"props\":{\"data\":[{\"date\":\"2016-05-03\",\"name\":\"Tom\",\"address\":\"No. 189, Grove St, Los Angeles\"},{\"date\":\"2016-05-02\",\"name\":\"Tom\",\"address\":\"No. 189, Grove St, Los Angeles\"},{\"date\":\"2016-05-04\",\"name\":\"Tom\",\"address\":\"No. 189, Grove St, Los Angeles\"},{\"date\":\"2016-05-01\",\"name\":\"Tom\",\"address\":\"No. 189, Grove St, Los Angeles\"}],\"columns\":[{\"type\":\"index\"},{\"label\":\"Date\",\"prop\":\"date\"},{\"label\":\"Name\",\"prop\":\"name\"},{\"label\":\"Address\",\"prop\":\"address\"}]}}}]', '{\"properties\":[{\"name\":\"0\",\"label\":{\"zh_CN\":\"基础属性\"},\"content\":[{\"property\":\"data\",\"label\":{\"text\":{\"zh_CN\":\"数据\"}},\"description\":{\"zh_CN\":\"显示的数据\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"top\",\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}}},{\"property\":\"columns\",\"label\":{\"text\":{\"zh_CN\":\"表格列配置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"properties\":[{\"label\":{\"zh_CN\":\"默认分组\"},\"content\":[{\"property\":\"type\",\"type\":\"string\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"type\"}},\"description\":{\"text\":{\"zh_CN\":\"对应列的类型。 如果设置了selection则显示多选框; 如果设置了 index 则显示该行的索引(从 1 开始计算); 如果设置了 expand 则显示为一个可展开的按钮\"}},\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"selection\",\"value\":\"selection\"},{\"label\":\"index\",\"value\":\"index\"},{\"label\":\"expand\",\"value\":\"expand\"}]}}},{\"property\":\"index\",\"type\":\"string\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"index\"}},\"description\":{\"text\":{\"zh_CN\":\"如果设置了 type=index,可以通过传递 index 属性来自定义索引\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}}},{\"property\":\"label\",\"type\":\"string\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"label\"}},\"description\":{\"text\":{\"zh_CN\":\"显示的标题\"}},\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"column-key\",\"type\":\"string\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"column-key\"}},\"description\":{\"text\":{\"zh_CN\":\"column 的 key, column 的 key, 如果需要使用 filter-change 事件,则需要此属性标识是哪个 column 的筛选条件\"}},\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"prop\",\"type\":\"string\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"prop\"}},\"description\":{\"text\":{\"zh_CN\":\"字段名称 对应列内容的字段名, 也可以使用 property属性\"}},\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"width\",\"type\":\"number\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"width\"}},\"description\":{\"text\":{\"zh_CN\":\"对应列的宽度\"}},\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}}},{\"property\":\"min-width\",\"type\":\"number\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"min-width\"}},\"description\":{\"text\":{\"zh_CN\":\"对应列的最小宽度, 对应列的最小宽度, 与 width 的区别是 width 是固定的,min-width 会把剩余宽度按比例分配给设置了 min-width 的列\"}},\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}}},{\"property\":\"fixed\",\"type\":\"string\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"fixed\"}},\"description\":{\"text\":{\"zh_CN\":\"列是否固定在左侧或者右侧。 true 表示固定在左侧\"}},\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"right\",\"value\":\"right\"}]}}},{\"property\":\"sortable\",\"type\":\"boolean\",\"labelPosition\":\"left\",\"label\":{\"text\":{\"zh_CN\":\"sortable\"}},\"description\":{\"text\":{\"zh_CN\":\"对应列是否可以排序\"}},\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"sort-method\",\"type\":\"function\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"sort-method\"}},\"description\":{\"text\":{\"zh_CN\":\"指定数据按照哪个属性进行排序,仅当sortable设置为true的时候有效。 应该如同 Array.sort 那样返回一个 Number\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}}},{\"property\":\"sort-by\",\"type\":\"array\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"sort-by\"}},\"description\":{\"text\":{\"zh_CN\":\"指定数据按照哪个属性进行排序,仅当 sortable 设置为 true 且没有设置 sort-method 的时候有效。 如果 sort-by 为数组,则先按照第 1 个属性排序,如果第 1 个相等,再按照第 2 个排序,以此类推\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}}},{\"property\":\"sort-orders\",\"type\":\"array\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"sort-orders\"}},\"description\":{\"text\":{\"zh_CN\":\"数据在排序时所使用排序策略的轮转顺序,仅当 sortable 为 true 时有效。 需传入一个数组,随着用户点击表头,该列依次按照数组中元素的顺序进行排序\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}}},{\"property\":\"resizable\",\"type\":\"boolean\",\"labelPosition\":\"left\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"resizable\"}},\"description\":{\"text\":{\"zh_CN\":\"对应列是否可以通过拖动改变宽度(需要在 el-table 上设置 border 属性为真)\"}},\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"formatter\",\"type\":\"function\",\"labelPosition\":\"top\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"formatter\"}},\"description\":{\"text\":{\"zh_CN\":\"用来格式化内容\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"dataType\":\"JSFunction\"}}},{\"property\":\"show-overflow-tooltip\",\"type\":\"boolean\",\"labelPosition\":\"left\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"show-overflow-tooltip\"}},\"description\":{\"text\":{\"zh_CN\":\"当内容过长被隐藏时显示 tooltip\"}},\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"align\",\"type\":\"string\",\"labelPosition\":\"top\",\"defaultValue\":\"left\",\"label\":{\"text\":{\"zh_CN\":\"align\"}},\"description\":{\"text\":{\"zh_CN\":\"对齐方式\"}},\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"center\",\"value\":\"center\"},{\"label\":\"right\",\"value\":\"right\"}]}}},{\"property\":\"header-align\",\"type\":\"string\",\"labelPosition\":\"top\",\"defaultValue\":\"left\",\"label\":{\"text\":{\"zh_CN\":\"header-align\"}},\"description\":{\"text\":{\"zh_CN\":\"表头对齐方式, 若不设置该项,则使用表格的对齐方式\"}},\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"center\",\"value\":\"center\"},{\"label\":\"right\",\"value\":\"right\"}]}}},{\"property\":\"class-name\",\"type\":\"string\",\"labelPosition\":\"top\",\"defaultValue\":\"left\",\"label\":{\"text\":{\"zh_CN\":\"class-name\"}},\"description\":{\"text\":{\"zh_CN\":\"列的 className\"}},\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"label-class-name\",\"type\":\"string\",\"labelPosition\":\"top\",\"defaultValue\":\"left\",\"label\":{\"text\":{\"zh_CN\":\"label-class-name\"}},\"description\":{\"text\":{\"zh_CN\":\"当前列标题的自定义类名\"}},\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"selectable\",\"type\":\"function\",\"labelPosition\":\"top\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"selectable\"}},\"description\":{\"text\":{\"zh_CN\":\"仅对 type=selection 的列有效,类型为 Function,Function 的返回值用来决定这一行的 CheckBox 是否可以勾选\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}}},{\"property\":\"reserve-selection\",\"type\":\"boolean\",\"labelPosition\":\"left\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"reserve-selection\"}},\"description\":{\"text\":{\"zh_CN\":\"数据刷新后是否保留选项,仅对 type=selection 的列有效, 请注意, 需指定 row-key 来让这个功能生效。\"}},\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"filters\",\"type\":\"array\",\"labelPosition\":\"top\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"filters\"}},\"description\":{\"text\":{\"zh_CN\":\"数据刷新后是否保留选项,仅对 type=selection 的列有效, 请注意, 需指定 row-key 来让这个功能生效。\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}}},{\"property\":\"filter-placement\",\"type\":\"string\",\"labelPosition\":\"top\",\"label\":{\"text\":{\"zh_CN\":\"filter-placement\"}},\"description\":{\"text\":{\"zh_CN\":\"过滤弹出框的定位\"}},\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"filter-multiple\",\"type\":\"string\",\"labelPosition\":\"left\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"filter-multiple\"}},\"description\":{\"text\":{\"zh_CN\":\"数据过滤的选项是否多选\"}},\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"filter-method\",\"type\":\"function\",\"labelPosition\":\"top\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"filter-method\"}},\"description\":{\"text\":{\"zh_CN\":\"数据过滤使用的方法, 如果是多选的筛选项,对每一条数据会执行多次,任意一次返回 true 就会显示\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}}},{\"property\":\"filtered-value\",\"type\":\"array\",\"labelPosition\":\"top\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"filtered-value\"}},\"description\":{\"text\":{\"zh_CN\":\"选中的数据过滤项,如果需要自定义表头过滤的渲染方式,可能会需要此属性\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}}}]}],\"widget\":{\"component\":\"TableColumnsConfigurator\",\"props\":{\"type\":\"object\",\"textField\":\"label\",\"language\":\"json\",\"buttonText\":\"编辑列配置\",\"title\":\"编辑列配置\",\"expand\":true}},\"description\":{\"zh_CN\":\"表格列的配置信息\"},\"labelPosition\":\"top\"},{\"property\":\"max-height\",\"label\":{\"text\":{\"zh_CN\":\"最大高度\"}},\"description\":{\"zh_CN\":\"Table 的最大高度。\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"number\",\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"height\",\"label\":{\"text\":{\"zh_CN\":\"表格高度\"}},\"description\":{\"zh_CN\":\"Table 的高度, 默认为自动高度。 这个高度会设置为 Table 的 style.height 的值,Table 的高度会受控于外部样式。\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"stripe\",\"label\":{\"text\":{\"zh_CN\":\"斑马纹\"}},\"description\":{\"zh_CN\":\"是否为斑马纹 table\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"border\",\"label\":{\"text\":{\"zh_CN\":\"纵向边框\"}},\"description\":{\"zh_CN\":\"是否带有纵向边框\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"表格尺寸\"}},\"description\":{\"zh_CN\":\"Table 的尺寸\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"type\":\"string\",\"defaultValue\":\"default\",\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"large\",\"value\":\"large\"},{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"small\",\"value\":\"small\"}]}}},{\"property\":\"fit\",\"label\":{\"text\":{\"zh_CN\":\"列宽自撑开\"}},\"description\":{\"zh_CN\":\"列的宽度是否自撑开\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":true,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"show-header\",\"label\":{\"text\":{\"zh_CN\":\"显示表头\"}},\"description\":{\"zh_CN\":\"是否显示表头\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":true,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"highlight-current-row\",\"label\":{\"text\":{\"zh_CN\":\"高亮当前行\"}},\"description\":{\"zh_CN\":\"是否要高亮当前行\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"current-row-key\",\"label\":{\"text\":{\"zh_CN\":\"当前行的 key\"}},\"description\":{\"zh_CN\":\"当前行的 key,只写属性\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"top\",\"type\":\"string\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"row-class-name\",\"label\":{\"text\":{\"zh_CN\":\"行的类名\"}},\"description\":{\"zh_CN\":\"行的 className\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"row-key\",\"label\":{\"text\":{\"zh_CN\":\"行数据的 Key\"}},\"description\":{\"zh_CN\":\"行数据的 Key,用来优化 Table 的渲染; 在使用reserve-selection功能与显示树形数据时,该属性是必填的。 类型为 String 时,支持多层访问:user.info.id,但不支持 user.info[0].id,此种情况请使用 Function\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"top\",\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"empty-text\",\"label\":{\"text\":{\"zh_CN\":\"空数据文本\"}},\"description\":{\"zh_CN\":\"空数据时显示的文本内容\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"device\":[]},{\"property\":\"table-layout\",\"label\":{\"text\":{\"zh_CN\":\"表格布局方式\"}},\"description\":{\"zh_CN\":\"设置表格单元、行和列的布局方式\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"top\",\"defaultValue\":\"fixed\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"options\":[{\"label\":\"fixed\",\"value\":\"fixed\"},{\"label\":\"auto\",\"value\":\"auto\"}]}},\"device\":[]},{\"property\":\"scrollbar-always-on\",\"label\":{\"text\":{\"zh_CN\":\"显示滚动条\"}},\"description\":{\"zh_CN\":\"总是显示滚动条\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}},{\"property\":\"flexible\",\"label\":{\"text\":{\"zh_CN\":\"主轴最小尺寸\"}},\"description\":{\"zh_CN\":\"确保主轴的最小尺寸,以便不超过内容\"},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"labelPosition\":\"left\",\"defaultValue\":false,\"type\":\"boolean\",\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}}}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onSelect\":{\"label\":{\"zh_CN\":\"勾选数据行的 Checkbox 时触发\"},\"description\":{\"zh_CN\":\"当用户手动勾选数据行的 Checkbox 时触发的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"selection\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前选中项\"}},{\"name\":\"row\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前行\"}}],\"returns\":{}}},\"onSelectAll\":{\"label\":{\"zh_CN\":\"勾选全选时触发\"},\"description\":{\"zh_CN\":\"当用户手动勾选全选 Checkbox 时触发的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"selection\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前选中项\"}}],\"returns\":{}}},\"onSelectionChange\":{\"label\":{\"zh_CN\":\"选择项发生变化时会触发\"},\"description\":{\"zh_CN\":\"当选择项发生变化时会触发该事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"selection\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前选中项\"}}],\"returns\":{}}},\"onCellMouseEnter\":{\"label\":{\"zh_CN\":\"单元格 hover 时会触发\"},\"description\":{\"zh_CN\":\"当单元格 hover 进入时会触发该事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"row\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前行\"}},{\"name\":\"column\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前列\"}},{\"name\":\"cell\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前单元格\"}},{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生事件 event\"}}],\"returns\":{}}},\"onCellMouseLeave\":{\"label\":{\"zh_CN\":\"单元格 hover 退出时会触发\"},\"description\":{\"zh_CN\":\"当单元格 hover 退出时会触发该事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"row\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前行\"}},{\"name\":\"column\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前列\"}},{\"name\":\"cell\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前单元格\"}},{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生事件 event\"}}],\"returns\":{}}}},\"slots\":{\"empty\":{\"label\":{\"zh_CN\":\"empty\"},\"description\":{\"zh_CN\":\"当数据为空时自定义的内容\"}},\"append\":{\"label\":{\"zh_CN\":\"append\"},\"description\":{\"zh_CN\":\"插入至表格最后一行之后的内容, 如果需要对表格的内容进行无限滚动操作,可能需要用到这个 slot。 若表格有合计行,该 slot 会位于合计行之上。\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"isPopper\":false,\"nestingRule\":{\"childWhitelist\":[\"ElTableColumn\"],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"inline\",\"label-width\"]},\"contextMenu\":{\"actions\":[\"copy\",\"remove\",\"insert\",\"updateAttr\",\"bindEevent\",\"createBlock\"],\"disable\":[]},\"invalidity\":[\"\"],\"clickCapture\":true,\"framework\":\"Vue\"}', 1, 'Vue', 1, 1, 0, NULL, 2, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (6, '2.4.2', '{\"zh_CN\":\"表单\"}', 'ElTableColumn', 'table', '用于展示多条结构类似的数据, 可对数据进行排序、筛选、对比或其他自定义操作', '', '', '', '', 'proCode', '{\"package\":\"element-plus\",\"exportName\":\"ElTableColumn\"}', '表单组件', 'element-plus', NULL, NULL, '{\"properties\":[{\"name\":\"0\",\"label\":{\"zh_CN\":\"基础属性\"},\"content\":[],\"description\":{\"zh_CN\":\"\"}}],\"events\":{},\"slots\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"isPopper\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"inline\",\"label-width\"]},\"contextMenu\":{\"actions\":[\"copy\",\"remove\",\"insert\",\"updateAttr\",\"bindEevent\",\"createBlock\"],\"disable\":[]},\"invalidity\":[\"\"],\"clickCapture\":true,\"framework\":\"Vue\"}', 1, 'Vue', 1, 1, 0, NULL, 2, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (7, '3.20.0', '{\"zh_CN\":\"走马灯子项\"}', 'TinyCarouselItem', 'carouselitem', '常用于一组图片或卡片轮播,当内容空间不足时,可以用走马灯的形式进行收纳,进行轮播展现。', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"CarouselItem\"}', 'component', '容器组件', 2, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"name\",\"label\":{\"text\":{\"zh_CN\":\"名称\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"幻灯片的名字,可用作 setActiveItem 的参数\"},\"labelPosition\":\"left\"},{\"property\":\"title\",\"label\":{\"text\":{\"zh_CN\":\"标题\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"幻灯片的标题\"},\"labelPosition\":\"left\"},{\"property\":\"indicator-position\",\"label\":{\"text\":{\"zh_CN\":\"指示器位置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"ButtonGroupConfigurator\",\"props\":{\"options\":[{\"label\":\"outside\",\"value\":\"outside\"},{\"label\":\"none\",\"value\":\"none\"}]}},\"description\":{\"zh_CN\":\"指示器的位置\"},\"labelPosition\":\"left\"}]}],\"events\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\",\"size\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (8, '3.20.0', '{\"zh_CN\":\"走马灯\"}', 'TinyCarousel', 'carousel', '常用于一组图片或卡片轮播,当内容空间不足时,可以用走马灯的形式进行收纳,进行轮播展现。', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Carousel\"}', 'component', '容器组件', 2, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"arrow\",\"label\":{\"text\":{\"zh_CN\":\"箭头显示时机\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"options\":[{\"label\":\"总是显示\",\"value\":\"always\"},{\"label\":\"鼠标悬停时显示\",\"value\":\"hover\"},{\"label\":\"从不显示\",\"value\":\"never\"}]}},\"description\":{\"zh_CN\":\"切换箭头的显示时机\"}},{\"property\":\"autoplay\",\"label\":{\"text\":{\"zh_CN\":\"自动切换\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否自动切换\"},\"labelPosition\":\"left\"},{\"property\":\"tabs\",\"label\":{\"text\":{\"zh_CN\":\"选项卡\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"defaultValue\":\"\",\"cols\":12,\"bindState\":false,\"widget\":{\"component\":\"ContainerConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"tabs 选项卡\"},\"labelPosition\":\"none\"},{\"property\":\"height\",\"label\":{\"text\":{\"zh_CN\":\"高度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"走马灯的高度\"}},{\"property\":\"indicator-position\",\"label\":{\"text\":{\"zh_CN\":\"位置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"options\":[{\"label\":\"走马灯外部\",\"value\":\"outside\"},{\"label\":\"不显示\",\"value\":\"none\"}]}},\"description\":{\"zh_CN\":\"指示器的位置\"}},{\"property\":\"initial-index\",\"label\":{\"text\":{\"zh_CN\":\"初始索引\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"初始状态激活的幻灯片的索引,从 0 开始 \"}},{\"property\":\"interval\",\"label\":{\"text\":{\"zh_CN\":\"自动切换间隔\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"自动切换的时间间隔,单位为毫秒\"}},{\"property\":\"loop\",\"label\":{\"text\":{\"zh_CN\":\"循环显示\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否循环显示\"},\"labelPosition\":\"left\"},{\"property\":\"show-title\",\"label\":{\"text\":{\"zh_CN\":\"显示标题\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示标题\"},\"labelPosition\":\"left\"},{\"property\":\"trigger\",\"label\":{\"text\":{\"zh_CN\":\"触发方式\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"options\":[{\"label\":\"点击\",\"value\":\"click\"},{\"label\":\"悬停\",\"value\":\"hover\"}]}},\"description\":{\"zh_CN\":\"指示器的触发方式,默认为 hover\"}},{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"options\":[{\"label\":\"水平\",\"value\":\"horizontal\"},{\"label\":\"垂直\",\"value\":\"vertical\"},{\"label\":\"卡片\",\"value\":\"card\"}]}},\"description\":{\"zh_CN\":\"走马灯的类型\"}}]}],\"events\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"clickCapture\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[\"TinyCarouselItem\"],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\",\"size\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (9, '3.20.0', '{\"zh_CN\":\"提示框\"}', 'a', 'link', '链接', '', '', '', '', 'proCode', '{}', 'component', 'basic', 7, '[{\"name\":{\"zh_CN\":\"链接\"},\"icon\":\"link\",\"screenshot\":\"\",\"snippetName\":\"a\",\"schema\":{\"componentName\":\"a\",\"children\":\"链接\"}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"children\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlTextConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"类型\"},\"labelPosition\":\"none\"},{\"property\":\"href\",\"label\":{\"text\":{\"zh_CN\":\"链接\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"指定链接的 URL\"},\"labelPosition\":\"left\"},{\"property\":\"target\",\"label\":{\"text\":{\"zh_CN\":\"打开方式\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"ButtonGroupConfigurator\",\"props\":{\"options\":[{\"label\":\"当前页面\",\"value\":\"_self\"},{\"label\":\"打开新页面\",\"value\":\"_blank\"}]}},\"description\":{\"zh_CN\":\"指定链接的打开方式,例如在当前窗口中打开或在新窗口中打开。\"}},{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生属性\"},\"labelPosition\":\"none\"}]}]}', '{\"loop\":true,\"condition\":true,\"slots\":[],\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[]},\"contextMenu\":{\"actions\":[],\"disable\":[]}}', 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (10, '3.20.0', '{\"zh_CN\":\"标题\"}', '[h1, h2, h3, h4, h5, h6]', 'h16', '标题', '', '', '', '', 'proCode', '{}', 'component', 'html', 20, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"children\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlTextConfigurator\",\"props\":{\"showRadioButton\":true}},\"description\":{\"zh_CN\":\"\"},\"labelPosition\":\"none\"},{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"\"},\"labelPosition\":\"none\"}]}],\"events\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\",\"size\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (11, '3.20.0', '{\"zh_CN\":\"段落\"}', 'p', 'paragraph', '段落', '', '', '', '', 'proCode', '{}', 'component', 'basic', 30, '[{\"name\":{\"zh_CN\":\"段落\"},\"icon\":\"paragraph\",\"screenshot\":\"\",\"snippetName\":\"p\",\"schema\":{\"componentName\":\"p\",\"children\":\"TinyEngine 前端可视化设计器致力于通过友好的用户交互提升业务应用的开发效率。\"}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"children\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlTextConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"类型\"},\"labelPosition\":\"none\"},{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生属性\"},\"labelPosition\":\"none\"}]}],\"events\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[]},\"contextMenu\":{\"actions\":[],\"disable\":[]}}', 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (12, '3.20.0', '{\"zh_CN\":\"输入框\"}', 'input', 'input', '输入框', '', '', '', '', 'proCode', '{}', 'component', 'html', 40, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"checkbox\",\"value\":\"checkbox\"},{\"label\":\"color\",\"value\":\"color\"},{\"label\":\"date\",\"value\":\"date\"},{\"label\":\"button\",\"value\":\"button\"},{\"label\":\"email\",\"value\":\"email\"},{\"label\":\"file\",\"value\":\"file\"},{\"label\":\"hidden\",\"value\":\"hidden\"},{\"label\":\"image\",\"value\":\"image\"},{\"label\":\"month\",\"value\":\"month\"},{\"label\":\"number\",\"value\":\"number\"},{\"label\":\"password\",\"value\":\"password\"},{\"label\":\"radio\",\"value\":\"radio\"},{\"label\":\"range\",\"value\":\"range\"},{\"label\":\"reset\",\"value\":\"reset\"},{\"label\":\"search\",\"value\":\"search\"},{\"label\":\"submit\",\"value\":\"submit\"},{\"label\":\"text\",\"value\":\"text\"},{\"label\":\"time\",\"value\":\"time\"},{\"label\":\"week\",\"value\":\"week\"},{\"label\":\"url\",\"value\":\"url\"}]}},\"description\":{\"zh_CN\":\"类型\"}},{\"property\":\"placeholder\",\"label\":{\"text\":{\"zh_CN\":\"占位符\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"占位符\"}},{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生属性\"},\"labelPosition\":\"none\"}]}],\"events\":{\"onBlur\":{\"label\":{\"zh_CN\":\"失去焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 失去焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onFocus\":{\"label\":{\"zh_CN\":\"获取焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 获取焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onChange\":{\"label\":{\"zh_CN\":\"输入值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 输入值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\",\"size\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (13, '3.20.0', '{\"zh_CN\":\"视频\"}', 'video', 'video', '视频', '', '', '', '', 'proCode', '{}', 'component', 'basic', 50, '[{\"name\":{\"zh_CN\":\"视频\"},\"icon\":\"video\",\"screenshot\":\"\",\"snippetName\":\"video\",\"schema\":{\"componentName\":\"video\",\"props\":{\"src\":\"img/webNova.jpg\",\"width\":\"200\",\"height\":\"100\",\"style\":\"border:1px solid #ccc\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"src\",\"label\":{\"text\":{\"zh_CN\":\"资源\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"视频的 URL\"}},{\"property\":\"width\",\"label\":{\"text\":{\"zh_CN\":\"播放器宽度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"视频播放器的宽度\"}},{\"property\":\"height\",\"label\":{\"text\":{\"zh_CN\":\"播放器高度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"视频播放器的高度\"}},{\"property\":\"controls\",\"label\":{\"text\":{\"zh_CN\":\"显示控件\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示控件\"},\"labelPosition\":\"left\"},{\"property\":\"autoplay\",\"label\":{\"text\":{\"zh_CN\":\"马上播放\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否马上播放\"},\"labelPosition\":\"left\"},{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生属性\"},\"labelPosition\":\"none\"}]}],\"events\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[]},\"contextMenu\":{\"actions\":[],\"disable\":[]}}', 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (14, '3.20.0', '{\"zh_CN\":\"Img\"}', 'Img', 'Image', NULL, NULL, '', '', '', 'proCode', '{}', 'component', 'html', 60, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"src\",\"type\":\"string\",\"defaultValue\":\"\",\"bindState\":true,\"label\":{\"text\":{\"zh_CN\":\"资源\"}},\"cols\":12,\"rules\":[],\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"src路径\"}},{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生属性\"},\"labelPosition\":\"none\"}]}],\"events\":{},\"shortcuts\":{\"properties\":[\"src\"]},\"contentMenu\":{\"actions\":[]}}', NULL, 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (15, '3.20.0', '{\"zh_CN\":\"Button\"}', 'button', 'button', NULL, NULL, '', '', '', 'proCode', '{}', 'component', 'html', 70, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生属性\"},\"labelPosition\":\"none\"}]}],\"events\":{\"onClick\":{\"label\":{\"zh_CN\":\"点击时触发\"},\"description\":{\"zh_CN\":\"点击时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}},\"shortcuts\":{\"properties\":[]},\"contentMenu\":{\"actions\":[]}}', '{\"isContainer\":true}', 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (16, '3.20.0', '{\"zh_CN\":\"表格\"}', 'table', 'table', NULL, NULL, '', '', '', 'proCode', '{}', 'component', 'html', 80, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"width\",\"label\":{\"text\":{\"zh_CN\":\"宽度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表格的宽度\"}},{\"property\":\"border\",\"label\":{\"text\":{\"zh_CN\":\"边框宽度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表格边框的宽度\"}},{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生属性\"},\"labelPosition\":\"none\"}]}],\"events\":{\"onClick\":{\"label\":{\"zh_CN\":\"点击时触发\"},\"description\":{\"zh_CN\":\"点击时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}},\"shortcuts\":{\"properties\":[]},\"contentMenu\":{\"actions\":[]}}', NULL, 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (17, '3.20.0', '{\"zh_CN\":\"表格单元格\"}', 'td', 'td', NULL, NULL, '', '', '', 'proCode', '{}', 'component', 'html', 90, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"colspan\",\"label\":{\"text\":{\"zh_CN\":\"合并列\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"单元格可横跨的列数\"}},{\"property\":\"rowspan\",\"label\":{\"text\":{\"zh_CN\":\"合并行\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"单元格可横跨的行数\"}},{\"property\":\"attributes3\",\"label\":{\"text\":{\"zh_CN\":\"原生属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"HtmlAttributesConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生属性\"},\"labelPosition\":\"none\"}]}],\"events\":{\"onClick\":{\"label\":{\"zh_CN\":\"点击时触发\"},\"description\":{\"zh_CN\":\"点击时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}},\"shortcuts\":{\"properties\":[]},\"contentMenu\":{\"actions\":[]}}', NULL, 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (18, '3.20.0', '{\"zh_CN\":\"表单\"}', 'form', 'form', NULL, NULL, '', '', '', 'proCode', '{}', 'component', 'html', 100, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"name\",\"label\":{\"text\":{\"zh_CN\":\"名称\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表单的名称\"}},{\"property\":\"action\",\"label\":{\"text\":{\"zh_CN\":\"提交地址\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"提交表单时向何处发送表单数据\"}},{\"property\":\"method\",\"label\":{\"text\":{\"zh_CN\":\"HTTP方法\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"get\",\"value\":\"get\"},{\"label\":\"post\",\"value\":\"post\"}]}},\"description\":{\"zh_CN\":\"用于发送 form-data 的 HTTP 方法\"}}]}],\"events\":{\"onClick\":{\"label\":{\"zh_CN\":\"点击时触发\"},\"description\":{\"zh_CN\":\"点击时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}},\"shortcuts\":{\"properties\":[]},\"contentMenu\":{\"actions\":[]}}', '{\"isContainer\":true}', 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (19, '3.20.0', '{\"zh_CN\":\"表单标签\"}', 'label', 'label', NULL, NULL, '', '', '', 'proCode', '{}', 'component', 'html', 110, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"for\",\"label\":{\"text\":{\"zh_CN\":\"label绑定表单元素\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"label 绑定到哪个表单元素\"}},{\"property\":\"form\",\"label\":{\"text\":{\"zh_CN\":\"label字段所属表单\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"label 字段所属的一个或多个表单\"}}]}],\"events\":{},\"shortcuts\":{\"properties\":[]},\"contentMenu\":{\"actions\":[]}}', NULL, 1, 'Vue', 1, 1, 0, NULL, NULL, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (20, '3.20.0', '{\"zh_CN\":\"按钮组\"}', 'TinyButtonGroup', 'buttonGroup', '以按钮组的方式出现,常用于多项类似操作', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"ButtonGroup\"}', 'component', 'basic', 2, '[{\"name\":{\"zh_CN\":\"互斥按钮组\"},\"icon\":\"buttons\",\"screenshot\":\"\",\"snippetName\":\"TinyButtonGroup\",\"schema\":{\"componentName\":\"TinyButtonGroup\",\"props\":{\"data\":[{\"text\":\"Button1\",\"value\":\"1\"},{\"text\":\"Button2\",\"value\":\"2\"},{\"text\":\"Button3\",\"value\":\"3\"}],\"modelValue\":\"1\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"data\",\"label\":{\"text\":{\"zh_CN\":\"数据\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}},\"description\":{\"zh_CN\":\"配置按钮组数据\"}},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"大小\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"mini\",\"value\":\"mini\"},{\"label\":\"small\",\"value\":\"small\"},{\"label\":\"medium\",\"value\":\"medium\"}]}},\"description\":{\"zh_CN\":\"组件大小\"},\"labelPosition\":\"left\"},{\"property\":\"plain\",\"label\":{\"text\":{\"zh_CN\":\"朴素按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否是朴素按钮\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"}]}],\"events\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\",\"size\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (21, '3.20.0', '{\"zh_CN\":\"row\"}', 'TinyRow', 'row', '定义 Layout 的行配置信息', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Row\"}', 'component', NULL, 5, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"layout\",\"label\":{\"text\":{\"zh_CN\":\"布局\"}},\"cols\":12,\"widget\":{\"component\":\"LayoutGridConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"选择布局方式\"},\"labelPosition\":\"none\"},{\"property\":\"align\",\"label\":{\"text\":{\"zh_CN\":\"子项对齐方式\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"top\",\"value\":\"top\"},{\"label\":\"middle\",\"value\":\"middle\"},{\"label\":\"bottom\",\"value\":\"bottom\"}]}},\"description\":{\"zh_CN\":\"子项的副轴对齐方向,可取值:top, middle, bottom\"}},{\"property\":\"flex\",\"label\":{\"text\":{\"zh_CN\":\"flex容器\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否为flex容器\"},\"labelPosition\":\"left\"},{\"property\":\"gutter\",\"label\":{\"text\":{\"zh_CN\":\"子项间隔\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"子项的间隔的像素\"}}]}]}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"label-width\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (22, '3.20.0', '{\"zh_CN\":\"row\"}', 'TinyLayout', 'row', '定义 Layout 的行配置信息', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Layout\",\"version\":\"3.20.0\",\"destructuring\":true,\"script\":\"https://unpkg.com/@opentiny/vue-runtime@~3.20/dist3/tiny-vue-pc.mjs\",\"css\":\"https://unpkg.com/@opentiny/vue-theme@~3.20/index.css\"}', 'component', 'layout', 5, '[{\"name\":{\"zh_CN\":\"栅格布局\"},\"icon\":\"row\",\"screenshot\":\"\",\"snippetName\":\"TinyLayout\",\"schema\":{\"componentName\":\"TinyLayout\",\"props\":{},\"children\":[{\"componentName\":\"TinyRow\",\"props\":{\"style\":\"padding: 10px;\"},\"children\":[{\"componentName\":\"TinyCol\",\"props\":{\"span\":3}},{\"componentName\":\"TinyCol\",\"props\":{\"span\":3}},{\"componentName\":\"TinyCol\",\"props\":{\"span\":3}},{\"componentName\":\"TinyCol\",\"props\":{\"span\":3}}]},{\"componentName\":\"TinyRow\",\"props\":{\"style\":\"padding: 10px;\"},\"children\":[{\"componentName\":\"TinyCol\",\"props\":{\"span\":3}},{\"componentName\":\"TinyCol\",\"props\":{\"span\":3}},{\"componentName\":\"TinyCol\",\"props\":{\"span\":3}},{\"componentName\":\"TinyCol\",\"props\":{\"span\":3}}]}]}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"cols\",\"label\":{\"text\":{\"zh_CN\":\"总栅格数\"}},\"cols\":12,\"widget\":{\"component\":\"ButtonGroupConfigurator\",\"props\":{\"options\":[{\"label\":\"12\",\"value\":12},{\"label\":\"24\",\"value\":24}]}},\"description\":{\"zh_CN\":\"选择总栅格数\"},\"labelPosition\":\"none\"},{\"property\":\"tag\",\"label\":{\"text\":{\"zh_CN\":\"layout渲染的标签\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"定义Layout元素渲染后的标签,默认为 div\"}}]}]}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[\"TinyRow\",\"TinyCol\"],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (23, '3.20.0', '{\"zh_CN\":\"表单\"}', 'TinyForm', 'form', '由按钮、输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Form\"}', 'component', NULL, 5, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"},{\"property\":\"label-width\",\"label\":{\"text\":{\"zh_CN\":\"标签宽度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表单中标签占位宽度,默认为 80px\"},\"labelPosition\":\"left\"},{\"property\":\"inline\",\"label\":{\"text\":{\"zh_CN\":\"行内布局\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"行内布局模式,默认为 false\"},\"labelPosition\":\"left\"},{\"property\":\"label-align\",\"label\":{\"text\":{\"zh_CN\":\"必填标识占位\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"必填标识 * 是否占位\"},\"labelPosition\":\"left\"},{\"property\":\"label-suffix\",\"label\":{\"text\":{\"zh_CN\":\"标签后缀\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表单中标签后缀\"},\"labelPosition\":\"left\"},{\"property\":\"label-position\",\"label\":{\"text\":{\"zh_CN\":\"标签位置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"right\",\"value\":\"right\"},{\"label\":\"left \",\"value\":\"left \"},{\"label\":\"top\",\"value\":\"top\"}]}},\"description\":{\"zh_CN\":\"表单中标签的布局位置\"},\"labelPosition\":\"left\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"校验属性\"},\"content\":[{\"property\":\"model\",\"label\":{\"text\":{\"zh_CN\":\"数据对象\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表单数据对象\"},\"labelPosition\":\"top\"},{\"property\":\"rules\",\"label\":{\"text\":{\"zh_CN\":\"校验规则\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表单验证规则\"},\"labelPosition\":\"top\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onValidate\":{\"label\":{\"zh_CN\":\"表单项被校验后触发\"},\"description\":{\"zh_CN\":\"表单项被校验后触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"function\",\"type\":\"Function\",\"defaultValue\":\"(valid) => {}\",\"description\":{\"zh_CN\":\"校验回调函数\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onInput\":{\"label\":{\"zh_CN\":\"输入值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 输入值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"输入框输入的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onBlur\":{\"label\":{\"zh_CN\":\"失去焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 失去焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onFocus\":{\"label\":{\"zh_CN\":\"获取焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 获取焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onClear\":{\"label\":{\"zh_CN\":\"点击清空按钮时触发\"},\"description\":{\"zh_CN\":\"点击清空按钮时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[],\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"label-width\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (24, '3.20.0', '{\"zh_CN\":\"表单项\"}', 'TinyFormItem', 'formitem', '由按钮、输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"FormItem\"}', 'component', NULL, 12, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"label\",\"label\":{\"text\":{\"zh_CN\":\"标签文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"defaultValue\":\"标签\",\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"标签文本\"},\"labelPosition\":\"left\"},{\"property\":\"prop\",\"label\":{\"text\":{\"zh_CN\":\"校验字段\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表单域 model 字段,在使用 validate、resetFields 方法的情况下,该属性是必填的\"},\"labelPosition\":\"left\"},{\"property\":\"required\",\"label\":{\"text\":{\"zh_CN\":\"必填\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否必填\"},\"labelPosition\":\"left\"}]}],\"events\":{},\"slots\":{\"label\":{\"label\":{\"zh_CN\":\"字段名\"},\"description\":{\"zh_CN\":\"自定义显示字段名称\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":[\"TinyForm\"],\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"label\",\"rules\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (25, '3.20.0', '{\"zh_CN\":\"col\"}', 'TinyCol', 'col', '列配置信息', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Col\"}', 'component', NULL, 2, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"span\",\"label\":{\"text\":{\"zh_CN\":\"栅格列格数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"整行\",\"value\":12},{\"label\":\"6格\",\"value\":6},{\"label\":\"4格\",\"value\":4},{\"label\":\"3格\",\"value\":3},{\"label\":\"1格\",\"value\":1}]}},\"description\":{\"zh_CN\":\"当一行分为12格时,一列可占位多少格\"}},{\"property\":\"move\",\"label\":{\"text\":{\"zh_CN\":\"栅格移动格数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"min\":-12,\"max\":12}},\"description\":{\"zh_CN\":\"栅格左右移动格数(正数向右,负数向左)\"}},{\"property\":\"no\",\"label\":{\"text\":{\"zh_CN\":\"排序编号\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"max\":12}},\"description\":{\"zh_CN\":\"排序编号(row中启用order生效)\"}},{\"property\":\"offset\",\"label\":{\"text\":{\"zh_CN\":\"间隔格数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"min\":0,\"max\":12}},\"description\":{\"zh_CN\":\"栅格左侧的间隔格数\"}},{\"property\":\"xs\",\"label\":{\"text\":{\"zh_CN\":\"超小屏格数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"min\":1,\"max\":12}},\"description\":{\"zh_CN\":\"<768px 响应式栅格数\"}},{\"property\":\"sm\",\"label\":{\"text\":{\"zh_CN\":\"小屏格数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"min\":1,\"max\":12}},\"description\":{\"zh_CN\":\"≥768px 响应式栅格数\"}},{\"property\":\"md\",\"label\":{\"text\":{\"zh_CN\":\"中屏格数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"min\":1,\"max\":12}},\"description\":{\"zh_CN\":\"≥992px 响应式栅格数\"}},{\"property\":\"lg\",\"label\":{\"text\":{\"zh_CN\":\"大屏格数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"min\":1,\"max\":12}},\"description\":{\"zh_CN\":\"≥1200px 响应式栅格数\"}},{\"property\":\"xl\",\"label\":{\"text\":{\"zh_CN\":\"超大屏格数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"min\":1,\"max\":12}},\"description\":{\"zh_CN\":\"≥1920px 响应式栅格数\"}}]}],\"events\":{}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"label\",\"rules\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (26, '3.20.0', '{\"zh_CN\":\"按钮\"}', 'TinyButton', 'button', '常用的操作按钮,提供包括默认按钮、图标按钮、图片按钮、下拉按钮等类型', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Button\"}', 'component', 'basic', 2, '[{\"name\":{\"zh_CN\":\"按钮\"},\"icon\":\"button\",\"screenshot\":\"\",\"snippetName\":\"TinyButton\",\"schema\":{\"componentName\":\"TinyButton\",\"props\":{\"text\":\"按钮文案\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"text\",\"type\":\"string\",\"defaultValue\":\"按钮文案\",\"label\":{\"text\":{\"zh_CN\":\"按钮文字\"}},\"cols\":12,\"hidden\":false,\"required\":true,\"readOnly\":false,\"disabled\":false,\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"按钮文字\"},\"labelPosition\":\"left\"},{\"property\":\"size\",\"type\":\"select\",\"label\":{\"text\":{\"zh_CN\":\"大小\"}},\"cols\":12,\"rules\":[],\"hidden\":false,\"required\":true,\"readOnly\":false,\"disabled\":false,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"large\",\"value\":\"large\"},{\"label\":\"medium\",\"value\":\"medium\"},{\"label\":\"small\",\"value\":\"small\"},{\"label\":\"mini\",\"value\":\"mini\"}]}},\"description\":{\"zh_CN\":\"按钮大小\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否被禁用\"},\"labelPosition\":\"left\"},{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"},{\"label\":\"text\",\"value\":\"text\"}]}},\"description\":{\"zh_CN\":\"设置不同的主题样式\"},\"labelPosition\":\"left\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"其他\"},\"content\":[{\"property\":\"round\",\"label\":{\"text\":{\"zh_CN\":\"圆角\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否圆角按钮\"},\"labelPosition\":\"left\"},{\"property\":\"plain\",\"label\":{\"text\":{\"zh_CN\":\"朴素按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否为朴素按钮\"},\"labelPosition\":\"left\"},{\"property\":\"reset-time\",\"label\":{\"text\":{\"zh_CN\":\"禁用时间\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置禁用时间,防止重复提交,单位毫秒\"},\"labelPosition\":\"left\"},{\"property\":\"circle\",\"label\":{\"text\":{\"zh_CN\":\"圆形按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否圆形按钮\"},\"labelPosition\":\"left\"},{\"property\":\"autofocus\",\"label\":{\"text\":{\"zh_CN\":\"自动聚焦\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否默认聚焦\"},\"labelPosition\":\"left\"},{\"property\":\"loading\",\"label\":{\"text\":{\"zh_CN\":\"加载中样式\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否展示位加载中样式\"},\"labelPosition\":\"left\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onClick\":{\"label\":{\"zh_CN\":\"点击事件\"},\"description\":{\"zh_CN\":\"按钮被点击时触发的回调函数\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"text\",\"size\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (27, '3.20.0', '{\"zh_CN\":\"输入框\"}', 'TinyInput', 'input', '通过鼠标或键盘输入字符', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Input\"}', 'component', 'form', 1, '[{\"name\":{\"zh_CN\":\"输入框\"},\"icon\":\"input\",\"screenshot\":\"\",\"snippetName\":\"TinyInput\",\"schema\":{\"componentName\":\"TinyInput\",\"props\":{\"placeholder\":\"请输入\",\"modelValue\":\"\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定值\"},\"labelPosition\":\"left\"},{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"textarea\",\"value\":\"textarea\"},{\"label\":\"text\",\"value\":\"text\"},{\"label\":\"password\",\"value\":\"password\"}]}},\"description\":{\"zh_CN\":\"设置input框的type属性\"},\"labelPosition\":\"left\"},{\"property\":\"rows\",\"label\":{\"text\":{\"zh_CN\":\"行数\"}},\"widget\":{\"component\":\"NumberConfigurator\"},\"description\":{\"zh_CN\":\"输入框行数,只对 type=\'textarea\' 有效\"},\"labelPosition\":\"left\"},{\"property\":\"placeholder\",\"label\":{\"text\":{\"zh_CN\":\"占位文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"输入框占位文本\"},\"labelPosition\":\"left\"},{\"property\":\"clearable\",\"label\":{\"text\":{\"zh_CN\":\"清除按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示清除按钮\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"尺寸\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"medium\",\"value\":\"medium\"},{\"label\":\"small\",\"value\":\"small\"},{\"label\":\"mini\",\"value\":\"mini\"}]}},\"description\":{\"zh_CN\":\"输入框尺寸。该属性的可选值为 medium / small / mini\"},\"labelPosition\":\"left\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"其他\"},\"content\":[{\"property\":\"maxlength\",\"label\":{\"text\":{\"zh_CN\":\"最大输入长度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置 input 框的maxLength\"}},{\"property\":\"autofocus\",\"label\":{\"text\":{\"zh_CN\":\"自动聚焦\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"自动获取焦点\"},\"labelPosition\":\"left\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"输入框改变后的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onInput\":{\"label\":{\"zh_CN\":\"输入值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 输入值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"输入框输入的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 输入值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onBlur\":{\"label\":{\"zh_CN\":\"失去焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 失去焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onFocus\":{\"label\":{\"zh_CN\":\"获取焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 获取焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onClear\":{\"label\":{\"zh_CN\":\"点击清空按钮时触发\"},\"description\":{\"zh_CN\":\"点击清空按钮时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}},\"slots\":{\"prefix\":{\"label\":{\"zh_CN\":\"前置内容\"}},\"suffix\":{\"label\":{\"zh_CN\":\"后置内容\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"value\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (28, '3.20.0', '{\"zh_CN\":\"单选\"}', 'TinyRadio', 'radio', '用于配置不同场景的选项,在一组备选项中进行单选', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Radio\"}', 'component', 'form', 3, '[{\"name\":{\"zh_CN\":\"单选\"},\"icon\":\"radio\",\"screenshot\":\"\",\"snippetName\":\"TinyRadio\",\"schema\":{\"componentName\":\"TinyRadio\",\"props\":{\"label\":\"1\",\"text\":\"单选文本\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"text\",\"label\":{\"text\":{\"zh_CN\":\"文本内容\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"单选框文本内容\"}},{\"property\":\"label\",\"label\":{\"text\":{\"zh_CN\":\"选中值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"props\":{}},\"description\":{\"zh_CN\":\"radio 选中时的值\"}},{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"}},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"}]},{\"label\":{\"zh_CN\":\"其他\"},\"description\":{\"zh_CN\":\"\"},\"content\":[{\"property\":\"border\",\"label\":{\"text\":{\"zh_CN\":\"显示边框\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示边框\"},\"labelPosition\":\"left\"},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"尺寸\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"单选框的尺寸,仅在 border 为true时有效\"}},{\"property\":\"name\",\"label\":{\"text\":{\"zh_CN\":\"原生name属性\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"原生 name 属性\"}}]}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"值变化事件\"},\"description\":{\"zh_CN\":\"绑定值变化时触发的事件\"}},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"当前选中的值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"visible\",\"width\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (29, '3.20.0', '{\"zh_CN\":\"下拉框\"}', 'TinySelect', 'select', 'Select 选择器是一种通过点击弹出下拉列表展示数据并进行选择的 UI 组件', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Select\"}', 'component', 'form', 8, '[{\"name\":{\"zh_CN\":\"下拉框\"},\"icon\":\"select\",\"screenshot\":\"\",\"snippetName\":\"TinySelect\",\"schema\":{\"componentName\":\"TinySelect\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请选择\",\"options\":[{\"value\":\"1\",\"label\":\"黄金糕\"},{\"value\":\"2\",\"label\":\"双皮奶\"}]}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"},\"labelPosition\":\"left\"},{\"property\":\"placeholder\",\"label\":{\"text\":{\"zh_CN\":\"占位文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"输入框占位文本\"},\"labelPosition\":\"left\"},{\"property\":\"clearable\",\"label\":{\"text\":{\"zh_CN\":\"清除按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示清除按钮\"},\"labelPosition\":\"left\"},{\"property\":\"searchable\",\"label\":{\"text\":{\"zh_CN\":\"下拉可搜索\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"下拉面板是否可搜索\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"},{\"property\":\"options\",\"label\":{\"text\":{\"zh_CN\":\"选项数据\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}},\"description\":{\"zh_CN\":\"配置 Select 下拉数据项\"},\"labelPosition\":\"top\"},{\"property\":\"multiple\",\"label\":{\"text\":{\"zh_CN\":\"多选\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否允许输入框输入或选择多个项\"},\"labelPosition\":\"left\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"其他\"},\"content\":[{\"property\":\"multiple-limit\",\"label\":{\"text\":{\"zh_CN\":\"最大可选值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"多选时用户最多可以选择的项目数,为 0 则不限制\"},\"labelPosition\":\"left\"},{\"property\":\"popper-class\",\"label\":{\"text\":{\"zh_CN\":\"下拉框类名\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置下拉框自定义的类名\"},\"labelPosition\":\"left\"},{\"property\":\"collapse-tags\",\"label\":{\"text\":{\"zh_CN\":\"多选展示\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"多选时是否将选中值按文字的形式展示\"},\"labelPosition\":\"left\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"值改变时触发\"},\"description\":{\"zh_CN\":\"在下拉框值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"下拉框选中项的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"当前选中的值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onBlur\":{\"label\":{\"zh_CN\":\"失去焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 失去焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onFocus\":{\"label\":{\"zh_CN\":\"获取焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 获取焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onClear\":{\"label\":{\"zh_CN\":\"点击清空按钮时触发\"},\"description\":{\"zh_CN\":\"点击清空按钮时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"},\"onRemoveTag\":{\"label\":{\"zh_CN\":\"多选模式下移除tag时触发\"},\"description\":{\"zh_CN\":\"多选模式下移除tag时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"被移除Tag对应数据项的值字段\"}}],\"returns\":{}},\"defaultValue\":\"\"}},\"onBeforeMount\":\"console.log(\'table on load\'); this.options = source.data\"}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"multiple\",\"options\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (30, '3.20.0', '{\"zh_CN\":\"开关\"}', 'TinySwitch', 'switch', 'Switch 在两种状态间切换选择', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Switch\"}', 'component', 'form', 9, '[{\"name\":{\"zh_CN\":\"开关\"},\"icon\":\"switch\",\"screenshot\":\"\",\"snippetName\":\"TinySwitch\",\"schema\":{\"componentName\":\"TinySwitch\",\"props\":{\"modelValue\":\"\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否被禁用\"},\"labelPosition\":\"left\"},{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"绑定默认值\"},\"labelPosition\":\"left\"},{\"property\":\"true-value\",\"label\":{\"text\":{\"zh_CN\":\"设置打开值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置打开时的值(Boolean / String / Number)\"},\"labelPosition\":\"left\"},{\"property\":\"false-value\",\"label\":{\"text\":{\"zh_CN\":\"设置关闭值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置关闭时的值(Boolean / String / Number)\"},\"labelPosition\":\"left\"},{\"property\":\"mini\",\"label\":{\"text\":{\"zh_CN\":\"迷你尺寸\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示为 mini 模式\"},\"labelPosition\":\"left\"}]}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"点击事件\"},\"description\":{\"zh_CN\":\"按钮被点击时触发的回调函数\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"开关的状态值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的开关状态值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\",\"mini\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (31, '3.20.0', '{\"zh_CN\":\"搜索框\"}', 'TinySearch', 'search', '指定条件对象进行搜索数据', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Search\"}', 'component', 'basic', 2, '[{\"name\":{\"zh_CN\":\"搜索框\"},\"icon\":\"search\",\"screenshot\":\"\",\"snippetName\":\"TinySearch\",\"schema\":{\"componentName\":\"TinySearch\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"输入关键词\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"默认值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"输入框内的默认搜索值\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否被禁用\"},\"labelPosition\":\"left\"},{\"property\":\"placeholder\",\"label\":{\"text\":{\"zh_CN\":\"占位文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"输入框内的提示占位文本\"},\"labelPosition\":\"left\"},{\"property\":\"clearable\",\"label\":{\"text\":{\"zh_CN\":\"清空按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置显示清空图标按钮\"},\"labelPosition\":\"left\"},{\"property\":\"isEnterSearch\",\"label\":{\"text\":{\"zh_CN\":\"Enter键触发\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否在按下键盘Enter键的时候触发search事件\"},\"labelPosition\":\"left\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"其他\"},\"content\":[{\"property\":\"mini\",\"label\":{\"text\":{\"zh_CN\":\"迷你尺寸\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"迷你模式,配置为true时,搜索默认显示为一个带图标的圆形按钮,点击后展开\"},\"labelPosition\":\"left\"},{\"property\":\"transparent\",\"label\":{\"text\":{\"zh_CN\":\"透明模式\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"配置为true时,边框变为透明且收缩后半透明显示,一般用在带有背景的场景,默认 false\"},\"labelPosition\":\"left\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"输入完成时触发\"},\"description\":{\"zh_CN\":\"在 input 框中输入完成时触发的回调函数\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"type\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"搜索类型,默认值为 {} \"}},{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前input框中值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onSearch\":{\"label\":{\"zh_CN\":\"点击搜索按钮时触发\"},\"description\":{\"zh_CN\":\"展开状态点击搜索按钮时触发的回调函数\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"type\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"搜索类型,默认值为 {} \"}},{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前input框中值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"clearable\",\"mini\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (32, '3.20.0', '{\"zh_CN\":\"复选框\"}', 'TinyCheckbox', 'checkbox', '用于配置不同场景的选项,提供用户可在一组选项中进行多选', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Checkbox\"}', 'component', 'form', 4, '[{\"name\":{\"zh_CN\":\"复选框\"},\"icon\":\"checkbox\",\"screenshot\":\"\",\"snippetName\":\"TinyCheckbox\",\"schema\":{\"componentName\":\"TinyCheckbox\",\"props\":{\"text\":\"复选框文案\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定值\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"},{\"property\":\"checked\",\"label\":{\"text\":{\"zh_CN\":\"勾选\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"当前是否勾选\"},\"labelPosition\":\"left\"},{\"property\":\"text\",\"label\":{\"text\":{\"zh_CN\":\"文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"复选框的文本\"},\"labelPosition\":\"left\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"其他\"},\"content\":[{\"property\":\"border\",\"label\":{\"text\":{\"zh_CN\":\"边框\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示边框\"},\"labelPosition\":\"left\"},{\"property\":\"false-label\",\"label\":{\"text\":{\"zh_CN\":\"未选中的值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"没有选中时的值\"},\"labelPosition\":\"left\"},{\"property\":\"true-label\",\"label\":{\"text\":{\"zh_CN\":\"选择时的值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"选中时的值\"},\"labelPosition\":\"left\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"勾选值改变后将触发\"},\"description\":{\"zh_CN\":\"勾选值改变后将触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"选中项的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"当前选中的值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"border\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (33, '3.20.0', '{\"zh_CN\":\"复选按钮\"}', 'TinyCheckboxButton', 'checkboxbutton', '用于配置不同场景的选项,提供用户可在一组选项中进行多选', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"CheckboxButton\"}', 'component', NULL, 1, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"},{\"property\":\"checked\",\"label\":{\"text\":{\"zh_CN\":\"勾选\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"当前是否勾选\"},\"labelPosition\":\"left\"},{\"property\":\"text\",\"label\":{\"text\":{\"zh_CN\":\"文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"按钮文本\"},\"labelPosition\":\"left\"}]}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"勾选值改变后将触发\"},\"description\":{\"zh_CN\":\"勾选值改变后将触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"选中项的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"当前选中的值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"array\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"text\",\"size\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (34, '3.20.0', '{\"zh_CN\":\"复选按钮组\"}', 'TinyCheckboxGroup', 'checkboxgroup', '用于配置不同场景的选项,提供用户可在一组选项中进行多选', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"CheckboxGroup\"}', 'component', 'form', 2, '[{\"name\":{\"zh_CN\":\"复选框组\"},\"icon\":\"checkboxs\",\"screenshot\":\"\",\"snippetName\":\"TinyCheckboxGroup\",\"schema\":{\"componentName\":\"TinyCheckboxGroup\",\"props\":{\"modelValue\":[\"name1\",\"name2\"],\"type\":\"checkbox\",\"options\":[{\"text\":\"复选框1\",\"label\":\"name1\"},{\"text\":\"复选框2\",\"label\":\"name2\"},{\"text\":\"复选框3\",\"label\":\"name3\"}]}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"dataType\":\"Array\"}},\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"},{\"property\":\"options\",\"label\":{\"text\":{\"zh_CN\":\"选项列表\"}},\"defaultValue\":[{\"label\":\"标签2\"},{\"label\":\"标签2\"}],\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"checkbox组件列表\"},\"labelPosition\":\"top\"},{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"ButtonGroupConfigurator\",\"props\":{\"options\":[{\"label\":\"button\",\"value\":\"button\"},{\"label\":\"checkbox\",\"value\":\"checkbox\"}]}},\"description\":{\"zh_CN\":\"checkbox组件类型(button/checkbox),该属性的默认值为 checkbox,配合 options 属性一起使用\"},\"labelPosition\":\"left\"}]}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"勾选值改变后将触发\"},\"description\":{\"zh_CN\":\"勾选值改变后将触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"选中项的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"当前选中的值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"array\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\",\"type\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (35, '3.20.0', '{\"zh_CN\":\"对话框\"}', 'TinyDialogBox', 'dialogbox', '模态对话框,在浮层中显示,引导用户进行相关操作。', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"DialogBox\"}', 'component', 'data-display', 4, '[{\"name\":{\"zh_CN\":\"对话框\"},\"icon\":\"dialogbox\",\"screenshot\":\"\",\"snippetName\":\"TinyDialogBox\",\"schema\":{\"componentName\":\"TinyDialogBox\",\"props\":{\"visible\":true,\"show-close\":true,\"title\":\"dialogBox title\"},\"children\":[{\"componentName\":\"div\"}]}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"title\",\"label\":{\"text\":{\"zh_CN\":\"标题\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"弹出框标题\"},\"labelPosition\":\"left\"},{\"property\":\"visible\",\"label\":{\"text\":{\"zh_CN\":\"显示与隐藏\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"控制弹出框显示与关闭\"},\"labelPosition\":\"left\"},{\"property\":\"width\",\"label\":{\"text\":{\"zh_CN\":\"宽度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"弹出框的宽度\"},\"labelPosition\":\"left\"},{\"property\":\"draggable\",\"label\":{\"text\":{\"zh_CN\":\"可拖拽\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否开启弹窗的拖拽功能,默认值为 false 。\"},\"labelPosition\":\"left\"},{\"property\":\"center\",\"label\":{\"text\":{\"zh_CN\":\"居中\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"弹出框的头部与底部内容会自动居中\"},\"labelPosition\":\"left\"},{\"property\":\"dialog-class\",\"label\":{\"text\":{\"zh_CN\":\"自定义类名\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"自定义配置弹窗类名\"},\"labelPosition\":\"left\"},{\"property\":\"append-to-body\",\"label\":{\"text\":{\"zh_CN\":\"插入到Body\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"DialogBox 本身是否插入到 body 上,嵌套的 Dialog 必须指定该属性并赋值为 true\"},\"labelPosition\":\"left\"},{\"property\":\"show-close\",\"label\":{\"text\":{\"zh_CN\":\"关闭按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示关闭按钮,默认值为 true 。\"},\"labelPosition\":\"left\"}]}],\"selector\":\".TinyDialogBox\",\"events\":{\"onClose\":{\"label\":{\"zh_CN\":\"关闭弹窗时触发\"},\"description\":{\"zh_CN\":\"Dialog 关闭的回调\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:visible\":{\"label\":{\"zh_CN\":\"双向绑定的状态改变时触发\"},\"description\":{\"zh_CN\":\"显示或隐藏的状态值,发生改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"boolean\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的显示或隐藏的状态值\"}}],\"returns\":{}},\"defaultValue\":\"\"}},\"slots\":{\"title\":{\"label\":{\"zh_CN\":\"标题区\"},\"description\":{\"zh_CN\":\"Dialog 标题区的内容\"}},\"footer\":{\"label\":{\"zh_CN\":\"按钮操作区\"},\"description\":{\"zh_CN\":\"Dialog 按钮操作区的内容\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":true,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\".tiny-dialog-box\",\"shortcuts\":{\"properties\":[\"visible\",\"width\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (36, '3.20.0', '{\"zh_CN\":\"标签页\"}', 'TinyTabs', 'tabs', '分隔内容上有关联但属于不同类别的数据集合', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Tabs\"}', 'component', 'navigation', 10, '[{\"name\":{\"zh_CN\":\"标签页\"},\"icon\":\"tabs\",\"screenshot\":\"\",\"snippetName\":\"TinyTabs\",\"schema\":{\"componentName\":\"TinyTabs\",\"props\":{\"modelValue\":\"first\"},\"children\":[{\"componentName\":\"TinyTabItem\",\"props\":{\"title\":\"标签页1\",\"name\":\"first\"},\"children\":[{\"componentName\":\"div\",\"props\":{\"style\":\"margin:10px 0 0 30px\"}}]},{\"componentName\":\"TinyTabItem\",\"props\":{\"title\":\"标签页2\",\"name\":\"second\"},\"children\":[{\"componentName\":\"div\",\"props\":{\"style\":\"margin:10px 0 0 30px\"}}]}]}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"showEditIcon\",\"label\":{\"text\":{\"zh_CN\":\"显示编辑图标\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示标题后编辑 ICON\"},\"labelPosition\":\"left\"},{\"property\":\"tabs\",\"label\":{\"text\":{\"zh_CN\":\"选项卡\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"defaultValue\":\"\",\"cols\":12,\"bindState\":false,\"widget\":{\"component\":\"ContainerConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"tabs 选项卡\"},\"labelPosition\":\"none\"},{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"绑定值,选中选项卡的 name\"},\"labelPosition\":\"left\"},{\"property\":\"with-add\",\"label\":{\"text\":{\"zh_CN\":\"标签新增\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"标签是否可增加\"},\"labelPosition\":\"left\"},{\"property\":\"with-close\",\"label\":{\"text\":{\"zh_CN\":\"可关闭\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"标签是否可关闭\"},\"labelPosition\":\"left\"},{\"property\":\"tab-style\",\"label\":{\"text\":{\"zh_CN\":\"标签页样式\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"card\",\"value\":\"card\"},{\"label\":\"border-card\",\"value\":\"border-card\"}]}},\"description\":{\"zh_CN\":\"标签页样式\"},\"labelPosition\":\"left\"}]}],\"events\":{\"onClick\":{\"label\":{\"zh_CN\":\"点击页签时触发事件\"},\"description\":{\"zh_CN\":\"在 Input 值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"component\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前点击的页签对象\"}},{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onEdit\":{\"label\":{\"zh_CN\":\"点击新增按钮或关闭按钮或者编辑按钮后触发\"},\"description\":{\"zh_CN\":\"点击新增按钮或关闭按钮或者编辑按钮后触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"tab\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前操作的页签对象\"}},{\"name\":\"type\",\"type\":\"String\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前操作的类型(remove || add || edit)\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onClose\":{\"label\":{\"zh_CN\":\"关闭页签时触发\"},\"description\":{\"zh_CN\":\"关闭页签时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"name\",\"type\":\"String\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"页签名称\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"clickCapture\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[\"TinyTabItem\"],\"parentWhitelist\":[],\"descendantBlacklist\":[],\"ancestorWhitelist\":[]},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"size\",\"tab-style\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (37, '3.20.0', '{\"zh_CN\":\"tab页签\"}', 'TinyTabItem', 'tabitem', 'tab 标签页', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"TabItem\"}', 'component', NULL, 2, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"name\",\"label\":{\"text\":{\"zh_CN\":\"唯一标识\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"唯一标识\"}},{\"property\":\"title\",\"label\":{\"text\":{\"zh_CN\":\"标题\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"标题\"}}]}],\"events\":{},\"slots\":{\"title\":{\"label\":{\"zh_CN\":\"标题\"},\"description\":{\"zh_CN\":\"自定义标题\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":[\"TinyTab\"],\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"name\",\"title\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (38, '3.20.0', '{\"zh_CN\":\"面包屑\"}', 'TinyBreadcrumb', 'breadcrumb', '告诉访问者他们目前在网站中的位置以及如何返回', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Breadcrumb\"}', 'component', 'navigation', 1, '[{\"name\":{\"zh_CN\":\"面包屑\"},\"icon\":\"breadcrumb\",\"screenshot\":\"\",\"snippetName\":\"TinyBreadcrumb\",\"schema\":{\"componentName\":\"TinyBreadcrumb\",\"props\":{\"options\":[{\"to\":\"{ path: \'/\' }\",\"label\":\"首页\"},{\"to\":\"{ path: \'/breadcrumb\' }\",\"label\":\"产品\"},{\"replace\":\"true\",\"label\":\"软件\"}]}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"separator\",\"label\":{\"text\":{\"zh_CN\":\"分隔符\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"自定义分隔符\"},\"labelPosition\":\"left\"},{\"property\":\"options\",\"label\":{\"text\":{\"zh_CN\":\"配置数据\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}},\"description\":{\"zh_CN\":\"单独使用 Breadcrumb,通过 option 配置生成面包屑\"},\"labelPosition\":\"top\"},{\"property\":\"textField\",\"label\":{\"text\":{\"zh_CN\":\"键值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"指定面包屑的显示键值,结合 options 使用\"},\"labelPosition\":\"left\"}]}],\"events\":{\"onSelect\":{\"label\":{\"zh_CN\":\"选择 breadcrumb 时触发\"},\"description\":{\"zh_CN\":\"选择 breadcrumb 时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"clickCapture\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":[\"TinyBreadcrumbItem\"],\"parentWhitelist\":[],\"descendantBlacklist\":[],\"ancestorWhitelist\":[]},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"separator\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (39, '3.20.0', '{\"zh_CN\":\"面包屑项\"}', 'TinyBreadcrumbItem', 'breadcrumb', '', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"BreadcrumbItem\"}', 'component', NULL, 1, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"to\",\"label\":{\"text\":{\"zh_CN\":\"路由跳转\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"路由跳转对象,同 vue-router 的 to\"}}]}],\"slots\":{\"default\":{\"label\":{\"zh_CN\":\"面包屑项标签\"},\"description\":{\"zh_CN\":\"面包屑项\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":[\"TinyBreadcrumb\"],\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"to\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (40, '3.20.0', '{\"zh_CN\":\"折叠面板\"}', 'TinyCollapse', 'collapse', '内容区可指定动态页面或自定义 html 等,支持展开收起操作', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Collapse\"}', 'component', 'data-display', 3, '[{\"name\":{\"zh_CN\":\"折叠面板\"},\"icon\":\"collapse\",\"screenshot\":\"\",\"snippetName\":\"TinyCollapse\",\"schema\":{\"componentName\":\"TinyCollapse\",\"props\":{\"modelValue\":\"collapse1\"},\"children\":[{\"componentName\":\"TinyCollapseItem\",\"props\":{\"name\":\"collapse1\",\"title\":\"折叠项1\"},\"children\":[{\"componentName\":\"div\"}]},{\"componentName\":\"TinyCollapseItem\",\"props\":{\"name\":\"collapse2\",\"title\":\"折叠项2\"},\"children\":[{\"componentName\":\"div\"}]},{\"componentName\":\"TinyCollapseItem\",\"props\":{\"name\":\"collapse3\",\"title\":\"折叠项3\"},\"children\":[{\"componentName\":\"div\"}]}]}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"当前激活面板\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定当前激活的面板\"}}]}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"激活面板改变时触发\"},\"description\":{\"zh_CN\":\"当前激活面板改变时触发(如果是手风琴模式,参数 activeNames 类型为string,否则为array)\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"data\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前激活面板的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"当前激活面板的值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"label-width\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (41, '3.20.0', '{\"zh_CN\":\"折叠面板项\"}', 'TinyCollapseItem', 'collapseitem', '内容区可指定动态页面或自定义 html 等,支持展开收起操作', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"CollapseItem\"}', 'component', NULL, 2, NULL, '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"name\",\"label\":{\"text\":{\"zh_CN\":\"唯一标识符\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"唯一标识符: String | Number\"},\"labelPosition\":\"left\"},{\"property\":\"title\",\"label\":{\"text\":{\"zh_CN\":\"标题\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"面板标题\"},\"labelPosition\":\"left\"}]}],\"events\":{},\"slots\":{\"title\":{\"label\":{\"zh_CN\":\"标题\"},\"description\":{\"zh_CN\":\"自定义标题\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"label-width\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (42, '3.20.0', '{\"zh_CN\":\"表格\"}', 'TinyGrid', 'grid', '提供了非常强大数据表格功能,可以展示数据列表,可以对数据列表进行选择、编辑等', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Grid\"}', 'component', 'table', 2, '[{\"name\":{\"zh_CN\":\"表格\"},\"icon\":\"grid\",\"screenshot\":\"\",\"snippetName\":\"tinyGrid\",\"schema\":{\"componentName\":\"TinyGrid\",\"props\":{\"editConfig\":{\"trigger\":\"click\",\"mode\":\"cell\",\"showStatus\":true},\"columns\":[{\"type\":\"index\",\"width\":60},{\"type\":\"selection\",\"width\":60},{\"field\":\"employees\",\"title\":\"员工数\"},{\"field\":\"created_date\",\"title\":\"创建日期\"},{\"field\":\"city\",\"title\":\"城市\"}],\"data\":[{\"id\":\"1\",\"name\":\"GFD科技有限公司\",\"city\":\"福州\",\"employees\":800,\"created_date\":\"2014-04-30 00:56:00\",\"boole\":false},{\"id\":\"2\",\"name\":\"WWW科技有限公司\",\"city\":\"深圳\",\"employees\":300,\"created_date\":\"2016-07-08 12:36:22\",\"boole\":true}]}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础属性\"},\"description\":{\"zh_CN\":\"基础属性\"},\"content\":[{\"property\":\"data\",\"label\":{\"text\":{\"zh_CN\":\"表格数据\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}},\"onChange\":\"this.delProp(\'fetchData\')\",\"description\":{\"zh_CN\":\"设置表格的数据\"},\"labelPosition\":\"top\"},{\"property\":\"columns\",\"label\":{\"text\":{\"zh_CN\":\"表格列\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"properties\":[{\"label\":{\"zh_CN\":\"默认分组\"},\"content\":[{\"property\":\"title\",\"type\":\"string\",\"defaultValue\":\"\",\"label\":{\"text\":{\"zh_CN\":\"列标题\"}},\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}}},{\"property\":\"field\",\"type\":\"string\",\"defaultValue\":\"\",\"label\":{\"text\":{\"zh_CN\":\"列键值\"}},\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}}},{\"property\":\"sortable\",\"type\":\"boolean\",\"defaultValue\":true,\"label\":{\"text\":{\"zh_CN\":\"是否排序\"}},\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"labelPosition\":\"left\"},{\"property\":\"width\",\"type\":\"string\",\"defaultValue\":\"\",\"label\":{\"text\":{\"zh_CN\":\"列宽\"}},\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}}},{\"property\":\"formatText\",\"type\":\"string\",\"defaultValue\":\"\",\"label\":{\"text\":{\"zh_CN\":\"内置渲染器\"}},\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"整数\",\"value\":\"integer\"},{\"label\":\"小数\",\"value\":\"number\"},{\"label\":\"金额\",\"value\":\"money\"},{\"label\":\"百分比\",\"value\":\"rate\"},{\"label\":\"布尔\",\"value\":\"boole\"},{\"label\":\"年月日\",\"value\":\"date\"},{\"label\":\"年月日时分\",\"value\":\"dateTime\"},{\"label\":\"时间\",\"value\":\"time\"},{\"label\":\"省略\",\"value\":\"ellipsis\"}]}}},{\"property\":\"renderer\",\"type\":\"object\",\"defaultValue\":\"\",\"label\":{\"text\":{\"zh_CN\":\"渲染函数\"}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"dataType\":\"JSFunction\"}}},{\"property\":\"slots\",\"type\":\"object\",\"defaultValue\":\"\",\"label\":{\"text\":{\"zh_CN\":\"插槽\"}},\"labelPosition\":\"none\",\"widget\":{\"component\":\"JsSlotConfigurator\",\"props\":{\"slots\":[\"header\",\"default\"]}}},{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"列类型\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"索引列\",\"value\":\"index\"},{\"label\":\"单选列\",\"value\":\"radio\"},{\"label\":\"多选列\",\"value\":\"selection\"},{\"label\":\"展开列\",\"value\":\"expand\"}],\"clearable\":true}},\"description\":{\"zh_CN\":\"设置内置列的类型,该属性的可选值为 index(序号)/ selection(复选框)/ radio(单选框)/ expand(展开行)\"},\"labelPosition\":\"left\"},{\"property\":\"editor\",\"label\":{\"text\":{\"zh_CN\":\"编辑配置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}},\"description\":{\"zh_CN\":\"单元格编辑渲染配置项,也可以是函数 Function(h, params)\"}},{\"property\":\"filter\",\"label\":{\"text\":{\"zh_CN\":\"筛选配置\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}},\"description\":{\"zh_CN\":\"设置表格列的筛选配置信息。默认值为 false 不配置筛选信息\"}},{\"property\":\"showOverflow\",\"label\":{\"text\":{\"zh_CN\":\"内容超出部分省略号配置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"只显示省略号\",\"value\":\"ellipsis\"},{\"label\":\"显示为原生 title\",\"value\":\"title\"},{\"label\":\"显示为 tooltip 提示\",\"value\":\"tooltip\"}],\"clearable\":true}},\"description\":{\"zh_CN\":\"设置内置列的内容超出部分显示省略号配置,该属性的可选值为 ellipsis(只显示省略号)/ title(显示为原生 title)/ tooltip(显示为 tooltip 提示)\"},\"labelPosition\":\"top\"}]}],\"widget\":{\"component\":\"ArrayItemConfigurator\",\"props\":{\"type\":\"object\",\"textField\":\"title\",\"language\":\"json\",\"buttonText\":\"编辑列配置\",\"title\":\"编辑列配置\",\"expand\":true}},\"description\":{\"zh_CN\":\"表格列的配置信息\"},\"labelPosition\":\"left\"},{\"property\":\"fetchData\",\"label\":{\"text\":{\"zh_CN\":\"服务端查询\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"onChange\":\"function () { this.delProp(\'data\') } \",\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"name\":\"fetchData\",\"dataType\":\"JSExpression\"}},\"description\":{\"zh_CN\":\"服务端数据查询方法\"},\"labelPosition\":\"top\"},{\"property\":\"pager\",\"label\":{\"text\":{\"zh_CN\":\"分页配置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"defaultValue\":{\"attrs\":{\"currentPage\":1}},\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"name\":\"pager\",\"dataType\":\"JSExpression\"}},\"description\":{\"zh_CN\":\"分页配置,需结合fetchData使用\"},\"labelPosition\":\"top\"},{\"property\":\"resizable\",\"label\":{\"text\":{\"zh_CN\":\"调整列宽\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否允许调整列宽\"},\"labelPosition\":\"left\"},{\"property\":\"row-id\",\"label\":{\"text\":{\"zh_CN\":\"行数据主键\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"placeholder\":\"比如:id\"}},\"description\":{\"zh_CN\":\"自定义行数据唯一主键的字段名(行数据必须要有唯一主键,默认自动生成)\"},\"labelPosition\":\"left\"},{\"property\":\"select-config\",\"label\":{\"text\":{\"zh_CN\":\"行复选框配置\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"dataType\":\"JSExpression\"}},\"description\":{\"zh_CN\":\"表格行数据复选框配置项\"}},{\"property\":\"edit-rules\",\"label\":{\"text\":{\"zh_CN\":\"校验规则\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表格校验规则配置项\"},\"labelPosition\":\"top\"},{\"property\":\"edit-config\",\"label\":{\"text\":{\"zh_CN\":\"编辑配置项\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表格编辑配置项\"},\"labelPosition\":\"top\"},{\"property\":\"expand-config\",\"label\":{\"text\":{\"zh_CN\":\"展开行配置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"展开行配置项\"},\"labelPosition\":\"top\"},{\"property\":\"sortable\",\"label\":{\"text\":{\"zh_CN\":\"可排序\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否允许列数据排序。默认为 true 可排序\"},\"labelPosition\":\"left\"}]},{\"label\":{\"zh_CN\":\"其他\"},\"description\":{\"zh_CN\":\"其他属性\"},\"content\":[{\"property\":\"auto-resize\",\"label\":{\"text\":{\"zh_CN\":\"响应式监听\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"表格属性设置 autoResize 属性开启响应式表格宽高的同时,将高度height设置为auto就可以自动跟随父容器高度。\"},\"labelPosition\":\"left\"},{\"property\":\"border\",\"label\":{\"text\":{\"zh_CN\":\"边框\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否带有纵向边框\"},\"labelPosition\":\"left\"},{\"property\":\"seq-serial\",\"label\":{\"text\":{\"zh_CN\":\"行号连续\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置行序号是否连续,开启分页时有效,该属性的默认值为 false\"},\"labelPosition\":\"left\"},{\"property\":\"highlight-current-row\",\"label\":{\"text\":{\"zh_CN\":\"高亮当前行\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"高亮当前行\"},\"labelPosition\":\"left\"},{\"property\":\"highlight-hover-row\",\"label\":{\"text\":{\"zh_CN\":\"移入行高亮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"鼠标移到行是否要高亮显示\"},\"labelPosition\":\"left\"},{\"property\":\"row-class-name\",\"label\":{\"text\":{\"zh_CN\":\"设置行高亮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"给行附加 className,也可以是函数 Function({seq, row, rowIndex, $rowIndex})\"},\"labelPosition\":\"top\"},{\"property\":\"max-height\",\"label\":{\"text\":{\"zh_CN\":\"内容最大高度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置表格内容区域(不含表格头部,底部)的最大高度。\"}},{\"property\":\"row-span\",\"label\":{\"text\":{\"zh_CN\":\"行合并\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置行合并,该属性仅适用于普通表格,不可与 tree-config 同时使用\"},\"labelPosition\":\"top\"}]}],\"events\":{\"onFilterChange\":{\"label\":{\"zh_CN\":\"筛选条件改变时触发改事件\"},\"description\":{\"zh_CN\":\"配置 remote-filter 开启服务端过滤,服务端过滤会调用表格 fetch-data 进行查询,filter-change 服务端过滤后触发的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"table\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"{$table,filters} 包含 table 实例对象和过滤条件的对象\"}}],\"returns\":{}},\"defaultValue\":\"function onClick(e) {}\"},\"onSortChange\":{\"label\":{\"zh_CN\":\"点击列头,执行数据排序前触发的事件\"},\"description\":{\"zh_CN\":\"配置 remote-filter 开启服务端过滤,服务端过滤会调用表格 fetch-data 进行查询,filter-change 服务端过滤后触发的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"table\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"{$table,filters} 包含 table 实例对象和过滤条件的对象\"}}],\"returns\":{}},\"defaultValue\":\"function onClick(e) {}\"},\"onSelectAll\":{\"label\":{\"zh_CN\":\"当手动勾选全选时触发的事件\"},\"description\":{\"zh_CN\":\"只对 type=selection 有效,当手动勾选全选时触发的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"table\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\" 包含 table 实例对象\"}},{\"name\":\"checked\",\"type\":\"boolean\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"勾选状态\"}},{\"name\":\"selction\",\"type\":\"Array\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"选中的表格数据数组\"}}],\"returns\":{}},\"defaultValue\":\"function onClick(e) {}\"},\"onSelectChange\":{\"label\":{\"zh_CN\":\"手动勾选并且值发生改变时触发的事件\"},\"description\":{\"zh_CN\":\"只对 type=selection 有效,当手动勾选并且值发生改变时触发的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"table\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\" table 实例对象\"}},{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\" 原生 Event\"}}],\"returns\":{}},\"defaultValue\":\"function onClick(e) {}\"},\"onToggleExpandChange\":{\"label\":{\"zh_CN\":\"当行展开或收起时会触发该事件\"},\"description\":{\"zh_CN\":\"当行展开或收起时会触发该事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"table\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"{$table,row,rowIndex} 包含 table 实例对象和当前行数据的对象\"}},{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\" 原生 Event\"}}],\"returns\":{}},\"defaultValue\":\"function onClick(e) {}\"},\"onCurrentChange\":{\"label\":{\"zh_CN\":\"行点击时触发\"},\"description\":{\"zh_CN\":\"行点击时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}},\"shortcuts\":{\"properties\":[\"sortable\",\"columns\"]},\"contentMenu\":{\"actions\":[\"create symbol\"]},\"onBeforeMount\":\"console.log(\'table on load\'); this.pager = source.pager; this.fetchData = source.fetchData; this.data = source.data ;this.columns = source.columns\"}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"sortable\",\"columns\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (43, '3.20.0', '{\"zh_CN\":\"分页\"}', 'TinyPager', 'pager', '当数据量过多时,使用分页分解数据,常用于 Grid 和 Repeater 组件', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Pager\"}', 'component', 'table', 1, '[{\"name\":{\"zh_CN\":\"分页\"},\"icon\":\"pager\",\"screenshot\":\"\",\"snippetName\":\"TinyPager\",\"schema\":{\"componentName\":\"TinyPager\",\"props\":{\"layout\":\"total, sizes, prev, pager, next\",\"total\":100,\"pageSize\":10,\"currentPage\":1}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"currentPage\",\"label\":{\"text\":{\"zh_CN\":\"当前页数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"当前页数,支持 .sync 修饰符\"},\"labelPosition\":\"left\"},{\"property\":\"pageSize\",\"label\":{\"text\":{\"zh_CN\":\"每页条数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"每页显示条目个数\"},\"labelPosition\":\"left\"},{\"property\":\"pageSizes\",\"label\":{\"text\":{\"zh_CN\":\"可选每页条数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置可选择的每页显示条数\"}},{\"property\":\"total\",\"label\":{\"text\":{\"zh_CN\":\"总条数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"数据总条数\"},\"labelPosition\":\"left\"},{\"property\":\"layout\",\"label\":{\"text\":{\"zh_CN\":\"布局\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"defaultValue\":\"total,sizes,prev, pager, next\",\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"type\":\"textarea\"}},\"description\":{\"zh_CN\":\"组件布局,子组件名用逗号分隔\"},\"labelPosition\":\"left\"}]}],\"events\":{\"onCurrentChange \":{\"label\":{\"zh_CN\":\"切换页码时触发\"},\"description\":{\"zh_CN\":\"切换页码时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前页的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onPrevClick \":{\"label\":{\"zh_CN\":\"点击上一页按钮时触发\"},\"description\":{\"zh_CN\":\"点击上一页按钮时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"page\",\"type\":\"String\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前页的页码值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onNextClick\":{\"label\":{\"zh_CN\":\"点击下一页按钮时触发\"},\"description\":{\"zh_CN\":\"点击上一页按钮时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"page\",\"type\":\"String\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前页的页码值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"currentPage\",\"total\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (44, '3.20.0', '{\"zh_CN\":\"弹出编辑\"}', 'TinyPopeditor', 'popEditor', '该组件只能在弹出的面板中选择数据,不能手动输入数据;弹出面板中显示为 Tree 组件或者 Grid 组件', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Popeditor\"}', 'component', 'data-display', 6, '[{\"name\":{\"zh_CN\":\"弹出编辑\"},\"icon\":\"popeditor\",\"screenshot\":\"\",\"snippetName\":\"TinyPopeditor\",\"schema\":{\"componentName\":\"TinyPopeditor\",\"props\":{\"modelValue\":\"\",\"placeholder\":\"请选择\",\"gridOp\":{\"columns\":[{\"field\":\"id\",\"title\":\"ID\",\"width\":40},{\"field\":\"name\",\"title\":\"名称\",\"showOverflow\":\"tooltip\"},{\"field\":\"province\",\"title\":\"省份\",\"width\":80},{\"field\":\"city\",\"title\":\"城市\",\"width\":80}],\"data\":[{\"id\":\"1\",\"name\":\"GFD科技有限公司GFD科技有限公司GFD科技有限公司GFD科技有限公司GFD科技有限公司GFD科技有限公司GFD科技有限公司\",\"city\":\"福州\",\"province\":\"福建\"},{\"id\":\"2\",\"name\":\"WWW科技有限公司\",\"city\":\"深圳\",\"province\":\"广东\"},{\"id\":\"3\",\"name\":\"RFV有限责任公司\",\"city\":\"中山\",\"province\":\"广东\"},{\"id\":\"4\",\"name\":\"TGB科技有限公司\",\"city\":\"龙岩\",\"province\":\"福建\"},{\"id\":\"5\",\"name\":\"YHN科技有限公司\",\"city\":\"韶关\",\"province\":\"广东\"},{\"id\":\"6\",\"name\":\"WSX科技有限公司\",\"city\":\"黄冈\",\"province\":\"武汉\"}]}}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定值\"},\"labelPosition\":\"left\"},{\"property\":\"placeholder\",\"label\":{\"text\":{\"zh_CN\":\"占位文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"输入框占位文本\"},\"labelPosition\":\"left\"},{\"property\":\"show-clear-btn\",\"label\":{\"text\":{\"zh_CN\":\"清除按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示清除按钮\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"其他\"},\"content\":[{\"property\":\"width\",\"label\":{\"text\":{\"zh_CN\":\"宽度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置弹出面板的宽度(单位像素)\"},\"labelPosition\":\"left\"},{\"property\":\"conditions\",\"label\":{\"text\":{\"zh_CN\":\"过滤条件\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"当弹出面板配置的是表格时,设置弹出面板中的过滤条件\"},\"labelPosition\":\"top\"},{\"property\":\"grid-op\",\"label\":{\"text\":{\"zh_CN\":\"面板表格配置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置弹出面板中表格组件的配置信息\"}},{\"property\":\"pager-op\",\"label\":{\"text\":{\"zh_CN\":\"分页配置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置弹出编辑框中分页配置\"},\"labelPosition\":\"top\"},{\"property\":\"multi\",\"label\":{\"text\":{\"zh_CN\":\"多选\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置弹出面板中的数据是否可多选\"},\"labelPosition\":\"left\"},{\"property\":\"show-pager\",\"label\":{\"text\":{\"zh_CN\":\"启用分页\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"当 popseletor 为 grid 时才能生效,配置为 true 后还需配置 pagerOp 属性\"},\"labelPosition\":\"left\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"选中值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前选中项的值\"}},{\"name\":\"value\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前选中对象\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"当前选中的值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的当前选中值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onClose\":{\"label\":{\"zh_CN\":\"弹框关闭时触发的事件\"},\"description\":{\"zh_CN\":\"弹框关闭时触发的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"},\"onPageChange\":{\"label\":{\"zh_CN\":\"分页切换事件\"},\"description\":{\"zh_CN\":\"表格模式下分页切换事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"String\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前页码数\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"modelValue\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (45, '3.20.0', '{\"zh_CN\":\"树\"}', 'TinyTree', 'tree', '可进行展示有父子层级的数据,支持选择,异步加载等功能。但不推荐用它来展示菜单,展示菜单推荐使用树菜单', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Tree\"}', 'component', 'data-display', 12, '[{\"name\":{\"zh_CN\":\"树\"},\"icon\":\"tree\",\"screenshot\":\"\",\"snippetName\":\"TinyTree\",\"schema\":{\"componentName\":\"TinyTree\",\"props\":{\"data\":[{\"label\":\"一级 1\",\"children\":[{\"label\":\"二级 1-1\",\"children\":[{\"label\":\"三级 1-1-1\"}]}]},{\"label\":\"一级 2\",\"children\":[{\"label\":\"二级 2-1\",\"children\":[{\"label\":\"三级 2-1-1\"}]},{\"label\":\"二级 2-2\",\"children\":[{\"label\":\"三级 2-2-1\"}]}]}]}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"show-checkbox\",\"label\":{\"text\":{\"zh_CN\":\"多选\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置接口是否可以多选\"},\"labelPosition\":\"left\"},{\"property\":\"data\",\"label\":{\"text\":{\"zh_CN\":\"数据源\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"defaultValue\":[{\"label\":\"一级 1\",\"children\":[{\"label\":\"二级 1-1\"}]}],\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"可配置静态数据源和动态数据源\"},\"labelPosition\":\"top\"},{\"property\":\"node-key\",\"label\":{\"text\":{\"zh_CN\":\"唯一标识\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"节点唯一标识属性名称\"},\"labelPosition\":\"left\"},{\"property\":\"render-content\",\"label\":{\"text\":{\"zh_CN\":\"渲染函数\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"disabled\":true,\"placeholder\":\"请使用变量绑定来绑定函数\"}},\"description\":{\"zh_CN\":\"树节点的内容区的渲染函数\"}},{\"property\":\"icon-trigger-click-node\",\"label\":{\"text\":{\"zh_CN\":\"触发NodeClick事件\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"点击图标展开节点时是否触发 node-click 事件\"},\"labelPosition\":\"left\"},{\"property\":\"expand-icon\",\"label\":{\"text\":{\"zh_CN\":\"展开图标\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"节点展开图标\"},\"labelPosition\":\"top\"},{\"property\":\"shrink-icon\",\"label\":{\"text\":{\"zh_CN\":\"收缩图标\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"节点收缩的图标\"},\"labelPosition\":\"top\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"其他\"},\"content\":[{\"property\":\"check-on-click-node\",\"label\":{\"text\":{\"zh_CN\":\"点击节点选中\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否在点击节点的时候选中节点,默认值为 false,即只有在点击复选框时才会选中节点\"},\"labelPosition\":\"left\"},{\"property\":\"filter-node-method\",\"label\":{\"text\":{\"zh_CN\":\"筛选函数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"节点筛选函数\"},\"labelPosition\":\"top\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onCheck\":{\"label\":{\"zh_CN\":\"勾选节点后的事件\"},\"description\":{\"zh_CN\":\"勾选节点后的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"data\",\"type\":\"object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前选中节点信息\"}},{\"name\":\"currentNode\",\"type\":\"object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"树组件目前的选中状态信息,包含 checkedNodes、checkedKeys、halfCheckedNodes、halfCheckedKeys 四个属性\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onNodeClick\":{\"label\":{\"zh_CN\":\"点击节点后的事件\"},\"description\":{\"zh_CN\":\"点击节点后的事件\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"data\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前选中节点信息\"}},{\"name\":\"node\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"树组件目前的选中状态信息,包含 checkedNodes、checkedKeys、halfCheckedNodes、halfCheckedKeys 四个属性\"}},{\"name\":\"vm\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"树组件实例\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"data\",\"show-checkbox\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (46, '3.20.0', '{\"zh_CN\":\"时间线\"}', 'TinyTimeLine', 'timeline', 'TimeLine 时间线', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"TimeLine\"}', 'component', 'navigation', 3, '[{\"name\":{\"zh_CN\":\"时间线\"},\"icon\":\"timeline\",\"screenshot\":\"\",\"snippetName\":\"TinyTimeLine\",\"schema\":{\"componentName\":\"TinyTimeLine\",\"props\":{\"active\":\"2\",\"data\":[{\"name\":\"已下单\"},{\"name\":\"运输中\"},{\"name\":\"已签收\"}]}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"horizontal\",\"type\":\"Boolean\",\"defaultValue\":{\"type\":\"i18n\",\"zh_CN\":\"布局\",\"en_US\":\"layout\",\"key\":\"\"},\"label\":{\"text\":{\"zh_CN\":\"水平布局\"}},\"cols\":12,\"rules\":[],\"hidden\":false,\"required\":true,\"readOnly\":false,\"disabled\":false,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"节点和文字横向布局\"},\"labelPosition\":\"left\"},{\"property\":\"vertical\",\"type\":\"Boolean\",\"defaultValue\":{\"type\":\"i18n\",\"zh_CN\":\"垂直布局\",\"en_US\":\"layout\",\"key\":\"\"},\"label\":{\"text\":{\"zh_CN\":\"垂直布局\"}},\"cols\":12,\"rules\":[],\"hidden\":false,\"required\":true,\"readOnly\":false,\"disabled\":false,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"节点和文字垂直布局\"},\"labelPosition\":\"left\"},{\"property\":\"active\",\"label\":{\"text\":{\"zh_CN\":\"选中值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"步骤条的选中步骤值\"},\"labelPosition\":\"left\"},{\"property\":\"data\",\"label\":{\"text\":{\"zh_CN\":\"步骤条数据\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"defaultValue\":[{\"name\":\"配置基本信息\",\"status\":\"ready\"},{\"name\":\"配置报价\",\"status\":\"wait\"},{\"name\":\"完成报价\",\"status\":\"wait\"}],\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{\"language\":\"json\"}},\"description\":{\"zh_CN\":\"时间线步骤条数据\"},\"labelPosition\":\"top\"}]}],\"events\":{\"onClick\":{\"label\":{\"zh_CN\":\"节点的点击时触发\"},\"description\":{\"zh_CN\":\"节点的点击时触发的回调函数\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"type\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"点击节点的下标\"}},{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"当前节点对象:{ name: 节点名称, time: 时间 }\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":false,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"active\",\"data\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (47, '3.20.0', '{\"zh_CN\":\"文字提示框\"}', 'TinyTooltip', 'tooltip', '动态显示提示信息,一般通过鼠标事件进行响应;提供 warning、error、info、success 四种类型显示不同类别的信', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Tooltip\"}', 'component', 'data-display', 11, '[{\"name\":{\"zh_CN\":\"文字提示框\"},\"icon\":\"tooltip\",\"screenshot\":\"\",\"snippetName\":\"TinyTooltip\",\"schema\":{\"componentName\":\"TinyTooltip\",\"props\":{\"content\":\"Top Left 提示文字\",\"placement\":\"top-start\",\"manual\":true,\"modelValue\":true},\"children\":[{\"componentName\":\"span\",\"children\":[{\"componentName\":\"div\",\"props\":{}}]},{\"componentName\":\"Template\",\"props\":{\"slot\":\"content\"},\"children\":[{\"componentName\":\"span\",\"children\":[{\"componentName\":\"div\",\"props\":{\"placeholder\":\"提示内容\"}}]}]}]}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"placement\",\"label\":{\"text\":{\"zh_CN\":\"提示位置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"top\",\"value\":\"top\"},{\"label\":\"top-start\",\"value\":\"top-start\"},{\"label\":\"top-end\",\"value\":\"top-end\"},{\"label\":\"bottom\",\"value\":\"bottom\"},{\"label\":\"bottom-start\",\"value\":\"bottom-start\"},{\"label\":\"bottom-end\",\"value\":\"bottom-end\"},{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"left-start\",\"value\":\"left-start\"},{\"label\":\"left-end\",\"value\":\"left-end\"},{\"label\":\"right\",\"value\":\"right\"},{\"label\":\"right-start\",\"value\":\"right-start\"},{\"label\":\"right-end\",\"value\":\"right-end\"}]}},\"description\":{\"zh_CN\":\"Tooltip 的出现位置\"},\"labelPosition\":\"left\"},{\"property\":\"content\",\"label\":{\"text\":{\"zh_CN\":\"内容\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"defaultValue\":\"提示信息\",\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"显示的内容,也可以通过 slot#content 传入 DOM\"},\"labelPosition\":\"left\"},{\"property\":\"render-content\",\"label\":{\"text\":{\"zh_CN\":\"渲染函数\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{\"disabled\":true,\"placeholder\":\"请使用变量绑定来绑定函数\"}},\"description\":{\"zh_CN\":\"自定义渲染函数,返回需要渲染的节点内容\"}},{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"是否可见\"}},\"defaultValue\":true,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"状态是否可见\"},\"labelPosition\":\"left\"},{\"property\":\"manual\",\"label\":{\"text\":{\"zh_CN\":\"手动控制\"}},\"defaultValue\":true,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"手动控制模式,设置为 true 后,mouseenter 和 mouseleave 事件将不会生效\"},\"labelPosition\":\"left\"}]}],\"events\":{},\"slots\":{\"content\":{\"label\":{\"zh_CN\":\"提示内容\"},\"description\":{\"zh_CN\":\"自定义提示内容\"}}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"isPopper\":true,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"disabled\",\"content\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (48, '3.20.0', '{\"zh_CN\":\"提示框\"}', 'TinyPopover', 'popover', 'Popover可通过对一个触发源操作触发弹出框,支持自定义弹出内容,延迟触发和渐变动画', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Popover\"}', 'component', 'data-display', 7, '[{\"name\":{\"zh_CN\":\"提示框\"},\"icon\":\"popover\",\"screenshot\":\"\",\"snippetName\":\"TinyPopover\",\"schema\":{\"componentName\":\"TinyPopover\",\"props\":{\"width\":200,\"title\":\"弹框标题\",\"trigger\":\"manual\",\"modelValue\":true},\"children\":[{\"componentName\":\"Template\",\"props\":{\"slot\":\"reference\"},\"children\":[{\"componentName\":\"div\",\"props\":{\"placeholder\":\"触发源\"}}]},{\"componentName\":\"Template\",\"props\":{\"slot\":\"default\"},\"children\":[{\"componentName\":\"div\",\"props\":{\"placeholder\":\"提示内容\"}}]}]}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定,手动控制是否可见的状态值\"},\"labelPosition\":\"left\"},{\"property\":\"placement\",\"label\":{\"text\":{\"zh_CN\":\"位置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"top\",\"value\":\"top\"},{\"label\":\"top-start\",\"value\":\"top-start\"},{\"label\":\"top-end\",\"value\":\"top-end\"},{\"label\":\"bottom\",\"value\":\"bottom\"},{\"label\":\"bottom-start\",\"value\":\"bottom-start\"},{\"label\":\"bottom-end\",\"value\":\"bottom-end\"},{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"left-start\",\"value\":\"left-start\"},{\"label\":\"left-end\",\"value\":\"left-end\"},{\"label\":\"right\",\"value\":\"right\"},{\"label\":\"right-start\",\"value\":\"right-start\"},{\"label\":\"right-end\",\"value\":\"right-end\"}]}},\"description\":{\"zh_CN\":\"提示框位置\"},\"labelPosition\":\"left\"},{\"property\":\"trigger\",\"label\":{\"text\":{\"zh_CN\":\"触发方式\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"click\",\"value\":\"click\"},{\"label\":\"focus\",\"value\":\"focus\"},{\"label\":\"hover\",\"value\":\"hover\"},{\"label\":\"manual\",\"value\":\"manual\"}]}},\"description\":{\"zh_CN\":\"触发方式,该属性的可选值为 click / focus / hover / manual,该属性的默认值为 click\"},\"labelPosition\":\"left\"},{\"property\":\"popper-class\",\"label\":{\"text\":{\"zh_CN\":\"自定义类\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"为 popper 添加类名\"},\"labelPosition\":\"left\"},{\"property\":\"visible-arrow\",\"label\":{\"text\":{\"zh_CN\":\"显示箭头\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示 Tooltip 箭头\"},\"labelPosition\":\"left\"},{\"property\":\"append-to-body\",\"label\":{\"text\":{\"zh_CN\":\"添加到body上\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"Popover弹窗是否添加到body上\"},\"labelPosition\":\"left\"},{\"property\":\"arrow-offset\",\"label\":{\"text\":{\"zh_CN\":\"箭头的位置偏移\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"箭头的位置偏移,该属性的默认值为 0\"}},{\"property\":\"close-delay\",\"label\":{\"text\":{\"zh_CN\":\"延迟隐藏\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"触发方式为 hover 时的隐藏延迟,单位为毫秒\"},\"labelPosition\":\"left\"},{\"property\":\"content\",\"label\":{\"text\":{\"zh_CN\":\"显示的内容\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"显示的内容,也可以通过 slot 传入 DOM\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"Popover 是否可用\"},\"labelPosition\":\"left\"},{\"property\":\"offset\",\"label\":{\"text\":{\"zh_CN\":\"位置偏移量\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"出现位置的偏移量\"},\"labelPosition\":\"left\"},{\"property\":\"open-delay\",\"label\":{\"text\":{\"zh_CN\":\"显示延迟\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"触发方式为 hover 时的显示延迟,单位为毫秒\"},\"labelPosition\":\"left\"},{\"property\":\"popper-options\",\"label\":{\"text\":{\"zh_CN\":\"弹出层参数\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CodeConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"popper.js 的参数\"},\"labelPosition\":\"top\"},{\"property\":\"title\",\"label\":{\"text\":{\"zh_CN\":\"标题\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"提示内容标题\"},\"labelPosition\":\"left\"},{\"property\":\"transform-origin\",\"label\":{\"text\":{\"zh_CN\":\"旋转中心点\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"组件的旋转中心点,组件的旋转中心点\"},\"labelPosition\":\"left\"},{\"property\":\"transition\",\"label\":{\"text\":{\"zh_CN\":\"渐变动画\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"InputConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"该属性的默认值为 fade-in-linear\"},\"labelPosition\":\"left\"},{\"property\":\"width\",\"label\":{\"text\":{\"zh_CN\":\"宽度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"宽度\"},\"labelPosition\":\"left\"}]}],\"events\":{\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"手动控制是否可见的状态值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"boolean\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的可见状态值\"}}],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"isPopper\":true,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"visible\",\"width\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (49, '3.20.0', '{\"zh_CN\":\"日期选择\"}', 'TinyDatePicker', 'datepick', '用于输入或选择日期', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"DatePicker\"}', 'component', 'form', 1, '[{\"name\":{\"zh_CN\":\"日期选择\"},\"icon\":\"datepick\",\"screenshot\":\"\",\"snippetName\":\"TinyDatePicker\",\"schema\":{\"componentName\":\"TinyDatePicker\",\"props\":{\"placeholder\":\"请输入\",\"modelValue\":\"\"}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定值\"},\"labelPosition\":\"left\"},{\"property\":\"type\",\"label\":{\"text\":{\"zh_CN\":\"类型\"}},\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"日期\",\"value\":\"date\"},{\"label\":\"日期时间\",\"value\":\"datetime\"},{\"label\":\"周\",\"value\":\"week\"},{\"label\":\"月份\",\"value\":\"month\"},{\"label\":\"年份\",\"value\":\"year\"}]}},\"description\":{\"zh_CN\":\"设置日期框的type属性\"},\"labelPosition\":\"left\"},{\"property\":\"placeholder\",\"label\":{\"text\":{\"zh_CN\":\"占位文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"输入框占位文本\"},\"labelPosition\":\"left\"},{\"property\":\"clearable\",\"label\":{\"text\":{\"zh_CN\":\"清除按钮\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否显示清除按钮\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"},{\"property\":\"readonly\",\"label\":{\"text\":{\"zh_CN\":\"只读\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否只读\"},\"labelPosition\":\"left\"},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"尺寸\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"medium\",\"value\":\"medium\"},{\"label\":\"small\",\"value\":\"small\"},{\"label\":\"mini\",\"value\":\"mini\"}]}},\"description\":{\"zh_CN\":\"日期框尺寸。该属性的可选值为 medium / small / mini\"},\"labelPosition\":\"left\"}]},{\"name\":\"1\",\"label\":{\"zh_CN\":\"其他\"},\"content\":[{\"property\":\"maxlength\",\"label\":{\"text\":{\"zh_CN\":\"输入最大长度\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"设置 input 框的maxLength\"}},{\"property\":\"autofocus\",\"label\":{\"text\":{\"zh_CN\":\"聚焦\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"自动获取焦点\"},\"labelPosition\":\"left\"}],\"description\":{\"zh_CN\":\"\"}}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"输入框改变后的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onInput\":{\"label\":{\"zh_CN\":\"输入值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 输入值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"输入框输入的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 输入值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onBlur\":{\"label\":{\"zh_CN\":\"失去焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 失去焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onFocus\":{\"label\":{\"zh_CN\":\"获取焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 获取焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onClear\":{\"label\":{\"zh_CN\":\"点击清空按钮时触发\"},\"description\":{\"zh_CN\":\"点击清空按钮时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"value\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); +INSERT INTO `t_component` (`id`, `version`, `name`, `name_en`, `icon`, `description`, `doc_url`, `screenshot`, `tags`, `keywords`, `dev_mode`, `npm`, `group`, `category`, `priority`, `snippets`, `schema_fragment`, `configure`, `public`, `framework`, `is_official`, `is_default`, `tiny_reserved`, `component_metadata`, `library_id`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (50, '3.20.0', '{\"zh_CN\":\"数字输入框\"}', 'TinyNumeric', 'numeric', '通过鼠标或键盘输入字符', '', '', '', '', 'proCode', '{\"package\":\"@opentiny/vue\",\"exportName\":\"Numeric\"}', 'component', 'form', 1, '[{\"name\":{\"zh_CN\":\"数字输入框\"},\"icon\":\"numeric\",\"screenshot\":\"\",\"snippetName\":\"TinyNumeric\",\"schema\":{\"componentName\":\"TinyNumeric\",\"props\":{\"allow-empty\":true,\"placeholder\":\"请输入\",\"controlsPosition\":\"right\",\"step\":1}}}]', '{\"properties\":[{\"label\":{\"zh_CN\":\"基础信息\"},\"description\":{\"zh_CN\":\"基础信息\"},\"content\":[{\"property\":\"modelValue\",\"label\":{\"text\":{\"zh_CN\":\"绑定值\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"双向绑定值\"},\"labelPosition\":\"left\"},{\"property\":\"placeholder\",\"label\":{\"text\":{\"zh_CN\":\"占位文本\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"I18nConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"输入框占位文本\"},\"labelPosition\":\"left\"},{\"property\":\"allow-empty\",\"label\":{\"text\":{\"zh_CN\":\"内容可清空\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否内容可清空\"},\"labelPosition\":\"left\"},{\"property\":\"disabled\",\"label\":{\"text\":{\"zh_CN\":\"禁用\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否禁用\"},\"labelPosition\":\"left\"},{\"property\":\"size\",\"label\":{\"text\":{\"zh_CN\":\"尺寸\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"medium\",\"value\":\"medium\"},{\"label\":\"small\",\"value\":\"small\"},{\"label\":\"mini\",\"value\":\"mini\"}]}},\"description\":{\"zh_CN\":\"输入框尺寸。该属性的可选值为 medium / small / mini\"},\"labelPosition\":\"left\"},{\"property\":\"controls\",\"label\":{\"text\":{\"zh_CN\":\"加减按钮\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"CheckBoxConfigurator\",\"props\":{}},\"description\":{\"zh_CN\":\"是否使用加减按钮\"},\"labelPosition\":\"left\"},{\"property\":\"controls-position\",\"label\":{\"text\":{\"zh_CN\":\"加减按钮位置\"}},\"required\":true,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"SelectConfigurator\",\"props\":{\"options\":[{\"label\":\"左右两侧\",\"value\":\"\"},{\"label\":\"只在右侧\",\"value\":\"right\"}]}},\"description\":{\"zh_CN\":\"加减按钮位置\"}},{\"property\":\"precision\",\"label\":{\"text\":{\"zh_CN\":\"精度\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"allowEmpty\":true}},\"description\":{\"zh_CN\":\"数值精度\"},\"labelPosition\":\"left\"},{\"property\":\"step\",\"label\":{\"text\":{\"zh_CN\":\"步长\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"allowEmpty\":true}},\"description\":{\"zh_CN\":\"步长\"},\"labelPosition\":\"left\"},{\"property\":\"max\",\"label\":{\"text\":{\"zh_CN\":\"最大数值\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"allowEmpty\":true}},\"description\":{\"zh_CN\":\"可输入的最大数值\"},\"labelPosition\":\"left\"},{\"property\":\"min\",\"label\":{\"text\":{\"zh_CN\":\"最小数值\"}},\"required\":false,\"readOnly\":false,\"disabled\":false,\"cols\":12,\"widget\":{\"component\":\"NumberConfigurator\",\"props\":{\"allowEmpty\":true}},\"description\":{\"zh_CN\":\"可输入的最大数值\"},\"labelPosition\":\"left\"}]}],\"events\":{\"onChange\":{\"label\":{\"zh_CN\":\"值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"输入框改变后的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onInput\":{\"label\":{\"zh_CN\":\"输入值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 输入值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"输入框输入的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onUpdate:modelValue\":{\"label\":{\"zh_CN\":\"双向绑定的值改变时触发\"},\"description\":{\"zh_CN\":\"在 Input 输入值改变时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"value\",\"type\":\"string\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"双向绑定的值\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onBlur\":{\"label\":{\"zh_CN\":\"失去焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 失去焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onFocus\":{\"label\":{\"zh_CN\":\"获取焦点时触发\"},\"description\":{\"zh_CN\":\"在 Input 获取焦点时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[{\"name\":\"event\",\"type\":\"Object\",\"defaultValue\":\"\",\"description\":{\"zh_CN\":\"原生 event\"}}],\"returns\":{}},\"defaultValue\":\"\"},\"onClear\":{\"label\":{\"zh_CN\":\"点击清空按钮时触发\"},\"description\":{\"zh_CN\":\"点击清空按钮时触发\"},\"type\":\"event\",\"functionInfo\":{\"params\":[],\"returns\":{}},\"defaultValue\":\"\"}}}', '{\"loop\":true,\"condition\":true,\"styles\":true,\"isContainer\":true,\"isModal\":false,\"nestingRule\":{\"childWhitelist\":\"\",\"parentWhitelist\":\"\",\"descendantBlacklist\":\"\",\"ancestorWhitelist\":\"\"},\"isNullNode\":false,\"isLayout\":false,\"rootSelector\":\"\",\"shortcuts\":{\"properties\":[\"value\",\"disabled\"]},\"contextMenu\":{\"actions\":[\"create symbol\"],\"disable\":[\"copy\",\"remove\"]}}', 1, 'Vue', 1, 1, 0, NULL, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:33', '1', '2025-05-22 18:02:33'); + +INSERT INTO `t_component_library` (`id`, `version`, `name`, `app_id`, `package`, `registry`, `framework`, `description`, `script`, `css`, `bundle`, `dependencies`, `others`, `thumbnail`, `public`, `is_started`, `is_official`, `is_default`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (1, '3.20.0', 'TinyVue组件库', NULL, '@opentiny/vue', NULL, 'Vue', NULL, 'https://unpkg.com/@opentiny/vue-runtime@~3.20/dist3/tiny-vue-pc.mjs', 'https://unpkg.com/@opentiny/vue-theme@~3.20/index.css', NULL, NULL, NULL, NULL, NULL, 1, 1, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); +INSERT INTO `t_component_library` (`id`, `version`, `name`, `app_id`, `package`, `registry`, `framework`, `description`, `script`, `css`, `bundle`, `dependencies`, `others`, `thumbnail`, `public`, `is_started`, `is_official`, `is_default`, `tenant_id`, `renter_id`, `site_id`, `created_by`, `created_time`, `last_updated_by`, `last_updated_time`) VALUES (2, '2.4.2', 'element-plus组件库', NULL, 'element-plus', NULL, 'Vue', NULL, 'https://unpkg.com/element-plus@2.4.2/dist/index.full.mjs', 'https://unpkg.com/element-plus@2.4.2/dist/index.css', NULL, NULL, NULL, NULL, NULL, 1, 1, 1, NULL, NULL, NULL, '1', '2025-05-22 18:02:32', '1', '2025-05-22 18:02:32'); + +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (1, 1, 1); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (2, 1, 2); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (3, 1, 3); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (4, 1, 4); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (5, 1, 5); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (6, 1, 6); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (7, 1, 7); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (8, 1, 8); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (9, 1, 9); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (10, 1, 10); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (11, 1, 11); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (12, 1, 12); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (13, 1, 13); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (14, 1, 14); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (15, 1, 15); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (16, 1, 16); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (17, 1, 17); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (18, 1, 18); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (19, 1, 19); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (20, 1, 20); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (21, 1, 21); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (22, 1, 22); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (23, 1, 23); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (24, 1, 24); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (25, 1, 25); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (26, 1, 26); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (27, 1, 27); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (28, 1, 28); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (29, 1, 29); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (30, 1, 30); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (31, 1, 31); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (32, 1, 32); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (33, 1, 33); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (34, 1, 34); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (35, 1, 35); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (36, 1, 36); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (37, 1, 37); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (38, 1, 38); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (39, 1, 39); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (40, 1, 40); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (41, 1, 41); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (42, 1, 42); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (43, 1, 43); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (44, 1, 44); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (45, 1, 45); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (46, 1, 46); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (47, 1, 47); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (48, 1, 48); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (49, 1, 49); +INSERT INTO `r_material_history_component` (`id`, `material_history_id`, `component_id`) VALUES (50, 1, 50); + +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (1, 1, 1); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (2, 1, 2); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (3, 1, 3); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (4, 1, 4); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (5, 1, 5); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (6, 1, 6); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (7, 1, 7); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (8, 1, 8); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (9, 1, 9); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (10, 1, 10); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (11, 1, 11); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (12, 1, 12); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (13, 1, 13); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (14, 1, 14); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (15, 1, 15); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (16, 1, 16); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (17, 1, 17); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (18, 1, 18); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (19, 1, 19); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (20, 1, 20); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (21, 1, 21); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (22, 1, 22); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (23, 1, 23); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (24, 1, 24); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (25, 1, 25); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (26, 1, 26); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (27, 1, 27); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (28, 1, 28); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (29, 1, 29); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (30, 1, 30); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (31, 1, 31); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (32, 1, 32); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (33, 1, 33); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (34, 1, 34); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (35, 1, 35); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (36, 1, 36); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (37, 1, 37); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (38, 1, 38); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (39, 1, 39); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (40, 1, 40); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (41, 1, 41); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (42, 1, 42); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (43, 1, 43); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (44, 1, 44); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (45, 1, 45); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (46, 1, 46); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (47, 1, 47); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (48, 1, 48); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (49, 1, 49); +INSERT INTO `r_material_component` (`id`, `material_id`, `component_id`) VALUES (50, 1, 50); diff --git a/docker-deploy-data/mysql/init/update_all_tables_ddl.sql b/docker-deploy-data/mysql/init/update_all_tables_ddl.sql new file mode 100644 index 00000000..16b331ec --- /dev/null +++ b/docker-deploy-data/mysql/init/update_all_tables_ddl.sql @@ -0,0 +1,30 @@ +ALTER TABLE t_component DROP INDEX u_idx_component; +ALTER TABLE t_component ADD INDEX u_idx_component (tenant_id, name_en, version, library_id); + +ALTER TABLE t_datasource DROP INDEX u_idx_datasource; +ALTER TABLE t_datasource ADD INDEX u_idx_datasource (`tenant_id`, `platform_id`, `name`, `app_id`); + +ALTER TABLE t_platform_history MODIFY sub_count int NULL; +ALTER TABLE t_platform_history MODIFY publish_url varchar(255) NULL; + +ALTER TABLE t_app MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_app_extension MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_block MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_block_carriers_relation MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_block_group MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_block_history MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_business_category MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_component MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_component_library MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_datasource MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_i18n_entry MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_material MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_material_history MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_page MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_page_history MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_page_template MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_platform MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_platform_history MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_task_record MODIFY tenant_id varchar(60) NULL; +ALTER TABLE t_user MODIFY tenant_id varchar(60) NULL; + diff --git a/docker-deploy-data/mysql/init/update_tables_ddl_v1.0.0_2025_0527.sql b/docker-deploy-data/mysql/init/update_tables_ddl_v1.0.0_2025_0527.sql new file mode 100644 index 00000000..460a83aa --- /dev/null +++ b/docker-deploy-data/mysql/init/update_tables_ddl_v1.0.0_2025_0527.sql @@ -0,0 +1,2 @@ +ALTER TABLE t_block_group DROP INDEX u_idx_block_group; +ALTER TABLE t_block_group ADD INDEX u_idx_block_group (`tenant_id`, `platform_id`, `name`, `app_id`); \ No newline at end of file diff --git a/docker-deploy-data/nginx.conf b/docker-deploy-data/nginx.conf new file mode 100644 index 00000000..2bde7f6b --- /dev/null +++ b/docker-deploy-data/nginx.conf @@ -0,0 +1,48 @@ + +events { + worker_connections 1024; +} + + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + server { + listen 80; + server_name 127.0.0.1;# public ip or domain name + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + + location /app-center/ { + proxy_pass http://tiny-engine-back:9090/app-center/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + location /platform-center/ { + proxy_pass http://tiny-engine-back:9090/platform-center/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + location /material-center/ { + proxy_pass http://tiny-engine-back:9090/material-center/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; } + } + +} + diff --git a/settings.xml b/settings.xml new file mode 100644 index 00000000..ba69fb6e --- /dev/null +++ b/settings.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + deploymentRepo + repouser + repopwd + + + + + + + + + aliyunmaven + + 阿里云公共仓库 + + https://maven.aliyun.com/repository/public + + * + + + + + + + +