被雨水过滤的空气-Rain
771ebaaaec
fix: should load association data in subform ( #3083 )
2023-11-23 21:05:07 +08:00
Dunqing
cc40849c59
fix(plugin-mobile-client): page content disappears when tab is disabled ( #3059 )
...
* fix(plugin-mobile-client): page content disappears when tab is disabled
* feat: make sure include tabs schema
2023-11-22 12:19:55 +08:00
chenos
45dcdab083
fix: add i18n resources after server app load ( #3068 )
...
* fix: add i18n resources after server app load
* fix: skip cache
2023-11-21 11:39:19 +08:00
chenos
cba967933e
chore(versions): 😊 publish v0.16.0-alpha.3
2023-11-20 19:36:12 +08:00
chenos
dfb940e091
feat: node >= 18 ( #3066 )
...
* feat: node >= 18
* fix: release version
* chore(versions): test publish packages xxx
* fix: gitignore
2023-11-20 19:35:30 +08:00
chenos
91053b31ef
chore(versions): 😊 publish v0.16.0-alpha.1
2023-11-20 17:19:09 +08:00
YANG QIA
daac2ae0db
refactor(cache): improve cache ( #3004 )
...
* feat: improve cache
* fix: bug
* fix: test
* fix: test
* fix: test
* chore: add cache test
* feat: add wrapWithCondition
* fix: test
* refactor: improve api
* fix: test
* fix: test
* fix: test
* fix: improve code
* fix: test
* feat: register redis store
* fix: tst
* fix: test
* fix: bug
* chore: update
* fix: ttl unit
* chore: cachemanager constructor
* chore: remove code
* feat: support close connection
* chore: add close options for redis store
2023-11-20 17:14:20 +08:00
chenos
379248e5c5
fix: local storage base url ( #3063 )
...
* fix: local storage base url
* fix: test error
2023-11-20 15:53:09 +08:00
ChengLei Shao
d7d2eb634e
feat: mariadb support ( #3052 )
...
* feat: mariadb support
* feat: mariadb test
* chore: mariadb test
* chore: test
* fix: sort field test
* fix: sort field test
* fix: test
* fix: test
* fix(bi): chart query support mariadb
* chore: test timeout
* chore: test
---------
Co-authored-by: xilesun <2013xile@gmail.com>
2023-11-20 08:54:40 +08:00
Junyi
fbe3d2d9a5
fix(plugin-workflow): client minor fixes ( #3062 )
2023-11-19 03:24:34 -08:00
ChengLei Shao
0acd7b6dd3
fix: sort by association collection ( #3058 )
...
* fix: sort by association collection
* fix: test
* chore: test
* chore: create sortfield if hasmany sortable set true
* fix: drag sort
* chore: update sort by options
* chore: sync collection after update sortBy
* chore: test
* chore: test
* chore: test
* fix: sort by
* fix: model.syncSortByField
* fix: hasmany only
* fix: sortBy
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-18 22:02:21 +08:00
chenos
ef1b9db2a9
chore(versions): 😊 publish v0.15.0-alpha.4
2023-11-18 21:22:03 +08:00
chenos
60112aae62
chore(versions): 😊 publish v0.15.0-alpha.3
2023-11-16 15:03:40 +08:00
Junyi
52c3f28c04
fix(plugin-fm): fix error log ( #3038 )
2023-11-14 16:54:19 +08:00
chenos
b597aec1dc
chore(versions): 😊 publish v0.15.0-alpha.2
2023-11-13 18:28:48 +08:00
chenos
29457cb2bc
chore(versions): 😊 publish v0.15.0-alpha.1
2023-11-13 11:02:35 +08:00
jack zhang
35b06cbfa0
refactor: plugin settings manager ( #2712 )
...
* feat: add settingsCenter
* fix: style bug
* chore: optimized code
* refactor: settingCenter Auth
* feat: add aclSnippet option
* refactor: all plugin's setting center api
* feat: add plugin with name
* docs: add settings-center doc
* fix: settings center menu sort by name
* fix: change setting center layout
* fix: change hello sort
* test: add SettingsCenter.ts test case
* fix: bug
* fix: acl bug
* fix: bug
* fix: bug and 404 page
* fix: test bug
* fix: test bug
* fix: bug
* fix: locale
* fix: styling
* fix: rename settingsCenter to pluginSettingsManager
* fix: styling
* fix: e2e bug
* fix: e2e bug
* fix: locale
* feat: update docs
* fix: update
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-13 11:01:18 +08:00
chenos
3b5b732a1a
feat: plugin-mock-collections ( #2988 )
...
* feat: plugin-mock-collections
* fix: mock bug
* feat: field interfaces
* fix: field interface
* fix: formula
* fix: file collection
* fix: map
* refactor: change api path from :create to :mock
* fix: avoid test failed
* chore: remove useless code
* fix: mock records
* fix: association
* feat: custom data
* fix: mockAttachment
* fix: count
---------
Co-authored-by: Rain <958414905@qq.com>
2023-11-10 11:32:03 +08:00
Junyi
61d14309ed
fix(plugin-workflow): add missed component ( #3007 )
2023-11-09 20:40:27 +08:00
Junyi
e74fcc32e7
refactor(plugin-workflow): allow to use function for values when creating node ( #3002 )
2023-11-09 01:20:56 +08:00
Junyi
8ee8b0052a
fix(plugin-workflow): fix configuration drawer close logic ( #3001 )
2023-11-09 00:51:42 +08:00
被雨水过滤的空气-Rain
81cea6b596
chore: add aria label for workflow table ( #2995 )
2023-11-08 16:28:53 +08:00
被雨水过滤的空气-Rain
5b9695e720
fix: select item can not be selected in connecting data blocks ( #2993 )
2023-11-08 09:17:40 +08:00
Junyi
00cabc5e23
refactor(plugin-workflow): change to function ( #2991 )
2023-11-07 07:30:53 -08:00
Junyi
30de7865c5
fix(plugin-workflow): fix loop scope variable ( #2989 )
2023-11-07 06:17:07 -08:00
katherinehhh
adfb9a72ca
fix(formula-field): formula field failed to real-time evaluating and support sub-form ( #2983 )
...
* fix: formula field failed to real-time evaluating
* fix: formula field failed to real-time evaluating
2023-11-07 21:03:49 +08:00
Junyi
2747e7640f
fix(plugin-workflow): fix node form values when closed ( #2978 )
...
* fix(plugin-workflow): fix node form values when closed
* fix(plugin-workflow): fix manual schema config refresh
2023-11-06 07:50:25 -08:00
ChengLei Shao
ac3f63b110
feat: drop table with cascade option ( #2973 )
...
* refactor: delete collection support cascade
* chore: remove collection from database
* feat: remove collection with cascade option
* chore: test
* chore: test
* chore: delete collection support cascade
* refactor: code improve
* refactor: locale improve
* style: delete collection modal style improve
* revert: filemanger-plugin
* revert: code improve
* revert: code improve
* revert: fix: bluk dele collection
* fix: cascade === true && cascade === 'true'
---------
Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-06 11:50:37 +08:00
ChengLei Shao
2c58d515da
chore: destory collection in share collection plugin ( #2968 )
2023-11-05 19:36:53 +08:00
katherinehhh
9ec2b50990
fix: import action should not visible when view collection not editable ( #2957 )
...
* fix: import action should not visible when view collection not editable
* refactor: action in view collection block
2023-11-04 08:29:59 +08:00
Junyi
9da6606e86
refactor(plugin-workflow): add exports for client ( #2960 )
2023-11-03 08:25:33 -07:00
Junyi
98d8ddc43e
fix(plugin-workflow): fix canvas style ( #2959 )
2023-11-03 06:13:43 -07:00
Junyi
1f9dae6ebd
fix(plugin-workflow): fix variables and form changed ( #2955 )
2023-11-03 05:08:11 -07:00
Dunqing
3220173e83
test(custom-request): update test case, avoid failed ( #2954 )
...
* test(custom-request): update test case, avoid failed
* fix: case
2023-11-03 16:19:11 +08:00
katherinehhh
93bf86d931
fix: create collection report error ( #2953 )
2023-11-03 10:57:45 +08:00
Junyi
a722d0af5a
feat(plugin-workflow): add zoomer for workflow canvas ( #2951 )
...
* feat(plugin-workflow): add zoomer for workflow canvas
* fix(plugin-workflow): fix zoomer position
2023-11-02 07:08:34 -07:00
Dunqing
a90d5fe6d6
feat(map-plugin): supports connecting each point into a line ( #2216 )
...
* feat(map-plugin): supports connecting each point into a line
* feat: update
* feat: support startPoint and endPoint
* fix: data refresh is incorrect when sort changed
* feat: support google map
2023-11-02 15:03:49 +08:00
Dunqing
7bbd7e6f2b
fix(custom-request): parsed not working when the value of the variable is of type o2m. ( #2926 )
...
* fix: parse o2m variables doesn\'t work
* fix: currentRecord.id doesn't work
* fix: x-button missing border-bottom
* fix: currentUser with association
* fix: filter underfined
* fix: cannot get the value by variables
2023-11-02 10:26:56 +08:00
chenos
c6fe9366ca
fix: improve local storage options ( #2943 )
...
* fix: improve local storage options
* test: revision of test cases for file manager
* test: revision of test cases for file manager
---------
Co-authored-by: hongboji <j414562100@qq.com>
2023-11-01 22:23:19 +08:00
chenos
2bb0f7c51c
chore(versions): 😊 publish v0.14.0-alpha.8
2023-11-01 09:52:49 +08:00
chenos
2ac377161f
fix(theme-editor): migration error
2023-10-31 12:22:31 +08:00
chenos
2008bfa54a
fix(import): filter non-existent fields
2023-10-31 12:11:15 +08:00
Rain
fdf4c2d96c
chore: rename file name of migration
2023-10-30 16:54:45 +08:00
Rain
d871554bf1
fix(theme-editor): should add uid field in migration
2023-10-30 11:27:48 +08:00
Junyi
f771a476b2
fix(plugin-workflow): ajdust style ( #2934 )
2023-10-28 22:24:05 -07:00
chenos
e1c30f25e2
fix: theme migration error ( #2929 )
...
* fix: theme migration error
* fix: themeConfig:list public
* fix: item.changed
* refactor: make better
---------
Co-authored-by: Rain <958414905@qq.com>
2023-10-28 17:14:31 +08:00
Junyi
770f1b7af7
refactor(plugin-workflow): add end property to branch ( #2928 )
2023-10-27 20:33:54 -07:00
Junyi
4bac9abbbb
fix(plugin-workflow): fix migration ( #2927 )
2023-10-27 06:14:56 -07:00
chenos
6f3681c2aa
fix: app quickstart ( #2921 )
...
* fix: app quickstart
* fix: test
* fix: test
---------
Co-authored-by: Chareice <chareice@live.com>
2023-10-27 19:40:44 +08:00
被雨水过滤的空气-Rain
1ff3aa94fc
chore(theme-editor): add migration ( #2367 )
...
* chore: change 'Default theme of antd' to 'Default'
* feat(theme-editor): add migration
* refactor: change file name
* feat: add a uid to avoid mutiple additions
* chore: add version info
* chore: optimize
* fix: upgrading error
* chore: add comment
* Update 202307250847-theme-editor.ts
* Update plugin.ts
* Update 202307250847-theme-editor.ts
* refactor: better code
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-10-27 16:55:13 +08:00
被雨水过滤的空气-Rain
29bf187fbf
chore: optimize locators ( #2833 )
...
* test(e2e): better locators for designer buttons
* fix: make test passing
* refactor: remove DesignerControl
* chore: better locators
* fix: should not disable add-menu-item
* chore: better test id for block
* chore: optimize Action
* chore: remove role in BlockItem
* feat: improve locators
* chore: menu & add block
* chore: initializer
* chore: testid -> aria label
* chore: tabs
* chore: designers
* refactor: optimize schemaInitializer
* refactor: rename
* chore: add collectionName
* chore: block item
* chore: action
* fix: avoid crashting
* chore(e2e): add __E2E__
* chore: all dialog
* chore: add aria-label for block menu
* Revert "chore: add aria-label for block menu"
This reverts commit 6a840ef816
.
* chore: optimize aria-label of Action
* chore: schema-initializer
* chore(e2e): increase timeout
* chore: schema settings
* chore: optimize table
* chore: workflow
* chore: plugin manager
* chore: collection manager and workflow
* chore: details of workflow
* chore: remove testid of Select
* test: fix unit-tests
* test: fix unit-tests
* test(e2e): passing tests
* test: fix unit test
* chore: should use hover
* test: passing tests
* chore: passing tests
* chore: fix CI
* chore: fix CI
* chore: increase timeout in CI
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-10-27 15:32:17 +08:00
被雨水过滤的空气-Rain
5a342bdbc7
chore(e2e): based postgres in CI to run e2e ( #2924 )
...
* chore(e2e): based postgres in CI to run e2e
* chore: run CI
* chore: change install
* chore: optimize
2023-10-27 15:22:17 +08:00
Junyi
e86c5a7636
refactor(plugin-workflow): adjust branch styles ( #2922 )
2023-10-26 20:34:08 -07:00
katherinehhh
e35e4af5e7
refactor: reset form values after create action ( #2905 )
...
* refactor: reset form after create action
* fix: association select support reset
* fix: map field support form reset
* fix: formula field support form reset
* fix: josn field support form reset
* fix: attachement field support form reset
* fix: map field support form reset
* fix: map field support form reset
* fix: map field support form reset
* fix: console
2023-10-27 09:45:34 +08:00
chenos
568b12a537
feat: plugin-disable-pm-add-online ( #2918 )
2023-10-26 16:13:59 +08:00
Junyi
a845dc0937
refactor(plugin-workflow): change to use node key for variables ( #2909 )
...
* refactor(plugin-workflow): change to use node key for variables
* refactor(plugin-workflow): add node key to node panel
* fix(plugin-workflow): fix locale
* fix(plugin-workflow): fix nodes variables
* fix(plugin-workflow): fix migration
* fix(plugin-workflow): fix migration and manual detail block
2023-10-25 08:14:54 -07:00
chenos
d492471ed5
fix: useValuesFromRecord with cloneDeep ( #2902 )
...
* fix: useValuesFromRecord with cloneDeep
* fix: omit uiSchema.rawTitle
* fix: disabled
2023-10-25 08:58:45 +08:00
ChengLei Shao
e2a420afcd
fix: app fix at initialized state ( #2908 )
...
* chore: start app if app is initialized status
* fix: start app at gateway
* fix: test
2023-10-25 08:41:38 +08:00
Junyi
ab9457c7fc
refactor(plugin-workflow): add isAvailable check for adding node ( #2898 )
2023-10-23 21:15:55 +08:00
Junyi
41f913b12f
fix(plugin-workflow): fix schedule workflow under normal multi-apps ( #2896 )
2023-10-23 03:25:53 -07:00
Junyi
b18822aaa9
fix(plugin-workflow): fix cycling association stackoverflow ( #2892 )
2023-10-22 09:05:15 -07:00
chenos
4eb6027189
fix(plugin-multi-app-share-collection): type error
2023-10-22 11:44:06 +08:00
chenos
dbdbcf8912
feat(multi-app-manager): form schema extension
2023-10-22 10:41:12 +08:00
ChengLei Shao
ff22db5e5c
chore: create sub app db with context ( #2891 )
2023-10-21 22:50:40 +08:00
Junyi
5fad821eab
refactor(plugin-workflow): add property to determine workflow type triggerable on ui ( #2890 )
2023-10-21 06:44:35 -07:00
Dunqing
d2bf691b69
fix(plugin-custom-request): improve x button style and afterSuccess not work when manualClose is enable ( #2882 )
...
* feat: improve x button style
* fix: manualClose does not enable logic
2023-10-20 16:06:37 +08:00
Junyi
d85aa423d0
fix(plugin-workflow): fix lang ( #2881 )
2023-10-19 21:04:27 -07:00
chenos
f3598d1a38
fix(notifications): update .npmignore
2023-10-20 11:45:17 +08:00
被雨水过滤的空气-Rain
e05a30380a
feat(variable): add current parent record ( #2857 )
...
* feat(variable): add currentParentRecord
* chore: resolve table actions
* chore: get collection name of parent
* chore: table block and details block
* chore: list block
* chore: grid card block
* chore: calendar
* fix: bulk button
* refactor: use useMemo
* fix: fix form block
2023-10-19 22:55:05 +08:00
Dunqing
010c286f7c
fix(plugin-custom-request): variables not work in form block ( #2873 )
...
* fix: custom-request not work in form
* feat: setup logger
* test: add test case and fix crush error
* feat: improve logger
* feat: update log option
* fix: logger
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-10-19 22:49:33 +08:00
ChengLei Shao
cc676c3dda
feat(database): sync false option ( #2864 )
2023-10-19 16:12:12 +08:00
Junyi
d3bf9a7a4d
fix(plugin-sequence): avoid invalid value from ArrayTable.useRecord()
( #2859 )
2023-10-17 20:56:57 -07:00
ChengLei Shao
02559b61ba
feat(ci): run backend tests concurrently ( #2815 )
...
* chore: run backend tests concurrently
* fix: mock app server create database
* chore: using @swc/jest instead of ts-jest
* chore: create test database
* chore: database distributor
* fix: test collection manager
* fix: test
* chore: to use Jest.mock, change the formatter to the commonjs module
* chore: db acquire
* chore: github action
* fix: pg test action
* chore: formatter
* chore: jest workaround
* fix: mysql test
* chore: mysql github action
* chore: clean storage
* chore: gitignore
* chore: max workers
2023-10-17 22:22:45 +08:00
Dunqing
0c99c81c93
docs(plugin-api-keys): add warning for API_KEY env ( #2847 )
2023-10-16 18:58:45 -05:00
Junyi
bb5093cfc2
fix(plugin-workflow): fix lang ( #2844 )
2023-10-16 02:20:11 -07:00
chenos
f603242e38
feat(ui-schema-storage): support duplicate
2023-10-16 16:04:50 +08:00
Junyi
36f84593bb
fix(plugin-workflow): fix action order in workflow list ( #2835 )
2023-10-15 02:04:32 -07:00
chenos
5fbce9fb65
fix(file-manager): improve initialization logic ( #2834 )
2023-10-15 16:00:21 +08:00
被雨水过滤的空气-Rain
a51df00750
feat: support filter blocks in select record drawer ( #2828 )
...
* feat: support filter blocks in select record drawer
* feat: improve UX
* chore: add migration
2023-10-15 14:05:54 +08:00
chenos
200138350b
fix(file-manager): improve default values for thumbnail rules
2023-10-13 19:49:51 +08:00
xilesun
0279067d4c
fix(cas-auth): remove redirect()
2023-10-13 18:49:37 +08:00
YANG QIA
6f09d7ad06
feat(auth): add global auth token provider ( #2824 )
2023-10-13 05:12:26 -05:00
chenos
2d593175b9
feat(file-manager): support configuring thumbnail rules ( #2810 )
2023-10-13 16:40:45 +08:00
Junyi
9044434930
refactor(plugin-workflow): adjust ui and client api ( #2817 )
...
* refactor(plugin-workflow): adjust ui and client api
* fix(plugin-workflow): fix test cases
* fix(plugin-workflow): fix test case
2023-10-13 01:18:19 -07:00
Dunqing
bf099a4364
feat(plugin-custom-request): support better custom-request ( #2536 )
...
* feat(plugin-custom-request): support better custom-request
* feat: re implement custom request
* feat: complete configuration
* feat: support request in server
* feat: improve usage
* feat: support request
* feat: remove customRequests when action is deleted
* feat: avoid override
* fix: the data is not latest
* feat: should autoSize in url
* feat: support title and acl
* fix: i18n
* feat: support display title
* feat: i18n supports
* refactor: acl check
* feat: better method
* fix: style
* fix: remove unused code
* fix: acl
* docs: update
* fix: upgrade
* feat: hidden skip validator option and display should display data
* feat: support root access all custom-request
* chore: update deps
* fix: limit height of modal body, Close T-1682
* fix: parse incorrect, Close T-1686
* fix: i18n, Close T-1684
* fix: linkage rules incorrect, Close T-1719
* fix: missing pass appends, Close T-1720
* fix: should update initialValues when it changed
* feat: update better message
* fix: permission incorrect
* test: setup
* refactor: fix locale
* chore: update deps
* feat: move to @nocobase
* fix: dir
* fix: ui.*
* feat: add listByCurrentRole action, add decorator instead of acl
* fix: remove title field
* feat: compatible pervious version
* feat: support passing x-* headers to custom-request
* feat: support list all keys
* fix: support baseURL, close T-2090
* fix: remove unused code
* fix: sqlite, Close T-2092
* fix: close T-2089
* feat: alert error when request settings doesn't configure, Close T-2101
* feat: improve message
* chore: fix eslint error
* fix: fix version of plugin-custom-request
* fix: build error
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: Rain <958414905@qq.com>
2023-10-13 15:16:50 +08:00
Junyi
0099b0b280
fix(plugin-workflow): ignore queuing executions which workflow has been deleted ( #2808 )
2023-10-12 03:12:15 -07:00
YANG QIA
89361ef61c
fix(auth): SSO issues ( #2733 )
...
* fix(auth): sso switch popup to rediect (fix T-2024)
* refactor: auth process optimization
* fix: test
* chore: add error handler
* fix(auth): sso redirection issue of sub app
* Revert "refactor(auth): OIDC, SAML auth switch popup to redirectction (#2737 )"
This reverts commit beb4793051
.
* Revert "Revert "refactor(auth): OIDC, SAML auth switch popup to redirectction (#2737 )""
This reverts commit 301a85d767
.
* refactor(oidc): improve validate logic
* refactor(saml): improve auth logic
* fix: test
* refactor(cas): improve auth logic
* chore: add error handler
* fix(oidc): subapp callback issue
* fix: add dependency
* chore: add dependency
* fix(auth): set default `userBindField:email`
2023-10-12 00:54:00 -05:00
katherinehhh
9311b4730a
style: import action modal formlayout ( #2809 )
2023-10-12 11:11:07 +08:00
hongboji
ebde1b236b
Merge pull request #2799 from nocobase/Review-to-confirm-feasibility
...
test: confirm the feasibility of e2e test cases
2023-10-12 09:51:57 +08:00
YANG QIA
c33b69a737
fix(bi): query with limit
( #2803 )
2023-10-11 06:59:22 -05:00
YANG QIA
8bd6ef897c
chore(bi): complete chart api ( #2771 )
...
* chore(bi): complete chart api
* feat(bi): sample plugin for adding custom charts
* chore: improve
* chore: remove console.log
2023-10-11 04:24:50 -05:00
hongboji
86c4c199f6
test: revise test cases
2023-10-11 14:56:16 +08:00
hongboji
ef1b07e6a3
test: 确认e2e测试用例可行性
2023-10-11 12:18:35 +08:00
ChengLei Shao
d7664c9a41
chore(collection-manager): Throw an error when the value of foreignKey is the same as otherKey ( #2780 )
...
* chore(collection-manager): throw an error when the value of foreignKey is the same as otherKey
* fix: test
2023-10-10 12:05:53 +08:00
ChengLei Shao
bebe1d15e5
fix: field history with reverse field ( #2776 )
2023-10-09 23:05:23 +08:00
Junyi
f280dcfb00
fix(plugin-workflow): fix toJSON type check ( #2772 )
...
* fix(plugin-workflow): fix toJSON type check
* fix(plugin-workflow): fix type check logic order
2023-10-09 17:48:20 +08:00
ChengLei Shao
1defb5db51
fix: create collections with multiple records ( #2753 )
...
* fix: create collections with multiple items
* chore: test
* fix: sync collection when pending field resolved
* fix: test
2023-10-09 17:35:04 +08:00
ChengLei Shao
caa75877ab
feat(gateway): extend app selector as middleware ( #2761 )
...
* feat: extend app selector as middleware
* fix: test
* chore: prevent duplicate middleware additions
2023-10-09 13:02:36 +08:00
Junyi
9bac4f54f4
refactor(plugin-workflow): add new status for 'retry needed' scenarios ( #2765 )
2023-10-08 19:49:40 -07:00
chenos
8f29fde008
Revert "fix(acl): add rolesUsers through collection"
...
This reverts commit 86309e33be
.
# Conflicts:
# packages/plugins/@nocobase/plugin-acl/src/server/server.ts
2023-10-08 13:13:02 +08:00