Commit Graph

3441 Commits

Author SHA1 Message Date
ChengLei Shao
c86b91c586
chore: relation repository response when source model not found (#1546)
* chore: relation repository response when source model not found

* fix: test

* fix: test

* fix: test
2023-03-07 22:10:51 +08:00
Junyi
313217a671
fix(plugin-workflow): fix assignees config component in manual node (#1547) 2023-03-07 19:24:02 +08:00
Zhou
aa3ca7a959
Update README.zh-CN.md 2023-03-07 12:31:08 +08:00
Zhou
e1a0c63b3f
Update README.md 2023-03-07 12:30:19 +08:00
ChengLei Shao
db6d572638
feat: stopped state in application (#1543) 2023-03-06 21:19:49 +08:00
Junyi
2e4354fcf3
fix(plugin-workflow): fix AssociationInput field path (#1542) 2023-03-06 17:45:09 +08:00
chenos
a463c3d747 fix: schema name conflicts 2023-03-06 16:51:01 +08:00
chenos
cb74a9c08b
fix: set form.disabled only when disabled 2023-03-06 16:08:52 +08:00
ChengLei Shao
51e6aaec6a
fix: cache with index.html (#1541)
* fix: cache with index.html

* fix: docker build
2023-03-06 12:00:12 +08:00
chenos
cd7338d1d8 fix(formula-field): remove afterSync hook 2023-03-06 11:58:21 +08:00
ChengLei Shao
a214c7b2aa
fix: belongs to many through table with custom schema (#1539) 2023-03-05 17:43:04 +08:00
Junyi
d380c94c52
fix(plugin-formula): expose formula field result in form (#1534)
* fix(plugin-formula): make formula field result available in form

* fix(plugin-formula): fix infinite field change loop
2023-03-05 14:48:32 +08:00
ChengLei Shao
d1fb3c92d8
test: with collection_manager_schema env (#1532)
* test: with collection_manager_schema env

* fix: remove collection

* fix: collection test

* fix: collection exist in db with custom schema

* fix: inherited with custom collection schema

* fix: build error

* fix: sync unique index & database logger
2023-03-05 14:45:56 +08:00
ChengLei Shao
104be20c60
fix: filter by association field with underscored (#1537)
* fix: filter by association field with underscored

* fix: test
2023-03-05 14:29:40 +08:00
chenos
3904aa7c11 fix: add new blocks 2023-03-05 11:59:08 +08:00
chenos
5769925757 fix: details block is not displayed 2023-03-05 07:51:22 +08:00
chenos
c360d957d0 feat: update .env 2023-03-05 07:15:45 +08:00
Frozen FIsh
599c870f2f
fix(charts): fix copy (#1533) 2023-03-04 22:44:52 +08:00
Frozen FIsh
b276ce1258
feat: add chart plugin (#1477)
* feat: add pie schema template

* chore: refactor

* chore: update

* chore: init server

* feat: add pie schema template

* chore: add chart utils

* chore: update

* chore: update

* chore: update

* chore: update

* feat: mvp

* chore: update

* chore: test

* feat: example

* fix: templates map error

* chore: update

* feat: add ChartBlockEngineDesigner.tsx

* chore: clean code

* chore: update templates

* chore: init bat template

* chore: update chart block engine

* feat: add chart block engine designer

* chore: update chart block initializer

* chore: update pie template

* chore: update

* feat: split sql

* chore: update

* chore: clean

* feat: support bar

* chore: add bar template

* chore: clean code

* chore: clean code

* fix: chart block initializer title

* chore: update

* fix: use title

* chore: update

* fix: bugs

* chore: clean code

* chore: update pie template

* chore: update ChartBlockInitializer.tsx

* chore: update

* feat: support chart config

* chore: add local plugin

* feat: add column template

* feat: add column chart action

* feat: add line chart template

* feat: add line action

* feat: add area template

* feat: add area action

* chore: update pie template

* chore: update

* chore: update dep

* fix: export missing utils

* chore: update dep

* chore: update dep

* chore: update pie template

* fix(charts): sql table capitalization

* fix(charts): improve sql compatibility

* fix: support choices type

* chore: update

* chore: clean code

* chore: get collection fields in chart engine

* feat(demo): chart block initializer

* fix: hello block

* chore: init data analyse plugin

* chore: add data-analyse plugin

* chore: init plugin

* chore: update

* chore: export schema initializers

* feat: add data analyse block

* chore: update data analyse block initializer

* chore: rename plugin name

* chore: update

* chore: update enum

* chore: update add block

* feat: add pie schema template

* chore: refactor

* chore: update

* chore: init server

* feat: add pie schema template

* chore: add chart utils

* chore: update

* chore: update

* chore: update

* chore: update

* feat: mvp

* chore: update

* chore: test

* feat: example

* fix: templates map error

* chore: update

* feat: add ChartBlockEngineDesigner.tsx

* chore: clean code

* chore: update templates

* chore: init bat template

* chore: update chart block engine

* feat: add chart block engine designer

* chore: update chart block initializer

* chore: update pie template

* chore: update

* feat: split sql

* chore: update

* chore: clean

* feat: support bar

* chore: add bar template

* chore: clean code

* chore: clean code

* fix: chart block initializer title

* chore: update

* fix: use title

* chore: update

* fix: bugs

* chore: clean code

* chore: update pie template

* chore: update ChartBlockInitializer.tsx

* chore: update

* feat: support chart config

* chore: add local plugin

* feat: add column template

* feat: add column chart action

* feat: add line chart template

* feat: add line action

* feat: add area template

* feat: add area action

* chore: update pie template

* chore: update

* chore: update dep

* fix: export missing utils

* chore: update dep

* chore: update dep

* chore: update pie template

* fix(charts): sql table capitalization

* fix(charts): improve sql compatibility

* fix: support choices type

* chore: update

* chore: clean code

* chore: get collection fields in chart engine

* chore: init dataset plugin

* chore: init dataset designer

* chore: init dataset block initializer

* chore: update

* chore: update

* chore: update deps

* chore: add tests

* chore: update utils

* chore: init plugin

* feat: add datasets client

* chore: update tests

* chore: update datastructures

* chore: update

* feat: add DataSetBlockInitializer

* chore: use dataset initializer

* chore: update deps

* chore: update

* chore: update pie template

* chore: update ChartBlockInitializer

* chore: update ChartBlockEngine

* chore: remove mdg file

* chore: update ChartBlockEngine

* chore: update

* chore: update g2plot

* chore: update template

* chore: update pie handler

* chore: update DataSetPreviewTable

* chore: update ChartBlockEngine

* chore: update ChartBlockEngineDesigner

* chore: remove useless files

* chore: update ChartBlockInitializer

* chore: update template

* chore: feat area template

* chore: update tests

* chore: update local plugins

* chore: update deps

* chore: update templates

* chore: update template

* feat: add CustomSelect

* chore: update select component

* fix: seriesField color error

* chore: update template

* chore: update

* fix: bar

* chore: update templates & clean code

* chore: update templates

* feat: add FunnelTemplate

* feat: charts queries

* fix: data shift

* feat: add ChartQueryMetadataProvider

* chore: update

* chore: remove dataset

* chore: update

* chore: update

* chore: clean code

* fix: delete query query list wrong behavior

* fix: delete all queries query list behavior

* chore: add empty occupancy

* chore: update description

* chore: update chart icon

* chore: update funnel template

* chore: update template title

* chore: add references

* chore: update dialog height

* fix: scatter template

* chore: update popup description

* refactor: schema level

* refactor: charts schema

* chore: remove console

* chore: remove console

* fix: error message

* chore: remove console

* chore: update DataSetPreviewTable

* feat: chart icons

* feat: update i18n

* feat: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* feat: add tittle

* chore: update icons

* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* chore: update i18n

* fix: improve code

* chore: update i18n

* chore: update i18n

* fix: chart icon

* feat: quick add query (#1527)

* feat: quick add query

* feat: query

* chore: remove useless files

* fix: json5 validator error

* chore: update

* chore: update style

* chore: lint

* feat: improve code

* feat: sql validation

* refactor: clean code

* Update utils.ts

* chore: format code

* chore: remove useless file

* chore: update

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-04 19:36:58 +08:00
katherinehhh
555378c342
feat: support add new in block for inheritance collection (#1518)
* feat: support adding inherited child collection in blocks

* feat: support adding inherited child collection in blocks

* refactor: create form block display on demand when using

* feat:  support  add new  in-block for  inheritance collection

* fix: action open mode support configuration when adding

* feat: support the configuration of detail and form for inherited collections in block (#1521)

* feat: support the configuration of detail and form for inherited collections in the block

* fix: form and detail is not support current collection

* fix: inherited blocks within blocks only display their own

* style: style improve

* style: style improve

* refactor: detail and form block to determine whether there are inherited collection

* fix: repeated display of child collection

* feat:   add new for  inherited collection, judge the permissions

* feat: support child collection add new configure

* style: style improve

* style: style improve

* fix: child collectio repeatable configuration adding new

* style: style improve

* style: style improve
2023-03-04 18:54:25 +08:00
Junyi
37998d03ad
refactor(plugin-workflow): change canvas card and adjust styles (#1529)
* refactor(plugin-workflow): optimize workflow canvas

* feat(plugin-workflow): allow click on node card to open config and adjust styles

* fix(plugin-workflow): fix collection trigger linkages
2023-03-04 00:19:11 +08:00
ChengLei Shao
4d44e31b31
fix: test with nocobase plugin (#1525) 2023-03-03 13:54:37 +08:00
ChengLei Shao
04971c3824
fix: nginx cache (#1523) 2023-03-03 13:10:47 +08:00
ChengLei Shao
1a84396691
fix: remove field when collection has difference schema with database (#1524) 2023-03-03 11:05:57 +08:00
chenos
946c8f25a3 chore(versions): 😊 publish v0.9.1-alpha.1 2023-03-03 09:34:06 +08:00
chenos
07ec115904
refactor: audit logs block (#1517)
* refactor: audit-log

* refactor: audit-log fix view action

* refactor: audit-log view fix

* refactor(audit-log): collection field fix

* refactor: audit-log view field fix

* refactor(audit-log): support fixedBlock

* refactor(audit-log): i18n fix

* refactor(audit-log): fixedTable and drag issue

* refactor(audit-log): remove template support

* refactor(audit-log): drag fix

* refactor(audit-log): disableTemplate & DndContext

---------

Co-authored-by: anuoua <anuoua@gmail.com>
2023-03-03 00:16:26 +08:00
chenos
e913af7f32
fix: improve translation 2023-03-02 11:36:26 +08:00
Junyi
ac039ad0e2
fix(evaluators): fix preprocessing and add test cases (#1519)
* fix(evaluators): fix preprocessing and add test cases

* fix(plugin-workflow): fix calculation test case
2023-03-01 07:55:53 -08:00
Junyi
f8256548e5
chore(debug): fix debug filename when run test (#1520) 2023-03-01 07:13:29 -08:00
chenos
1e329bc2d2 fix: undefined length 2023-03-01 21:46:34 +08:00
ChengLei Shao
9048b2a58b
feat: collection manager schema env (#1506)
* feat: database manager schema env support

* feat: skip db2cm collection in custom schema

* fix: test

* test: through table custom schema

* chore: fields hooks

* chore: reload through collection on autoCreate

* fix: test error

* fix: skip test case

* chore: children test

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-01 17:55:37 +08:00
Junyi
acc5656490
fix(client): fix checkbox unchecked display (#1508)
* fix(client): fix checkbox unchecked display

* fix(client): revert global option back
2023-02-28 07:58:10 -08:00
anuoua
757d409131
feat(snapshot-field): improve transition (#1513) 2023-02-28 22:57:47 +08:00
Junyi
05efa41be3
fix(plugin-workflow): fix CollectionField validation when using variable (#1512) 2023-02-28 17:56:23 +08:00
Junyi
e752686c7e
feat(plugin-formula): calculation with snapshot field (#1498)
* feat(plugin-formula): calculation with snapshot field

* fix(plugin-snapshot): fix appends calcualtion

* fix(plugin-snapshot): fix appends calcualtion

* fix(plugin-snapshot): fix appends calcualtion
2023-02-28 17:55:58 +08:00
Dunqing
15d067120d
fix(association-select): filter without data scope not work (#1509)
* fix(association-select): filter without data scope not work

* fix: update

* fix: use merge filter

* refactor: better logic

* fix: option has hidden

* fix: hidden, disabled

* fix: update

* fix: merge filter doesn't handle array
2023-02-27 18:52:03 +08:00
ChengLei Shao
ecf618783e
feat: fallback sort field init to createdAt field (#1507)
* feat: fallback sort field init to createdAt field when primary key not exists

* chore: set belongsToMany through autoCreated table to sortable false
2023-02-27 13:59:17 +08:00
Zhou
303139bc9f
Update README.md 2023-02-27 10:07:36 +08:00
Zhou
cbba6e0be9
Update README.zh-CN.md 2023-02-27 10:04:43 +08:00
katherinehhh
4e0a1dedda
fix(graphical-interface): collection category does not display title (#1503) 2023-02-27 09:17:13 +08:00
Dunqing
68fcadf092
fix(association-select): data is incorrect when use data scope (#1491)
* fix(association-select): data is incorrect when use data scope

* fix: update

* feat: improve RemoteSelect performance

* feat: use value instated of options when options is empty

* fix: data scope not work

* fix: loading not work

* feat: prepare database method (#1492)

* fix: environment variables (#1490)

* fix: beforeSubAppLoad emit to async

* feat: support custom plugin deployment in dockerfile (#1494)

* fix: collection importer has incorrect reference (#1495)

* fix: collection importer has incorrect reference

* test: reimport test

* fix: export collectionTemplates

* feat: form/button linkage rules (#1456)

* feat(plugin-workflow): add prompt node

* feat(plugin-workflow): useValueGetter for all instructions and triggers

* feat(plugin-workflow): add workflow block initializer

* refactor(plugin-workflow): change prompt node type to manual

* feat(plugin-workflow): add ModeConfig component for mode

* feat(plugin-workflow): add todo drawer

* feat(plugin-workflow): add block value provider

* feat(plugin-workflow): improve todo block and drawer

* fix(plugin-workflow): fix instruction name in test cases

* fix(plugin-workflow): fix test cases

* refactor(plugin-workflow): change param type of collection field initializer

* feat(plugin-workflow): add filter types for getters

* fix(plugin-workflow): fix assignees variable

* fix(plugin-workflow): filter todo by exist workflow

* fix(plugin-workflow): fix duplicated save action in manual config

* fix(plugin-workflow): fix transaction

* feat(plugin-workflow): destroy workflow will be cascaded

* fix(plugin-workflow): fix merge

* fix(plugin-workflow): fix locale

* fix(plugin-workflow): allow open ui view when executed

* fix(plugin-workflow): change todo table filter

* feat(plugin-workflow): use formula for calculation

* fix(plugin-workflow): fix variable template regexp

* fix(plugin-workflow): fix sub-options logic with types

* refactor(plugin-workflow): drop useless component

* fix(plugin-workflow): fix manual node action button

* feat(plugin-workflow): add new variable input component

* refactor(plugin-workflow): change all variable to new component

* fix(plugin-workflow): fix type

* fix(plugin-workflow): fix functions init

* fix(plugin-workflow): change jsonb to json for stable order

* fix(plugin-workflow): fix duplicated field name when initialize

* fix(plugin-workflow): fix manual result in manual block

* test(plugin-workflow): log field initializer props

* fix(plugin-workflow): fix nullable arguments

* test(plugin-workflow): test initializer fields schema

* fix: observer

* fix(plugin-workflow): adjust hints

* fix(plugin-workflow): fix locale and cursor in variable input

* refactor(plugin-workflow): change status keys

* fix(plugin-workflow): fix parallel instruction

* feat: linkage rules

* refactor: linkage rules

* refactor: linkage rules update

* refactor: linkage rules button

* refactor(linakge rules): suport value action

* refactor(linakge rules): suport value action

* fix(workflow test): workflow test

* refactor(linakge rules): action linkage only for detail form

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  linkageAction

* refactor(linakge rules):  linkageAction

* refactor(linakge rules): field value  linkageAction

* refactor(linakge rules): local

* refactor(linakge rules): local

* fix(linakge rules): value property

* fix(linakge rules): value property

* fix(linakge rules): value property

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse form fields

* fix(linakge rules): conditionAnalyse form fields

* fix(linakge rules): conditionAnalyse operators

* fix(linakge rules): form button linkage

* fix(linakge rules): form button linkage

* fix(linakge rules): select component suport pattern

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(action): action desginer suport linkage

* refactor: formula calculation assignment

* refactor: formula calculation assignment

* style: unified component disable style

* feat: richText suport disabled

* feat: condiction suport varible

* feat: condiction suport varible

* refactor: variableInput

* refactor: condiction scope

* refactor: multi level linkage

* fix: empry value linkage

* refactor: components using core schema-component

* fix: fix template reference linkage

* refactor: evalute foumala

* fix: mutual linkage fix

* refactor: variables suport obo&oho

* style: style improve

* style: style improve

* style: style improve

* feat: variables suport m2o

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* fix: actions path

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

---------

Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
Co-authored-by: chenos <chenlinxh@gmail.com>

* fix: support mysql lower_case_table_names=1

* fix(linkageRules): support empty condiction (#1496)

* fix: condiction suport empty

* fix: condiction suport empty

* fix: condiction suport empty

* fix: condiction suport empty

* Update zh_CN.ts (#1481)

Co-authored-by: chenos <chenlinxh@gmail.com>

* fix(remote-select): remove fields parameter

* Update actions.md

* fix: filter

---------

Co-authored-by: ChengLei Shao <chareice@live.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <shunai.tang@hand-china.com>
Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
Co-authored-by: justwho <rov7@qq.com>
Co-authored-by: Pearl C <63629092+pearl-cao@users.noreply.github.com>
2023-02-27 09:14:14 +08:00
chenos
750081e6aa
feat: dialect version accessors (#1502) 2023-02-26 11:58:45 +08:00
ChengLei Shao
dfbdbc741d
fix: collection schema updated but model _schema not change (#1500)
* fix: collection schema updated but model _schema not change

* test: schema changed
2023-02-26 08:04:29 +08:00
Pearl C
c8aba5f139
Update actions.md 2023-02-25 23:48:19 +08:00
chenos
727a0b2dbd fix(remote-select): remove fields parameter 2023-02-25 18:19:25 +08:00
justwho
4e81a26805
Update zh_CN.ts (#1481)
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-02-25 17:53:45 +08:00
katherinehhh
e7e1436422
fix(linkageRules): support empty condiction (#1496)
* fix: condiction suport empty

* fix: condiction suport empty

* fix: condiction suport empty

* fix: condiction suport empty
2023-02-25 15:18:54 +08:00
chenos
9d1b10d635 fix: support mysql lower_case_table_names=1 2023-02-25 00:54:45 +08:00
katherinehhh
94e38e453a
feat: form/button linkage rules (#1456)
* feat(plugin-workflow): add prompt node

* feat(plugin-workflow): useValueGetter for all instructions and triggers

* feat(plugin-workflow): add workflow block initializer

* refactor(plugin-workflow): change prompt node type to manual

* feat(plugin-workflow): add ModeConfig component for mode

* feat(plugin-workflow): add todo drawer

* feat(plugin-workflow): add block value provider

* feat(plugin-workflow): improve todo block and drawer

* fix(plugin-workflow): fix instruction name in test cases

* fix(plugin-workflow): fix test cases

* refactor(plugin-workflow): change param type of collection field initializer

* feat(plugin-workflow): add filter types for getters

* fix(plugin-workflow): fix assignees variable

* fix(plugin-workflow): filter todo by exist workflow

* fix(plugin-workflow): fix duplicated save action in manual config

* fix(plugin-workflow): fix transaction

* feat(plugin-workflow): destroy workflow will be cascaded

* fix(plugin-workflow): fix merge

* fix(plugin-workflow): fix locale

* fix(plugin-workflow): allow open ui view when executed

* fix(plugin-workflow): change todo table filter

* feat(plugin-workflow): use formula for calculation

* fix(plugin-workflow): fix variable template regexp

* fix(plugin-workflow): fix sub-options logic with types

* refactor(plugin-workflow): drop useless component

* fix(plugin-workflow): fix manual node action button

* feat(plugin-workflow): add new variable input component

* refactor(plugin-workflow): change all variable to new component

* fix(plugin-workflow): fix type

* fix(plugin-workflow): fix functions init

* fix(plugin-workflow): change jsonb to json for stable order

* fix(plugin-workflow): fix duplicated field name when initialize

* fix(plugin-workflow): fix manual result in manual block

* test(plugin-workflow): log field initializer props

* fix(plugin-workflow): fix nullable arguments

* test(plugin-workflow): test initializer fields schema

* fix: observer

* fix(plugin-workflow): adjust hints

* fix(plugin-workflow): fix locale and cursor in variable input

* refactor(plugin-workflow): change status keys

* fix(plugin-workflow): fix parallel instruction

* feat: linkage rules

* refactor: linkage rules

* refactor: linkage rules update

* refactor: linkage rules button

* refactor(linakge rules): suport value action

* refactor(linakge rules): suport value action

* fix(workflow test): workflow test

* refactor(linakge rules): action linkage only for detail form

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  logic calculation

* refactor(linakge rules):  linkageAction

* refactor(linakge rules):  linkageAction

* refactor(linakge rules): field value  linkageAction

* refactor(linakge rules): local

* refactor(linakge rules): local

* fix(linakge rules): value property

* fix(linakge rules): value property

* fix(linakge rules): value property

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse

* fix(linakge rules): conditionAnalyse form fields

* fix(linakge rules): conditionAnalyse form fields

* fix(linakge rules): conditionAnalyse operators

* fix(linakge rules): form button linkage

* fix(linakge rules): form button linkage

* fix(linakge rules): select component suport pattern

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(linakge rules):  component suport field patter for disabled

* fix(action): action desginer suport linkage

* refactor: formula calculation assignment

* refactor: formula calculation assignment

* style: unified component disable style

* feat: richText suport disabled

* feat: condiction suport varible

* feat: condiction suport varible

* refactor: variableInput

* refactor: condiction scope

* refactor: multi level linkage

* fix: empry value linkage

* refactor: components using core schema-component

* fix: fix template reference linkage

* refactor: evalute foumala

* fix: mutual linkage fix

* refactor: variables suport obo&oho

* style: style improve

* style: style improve

* style: style improve

* feat: variables suport m2o

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* fix: actions path

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

* refactor: code improve

---------

Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: Junyi <mytharcher@users.noreply.github.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-02-25 00:40:51 +08:00
Chareice
8e11e4d561 fix: export collectionTemplates 2023-02-24 20:49:04 +08:00