Commit Graph

499 Commits

Author SHA1 Message Date
GitHub Actions Bot
504f8d107c chore(versions): 😊 publish v1.2.6-alpha 2024-06-20 04:40:35 +00:00
GitHub Actions Bot
9968eda02b chore(versions): 😊 publish v1.2.5-alpha 2024-06-19 22:58:05 +00:00
ChengLei Shao
bb82faf583
chore(data-source-main): field name exists error message (#4689)
* chore: test

* chore: throw field name exists error

* chore: error message

* chore: error locale

* fix: i18n message
2024-06-18 16:34:35 +08:00
GitHub Actions Bot
9de4853030 chore(versions): 😊 publish v1.2.4-alpha 2024-06-17 00:53:36 +00:00
ChengLei Shao
b9bc94e062
chore(test): skipping websocket-related tests currently causes vitest to hang (#4644) 2024-06-14 10:19:56 +08:00
GitHub Actions Bot
deacbf25e9 chore(versions): 😊 publish v1.2.3-alpha 2024-06-13 03:48:21 +00:00
GitHub Actions Bot
e45bdb7d2f chore(versions): 😊 publish v1.2.2-alpha 2024-06-12 09:56:27 +00:00
GitHub Actions Bot
0d6ebe16cf chore(versions): 😊 publish v1.2.1-alpha 2024-06-12 05:15:06 +00:00
GitHub Actions Bot
79634179a4 chore(versions): 😊 publish v1.2.0-alpha 2024-06-12 03:39:54 +00:00
GitHub Actions Bot
c7060aeceb chore(versions): 😊 publish v1.0.1-alpha.3 2024-06-11 23:57:39 +00:00
GitHub Actions Bot
092f3afab1 chore(versions): 😊 publish v1.0.1-alpha.2 2024-06-11 12:13:31 +00:00
GitHub Actions Bot
9218319d02 chore(versions): 😊 publish v1.0.1-alpha.1 2024-06-07 13:46:37 +00:00
GitHub Actions Bot
53eb054848 chore(versions): 😊 publish v1.0.0-alpha.17 2024-05-27 06:44:39 +00:00
GitHub Actions Bot
2e7744f85c chore(versions): 😊 publish v1.0.0-alpha.16 2024-05-27 01:28:10 +00:00
ChengLei Shao
bbbb409565
chore: application start error message (#4477) 2024-05-24 08:26:08 +08:00
GitHub Actions Bot
4f3a3c0931 chore(versions): 😊 publish v1.0.0-alpha.15 2024-05-21 02:53:07 +00:00
YANG QIA
f45b66dd98
feat(logger): add dailyRotateFile to default transport & add trace level (#4429) 2024-05-20 23:36:02 +08:00
YANG QIA
08a0b026b6
fix(logger): should close log stream after destroying app (#4380) 2024-05-18 13:25:16 +08:00
ChengLei Shao
2ee67e15e8
fix: data template middleware in data source (#4378)
* fix: data template middleware in data source

* fix: typo
2024-05-17 23:14:26 +08:00
GitHub Actions Bot
0399272664 chore(versions): 😊 publish v1.0.0-alpha.14 2024-05-16 13:53:55 +00:00
chenos
6e3595c0be
fix: require resolve (#4356)
* fix: require resolve

* fix: error

* fix: skip realpath

* fix: fs.realpath
2024-05-16 18:46:56 +08:00
GitHub Actions Bot
3e7d85b8fa chore(versions): 😊 publish v1.0.0-alpha.13 2024-05-14 09:18:26 +00:00
ChengLei Shao
33e14cbc2e
feat: record last seen at in supervisor (#4345) 2024-05-14 17:05:21 +08:00
chenos
91c24efd0b fix: restart the application after updating the plugin 2024-05-14 16:56:08 +08:00
YANG QIA
562b29aebb
fix(logger): list log files by application name (#4325)
* fix(logger): list log files by application name

* fix: tips
2024-05-13 11:36:12 +08:00
GitHub Actions Bot
52a893f989 chore(versions): 😊 publish v1.0.0-alpha.12 2024-05-13 00:44:13 +00:00
GitHub Actions Bot
fcd368cee3 chore(versions): 😊 publish v1.0.0-alpha.11 2024-05-11 05:27:54 +00:00
GitHub Actions Bot
814d5cb2d2 chore(versions): 😊 publish v1.0.0-alpha.10 2024-05-11 01:02:08 +00:00
GitHub Actions Bot
9ecdf9bc08 chore(versions): 😊 publish v1.0.0-alpha.9 2024-05-09 15:13:48 +00:00
GitHub Actions Bot
d57ebbdb44 chore(versions): 😊 publish v1.0.0-alpha.8 2024-05-09 08:31:49 +00:00
GitHub Actions Bot
24590cdd74 chore(versions): 😊 publish v1.0.0-alpha.7 2024-05-09 08:09:31 +00:00
chenos
61338eedb7 fix(server): parse plugin name 2024-05-09 14:06:43 +08:00
chenos
a2d8870fdf chore(versions): 😊 publish v1.0.0-alpha.6 2024-05-07 16:49:53 +08:00
chenos
3c3e68acdc chore(versions): 😊 publish v1.0.0-alpha.5 2024-05-07 08:59:58 +08:00
chenos
7d24e11229 chore(versions): 😊 publish v1.0.0-alpha.4 2024-05-02 10:40:08 +08:00
YANG QIA
5313b8e495
fix(logger): gateway log cache issue && upgrade winston (#4250)
* fix(logger): gateway log cache

* chore(logger): bump winston to 3.13.0
2024-04-30 21:08:15 +08:00
chenos
2ba022ac1f chore(versions): 😊 publish v1.0.0-alpha.3 2024-04-30 16:11:28 +08:00
jack zhang
62b2b5c68b
chore: add copyright information to the file header (#4028)
* fix: add license code

* fix: bug

* fix: bug

* fix: upgrade

* fix: improve

* chore: add copyright information to the file header

* fix: d.ts bug

* fix: bug

* fix: e2e bug

* fix: merge main

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-04-30 15:51:31 +08:00
jack zhang
a293e9e543
fix: build order bug (#4223)
* fix: build order bug

* fix: remove getCompatible error tip

* fix: add workflow npmignore
2024-04-29 19:27:32 +08:00
chenos
b7fb765fca chore(versions): 😊 publish v1.0.0-alpha.2 2024-04-29 13:00:44 +08:00
chenos
c5b803a750 fix(pm): parse name 2024-04-29 13:00:10 +08:00
YANG QIA
b71bcc1889
chore(versions): 😊 publish v1.0.0-alpha.1 (#4186)
* feat: rename plugin-collection-manager to plugin-data-source-main (#4136)

* feat: rename plugin

* feat: rename

* chore: rename classes of data-source-main

* chore: use name for migrating instead of packageName

* chore: rename china-region to field-china-region (#4167)

* chore: rename china-region to field-china-region

* chore: update yarn.lock

* chore: rename classes

* chore: use name instead of pkgName

* chore: rename export to action-export (#4169)

* chore: rename export to action-export

* chore: rename classes

* chore: use name

* chore: rename formula-field to field-formula (#4170)

* chore: rename formula-field to field-formula

* chore: use name

* chore: rename localization-management to localization (#4173)

* chore: rename localization-management to localization

* fix: test

* chore: rename sequence-field to field-sequence (#4174)

* chore: rename sequence-field to field-sequence

* chore: use name

* chore: rename custom-request to action-custom-request (#4168)

* chore: rename custom-request to action-custom-request

* chore: rename classes

* chore: use name

* fix: ns

* chore: rename iframe-block to block-iframe (#4171)

* chore: rename iframe-block to block-iframe

* chore: use name

* chore: rename sms-auth to auth-sms (#4175)

* chore: rename sms-auth to auth-sms

* chore: use name

* chore: rename import to action-import (#4172)

* chore: rename import to action-import

* chore: use name

* fix: ns

* fix: packages

* test: add rename test

* fix: move rename migrations to preset

* fix: version

* fix(localization): remove duplicate records (#4182)

* fix: locale ns

* fix(localization): remove duplicate records

* chore: merge

* fix: migration

* fix: test

* feat: improve pm add command (#4198)

* chore: remove sso auth plugins and add upgrade warning (#4192)

* chore: remove sso auth plugins and add upgrade warning

* chore: remove sso plugins dir

* chore: remove dependencies

* fix: names

* refactor: move to migration

* chore: adjust log

* feat: allows to remove plugins from sub apps

* fix: pm remove

* chore: add test

* chore: just for pro plugins

* refactor: optimize migration

* test: add test

* fix: auth-sms

* fix: add transaction

---------

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

* chore: make e2e more stable

* chore(license): update LICENSE to AGPL-3.0 (#4207)

* fix: improve pm (#4200)

* fix: improve pm

* feat: improve pm update

* fix: test error

* fix: rename plugin

* fix: remove only

* refactor(e2e): extract

* fix: await

* fix: nameOrPkg

* feat: remove multi-app-share-collection from local

---------

Co-authored-by: Zeke Zhang <958414905@qq.com>

* chore: add new line

* chore: rename migration

* fix: version

* fix: test

* feat: v1.0.0-alpha.1

* fix: multi-app-share-collection

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
2024-04-29 00:46:21 +08:00
chenos
fdd3ca614e chore(versions): 😊 publish v0.21.0-alpha.16 2024-04-28 21:24:57 +08:00
ChengLei Shao
71e8d07f15
test: add automated testing (#4098)
* test: string includes operator

* chore: operator test coverage

* chore: database utils test

* chore: acl test

* chore: no permission error

* chore: code

* fix: run coverage test

* chore: datasource test

* chore: datasource test

* chore: datasource test

* chore: datasource test

* chore: datasource test

* chore: datasource

* fix: build

* chore: plugin data source manager test

* chore: acl test

* chore: query interface test

* chore: ui schema storage test

* chore: save template test

* chore: ui schema insert position action

* chore: ignore migration

* chore: plugin acl test

* chore: ignore command in coverage

* chore: ignore

* chore: remove db2resource

* chore: ignore migration

* chore: ipc server test

* chore: database test

* chore: database api comments

* chore: value parser test

* chore: build

* chore: backup & restore test

* chore: plugin manager test

* chore: pm

* chore: pm ignore

* chore: skip migration

* chore: remove unused code

* fix: import

* chore: remove unused code

* chore: remove unused code

* fix: action test

* chore: data wrapping middleware

* fix: build

* fix: build

* fix: build

* test: fix T-4105

* chore: test

* fix: data-source-manager test

* fix: sql collection test

* fix: test

* fix: test

* fix: test

* fix: typo

* chore: datasource manager test

* chore: console.log

---------

Co-authored-by: xilesun <2013xile@gmail.com>
2024-04-26 17:44:59 +08:00
chenos
6781f28fbf fix(pm): error retrieving .npmrc file path 2024-04-24 23:15:34 +08:00
chenos
05504b5678 chore(versions): 😊 publish v0.21.0-alpha.15 2024-04-23 11:18:20 +08:00
chenos
7e4ad0daae chore(versions): 😊 publish v0.21.0-alpha.14 2024-04-22 11:26:15 +08:00
chenos
9b20b04e98 chore(versions): 😊 publish v0.21.0-alpha.13 2024-04-21 12:04:14 +08:00
chenos
a8eb2b719c chore(versions): 😊 publish v0.21.0-alpha.12 2024-04-19 22:53:42 +08:00
chenos
438a059c7b chore(versions): 😊 publish v0.21.0-alpha.11 2024-04-17 23:47:44 +08:00
chenos
d76d657622 chore(versions): 😊 publish v0.21.0-alpha.10 2024-04-16 23:51:49 +08:00
chenos
64e12bb08b chore(versions): 😊 publish v0.21.0-alpha.9 2024-04-16 22:53:12 +08:00
chenos
8c779b4cf6 chore(versions): 😊 publish v0.21.0-alpha.8 2024-04-16 00:26:13 +08:00
chenos
31d68f91e8
feat: run e2e with pro plugins (#3890)
* feat: run e2e with pro plugins

* fix: name

* chore: fix typo

* fix: make e2e pass

* chore: only run pro e2e

* Revert "chore: only run pro e2e"

This reverts commit 9beff480c1.

* chore: increase timeout

* feat: support to set maxDepth

* chore: set default maxDepth to 1

* chore: fix e2e to make pass

* chore: add test for BlockSchemaToolbar

* chore: split files to avoid slowing down testing

* chore: make e2e more stable

* chore: make e2e more stable

* refactor: e2e

---------

Co-authored-by: Zeke Zhang <958414905@qq.com>
2024-04-15 12:40:53 +08:00
xilesun
d66c2baa53 chore(versions): 😊 publish v0.21.0-alpha.7 2024-04-13 09:37:59 +08:00
s1v
699fd52b8e
Update application.ts (#4006)
The runAsCLI function's options argument is an optional argument. However, there were instances where it was being treated as a regular argument, which was causing errors. I have changed it to be nullable.
2024-04-11 00:18:30 +08:00
ChengLei Shao
6595fde713
chore(gateway): report error with cause message (#3999) 2024-04-09 22:43:12 +08:00
YANG QIA
d46dc75125
chore: adjust and add api comments (#3951) 2024-04-08 19:43:00 +08:00
chenos
6017c01f02 chore(versions): 😊 publish v0.21.0-alpha.6 2024-04-07 21:52:45 +08:00
chenos
b63a685f84 chore(versions): 😊 publish v0.21.0-alpha.5 2024-04-07 11:06:02 +08:00
chenos
31713390b5 chore(versions): 😊 publish v0.21.0-alpha.4 2024-04-07 08:33:05 +08:00
chenos
d2b808671b chore(versions): 😊 publish v0.21.0-alpha.3 2024-04-06 13:04:57 +08:00
chenos
d173aef69b chore(versions): 😊 publish v0.21.0-alpha.2 2024-04-03 23:31:25 +08:00
chenos
187a587e68
fix: update plugin (#3895) 2024-04-03 21:15:28 +08:00
YANG QIA
d23f3a3999
docs: add api comment (#3868)
* docs: add api comment

* chore: update

* fix: build
2024-04-03 12:30:33 +08:00
jack zhang
88b317f937
fix: deps check error when dev add production plugin (#3848)
* fix: deps check error when dev add production plugin

* fix: bug
2024-04-01 14:18:00 +08:00
ChengLei Shao
79f14d9024
chore: main datasource api (#3880)
* chore: main datasource api

* chore: test

* chore: console.log

* chore: middleware order

* chore: test

* chore: middleware order

* chore: test

* chore: middleware options
2024-03-31 16:22:45 +08:00
ChengLei Shao
89733247bd
fix: reject update when filter is empty object (#3777)
* fix: reject update when filter is empty object

* chore: valid filter when destroy data

* fix: test

* refactor(utils): move isValidFilter to utils

* chore: test

* chore: test

* chore: test

* fix(plugin-workflow-manual): fix test case

* fix(plugin-workflow-manual): add filter check for update form in manual node

* chore: validate filter params as middleware

* chore: action filter validate in data-source-manager

* chore: acl filter params validate test

* chore: move validate filter params middleware into core

* Update nocobase-test-e2e.yml

* chore: only run workflow's tests

* chore: only run workflow's tests

* fix: updateRecordForm

* Revert "chore: only run workflow's tests"

This reverts commit 64ce124171.

* Revert "chore: only run workflow's tests"

This reverts commit b9057b35ec.

---------

Co-authored-by: mytharcher <mytharcher@gmail.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: hongboji <j414562100@qq.com>
2024-03-30 21:50:54 +08:00
ChengLei Shao
b1aa6cff5e
chore: update field with primary key attribute (#3852)
* chore: update field with primary key attribute

* chore: test

* fix: build

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* fix: test

* fix: test

* fix: test

* chore: unique index name

* fix: test

* chore: test
2024-03-30 21:24:06 +08:00
chenos
6e20ab1a77 chore(versions): 😊 publish v0.21.0-alpha.1 2024-03-29 17:43:20 +08:00
chenos
0ec3ed3c54
fix(server): commands failed to load properly on Windows (#3858) 2024-03-29 06:46:37 +08:00
chenos
8a215e2fbe fix(acl): available actions 2024-03-28 14:28:15 +08:00
chenos
339822241f chore(versions): 😊 publish v0.20.0-alpha.17 2024-03-26 17:25:06 +08:00
chenos
c4aa8b78c2
chore: add tsdoc (#3788)
* chore: tsdoc

* chore: tsdoc

* fix: error

* chore: code format

* chore: code format
2024-03-26 17:08:45 +08:00
chenos
aa6e753b35 fix: update the locale file requires a reboot 2024-03-25 09:46:45 +08:00
chenos
71ec7ece6a chore(versions): 😊 publish v0.20.0-alpha.16 2024-03-23 17:54:02 +08:00
chenos
bef9c8ab7b chore(versions): 😊 publish v0.20.0-alpha.15 2024-03-20 14:47:28 +08:00
chenos
54f6597b9d
feat: disassociate action (#3759)
* feat: disassociate action

* chore: compat old initializer

* chore: add translation

* chore: add translation

* fix: acl

---------

Co-authored-by: Zeke Zhang <958414905@qq.com>
2024-03-20 09:30:10 +08:00
Chareice
02742c3c76
chore: plugin command error wrap raw error object 2024-03-19 11:01:41 +08:00
ChengLei Shao
6665aca695
fix: app stopped status (#3723) 2024-03-19 09:24:01 +08:00
chenos
c75d38bb05 chore(versions): 😊 publish v0.20.0-alpha.14 2024-03-18 18:29:13 +08:00
chenos
db9ff337e5 chore(versions): 😊 publish v0.20.0-alpha.13 2024-03-17 23:34:26 +08:00
Chareice
820352f280
fix: console command 2024-03-17 09:20:14 +08:00
chenos
c1be864124 chore(versions): 😊 publish v0.20.0-alpha.12 2024-03-16 23:18:19 +08:00
chenos
15ef81854e chore(versions): 😊 publish v0.20.0-alpha.11 2024-03-16 20:05:34 +08:00
chenos
b359f9eac6
feat: supports subdirectory deployment (#3731)
* feat: supports subdirectory deployment

* feat: auto publicPath

* fix: buildIndexHtml

* fix: format

* fix: regexp

* fix: test error

* fix: nocobase.conf

* fix: path

* fix: nocobase.conf

* fix: bugs

* fix: resourcer prefix

* fix: cas
2024-03-16 20:01:34 +08:00
chenos
40a22943b9 chore(versions): 😊 publish v0.20.0-alpha.10 2024-03-13 22:41:12 +08:00
chenos
2e7da6e29b chore(versions): 😊 publish v0.20.0-alpha.9 2024-03-12 21:15:51 +08:00
xilesun
6fd06a28c8 chore(versions): 😊 publish v0.20.0-alpha.8 2024-03-11 09:59:08 +08:00
chenos
63d1a8d90c chore(versions): 😊 publish v0.20.0-alpha.7 2024-03-08 14:11:35 +08:00
chenos
8b4821e2df chore(versions): 😊 publish v0.20.0-alpha.6 2024-03-08 10:23:26 +08:00
chenos
2e3dd1250c fix(acl): create action aliases 2024-03-06 22:56:43 +08:00
chenos
0fc382d298 chore(versions): 😊 publish v0.20.0-alpha.5 2024-03-06 00:20:06 +08:00
chenos
e7cc6cca54 chore(versions): 😊 publish v0.20.0-alpha.4 2024-03-05 09:08:53 +08:00
chenos
e377f3a57c fix: update plugin package.json 2024-03-04 23:02:29 +08:00
chenos
ff9acd6d69 chore(versions): 😊 publish v0.20.0-alpha.3 2024-03-04 21:37:43 +08:00
chenos
32b15cb108 chore(versions): 😊 publish v0.20.0-alpha.2 2024-03-03 23:37:37 +08:00
chenos
29e10f365f chore(versions): 😊 publish v0.20.0-alpha.1 2024-03-03 23:08:21 +08:00
katherinehhh
af6113c8ef
feat: support for multiple data sources (#3418)
* refactor: collectionName display with tablePrefix

* fix: bug

* fix: schema toolbar no ddata source (T-3182)

* fix: unit test bug

* fix: useAssociationNames support data source

* chore(RecordProvider_deprecated): add collectionName

* fix: deprecated

* refactor: default value

* refactor: default value

* fix: fastRefresh=false

* style: fix action link style (T-3228)

* fix: should not diaplay Save mode for some Action (T-3217)

* chore: remove group title (T-3194)

* fix: extend collections bug

* chore: transaction

* fix: filter block only current data source (T-3226)

* fix: fix filter block in drawer (T-3224)

* fix: avoid error when editing field (T-3232)

* fix: primary key name in postgres

* chore: test

* chore: test

* refactor: forgin key support select and input

* fix: doc bug

* fix: change duplllicte divier name

* feat: throughScope

* fix: bug

* refactor: local improve

* fix: fix parent record of Add child in tree table (T-3235)

* fix: block template filter by dataSource(T-3234)

* chore: change table primary key

* refactor: index for primarykey & unique

* chore: test

* fix: should not display filter blocks option if no association field (T-3242)

* fix: dataSourceKey

* refactor: sourcekey & forginkey & targetkey limit type

* fix: bug

* chore: test

* fix: upload action

* fix: unit test

* fix: useSourceIdFromParentRecord

* fix: permissions

* fix: oho association field should has default fieldnames

* fix: useSourceIdFromParentRecord

* fix: tableSelectorProvider collection undefined

* fix: bug

* chore: validate association keys

* fix: apply mixin bug

* fix: getPrimaryKey

* fix: bug T-3253

* fix:  collection unit test

* chore: validate association keys

* fix: create collection

* fix: getCollection in TableBlockProvider

* refactor: association key in data source manager

* fix: improve doc

* fix(relationshipBlocks): fix sourceId (T-3257,T-3264)

* fix: plugin acl test

* chore: correct field options

* fix: dataScope resource

* fix: improve doc

* fix: appVersion = '<0.20.0-alpha.1'

* refactor: fieldNames

* refactor: primarykey & unique & autoIncrement shuld not support edit in third dataSource

* fix: bug

* fix: gantt block params tree

* fix: style

* fix: wording & icon

* fix: bug

* fix: roles cache

* refactor: calender & express & file collection support preset fields

* fix: decode uri

* refactor: migrate files [wip] (#3584)

* refactor: migrate blockSettings:table

* refactor: migrate fieldSettings:TableColumn

* refactor: migrate TableBlockInitializer

* fix: fix import path

* refactor: migrate TableActionInitailizers

* refactor: migrate TableColumnInitializers

* refactor: migrate TableActionColumnInitializers

* refactor: migrate TableColumnSchemaToolbar

* refactor: migrate TableSelectorInitializer

* refactor: migrate blockSettings:tableSelector

* refactor(tableSelector): migrate e2e

* refactor(form): migrate e2e

* refactor: migrate FormBlockInitializer

* refactor: migrate CreateFormBlockInitializer

* refactor: migrate RecordFormBlockInitializer

* refactor: migrate blockSettings:createForm

* refactor: rename file name

* refactor: migrate blockSettings:editForm

* refactor: migrate FormActionInitailizers

* refactor: move to a new file

* refactor: migrate formItemInitializers

* refactor: migrate FormItemSchemaToolbar

* refactor: migrate fieldSettings:FormItem

* chore: fix build

* fix: fix weird path error

* fix: rename formActionInitializers

* fix: create collection field

* refactor: throughCollection

* fix: datasources get permission

* fix: throughCollection

* fix: throughCollection

* fix: register initializer components

* refactor: targetkey & source key must be unique

* refactor: targetkey & source key must be unique index

* fix(customRequest): avoid error when clicking button

* chore: error message when add multiple primary keys

* fix: target key in hasMany

* fix: default value should not support edit in outside dataSource

* fix: test

* fix: update associations (#3586)

* fix: source key

* fix: addAccessor

* fix: updateAssociations

* fix: bugs

* fix: remove test.only

* refactor: migrate RecordReadPrettyFormBlockInitializer

* refactor: migrate singleDataDetailsBlockSettings

* fix(users): filter bug

* refactor: migrate readPrettyFormActionInitializers

* refactor: migrate readPrettyFormItemInitializers

* refactor: migrate DetailsBlockInitializer

* refactor: migrate multiDataDetailsBlockSettings

* feat: validate association key pairs

* chore: default title

* refactor: migrate detailsActionInitializers

* refactor: migrate e2e

* refactor: migrate ListBlockInitializer

* refactor: migrate listBlockSettings

* refactor: migrate listActionInitializers

* refactor: migrate listItemActionInitializers

* fix: create collection

* fix: remove fieldsHistoryRepository.createMany

* test(e2e): fix error message for roles.name

* fix: sync indexes in postgres

* chore: test

* test: acl test

* test(e2e): fix sort error

* refactor: remove useless code

* test: kanban e2e

* fix: load user

* fix: test

* test: fix unit tests

* fix: db.sync

* test: updateRole

* fix: test

* fix: settings and initializer performance improve

* fix: update role resources

* fix: add block

* fix: fix T-3308

* test: fix e2e

* test(e2e): skip fix block

* chore: skip test in sqlite

* fix: change initializer menu key

* test(collectionManager): fix e2e

* refactor: sort field availableTypes

* fix: client core performance optimization

* refactor(GridCard): migrate e2e

* refactor: migrate GridCard

* fix: bug

* refactor: migrate utils

* refactor: migrate filter-form

* fix: change Record to CollectionRecord

* chore: acl migration

* chore: acl migration

* chore: migration of acl

* refactor: migrate Collapse

* chore: error message

* fix: update associations

* chore: update collection search to be case-insensitive

* refactor: migrate Markdown

* fix(WorkflowTodos): x-toolbar typo

* feat: admin change password

* feat: check foreign key && target key value in update associations

* chore: dataSource permission

* refactor: dataSource permission

* fix: acl support data source permission

* fix: fix T-3307

* chore: test

* refactor: locale improve

* chore: locale

* chore: sqlite test config

* chore: create user with roles test

* chore: test

* test: fix mock data to avoid duplication

* chore: test

* fix: load table with tablePrefix

* chore: move action in datasource

* chore: number field to sort field type

* test: optimize dropdown

* chore: upgrade @playwright/test to v1.42.1

* fix: fix invalid path for Windows

* test: fix e2e

* chore: kanban Sort field

* fix: kanban

* fix: kanban

* refactor: create sort in kanban

* refactor: create sort field in kanban

* refactor: locale improve

* refactor: locale improve

* fix: sync with null default value

* refactor: collectionFieldInterfaceSelect

* fix: move action

* fix: update associations

* fix: test case

* chore: test

* test: optimize e2e

* feat: remvoe Duplicate for single details block (T-3195)

* fix(fieldNames): should use primaryKey as default value (T-3322, T-3319)

* fix: use filterTargetKey as fieldNNames.value

* test: fix e2e

* test: fix e2e

* test(kanban): fix e2e

* test(blockTemplate): should clear template at end of test

* refactor: migrate fields

* refactor: migrate actions

* refactor: migrate menu

* refactor: migrate page

* refactor(SchemaSettings): unify naming style

* fix: scopeKeyOptions undefined

* refactor(SchemaInitializers): unify naming stle

* fix(bi): chart filter fields

* chore: acl snippets

* refactor: replace CreateFormBlockInitializers to blockInitializers:createForm

* refactor: replace to blockInitializers:customizeCreateForm

* refactor: replace block intializers name

* refactor: replace action initializers name

* refactor: replace field initializers name

* style: fix hover style for column action (T-3297)

* refactor: revert some codes

* chore: update comment

* fix: revert record deprected

* fix: remove pro-plugins

* fix: bug

* chore: replace iframeBlockSchemaSettings to blockSettings:iframe

* Revert "refactor: revert some codes"

This reverts commit 991021ceae.

* Revert "refactor: replace field initializers name"

This reverts commit b47b808d06.

* Revert "refactor: replace action initializers name"

This reverts commit eab1b6e3d9.

* Revert "refactor: replace block intializers name"

This reverts commit 50ab9da177.

* Revert "refactor: replace to blockInitializers:customizeCreateForm"

This reverts commit 77b9f59bb1.

* Revert "refactor: replace CreateFormBlockInitializers to blockInitializers:createForm"

This reverts commit e9a38b0b4d.

* Revert "refactor(SchemaInitializers): unify naming stle"

This reverts commit 542390899f.

* Revert "refactor(SchemaSettings): unify naming style"

This reverts commit 8566735922.

* Revert "chore: replace iframeBlockSchemaSettings to blockSettings:iframe"

This reverts commit 884f6df92f.

* refactor: create sorting field in kanban

* refactor: create sorting field in kanban

* fix: style

* fix: bug

* fix(SideMenu): fix the problem of invalid add menu (T-3331)

* fix: translation

* feat: client en-US docs

---------

Co-authored-by: xilesun <2013xile@gmail.com>
Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Chareice <chareice@live.com>
2024-03-03 23:06:24 +08:00
chenos
9520b2431e chore(versions): 😊 publish v0.19.0-alpha.9 2024-02-28 09:20:38 +08:00
chenos
a736847a0f chore(versions): 😊 publish v0.19.0-alpha.8 2024-02-21 12:59:16 +08:00
chenos
8cb1942926 chore(versions): 😊 publish v0.19.0-alpha.7 2024-02-20 18:44:20 +08:00
chenos
5b86ee393f
chore: optimize environmental variables (#3528) 2024-02-20 10:35:24 +08:00
chenos
d8bbdc9648 chore(versions): 😊 publish v0.19.0-alpha.6 2024-02-07 20:11:19 +08:00
chenos
b71f12560a
fix: plugin load collections (#3499) 2024-02-07 20:10:13 +08:00
Junyi
237c4aa084
fix(server): fix messages in data-wrapping (#3485) 2024-02-03 10:37:28 +08:00
katherinehhh
44a70107af
refactor: plugin manager optimize & support keywords (#3467)
* refactor: plugin manager refactor

* refactor: plugin manager keywords

* refactor: plugin manager keywords

* refactor: disabled plugin support seccend confirm

* refactor: plugin manager

* refactor: plugin manager

* refactor: plugin manager

* refactor: plugin manager

* refactor: plugin manager

* refactor: plugin manager

* fix: styles

* fix: 4

* refactor: plugin manger sort by display name

* refactor: plugin manger homepage

* refactor: plugin manger keyword

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-02-02 12:02:18 +08:00
chenos
8765208016 chore(versions): 😊 publish v0.19.0-alpha.5 2024-01-30 17:11:37 +08:00
chenos
65020f69d4 chore(versions): 😊 publish v0.19.0-alpha.4 2024-01-26 21:16:57 +08:00
chenos
d692d9cf1b
fix: skip migration if exists (#3439) 2024-01-26 09:31:28 +08:00
Junyi
2c90c0c6c3
feat(core): add message handling on success (#3435)
* feat(core): add message handling on success

* fix(core): fix nullable body messages
2024-01-25 22:56:14 +08:00
chenos
acabb9cbf0 fix: run postinstall after pm add 2024-01-18 11:23:57 +08:00
chenos
8217ebfb1b
feat: improve plugin manager process (#3386)
* feat: improve plugin manager process

* fix: skip help error

* fix: ipc check

* fix: improve remove

* fix: refresh

* fix: remove dir

* fix: improve code

* fix: update yarn.lock

* fix: e2e error

* fix: migration

* fix: pm create

* Revert "fix: migration"

This reverts commit 8f8fe04436.

* fix: remove sample-hello
2024-01-18 00:33:15 +08:00
chenos
1adaa53c2b
feat: supports the WS_PATH environment variable (#3384) 2024-01-13 18:05:22 +08:00
chenos
38c19818d3 chore(versions): 😊 publish v0.19.0-alpha.3 2024-01-09 18:32:09 +08:00
chenos
f5d88c9057
fix: e2e ci (#3349)
* fix: e2e ci

* fix: ci

* fix: error

* test: e2e

* fix: error

* fix: remove load

* fix: test error
2024-01-09 17:43:14 +08:00
chenos
2070f2046d chore(versions): 😊 publish v0.19.0-alpha.2 2024-01-09 09:13:16 +08:00
chenos
6567013440 fix: error creating sock file on windows 2024-01-09 09:12:48 +08:00
chenos
c39d3398ae chore(versions): 😊 publish v0.19.0-alpha.1 2024-01-08 19:32:54 +08:00
chenos
7779cd79ac
refactor: optimize the command line (#3339)
* fix: perform load action on boot main app

* feat: add dataType option in collection duplicator

* chore: reset optional dumpable config

* chore: dump command

* chore: dump & restore command

* chore: delay restore

* fix: dump test

* chore: restore command

* chore: dump command action

* chore: dumpable collection api

* chore: client collection option

* feat: backup& restore client

* chore: content disposition header in dump response

* chore: download backup field

* feat: collection origin option

* fix: test

* chore: collection manager collection origin

* chore: upload  backup field

* chore: upload restore file

* chore: upload restore file

* fix: test

* chore: backup and restore support learn more

* refactor: upload restore file

* refactor: upload restore file

* fix: test

* fix: test

* chore: dumpable collection with title

* chore: pg only test

* chore: test

* fix: test

* chore: test sleep

* style: locale improve

* refactor: download backup file

* refactor: start restore

* fix: restore key name

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* chore: unify duplicator option

* fix: dump empty collection

* chore: test

* chore: test

* style: style improve

* refactor: locale improve

* chore: dumpalbe collection orders

* style: style improve

* style: style improve

* style: icon adjust

* chore: nginx body size

* chore: get file status

* feat: run dump task

* feat: download api

* chore: backup files resourcer

* feat: restore destroy api

* chore: backup files resoucer

* feat: list backup files action

* chore: get collection meta from dumped file

* fix: dump file name

* fix: test

* chore: backup and restore ui

* chore: swagger api for backup & restore

* chore: api doc

* chore: api doc

* chore: api doc

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* fix: restore values

* style: style improve

* fix: download field respontype

* fix: restore form local file

* refactor: local improve

* refactor: delete backup file

* fix: in progress status

* refactor: locale improve

* refactor: locale improve

* refactor: style improve

* refactor: style improve

* refactor: style improve

* test: dump collection table attribute

* chore: dump collection with table attributes

* chore: test

* chore: create new table in restore

* fix: import error

* chore: restore table from backup file

* chore: sync collection after restore collections

* fix: restore json data

* style: style improve

* chore: restore with fields

* chore: test

* fix: test

* fix: test with underscored

* style: style improve

* fix: lock file state

* chore: add test file

* refactor: backup & restore plugin

* fix: mysql test

* chore: skip import view collection

* chore: restore collection with inherits topo order

* fix: import

* style: style improve

* fix: restore sequence fields

* fix: themeConfig collection duplicator option

* fix: restore with dialectOnly meta

* fix: throw error

* fix: restore

* fix: import backup file created in postgres into mysql

* fix: repeated items in inherits

* chore: upgrade after restore

* feat: check database env before restore

* feat: handle autoincr val in postgres

* chore: sqlite & mysql queryInterface

* chore: test

* fix: test

* chore: test

* fix: build

* fix: pg test

* fix: restore with date field

* chore: theme-config collection

* chore: chage import collections method to support collection origin

* chore: fallback get autoincr value in mysql

* fix: dataType normalize

* chore: delay restore

* chore: test

* fix: build

* feat: collectin onDump

* feat: collection onDump interface

* chore: dump with view collection

* chore: sync in restore

* refactor: locale improve

* refactor: code improve

* fix: test

* fix: data sync

* chore: rename backup & restore plugin

* chore: skip test

* style: style improve

* style: style improve

* style: style improve

* style: style improve

* chore: import version check

* chore: backup file dir

* chore: build

* fix: bugs

* fix: error

* fix: pageSize

* fix: import origin

* fix: improve code

* fix: remove namespace

* chore: dump rules config

* fix: dump custom collection

* chore: version

* fix: test

* fix: test

* fix: test

* fix: test

* chore: test

* fix: load custom collection

* fix: client

* fix: translation

* chore: code

* fix: bug

* fix:  support shared option

* fix: roles collection dumpRules

* chore: test

* fix: define collections

* chore: collection group

* fix: translation

* fix: translation

* fix: restore options

* chore: restore command

* refactor: optimize the command line

* chore: dump error

* fix: test error

* fix:  test error

* fix: test error

* fix: test error

* fix: test error

* fix: skip cli test cases

* fix: test error

* fix: too many open files

* fix: update migration version

* fix: migrations

* fix: upgrade

* fix: error

* fix: migration error

* fix: upgrade

* fix: test error

* fix: timeout

* fix: width

* feat: auto load collections

* fix: test error

* fix: test error

* fix: test error

* fix: test error

* fix: test error

* fix: test error

* fix: test error

* fix: ipc error

* fix: test error

---------

Co-authored-by: Chareice <chareice@live.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2024-01-08 19:05:14 +08:00
ChengLei Shao
fa97d0a642
feat: application backup and restore (#3268)
* fix: perform load action on boot main app

* feat: add dataType option in collection duplicator

* chore: reset optional dumpable config

* chore: dump command

* chore: dump & restore command

* chore: delay restore

* fix: dump test

* chore: restore command

* chore: dump command action

* chore: dumpable collection api

* chore: client collection option

* feat: backup& restore client

* chore: content disposition header in dump response

* chore: download backup field

* feat: collection origin option

* fix: test

* chore: collection manager collection origin

* chore: upload  backup field

* chore: upload restore file

* chore: upload restore file

* fix: test

* chore: backup and restore support learn more

* refactor: upload restore file

* refactor: upload restore file

* fix: test

* fix: test

* chore: dumpable collection with title

* chore: pg only test

* chore: test

* fix: test

* chore: test sleep

* style: locale improve

* refactor: download backup file

* refactor: start restore

* fix: restore key name

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* refactor: start restore

* chore: unify duplicator option

* fix: dump empty collection

* chore: test

* chore: test

* style: style improve

* refactor: locale improve

* chore: dumpalbe collection orders

* style: style improve

* style: style improve

* style: icon adjust

* chore: nginx body size

* chore: get file status

* feat: run dump task

* feat: download api

* chore: backup files resourcer

* feat: restore destroy api

* chore: backup files resoucer

* feat: list backup files action

* chore: get collection meta from dumped file

* fix: dump file name

* fix: test

* chore: backup and restore ui

* chore: swagger api for backup & restore

* chore: api doc

* chore: api doc

* chore: api doc

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* chore: backup and restore ui

* fix: restore values

* style: style improve

* fix: download field respontype

* fix: restore form local file

* refactor: local improve

* refactor: delete backup file

* fix: in progress status

* refactor: locale improve

* refactor: locale improve

* refactor: style improve

* refactor: style improve

* refactor: style improve

* test: dump collection table attribute

* chore: dump collection with table attributes

* chore: test

* chore: create new table in restore

* fix: import error

* chore: restore table from backup file

* chore: sync collection after restore collections

* fix: restore json data

* style: style improve

* chore: restore with fields

* chore: test

* fix: test

* fix: test with underscored

* style: style improve

* fix: lock file state

* chore: add test file

* refactor: backup & restore plugin

* fix: mysql test

* chore: skip import view collection

* chore: restore collection with inherits topo order

* fix: import

* style: style improve

* fix: restore sequence fields

* fix: themeConfig collection duplicator option

* fix: restore with dialectOnly meta

* fix: throw error

* fix: restore

* fix: import backup file created in postgres into mysql

* fix: repeated items in inherits

* chore: upgrade after restore

* feat: check database env before restore

* feat: handle autoincr val in postgres

* chore: sqlite & mysql queryInterface

* chore: test

* fix: test

* chore: test

* fix: build

* fix: pg test

* fix: restore with date field

* chore: theme-config collection

* chore: chage import collections method to support collection origin

* chore: fallback get autoincr value in mysql

* fix: dataType normalize

* chore: delay restore

* chore: test

* fix: build

* feat: collectin onDump

* feat: collection onDump interface

* chore: dump with view collection

* chore: sync in restore

* refactor: locale improve

* refactor: code improve

* fix: test

* fix: data sync

* chore: rename backup & restore plugin

* chore: skip test

* style: style improve

* style: style improve

* style: style improve

* style: style improve

* chore: import version check

* chore: backup file dir

* chore: build

* fix: bugs

* fix: error

* fix: pageSize

* fix: import origin

* fix: improve code

* fix: remove namespace

* chore: dump rules config

* fix: dump custom collection

* chore: version

* fix: test

* fix: test

* fix: test

* fix: test

* chore: test

* fix: load custom collection

* fix: client

* fix: translation

* chore: code

* fix: bug

* fix:  support shared option

* fix: roles collection dumpRules

* chore: test

* fix: define collections

* chore: collection group

* fix: translation

* fix: translation

* fix: restore options

* chore: restore command

* chore: dump error

* fix: too many open files

---------

Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2024-01-08 18:59:56 +08:00
chenos
fd4809d8ad fix: e2e with build 2024-01-08 10:29:41 +08:00
xilesun
004998a80a chore(versions): 😊 publish v0.18.0-alpha.9 2024-01-03 10:00:45 +08:00
chenos
29b47c1d40 fix: plugin does not exist 2024-01-02 12:32:47 +08:00
YANG QIA
0dbc01c330
feat: telemetry (#3279)
* feat: telemetry

* fix: build

* chore: update

* refactor: improve api

* fix: test

* fix: version

* fix: build

* feat: support for adding views

* fix: typo

* fix: version

* chore: update

* chore(env): `true` -> `on`

* fix: metric version
2024-01-02 12:17:46 +08:00
YANG QIA
318b433482
chore(logger): improve format (#3290)
* chore(logger): improve format

* fix: build

* feat: develop format

* chore: develop -> console
2023-12-30 23:34:40 +08:00
chenos
467f3b6b79
fix: remove require cache (#3288) 2023-12-29 17:34:12 +08:00
chenos
8bac8dac71 chore(versions): 😊 publish v0.18.0-alpha.8 2023-12-29 15:49:02 +08:00
chenos
6816aded87 fix: add LICENSE 2023-12-29 13:11:56 +08:00
chenos
501e3f1db2 chore(versions): 😊 publish v0.18.0-alpha.3 2023-12-29 09:42:06 +08:00
chenos
95a5cab44c feat: add plugin.t() method 2023-12-29 09:40:17 +08:00
YANG QIA
8633ec3735
refactor(logger): improve logger format (#2664)
* refactor(logger): improve logger format

* chore: improve log format

* feat(logger): plugin-logger

* feat: allow to download log files, close T-1917

* chore: update yarn.lock

* chore: improve log format

* fix: add maxsize params

* chore: add userId field to request

* chore: remove userId from request

* chore: change userId in response

* chore: change action in response

* chore: add database logger

* fix: build

* fix: test

* chore: solve conflicts

* fix: escape delimiter in message

* refactor: improve create logger api

* chore: update app logger options

* chore: remove colorize for json

* fix: bug of data2tree

* fix: test

* chore: log

* chore: remove GITHUB_ACTION check

* fix: bug

* chore: change version

* fix: transports

* fix: mockServer

* chore: use new plugin settings api

* fix: version

* fix: build

* feat: support logfmt

* fix: build

* fix: build

* fix: test

* chore: update config

* fix: test

* fix: bug

* fix: test

* fix: format

* chore: update path

* fix: build

* fix: bug

* chore: update comment

* fix: allow to custom format

* fix: package.json

* fix: version

* fix: bug
2023-12-27 13:56:13 +08:00
chenos
e8f481ae68 chore(versions): 😊 publish v0.18.0-alpha.2 2023-12-25 22:26:05 +08:00
chenos
313d252c71 fix: migration error 2023-12-25 22:24:28 +08:00
chenos
2e038a651b fix: locale resource name 2023-12-22 18:49:58 +08:00
chenos
5e89a02044 fix(test): migration error 2023-12-21 21:03:03 +08:00
chenos
95e6a32647 chore(versions): 😊 publish v0.18.0-alpha.1 2023-12-21 20:40:32 +08:00
ChengLei Shao
261d4c4137
refactor: establish a sound testing system (#3179)
* chore: use vitest to replace jest

* chore: support vitest

* feat: vitest 1.0

* fix: test

* chore: yarn.lock

* chore: github actions

* fix: test

* fix: test

* fix: test

* fix: test

* fix: jest.fn

* fix: require

* fix: test

* fix: build

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: test

* fix: dynamic import

* fix: bug

* chore: yarn run test command

* chore: package.json

* chore: package.json

* chore: vite 5

* fix: fix variable test

* fix: import json

* feat: initEnv

* fix: env.APP_ENV_PATH

* chore: get package json

* fix: remove GlobalThmeProvider

* chore: update snap

* chore: test env

* chore: test env

* chore: import module

* chore: jest

* fix: load package json

* chore: test

* fix: bug

* chore: test

* chore: test

* chore: test

* chore: test

* chore: test

* fix: import file in windows

* chore: import module with absolute file path

* fix: test error

* test: update snapshot

* chore: update yarn.lock

* fix: front-end tests do not include utils folder

* refactor: use vitest-dom

* fix: fix build

* fix: test error

* fix: change to vitest.config.mts

* fix: types error

* fix: types error

* fix: types error

* fix: error

* fix: test

* chore: test

* fix: test package

* feat: update dependencies

* refactor: test

* fix: error

* fix: error

* fix: __dirname is not defined in ES module scope

* fix: allow only

* fix: error

* fix: error

* fix: error

* fix: create-app

* fix: install-deps

* feat: update docs

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: dream2023 <1098626505@qq.com>
Co-authored-by: Zeke Zhang <958414905@qq.com>
2023-12-21 20:39:11 +08:00
YANG QIA
a6c23d58a1
fix(localization): compatibility with plugin package names as namespaces (#3234) 2023-12-19 13:51:26 +08:00
YANG QIA
cb6a6b87c9
fix(acl): optimize error handling when logged user has no roles (#3190)
* fix: fix T-2720

* fix: localization

* fix: test

* fix: build

* chore: update

* fix: update title

* chore: update title

* fix: app load error

* fix: load error

* fix: test error

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-12-15 21:03:16 +08:00
xilesun
d6dbc970a5 chore(versions): 😊 publish v0.17.0-alpha.7 2023-12-15 11:39:15 +08:00
YANG QIA
231c9b02e9
fix: update dependent version of cache-manager (#3195) 2023-12-15 11:38:09 +08:00
chenos
a702762cca chore(versions): 😊 publish v0.17.0-alpha.6 2023-12-13 16:36:59 +08:00
xilesun
35301358de chore(versions): 😊 publish v0.17.0-alpha.5 2023-12-12 23:07:55 +08:00
YANG QIA
474b09c7f2
perf(server): optimize performance of APIs (#3079)
* perf: add perf_hooks

* perf: add cache

* fix: test

* feat: support bloom filter

* feat: caching token black list

* perf: caching i18n instance

* fix: test

* fix: test

* chore: remove prePerfHooks on app

* chore: improve i18n instances cache

* chore: remove performance measure

* fix: package.json

* perf: optimize cache strategy

* fix: test

* fix: bug

* test: storer of auth-manager

* fix: afterDestroy hook when updating null value

* fix: version

* chore: fix bug and add test

* fix: test

* fix: test
2023-12-12 23:02:09 +08:00
chenos
cf9ccfe4f9 chore(versions): 😊 publish v0.17.0-alpha.4 2023-12-12 14:10:36 +08:00
Zeke Zhang
a2be1a0e33
feat(variable): add current role (#3167)
* feat(variable): add current role

* chore: translate

* feat: parsing in the backend

* fix: fix tests
2023-12-08 19:19:53 +08:00
chenos
eef101c177 chore(versions): 😊 publish v0.17.0-alpha.3 2023-12-06 17:19:35 +08:00
chenos
36fd4881b2 chore(versions): 😊 publish v0.17.0-alpha.2 2023-12-06 13:20:48 +08:00
chenos
1757a96b51 chore(versions): 😊 publish v0.17.0-alpha.1 2023-12-04 14:58:09 +08:00