yootd 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,35 +1,35 @@
1
- .yot-preview {
2
- &-controls {
3
- display: flex;
4
- justify-content: center;
5
- align-items: center;
6
- z-index: 100;
7
- position: absolute;
8
- bottom: 10px;
9
- right: 10px;
10
- background-color: #ffffff;
11
- border-radius: 8px;
12
- box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
13
- .ant-btn.css-var-yootd.ant-btn-default.ant-btn-color-default.ant-btn-variant-outlined {
14
- background-color: transparent;
15
- border: none;
16
- &:hover .ant-btn-icon svg path {
17
- fill: var(--ant-color-primary);
18
- }
19
- &:hover .ant-btn-icon svg #rect-stroke {
20
- stroke: var(--ant-color-primary);
21
- }
22
- &:hover .ant-btn-icon svg #reset-icon-rect {
23
- fill: var(--ant-color-primary);
24
- }
25
- }
26
- &--zoom {
27
- width: 64px;
28
- background-color: transparent;
29
- border: none;
30
- }
31
- }
32
- .react-flow__panel.center {
33
- transform: translateX(-63%);
34
- }
35
- }
1
+ .yot-preview {
2
+ &-controls {
3
+ display: flex;
4
+ justify-content: center;
5
+ align-items: center;
6
+ z-index: 100;
7
+ position: absolute;
8
+ bottom: 10px;
9
+ right: 10px;
10
+ background-color: #ffffff;
11
+ border-radius: 8px;
12
+ box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
13
+ .ant-btn.css-var-yootd.ant-btn-default.ant-btn-color-default.ant-btn-variant-outlined {
14
+ background-color: transparent;
15
+ border: none;
16
+ &:hover .ant-btn-icon svg path {
17
+ fill: var(--ant-color-primary);
18
+ }
19
+ &:hover .ant-btn-icon svg #rect-stroke {
20
+ stroke: var(--ant-color-primary);
21
+ }
22
+ &:hover .ant-btn-icon svg #reset-icon-rect {
23
+ fill: var(--ant-color-primary);
24
+ }
25
+ }
26
+ &--zoom {
27
+ width: 64px;
28
+ background-color: transparent;
29
+ border: none;
30
+ }
31
+ }
32
+ .react-flow__panel.center {
33
+ transform: translateX(-63%);
34
+ }
35
+ }
@@ -1,22 +1,22 @@
1
- export interface PrevewProps {
2
- controls?: boolean; // 是否显示右下角的放大缩小组件
3
- defaultZoom?: number; // 初始化放大倍数
4
- maxZoom?: number; // 最大放大倍数
5
- minZoom?: number; // 最小放大倍数
6
- panOnDrag?: boolean; // 是否可以拖拽
7
- zoomOnScroll?: boolean; // 是否可以滚动
8
- modes?: ['phone', 'web'] | ['phone'] | ['web']; // 预览模式
9
- fitView?: boolean; // 是否自动适应视图
10
- content?: ReactNode; // 数据
11
- width?: number | string; // 宽度
12
- height?: number | string; // 高度
13
- style?: React.CSSProperties; // 样式
14
- }
15
-
16
- export interface TopPreviewProps {
17
- mode: string;
18
- onChange: (value: string) => void;
19
- }
20
- export interface ControlsProps {
21
- defaultZoom?: number; // 初始化放大倍数
22
- }
1
+ export interface PrevewProps {
2
+ controls?: boolean; // 是否显示右下角的放大缩小组件
3
+ defaultZoom?: number; // 初始化放大倍数
4
+ maxZoom?: number; // 最大放大倍数
5
+ minZoom?: number; // 最小放大倍数
6
+ panOnDrag?: boolean; // 是否可以拖拽
7
+ zoomOnScroll?: boolean; // 是否可以滚动
8
+ modes?: ['phone', 'web'] | ['phone'] | ['web']; // 预览模式
9
+ fitView?: boolean; // 是否自动适应视图
10
+ content?: ReactNode; // 数据
11
+ width?: number | string; // 宽度
12
+ height?: number | string; // 高度
13
+ style?: React.CSSProperties; // 样式
14
+ }
15
+
16
+ export interface TopPreviewProps {
17
+ mode: string;
18
+ onChange: (value: string) => void;
19
+ }
20
+ export interface ControlsProps {
21
+ defaultZoom?: number; // 初始化放大倍数
22
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { AreasTreeSelectProps } from './types/type';
3
+ export declare const AreasTreeSelect: React.FC<AreasTreeSelectProps>;
@@ -0,0 +1,58 @@
1
+ var _excluded = ["depth", "areaType", "areaSubType"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ import { useQuery } from '@tanstack/react-query';
6
+ import { TreeSelect } from 'antd';
7
+ import React, { useMemo } from 'react';
8
+ import { useRequest } from "../hooks/useRequest";
9
+ var SHOW_PARENT = TreeSelect.SHOW_PARENT;
10
+ export var AreasTreeSelect = function AreasTreeSelect(_ref) {
11
+ var _ref$depth = _ref.depth,
12
+ depth = _ref$depth === void 0 ? 5 : _ref$depth,
13
+ areaType = _ref.areaType,
14
+ areaSubType = _ref.areaSubType,
15
+ rest = _objectWithoutProperties(_ref, _excluded);
16
+ var request = useRequest();
17
+ // 查询空间树数据
18
+ var _useQuery = useQuery({
19
+ queryKey: ['getAreasTreeData', depth],
20
+ queryFn: function queryFn() {
21
+ return request('/v1/areas', {
22
+ params: {
23
+ as_tree: true,
24
+ depth: depth,
25
+ area_type: areaType,
26
+ area_sub_type: areaSubType
27
+ }
28
+ });
29
+ }
30
+ }),
31
+ areasTreeData = _useQuery.data;
32
+ // 处理空间树递归函数
33
+ var handleAreasTree = function handleAreasTree(data) {
34
+ return data === null || data === void 0 ? void 0 : data.map(function (item) {
35
+ return {
36
+ title: item.areaName,
37
+ value: item.areaId,
38
+ key: item.areaId,
39
+ children: item.children != null ? handleAreasTree(item.children) : undefined
40
+ };
41
+ });
42
+ };
43
+ // 处理空间树数据
44
+ var areasTreeOptions = useMemo(function () {
45
+ return handleAreasTree((areasTreeData === null || areasTreeData === void 0 ? void 0 : areasTreeData.content) || []);
46
+ }, [areasTreeData]);
47
+ var tProps = {
48
+ treeData: areasTreeOptions,
49
+ treeCheckable: true,
50
+ showCheckedStrategy: SHOW_PARENT,
51
+ placeholder: '请选择位置',
52
+ style: {
53
+ width: '100%'
54
+ },
55
+ treeNodeFilterProp: 'title'
56
+ };
57
+ return /*#__PURE__*/React.createElement(TreeSelect, _extends({}, tProps, rest));
58
+ };
@@ -0,0 +1,36 @@
1
+ import { TreeSelectProps } from 'antd';
2
+
3
+ export interface PageData<T> {
4
+ content: T[];
5
+ page: {
6
+ number: number;
7
+ size: number;
8
+ totalElements: number;
9
+ totalPages: number;
10
+ };
11
+ }
12
+
13
+ // 查询位置树接口返回的数据类型
14
+ export interface AreasTreeData {
15
+ areaId: number;
16
+ areaLevel: number;
17
+ areaLevel1Id: number;
18
+ areaName: string;
19
+ areaSubType: number;
20
+ areaType: number;
21
+ children?: AreasTreeData[];
22
+ }
23
+ // 空间树所需数据类型
24
+ export interface AreasTreeOptions {
25
+ title: string;
26
+ value: number;
27
+ key: number;
28
+ children?: AreasTreeOptions[];
29
+ }
30
+ // 空间树选择器props
31
+ export interface AreasTreeSelectProps extends TreeSelectProps {
32
+ depth?: number; // 树节点深度,不传表示到第五级
33
+ areaType?: number; // 筛选楼类型
34
+ areaSubType?: number; // 筛选楼类型
35
+ showSearch?: boolean; // 是否开启搜索
36
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { DepartmentProps } from './types/types';
3
+ export declare const Department: React.FC<DepartmentProps>;
@@ -0,0 +1,50 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure " + obj); }
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import React, { useMemo } from 'react';
5
+ import { TreeSelect } from "./..";
6
+ import { useRequest } from "../hooks/useRequest";
7
+ export var Department = function Department(_ref) {
8
+ var rest = Object.assign({}, (_objectDestructuringEmpty(_ref), _ref));
9
+ var request = useRequest();
10
+ // 查询所有部门
11
+ var _useQuery = useQuery({
12
+ queryKey: ['departmentData'],
13
+ queryFn: function queryFn() {
14
+ return request('/v1/depts', {
15
+ params: {
16
+ as_tree: true,
17
+ has_grade: false
18
+ }
19
+ });
20
+ }
21
+ }),
22
+ departmentData = _useQuery.data;
23
+ // 递归处理树数据
24
+ var recursionTreeData = function recursionTreeData(data) {
25
+ return data === null || data === void 0 ? void 0 : data.map(function (item) {
26
+ return {
27
+ title: item.deptName,
28
+ value: item.deptId,
29
+ children: item.children != null ? recursionTreeData(item.children) : undefined
30
+ };
31
+ });
32
+ };
33
+ // 将部门数据处理成树数据
34
+ var deptTreeData = useMemo(function () {
35
+ if (departmentData !== null && departmentData !== void 0 && departmentData.content) {
36
+ return recursionTreeData(departmentData === null || departmentData === void 0 ? void 0 : departmentData.content);
37
+ }
38
+ return [];
39
+ }, [departmentData]);
40
+ // 筛选数据
41
+ var filterTreeNode = function filterTreeNode(inputValue, treeNode) {
42
+ var _treeNode$title;
43
+ return treeNode === null || treeNode === void 0 || (_treeNode$title = treeNode.title) === null || _treeNode$title === void 0 ? void 0 : _treeNode$title.includes(inputValue);
44
+ };
45
+ return /*#__PURE__*/React.createElement(TreeSelect, _extends({}, rest, {
46
+ showSearch: true,
47
+ treeData: deptTreeData,
48
+ filterTreeNode: filterTreeNode
49
+ }));
50
+ };
@@ -0,0 +1,23 @@
1
+ export interface PageData<T> {
2
+ content: T[];
3
+ page: {
4
+ number: number;
5
+ size: number;
6
+ totalElements: number;
7
+ totalPages: number;
8
+ };
9
+ }
10
+ // 查询部门返回的数据类型
11
+ export interface IDepartmentItem {
12
+ deptId: number; // 部门ID
13
+ deptName: string; // 部门名称
14
+ deptLevel: number; // 部门级别(1,2,3,4...)
15
+ children?: DeptListResponse[]; // 子部门
16
+ }
17
+ // 树组件填充的数据接口
18
+ export interface ITreeData {
19
+ title: string;
20
+ value: number;
21
+ children?: ITreeData[];
22
+ }
23
+ export type DepartmentProps = TreeSelectProps;
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export type { AsideProps } from './aside/types/types';
5
5
  export { AutoComplete } from './auto-complete';
6
6
  export type { AutoCompleteProps } from './auto-complete';
7
7
  export { Areas } from './areas';
8
+ export { AreasTreeSelect } from './areas-treeSelect';
8
9
  export { Breadcrumb } from './breadcrumb';
9
10
  export type { BreadcrumbProps } from './breadcrumb';
10
11
  export { Button } from './button';
@@ -18,6 +19,12 @@ export { Divider } from './divider';
18
19
  export type { DividerProps } from './divider';
19
20
  export { Dropdown } from './dropdown';
20
21
  export type { DropdownProps } from './dropdown';
22
+ export { Department } from './department';
23
+ export type { DepartmentProps } from './department/types/types';
24
+ export { JobTitle } from './job-title';
25
+ export type { JobTitleProps } from './job-title/types/types';
26
+ export { Role } from './role';
27
+ export type { RoleProps } from './role/types/types';
21
28
  export { Flex } from './flex';
22
29
  export type { FlexProps } from './flex';
23
30
  export { FloatButton } from './float-button';
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ export { Anchor } from "./anchor";
2
2
  export { Aside } from "./aside";
3
3
  export { AutoComplete } from "./auto-complete";
4
4
  export { Areas } from "./areas";
5
+ export { AreasTreeSelect } from "./areas-treeSelect";
5
6
  export { Breadcrumb } from "./breadcrumb";
6
7
  export { Button } from "./button";
7
8
  export { Buildings } from "./buildings";
@@ -9,6 +10,9 @@ export { Cascader } from "./cascader";
9
10
  export { Courses } from "./courses";
10
11
  export { Divider } from "./divider";
11
12
  export { Dropdown } from "./dropdown";
13
+ export { Department } from "./department";
14
+ export { JobTitle } from "./job-title";
15
+ export { Role } from "./role";
12
16
  export { Flex } from "./flex";
13
17
  export { FloatButton } from "./float-button";
14
18
  export { GroupTitle } from "./group-title";
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { JobTitleProps } from './types/types';
3
+ export declare const JobTitle: React.FC<JobTitleProps>;
@@ -0,0 +1,37 @@
1
+ var _excluded = ["showSearch"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ import { useQuery } from '@tanstack/react-query';
6
+ import React, { useMemo } from 'react';
7
+ import { Select } from "./..";
8
+ import { useRequest } from "../hooks/useRequest";
9
+ export var JobTitle = function JobTitle(_ref) {
10
+ var _ref$showSearch = _ref.showSearch,
11
+ showSearch = _ref$showSearch === void 0 ? true : _ref$showSearch,
12
+ rest = _objectWithoutProperties(_ref, _excluded);
13
+ var request = useRequest();
14
+ // 查询所有职务
15
+ var _useQuery = useQuery({
16
+ queryKey: ['jobTitleData'],
17
+ queryFn: function queryFn() {
18
+ return request('/v1/titles/all');
19
+ }
20
+ }),
21
+ jobTitleData = _useQuery.data;
22
+ // 将职务数据处理成下拉框
23
+ var allJobTitleOptions = useMemo(function () {
24
+ var _jobTitleData$content;
25
+ return jobTitleData === null || jobTitleData === void 0 || (_jobTitleData$content = jobTitleData.content) === null || _jobTitleData$content === void 0 ? void 0 : _jobTitleData$content.map(function (item) {
26
+ return {
27
+ label: item.titleName,
28
+ value: item.titleId
29
+ };
30
+ });
31
+ }, [jobTitleData]);
32
+ return /*#__PURE__*/React.createElement(Select, _extends({
33
+ options: allJobTitleOptions,
34
+ showSearch: showSearch,
35
+ optionFilterProp: "label"
36
+ }, rest));
37
+ };
@@ -0,0 +1,17 @@
1
+ import { SelectProps } from 'yootd';
2
+
3
+ export interface PageData<T> {
4
+ content: T[];
5
+ page: {
6
+ number: number;
7
+ size: number;
8
+ totalElements: number;
9
+ totalPages: number;
10
+ };
11
+ }
12
+ // 查询职务返回的数据类型
13
+ export interface IjobTitleItem {
14
+ titleId: number;
15
+ titleName: string;
16
+ }
17
+ export type JobTitleProps = SelectProps;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { RoleProps } from './types/types';
3
+ export declare const Role: React.FC<RoleProps>;
@@ -0,0 +1,37 @@
1
+ var _excluded = ["showSearch"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ import { useQuery } from '@tanstack/react-query';
6
+ import React, { useMemo } from 'react';
7
+ import { Select } from "./..";
8
+ import { useRequest } from "../hooks/useRequest";
9
+ export var Role = function Role(_ref) {
10
+ var _ref$showSearch = _ref.showSearch,
11
+ showSearch = _ref$showSearch === void 0 ? true : _ref$showSearch,
12
+ rest = _objectWithoutProperties(_ref, _excluded);
13
+ var request = useRequest();
14
+ // 查询所有角色
15
+ var _useQuery = useQuery({
16
+ queryKey: ['roleData'],
17
+ queryFn: function queryFn() {
18
+ return request('/v1/roles/list');
19
+ }
20
+ }),
21
+ roleData = _useQuery.data;
22
+ // 将职务数据处理成下拉框
23
+ var allRoleOptions = useMemo(function () {
24
+ var _roleData$content;
25
+ return roleData === null || roleData === void 0 || (_roleData$content = roleData.content) === null || _roleData$content === void 0 ? void 0 : _roleData$content.map(function (item) {
26
+ return {
27
+ label: item.roleName,
28
+ value: item.roleId
29
+ };
30
+ });
31
+ }, [roleData]);
32
+ return /*#__PURE__*/React.createElement(Select, _extends({
33
+ options: allRoleOptions,
34
+ showSearch: showSearch,
35
+ optionFilterProp: "label"
36
+ }, rest));
37
+ };
@@ -0,0 +1,22 @@
1
+ import { SelectProps } from 'yootd';
2
+
3
+ export interface PageData<T> {
4
+ content: T[];
5
+ page: {
6
+ number: number;
7
+ size: number;
8
+ totalElements: number;
9
+ totalPages: number;
10
+ };
11
+ }
12
+ // 查询职务返回的数据类型
13
+ export interface IjobTitleItem {
14
+ titleId: number;
15
+ titleName: string;
16
+ }
17
+ // 查询角色返回的数据类型
18
+ export interface IRoleItem {
19
+ roleId: number;
20
+ roleName: string;
21
+ }
22
+ export type RoleProps = SelectProps;
@@ -1,85 +1,85 @@
1
- export interface PageData<T> {
2
- content: T[];
3
- page: {
4
- number: number;
5
- size: number;
6
- totalElements: number;
7
- totalPages: number;
8
- };
9
- }
10
- // 查询班级参数
11
- export interface IQueryClassParams {
12
- college_id?: number;
13
- major_id?: number;
14
- grade_id?: number;
15
- }
16
- // 查询年级返回的数据类型
17
- export interface gradeItem {
18
- deptId: number; // 年级ID
19
- deptName: string; // 年级别名(如一年级)
20
- deptNameShort: string; // 年级名称(如2023级)
21
- }
22
- // 查询系部和专业返回的数据类型
23
- export interface schoolItem {
24
- majorId: number; // 学院或者专业ID
25
- majorType: number; // 类型:1表示学院2表示专业
26
- majorName: string; // 学院或专业名称
27
- majorCode?: string; // 学院或专业编码
28
- children?: Array<{
29
- majorId: number; // 学院或者专业ID
30
- majorType: number; // 类型:1表示学院2表示专业
31
- majorName: string; // 学院或专业名称
32
- majorCode?: string; // 学院或专业编码
33
- }>;
34
- }
35
- export interface classItem {
36
- classId: number; // 班级标识
37
- gradeId: number; // 年级
38
- gradeName: string; // 年级名称
39
- className: string; // 班级名称
40
- classCode: string; // 班级编号通常2020届在这里表达
41
- classPhase: number; // 0普通小学班1普通中学班2职业3大学某专业
42
- classHeadteacher?: number; // 班主任
43
- classAdviser?: number; // 辅导员
44
- classSize?: number; // 学生人数
45
- classFaculty?: number; // 院系
46
- classLocation?: number; // 位置
47
- classCourseNum?: number; // 课程数
48
- classMotto?: string; // 班级宣言
49
- classEmblem?: string; // 班徽
50
- classDesc: string; // 班级描述
51
- }
52
- // 将系部专业处理成大对象形式的数据类型
53
- export interface collegeAndMajorItem {
54
- [key: number]: { label: string; value: number }[];
55
- }
56
- // 接收的onChange参数
57
- export interface onChangeParams {
58
- collegeId?: number;
59
- majorId?: number;
60
- }
61
- // 年级班级树接口返回的数据类型
62
- export interface gradeClassItem {
63
- deptId: number;
64
- deptName: string;
65
- classes: {
66
- classId: number;
67
- className: string;
68
- }[];
69
- }
70
- type SchoolProps = {
71
- type?:
72
- | 'collegeMajor'
73
- | 'gradeClass'
74
- | 'college'
75
- | 'major'
76
- | 'grade'
77
- | 'class';
78
- multiple?: boolean;
79
- style?: React.CSSProperties;
80
- showSearch?: boolean;
81
- value?: Record<string, number>;
82
- onChange?: (record: Record<string, number | undefined>) => void;
83
- allowClear?: boolean;
84
- placeholder?: string[];
85
- };
1
+ export interface PageData<T> {
2
+ content: T[];
3
+ page: {
4
+ number: number;
5
+ size: number;
6
+ totalElements: number;
7
+ totalPages: number;
8
+ };
9
+ }
10
+ // 查询班级参数
11
+ export interface IQueryClassParams {
12
+ college_id?: number;
13
+ major_id?: number;
14
+ grade_id?: number;
15
+ }
16
+ // 查询年级返回的数据类型
17
+ export interface gradeItem {
18
+ deptId: number; // 年级ID
19
+ deptName: string; // 年级别名(如一年级)
20
+ deptNameShort: string; // 年级名称(如2023级)
21
+ }
22
+ // 查询系部和专业返回的数据类型
23
+ export interface schoolItem {
24
+ majorId: number; // 学院或者专业ID
25
+ majorType: number; // 类型:1表示学院2表示专业
26
+ majorName: string; // 学院或专业名称
27
+ majorCode?: string; // 学院或专业编码
28
+ children?: Array<{
29
+ majorId: number; // 学院或者专业ID
30
+ majorType: number; // 类型:1表示学院2表示专业
31
+ majorName: string; // 学院或专业名称
32
+ majorCode?: string; // 学院或专业编码
33
+ }>;
34
+ }
35
+ export interface classItem {
36
+ classId: number; // 班级标识
37
+ gradeId: number; // 年级
38
+ gradeName: string; // 年级名称
39
+ className: string; // 班级名称
40
+ classCode: string; // 班级编号通常2020届在这里表达
41
+ classPhase: number; // 0普通小学班1普通中学班2职业3大学某专业
42
+ classHeadteacher?: number; // 班主任
43
+ classAdviser?: number; // 辅导员
44
+ classSize?: number; // 学生人数
45
+ classFaculty?: number; // 院系
46
+ classLocation?: number; // 位置
47
+ classCourseNum?: number; // 课程数
48
+ classMotto?: string; // 班级宣言
49
+ classEmblem?: string; // 班徽
50
+ classDesc: string; // 班级描述
51
+ }
52
+ // 将系部专业处理成大对象形式的数据类型
53
+ export interface collegeAndMajorItem {
54
+ [key: number]: { label: string; value: number }[];
55
+ }
56
+ // 接收的onChange参数
57
+ export interface onChangeParams {
58
+ collegeId?: number;
59
+ majorId?: number;
60
+ }
61
+ // 年级班级树接口返回的数据类型
62
+ export interface gradeClassItem {
63
+ deptId: number;
64
+ deptName: string;
65
+ classes: {
66
+ classId: number;
67
+ className: string;
68
+ }[];
69
+ }
70
+ type SchoolProps = {
71
+ type?:
72
+ | 'collegeMajor'
73
+ | 'gradeClass'
74
+ | 'college'
75
+ | 'major'
76
+ | 'grade'
77
+ | 'class';
78
+ multiple?: boolean;
79
+ style?: React.CSSProperties;
80
+ showSearch?: boolean;
81
+ value?: Record<string, number>;
82
+ onChange?: (record: Record<string, number | undefined>) => void;
83
+ allowClear?: boolean;
84
+ placeholder?: string[];
85
+ };
@@ -522,26 +522,26 @@ export var VideoPlayer = function VideoPlayer(_ref) {
522
522
  useEffect(function () {
523
523
  var handler = null;
524
524
  // let lastTime = Date.now();
525
- /* const start = () => {
526
- if (
527
- !faceFeature.anchor &&
528
- !faceFeature.emotion &&
529
- !faceFeature.character
530
- ) {
531
- return;
532
- }
533
- if (lastTime + 1000 <= Date.now()) {
534
- lastTime = Date.now();
535
- detect()
536
- .catch((e) => {
537
- console.log("error", e);
538
- })
539
- .finally(() => {
540
- handler = requestAnimationFrame(start);
541
- });
542
- } else {
543
- handler = requestAnimationFrame(start);
544
- }
525
+ /* const start = () => {
526
+ if (
527
+ !faceFeature.anchor &&
528
+ !faceFeature.emotion &&
529
+ !faceFeature.character
530
+ ) {
531
+ return;
532
+ }
533
+ if (lastTime + 1000 <= Date.now()) {
534
+ lastTime = Date.now();
535
+ detect()
536
+ .catch((e) => {
537
+ console.log("error", e);
538
+ })
539
+ .finally(() => {
540
+ handler = requestAnimationFrame(start);
541
+ });
542
+ } else {
543
+ handler = requestAnimationFrame(start);
544
+ }
545
545
  }; */
546
546
 
547
547
  var start = function start() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yootd",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "A react library developed with dumi",
5
5
  "license": "MIT",
6
6
  "module": "dist/index.js",