Dunqing
817646d68d
feat(api-keys): the expiration field support custom option ( #2186 )
...
* feat(api-keys): the expiration field support custom option
* feat: support never option
* feat: support if expiresIn = never the expiresIn will replace to 1000y
* fix: toggle datepicker
* feat: update syntax
* fix: option order
* docs: update
* fix: maskCloseable should be false
* refactor: performance and remove unused code
* feat: should not allow clear
* fix: decode maybe fail
* fix: i18n
2023-07-06 16:33:28 +08:00
Junyi
dc91d44ce6
refactor(plugin-workflow): refactor nodes variable option api ( #2192 )
2023-07-05 21:27:34 -07:00
Junyi
c9b726916c
refactor(client): refactor variable components and variables in workflow ( #2157 )
...
* refactor(plugin-workflow): change collection variables to lazy load
* fix(plugin-workflow): avoid to-many reverse loading for association field
* fix(client): fix variable components
* chore(client): fix type
* fix(client): fix current user lazy load options
* refactor(client): remove compile from variable components which potencially causing bug
* fix(plugin-workflow): fix scope argument for new api
* fix(client): fix constant type options
* fix(client): fix infinity rerendering
* fix: avoid closure problem
* fix(client): should use no children when lazy load
* refactor(client): refactor AssignedField to use Variable component
* fix(client): fix type
* fix(plugin-workflow): fix variable options in some node not changes
* fix(plugin-workflow): fix select variable for operand crash (T-815)
* fix(plugin-workflow): variable types detect
* fix(plugin-workflow): detect association to match types
* fix(plugin-workflow): fix variable type filter logic
* fix(plugin-workflow): fix optional types
* fix(plugin-workflow): make changeOnSelect configurable in TextArea and JSONInput
---------
Co-authored-by: Rairn <958414905@qq.com>
2023-07-05 07:01:41 -07:00
Dunqing
25a3a8affa
feat: support token blacklist ( #2168 )
...
* feat: support token blacklist, Close T-799
* feat: clean
* fix: possible token does not exist
* fix: update
* feat: update
* feat: add node-cron to delete expired token
* fix: findOrCreate not work and add test case
* test: add token-blacklist tests
* feat: add test cases for blacklist in authManager
* test: update better
* fix: should hidden token field
* test: clean
* test: clean
* fix: should stop cron in afterStop
* refactor: move delete expired token in token blacklist service
* feat: remove plugin disable/enable logic
* fix: clean
* test: revert
* fix: cron typo
2023-07-05 21:57:57 +08:00
katherinehhh
046a0b4f4d
feat(collection-manager): tableOID field and collection field ( #2161 )
...
* feat: support tableOid interface
* chore: child collection filter operator
* chore: test
* refactor: support tableOid and collection field
* chore: test
* fix: refactor: collectionSelect
* refactor: support linkage from form in add child
* refactor: add child support linkage form form
* refactor: code improve
* feat: support undefined value in childIn query
* chore: test
* refactor: locale improve
* refactor: code improve
* refactor: code improve
* refactor: tableoid only support pg
* refactor: tableoid only support pg
* refactor: code improve
* refactor: collection operator
* refactor: code improve
* refactor: code improve
* refactor: code improve
* refactor: code improve
* refactor: collection field support options config
* refactor: collection field support options config
* feat: tableoid migration
* fix: item.options?.inherits
---------
Co-authored-by: ChengLei Shao <chareice@live.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-07-04 23:16:49 +08:00
Junyi
650a580aca
fix(plugin-workflow): fix data scope on todo table block ( #2176 )
2023-07-04 16:05:50 +08:00
Junyi
21371aaa57
fix(plugin-workflow): fix cancel action on trigger config ( #2166 )
2023-07-02 17:02:05 -07:00
Dunqing
677442c844
fix(plugin-api-keys): use currentRoles instead of get roles from roles:list ( #2163 )
2023-07-02 10:36:36 +08:00
Dunqing
9f4fc777b0
docs: update api-keys related documentation ( #2162 )
...
* docs: typo
* docs: update
2023-07-01 12:21:33 +08:00
YANG QIA
3aa65cb30c
feat: data visualization ( #2160 )
...
* feat(charts-v2): init
* chore(charts-v2): init chart renderer
* feat(chart-v2): add chart grid and initializer
* feat(chart-v2): improve ui
* feat(chart-v2): ui
* feat(charts-v2): query sort ui
* feat(charts-v2): field select component
* feat(charts-v2): improve ui && add query action
* feat(charts-v2): imporve ui, work in progress
* fix(charts-v2): chart renderer request api twice
* feat(charts-v2): add dimension formatter
* feat(charts-v2): filter, sort, limit
* feat(charts-v2): sql mode ui
* feat(charts-v2): support duplicate & sql mode
* fix(charts-v2): wrong defaultValue of json config
* feat(charts-v2): transformer ui
* feat(charts-v2): transformer
* chore(charts-v2): rename transfromer to transform
* feat(charts-v2): support cache
* feat(charts-v2): add acl provider
* chore(charts-v2): hide sql mode
* refactor(charts-v2): add renderer provider
* feat: collection permission check
* feat(charts-v2): add antd statistic
* test(charts-v2): backend
* chore: improve code
* test(charts-v2): add test
* chore: add Chinese translation
* fix(charts-v2): locale switch bug
* chore: add dependency
* feat(charts-v2): init chart config from query
* feat: change layout
* test: fix frontend test
* feat: improve auto infer
* fix: ui issues
* chore: translation
* fix: sql error
* fix: some issues
* feat: support table
* fix: bug
* chore: improve code and fix query
* feat: add config reference
* chore: add translation
* fix: process data due to pg issue
* test: fix parseBuilder
* chore: upgrade formily to 2.2.25
* fix: some issues and import style
* fix: bug when query with sort
* feat: parse enum data
* fix: yarn.lock
* fix: type error
* fix: infer bug and frontend test
* test: fix frontend
* fix: test
* feat: improve preview
* chore: downgrade formily
* feat: support associations, draft, in testing
* fix: typo
* test: frontend & backend
* fix: infer bug
* feat: measure selection of statistics
* fix: bug of group by alias
* fix: some issues
* fix: order issues
* fix: yarn.lock
* chore: fix filter include & 'data-visualization'
* style: improve style
* docs: add readme
* chore: add translation
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-30 20:49:44 +08:00
chenos
7e0ac57057
fix(acl): add roles.users field
2023-06-30 12:02:08 +08:00
Dunqing
6cfd586175
feat(plugin-api-keys): support fetch api via api-keys ( #2136 )
...
* feat(plugin-api-keys): support fetch api via api-keys
* feat: full support
* fix: missing parseToken in auth
* feat: add created at column
* feat: configure snippet
* fix: remove unused code
* fix: revert
* chore: update deps
* feat: improve role
* fix: avoid create api key without not exist role
* feat: improve select roles
* refactor: when no X-Role is found, roles should not be randomly assigned
* feat: improve code
* feat: improve current role
* fix: revert
* fix: revert apilicent
* fix: revert auth
* feat: improve currentRole logic
* feat: use resourcer.use instead it
* refactor: remove api-keys-auth
* fix: type
* refactor: move jwt to authManager
* refactor: remove unused code
* refactor: remove protected
* Revert "refactor: remove unused code"
This reverts commit 8f81535ab7e9c412bdc4d4bc05abad64ff60ba3f.
* feat: remove unused code
* feat: improve code
* fix: test error
* test: update test
* test: add test cases
* docs: update
* chore: update X-Role
* fix: token's roleName not work
* docs: update usage
* fix: i18n Add APi key
* docs: update capital
* docs: update
* feat: clean
* Update package.json
* Update roles.ts
* fix: api key
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-30 11:20:35 +08:00
Dunqing
4bf722326c
feat(map-plugin): support google map ( #2027 )
...
* feat(map-plugin): support google map
* fix: should render current position
* feat: support google map in field
* feat: support google map block
* feat: support connect data
* fix: update
* feat: support autocomplete instated of search
* feat: support language
* fix: drawing not work
* feat: support same labe lstyle
* feat: use better configuration
* fix: avoid rerender
* chore: update deps
* feat: add tips for lineString, Close T-591
* fix: zoom to big
* feat: improve api key incorrect flow
* fix: remove unreleated file
* feat: improve setFitView
* feat: update tips
* feat: improve code
* fix: avoid crash, Close T-713
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-30 11:08:53 +08:00
chenos
560c00cc3e
chore(versions): 😊 publish v0.10.0-alpha.5
2023-06-29 15:34:40 +08:00
chenos
c229d837a3
fix: dropdownMatchSelectWidth=false ( #2143 )
2023-06-28 10:13:35 +08:00
被雨水过滤的空气-Rairn
73dfe074d7
refactor: should use useDocumentTitle to change document title ( #2137 )
2023-06-27 18:42:33 +08:00
yaroslav.kr
dd3e872b06
Add *.pdf preview ( #2105 )
...
* Create uk-UA.json
added Ukrainian locale json
* Add files via upload
* fix
* Update uk_UA.ts
* feat(client): add pdf preview
* feat(client): add pdf preview to upload
* fix: refactor pdf preview
---------
Co-authored-by: alexkash <kashmensky@gmail.com>
2023-06-27 16:00:41 +08:00
chenos
e79ea701a3
fix: migration up error ( #2135 )
2023-06-27 15:19:32 +08:00
chenos
f3f91bd649
chore(versions): 😊 publish v0.10.0-alpha.4
2023-06-27 13:50:59 +08:00
chenos
4d3d00a5d2
fix: modify the migration file name
2023-06-27 13:10:34 +08:00
Junyi
6d80593f27
fix(plugin-workflow): change to use formv2 to avoid values updating issue ( #2124 )
2023-06-26 14:10:08 +08:00
Rairn
b2e71850f8
Revert "chore: upgrade types of react"
...
This reverts commit 78729bdc41
.
2023-06-25 15:02:12 +08:00
Rairn
78729bdc41
chore: upgrade types of react
2023-06-25 14:47:59 +08:00
chenos
83bf8ea3bb
chore(versions): 😊 publish v0.10.0-alpha.3
2023-06-25 14:04:19 +08:00
katherinehhh
7c5df477f3
fix: deleting the last field from sub table, the entire table will be delete ( #2077 )
...
* fix: deleting the last field from sub table, the entire table will be deleted
* refactor: association select support data scope in sub-table
* refactor: locale improve
* style: sub-table style improve
2023-06-25 14:01:52 +08:00
chenos
8b03dfa96b
fix(input-number): change step to 1 ( #2104 )
2023-06-24 17:15:59 +08:00
chenos
7bd3168422
fix: schema-uid-invalid ( #2107 )
2023-06-24 16:36:26 +08:00
chenos
40c1a2b2ce
fix(client): migration error
2023-06-24 12:28:43 +08:00
Junyi
19341952b9
fix(plugin-workflow): fix branch and exit logic ( #2103 )
2023-06-23 08:21:19 -07:00
chenos
bdcbe7392f
chore(deps): bump formily from 2.2.24 to 2.2.26 ( #2088 )
...
* chore(deps): bump formily from 2.2.24 to 2.2.25
* chore(deps): bump formily from 2.2.25 to 2.2.26
* chore: update yarn.lock
---------
Co-authored-by: Rairn <958414905@qq.com>
2023-06-23 07:55:44 +08:00
被雨水过滤的空气-Rairn
6eed9ac2bb
refactor: fix warning of antd 4.x ( #1998 )
...
* refactor: fix warning by codemod
* refactor: fix warning of Dropdown
* perf: use memo
* refactor: resolve SchemaInitializer
* refactor: fix lint
* refactor: remove SettingsForm
* refactor: resolve SchemaInitializer
* refactor: fix lint
* refactor: move useMenuItem to root dir
* chore: fix conflicts
* refactor: resolve SchemaSetting
* refactor: fix lint
* test: fix failed
* chore: upgrade Vite
* fix: fix style
* refactor: fix lint
* refactor: extract component
* refactor: resovle Menu
* refactor: resolve Tabs
* refactor(getPopupContainer): should return the unique div
* refactor(Drawer): change style to rootStyle and className to rootClassName
* chore: update yarn.lock
* fix: fix T-432
* fix: fix T-338
* fix: fix T-490
* fix: collection fields
* fix: fix style
* fix: fix T-500
* fix: fix SettingMenu error (close T-516)
* fix: fix tanslation of Map (T-506)
* style: fix style (T-508)
* fix: fix schemaSetting switch of mobile (T-517)
* fix: fix T-518
* fix: fix T-524
* fix: fix T-507
* perf: optimize SchemaInitializer.Button
* perf: optimize SchemaSettings
* fix: fix serch of SchemaInitializer (T-547)
* chore: change delay
* fix: fix button style (T-548)
* fix: fix scroll bar
* fix: update yarn.lock
* fix: fix build error
* fix: should update sideMenu when change it
* fix: fix build error
* chore: mouseEnterDelay
* fix: fix group menu can not selected
2023-06-22 19:51:16 +08:00
Junyi
5fc5428d03
fix(plugin-workflow): fix job button style ( #2098 )
2023-06-21 08:03:54 -07:00
Dunqing
b80aaacb38
fix(mobile-client): fix multiple bugs and do some improvement ( #2072 )
2023-06-21 22:26:15 +08:00
Junyi
6254fceb04
fix(plugin-verification): fix duplication of installation ( #2097 )
2023-06-21 06:59:19 -07:00
chenos
daa48302df
fix(acl): change route.uiSchemaUid to useAdminSchemaUid
2023-06-21 16:37:56 +08:00
Junyi
6a589543f9
refactor(db): add batch logic to update for better performance ( #2070 )
...
* refactor(db): add batch logic to update for better performance
* test(plugin-workflow): fix test cases
* fix(db): treat belongsTo field in update values as foreignKey
* fix(db): also handle object with id for belongsTo field
* fix(db): avoid 0 as falsy
* fix(db): fix test case
2023-06-21 16:37:06 +08:00
chenos
64070b81b9
refactor: migrate adminSchemaUid & mobileSchemaUid to system settings ( #2084 )
...
* refactor: migrate adminSchemaUid & mobileSchemaUid to system settings
* fix: error
2023-06-21 11:02:49 +08:00
Junyi
56e6d0c3b1
fix(plugin-workflow): fix occasional error on enter workflow page ( #2086 )
2023-06-20 19:53:31 -07:00
chenos
0b06e2cd69
chore(versions): 😊 publish v0.10.0-alpha.2
2023-06-20 11:51:16 +08:00
jack zhang
d76e8fb87f
refactor: upgrade umi
, react
and react-router-dom
( #1921 )
...
* refactor: update umi version 3.x to version 4.x
* refactor: update react-router-dom version to 6.x
* refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />`
* refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct
* refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />`
* refactor(react-router-dom): replace `useHistory` to `useNavigate`
* refactor(react-router-dom): replace `useRouteMatch` to `useParams`
* refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug
* refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code
* refactor(react-router-dom): update `Route` types and docs
* refactor(react-router-dom): optimize RouteSwitch code
* refactor(react-router-dom): `useLocation` no generics type
* refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less`
* refactor(react-router-dom): fix `<RouteSwitch />` `props.routes` as an array is not handled
* chore: upgrade `dumi` and refactor docs
* fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack`
* refactor(dumi): upgraded dumi under `packages/core/client`
* refactor(dumi): delete `packages/core/dumi-theme-nocobase`
* refactor(dumi): degrade `react` & replace `dumi-theme-antd` to `dumi-theme-nocobase`
* refactor(dumi): solve conflicts between multiple dumi applications
* fix: login page error in react 17
* refactor(dumi): remove less resolutions
* refactor(dumi): umi add `msfu: true` config
* fix: merge bug
* fix: self code review
* fix: code reivew and test bug
* refactor: upgrade react to 18
* refactor: degrade react types to 17
* chore: fix ci error
* fix: support routerBase & fix workflow page params
* fix(doc): menu externel link
* fix: build error
* fix: delete
* fix: vitest error
* fix: react-router new code replace
* fix: vitest markdown error
* fix: title is none when refresh
* fix: merge error
* fix: sidebar width is wrong
* fix: useProps error
* fix: side-menu-width
* fix: menu selectId is wrong & useProps is string
* fix: menu selected first default & side menu hide when change
* fix: test error & v0.10 change log
* fix: new compnent doc modify
* fix: set umi `fastRefresh=false`
* refactor: application v2
* fix: improve code
* fix: bug
* fix: page = 0 error
* fix: workflow navigate error
* feat: plugin manager
* fix: afterAdd
* feat: update docs
* feat: update docs
* fix: page tab change not work
* fix: login redirect query param doesn't work
* fix: bug and doc
* feat: update docs
* fix: ci error
* fix: merge main
* feat: update docs
* feat: update docs
* feat: update docs
* chore(versions): 😊 publish v0.10.0-alpha.1
* fix: translations
* chore: backend node test max old space size
* docs: add useSearchParams
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: ChengLei Shao <chareice@live.com>
2023-06-20 11:48:02 +08:00
ChengLei Shao
d8ad98e2f7
fix(collection-manager): share collection when COLLECTION_MANAGER_SCHEMA not set ( #2081 )
...
* fix: share collection when COLLECTION_MANAGER_SCHEMA not set
* fix: test
2023-06-20 11:28:54 +08:00
xilesun
c9f51ca416
fix(oidc): field map bug
2023-06-19 21:53:33 +08:00
Junyi
0606637a73
fix(plugin-formula): fix formula field effect and read-pretty component ( #2076 )
2023-06-19 06:47:29 -07:00
Zhou
44549fdfee
Update README.zh-CN.md
2023-06-19 21:32:16 +08:00
xilesun
f99bedfab4
docs(oidc): add README
2023-06-19 21:13:03 +08:00
Dunqing
6d0f5c1fe0
fix(mobile-client): the JsBridge is not work
2023-06-18 10:30:27 +08:00
Dunqing
21efc5c66c
fix(mobile-client): fix navigate is incorrect
2023-06-17 22:55:55 +08:00
chenos
106f9d90f5
fix(file-manager): only allow logged-in users to upload files
2023-06-17 21:53:49 +08:00
Junyi
e5bab3249a
refactor(plugin-workflow): manual collection block migration ( #2064 )
...
* refactor(plugin-workflow): change all collection node initializer in manual config
* refactor(plugin-workflow): clean code
* fix(plugin-workflow): fix custom form field in manual config
* refactor(plugin-workflow): add migration
* fix(plugin-workflow): fix custom form block migration
* fix(plugin-workflow): fix detail read-pretty for association fields
2023-06-15 23:06:47 -07:00
katherinehhh
4faf64f905
refactor(association-field): support sub table ( #1862 )
...
* fix: association select support data scope and sort setting
* fix: appends on demand loading
* fix: asociationSelect support multiple
* fix: recordPicker -> AssociationField
* fix: add migration
* fix: audit logs not show assication data
* fix: flattenNestedList
* refactor: file manager field mode
* refactor: field mode refactor
* fix: subtable action
* fix: subtable appends
* refactor: code improve
* fix: nester add new
* feat: sub table
* fix: data scope not effect immediately
* fix: association add new
* fix: association field failed to add new and mutual influence
* style: style improve
* style: style improve
* refactor: updateAssociationValues
* refactor: form init values
* refactor: select options
* fix: form initialValues
* fix: record picker values
* fix: field value change when field mode change
* fix: select data scope
* feat: add migration
* fix: table column enable link
* fix: table column enable link
* refactor: locale improve
* fix: migration
* fix: mutiple config
* fix: readPretty enable link
* fix: appends on demand
* fix: enable link style
* refactor: locale improve
* refactor: locale improve
* feat: sub-form migration
* fix: skip migration
* fix: translation
* fix: skip migration
* fix: getLabelFormatValue
* fix: error TS2339: Property 'find' does not exist on type 'string | SchemaEnum<any>'
* refactor: remove the logic code for converting old record picker
* refactor: locale
* refactor: association field support sub-table
* refactor: locale
* fix: sub-table should not support add new
* refactor: code improve
* refactor: locale
* fix: compatibility history Subtable
* fix: getNesterAppends filter bug
* refactor: useFieldModeOptions
* refactor: subTable
* fix: associationSelect
* fix: associationSelect
* fix: associationSelect
* fix: getAssociationAppends
* fix: sub-form collection context
* refactor: code improve
* refactor: code improve
* refactor: code improve
* refactor: code improve
* refactor: code improve
* fix: sub-table
* fix: appends
* fix: sub-table-appends
* fix: undefine id
* fix: sub-table appends
* refactor: sub-table
* refactor: sub-table supoort delete
* fix: sub-table-appends
* refactor: sub table initvvalue
* fix: sub-table-appends
* fix: association field appends
* fix: association field appends
* fix: association field appends
* style: style improve
* style: style improve
* refactor: textArear Markdown RichText
* style: style improve
* fix: title field
* refactor: code improve
* fix: system fields are not allowed to be edited
* refactor: subtable does not support inline operations
* refactor: jons edit in table
* refactor: sequence readOnly in table
* refactor: json readOnly in table
* fix: sub-table appends
* fix: runWhenParamsChanged
* fix: runWhenParamsChanged
* fix: sub-table appends
* fix: sub-table appends
* refactor: sub-table
* style: checkbox group intable
* style: delete button style improve
* fix: json edit in table
* fix: sub-table appends
* style: upload file in table column
* refactor: map edit in table
* refactor: map edit in table
* refactor: map field display in sub-table
* fix: support mutiple row
* refactor: sub-table
* refactor: sub-table not support sortable
* fix: sub-table appends
* fix: sub-table appends
* chore: useAssociationNames
* refactor: code improve
* refactor: support blocktemplate
* refactor: support blocktemplate
* fix: subtable
* fix: subtable initValue
* refactor: useAssociationNames in block template
* fix: cross hierarchical association field layout
* fix: normal field of association field should be append
* style: upload field in table
* refactor: sub table should not row selection
* style: checkboxGroup and radioGroup display in sub-table
* refactor: locale
* refactor: code improve
* refactor: quickEdit in sub-table
* refactor: quickEdit
* refactor: quickEdit
* refactor: quickEdit
* refactor: quickEdit
* style: quickEdit style improve
* style: quickEdit style improve
* style: quickEdit style improve
* refactor: sub-table support required config
* refactor: cell validate
* refactor: cell validate
* refactor: cell required validate
* refactor: cell required validate
* refactor: sub-table display when readPretty
* refactor: sub-table required
* refactor: sub-table required
* refactor: sub-table required
* refactor: sub-table initialValue
* refactor: table
* refactor: sub-tble field required
* refactor: sub-table style improve
* refactor: sub-table attachemnt
* refactor: code improve
* test: tableV2 snap
* fix: subtable drag
* test: tableV2 snap
* refactor: checkbox group and radio group in sub-table
* refactor: sub-table required style
* style: markdown style in sub-table
* refactor: markdown display in sub-table
* refactor: json field display in sub-table
* refactor: code improve
* style: style improve
* style: style improve
* refactor: inserView when designable
* refactor: china-region load data when dropdown click
* refactor: code improve
* refactor: code improve
* refactor: display loading when the form is first loaded
* refactor: display loading when the form is first loaded
* fix: verification exception when deleting sub table rows
* refactor: sub-table code improve
* refactor: sub-table code improve
* fix: json error feedback
* refactor: code improve
* fix: json onchange
* fix: sub table data did not change when switching data templates
* test: variable test
* test: variable test
* refactor: data template
* refactor: code improve
* refactor: code improve
* fix: upload readpretty
* fix: attach upload in sub-tabl
* fix: remove small
* fix: attach upload in sub-table
* refactor: association fields should not display in sub-table
* fix: dropdownMatchSelectWidth
* refactor: association fields should not display in sub-table
* refactor: selectFile is false in sub-table
* refactor: attacattachment in sub-table
* refactor: attacattachment in sub-table
* fix: selector style
* refactor: quick edit component
* fix: zindex
* style: style improve
* style: style improve
* feat: styling
* fix: style
* fix: style
* refactor: quickEdit getContainer
* refactor: quickEdit
* refactor: quickEdit
* fix: improve code
* refactor: code improve
* refactor: code improve
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-16 12:07:43 +08:00