Merge branch 'v2-dev' into v2_admin_mode

This commit is contained in:
xiaojunnuo
2026-02-11 16:28:43 +08:00
44 changed files with 299 additions and 157 deletions
+15
View File
@@ -3,6 +3,21 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Bug Fixes
* 修复部署到openwrt错误的bug ([9ac33f9](https://github.com/certd/certd/commit/9ac33f9b9ba7727fcbbd320dd866bc048cbb3d72))
* 修复新版本上传到阿里云cas后,其他依赖任务无法部署的bug ([99f5b8e](https://github.com/certd/certd/commit/99f5b8ebc1c64798ceb42042ad71cf71e967beb0))
* esxi部署失败的bug ([6ab1fca](https://github.com/certd/certd/commit/6ab1fcaf894f7ce343af4b5bf4b0d67438df6618))
### Performance Improvements
* 修改sql升级语句,兼容mysql5.7 ([02f89a9](https://github.com/certd/certd/commit/02f89a9c9d77850437285844670aed441e5953c3))
* 已登录状态访问登录页面自动跳转到首页 ([bd8caff](https://github.com/certd/certd/commit/bd8caff0b754cb13530cf0f1644b33e29fde5d01))
* 优化access授权支持remote-auto-complete ([2f40f79](https://github.com/certd/certd/commit/2f40f795ee6131132d3fab2601f92a567bbdc4b7))
* access 插件支持remote-select等配置 ([d286c04](https://github.com/certd/certd/commit/d286c040a5232dcca829945734affead3ee08b3c))
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
### Performance Improvements ### Performance Improvements
+15
View File
@@ -3,6 +3,21 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Bug Fixes
* 修复部署到openwrt错误的bug ([9ac33f9](https://github.com/certd/certd/commit/9ac33f9b9ba7727fcbbd320dd866bc048cbb3d72))
* 修复新版本上传到阿里云cas后,其他依赖任务无法部署的bug ([99f5b8e](https://github.com/certd/certd/commit/99f5b8ebc1c64798ceb42042ad71cf71e967beb0))
* esxi部署失败的bug ([6ab1fca](https://github.com/certd/certd/commit/6ab1fcaf894f7ce343af4b5bf4b0d67438df6618))
### Performance Improvements
* 修改sql升级语句,兼容mysql5.7 ([02f89a9](https://github.com/certd/certd/commit/02f89a9c9d77850437285844670aed441e5953c3))
* 已登录状态访问登录页面自动跳转到首页 ([bd8caff](https://github.com/certd/certd/commit/bd8caff0b754cb13530cf0f1644b33e29fde5d01))
* 优化access授权支持remote-auto-complete ([2f40f79](https://github.com/certd/certd/commit/2f40f795ee6131132d3fab2601f92a567bbdc4b7))
* access 插件支持remote-select等配置 ([d286c04](https://github.com/certd/certd/commit/d286c040a5232dcca829945734affead3ee08b3c))
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
### Performance Improvements ### Performance Improvements
+1 -1
View File
@@ -58,7 +58,7 @@
| 3.| **Dokploy-部署server证书** | 自动更新Dokploy server证书 | | 3.| **Dokploy-部署server证书** | 自动更新Dokploy server证书 |
| 4.| **飞牛NAS-部署证书** | | | 4.| **飞牛NAS-部署证书** | |
| 5.| **1Panel-部署面板证书** | 更新1Panel的面板证书 | | 5.| **1Panel-部署面板证书** | 更新1Panel的面板证书 |
| 6.| **1Panel-更新证书** | 更新1Panel的证书,包括面板证书和站点证书 | | 6.| **1Panel-更新站点证书** | 更新1Panel的站点证书 |
| 7.| **宝塔-删除过期证书** | 删除证书夹中过期证书 | | 7.| **宝塔-删除过期证书** | 删除证书夹中过期证书 |
| 8.| **宝塔-WAF证书部署** | 部署宝塔云WAF/aaWAF | | 8.| **宝塔-WAF证书部署** | 部署宝塔云WAF/aaWAF |
| 9.| **宝塔-面板证书部署** | 部署宝塔面板本身的ssl证书 | | 9.| **宝塔-面板证书部署** | 部署宝塔面板本身的ssl证书 |
+1 -1
View File
@@ -9,5 +9,5 @@
} }
}, },
"npmClient": "pnpm", "npmClient": "pnpm",
"version": "1.38.8" "version": "1.38.9"
} }
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/publishlab/node-acme-client/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/acme-client
## [1.38.8](https://github.com/publishlab/node-acme-client/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/publishlab/node-acme-client/compare/v1.38.7...v1.38.8) (2026-02-06)
### Performance Improvements ### Performance Improvements
+3 -3
View File
@@ -3,7 +3,7 @@
"description": "Simple and unopinionated ACME client", "description": "Simple and unopinionated ACME client",
"private": false, "private": false,
"author": "nmorsman", "author": "nmorsman",
"version": "1.38.8", "version": "1.38.9",
"type": "module", "type": "module",
"module": "scr/index.js", "module": "scr/index.js",
"main": "src/index.js", "main": "src/index.js",
@@ -18,7 +18,7 @@
"types" "types"
], ],
"dependencies": { "dependencies": {
"@certd/basic": "^1.38.8", "@certd/basic": "^1.38.9",
"@peculiar/x509": "^1.11.0", "@peculiar/x509": "^1.11.0",
"asn1js": "^3.0.5", "asn1js": "^3.0.5",
"axios": "^1.9.0", "axios": "^1.9.0",
@@ -70,5 +70,5 @@
"bugs": { "bugs": {
"url": "https://github.com/publishlab/node-acme-client/issues" "url": "https://github.com/publishlab/node-acme-client/issues"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+6
View File
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Bug Fixes
* esxi部署失败的bug ([6ab1fca](https://github.com/certd/certd/commit/6ab1fcaf894f7ce343af4b5bf4b0d67438df6618))
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/basic **Note:** Version bump only for package @certd/basic
+1 -1
View File
@@ -1 +1 @@
02:23 23:08
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"name": "@certd/basic", "name": "@certd/basic",
"private": false, "private": false,
"version": "1.38.8", "version": "1.38.9",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.js", "module": "./dist/index.js",
@@ -47,5 +47,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/pipeline
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/pipeline **Note:** Version bump only for package @certd/pipeline
+4 -4
View File
@@ -1,7 +1,7 @@
{ {
"name": "@certd/pipeline", "name": "@certd/pipeline",
"private": false, "private": false,
"version": "1.38.8", "version": "1.38.9",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.js", "module": "./dist/index.js",
@@ -18,8 +18,8 @@
"compile": "tsc --skipLibCheck --watch" "compile": "tsc --skipLibCheck --watch"
}, },
"dependencies": { "dependencies": {
"@certd/basic": "^1.38.8", "@certd/basic": "^1.38.9",
"@certd/plus-core": "^1.38.8", "@certd/plus-core": "^1.38.9",
"dayjs": "^1.11.7", "dayjs": "^1.11.7",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"reflect-metadata": "^0.1.13" "reflect-metadata": "^0.1.13"
@@ -45,5 +45,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/lib-huawei
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/lib-huawei **Note:** Version bump only for package @certd/lib-huawei
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"name": "@certd/lib-huawei", "name": "@certd/lib-huawei",
"private": false, "private": false,
"version": "1.38.8", "version": "1.38.9",
"main": "./dist/bundle.js", "main": "./dist/bundle.js",
"module": "./dist/bundle.js", "module": "./dist/bundle.js",
"types": "./dist/d/index.d.ts", "types": "./dist/d/index.d.ts",
@@ -24,5 +24,5 @@
"prettier": "^2.8.8", "prettier": "^2.8.8",
"tslib": "^2.8.1" "tslib": "^2.8.1"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/lib-iframe
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/lib-iframe **Note:** Version bump only for package @certd/lib-iframe
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"name": "@certd/lib-iframe", "name": "@certd/lib-iframe",
"private": false, "private": false,
"version": "1.38.8", "version": "1.38.9",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.js", "module": "./dist/index.js",
@@ -31,5 +31,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/jdcloud
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/jdcloud **Note:** Version bump only for package @certd/jdcloud
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "@certd/jdcloud", "name": "@certd/jdcloud",
"version": "1.38.8", "version": "1.38.9",
"description": "jdcloud openApi sdk", "description": "jdcloud openApi sdk",
"main": "./dist/bundle.js", "main": "./dist/bundle.js",
"module": "./dist/bundle.js", "module": "./dist/bundle.js",
@@ -56,5 +56,5 @@
"fetch" "fetch"
] ]
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/lib-k8s
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/lib-k8s **Note:** Version bump only for package @certd/lib-k8s
+3 -3
View File
@@ -1,7 +1,7 @@
{ {
"name": "@certd/lib-k8s", "name": "@certd/lib-k8s",
"private": false, "private": false,
"version": "1.38.8", "version": "1.38.9",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.js", "module": "./dist/index.js",
@@ -17,7 +17,7 @@
"pub": "npm publish" "pub": "npm publish"
}, },
"dependencies": { "dependencies": {
"@certd/basic": "^1.38.8", "@certd/basic": "^1.38.9",
"@kubernetes/client-node": "0.21.0" "@kubernetes/client-node": "0.21.0"
}, },
"devDependencies": { "devDependencies": {
@@ -32,5 +32,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/lib-server
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
### Performance Improvements ### Performance Improvements
+7 -7
View File
@@ -1,6 +1,6 @@
{ {
"name": "@certd/lib-server", "name": "@certd/lib-server",
"version": "1.38.8", "version": "1.38.9",
"description": "midway with flyway, sql upgrade way ", "description": "midway with flyway, sql upgrade way ",
"private": false, "private": false,
"type": "module", "type": "module",
@@ -28,11 +28,11 @@
], ],
"license": "AGPL", "license": "AGPL",
"dependencies": { "dependencies": {
"@certd/acme-client": "^1.38.8", "@certd/acme-client": "^1.38.9",
"@certd/basic": "^1.38.8", "@certd/basic": "^1.38.9",
"@certd/pipeline": "^1.38.8", "@certd/pipeline": "^1.38.9",
"@certd/plugin-lib": "^1.38.8", "@certd/plugin-lib": "^1.38.9",
"@certd/plus-core": "^1.38.8", "@certd/plus-core": "^1.38.9",
"@midwayjs/cache": "3.14.0", "@midwayjs/cache": "3.14.0",
"@midwayjs/core": "3.20.11", "@midwayjs/core": "3.20.11",
"@midwayjs/i18n": "3.20.13", "@midwayjs/i18n": "3.20.13",
@@ -64,5 +64,5 @@
"typeorm": "^0.3.11", "typeorm": "^0.3.11",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Performance Improvements
* 修改sql升级语句,兼容mysql5.7 ([02f89a9](https://github.com/certd/certd/commit/02f89a9c9d77850437285844670aed441e5953c3))
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/midway-flyway-js **Note:** Version bump only for package @certd/midway-flyway-js
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "@certd/midway-flyway-js", "name": "@certd/midway-flyway-js",
"version": "1.38.8", "version": "1.38.9",
"description": "midway with flyway, sql upgrade way ", "description": "midway with flyway, sql upgrade way ",
"private": false, "private": false,
"type": "module", "type": "module",
@@ -46,5 +46,5 @@
"typeorm": "^0.3.11", "typeorm": "^0.3.11",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/plugin-cert
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/plugin-cert **Note:** Version bump only for package @certd/plugin-cert
+6 -6
View File
@@ -1,7 +1,7 @@
{ {
"name": "@certd/plugin-cert", "name": "@certd/plugin-cert",
"private": false, "private": false,
"version": "1.38.8", "version": "1.38.9",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
@@ -17,10 +17,10 @@
"compile": "tsc --skipLibCheck --watch" "compile": "tsc --skipLibCheck --watch"
}, },
"dependencies": { "dependencies": {
"@certd/acme-client": "^1.38.8", "@certd/acme-client": "^1.38.9",
"@certd/basic": "^1.38.8", "@certd/basic": "^1.38.9",
"@certd/pipeline": "^1.38.8", "@certd/pipeline": "^1.38.9",
"@certd/plugin-lib": "^1.38.8", "@certd/plugin-lib": "^1.38.9",
"psl": "^1.9.0", "psl": "^1.9.0",
"punycode.js": "^2.3.1" "punycode.js": "^2.3.1"
}, },
@@ -38,5 +38,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/plugin-lib
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
**Note:** Version bump only for package @certd/plugin-lib **Note:** Version bump only for package @certd/plugin-lib
+6 -6
View File
@@ -1,7 +1,7 @@
{ {
"name": "@certd/plugin-lib", "name": "@certd/plugin-lib",
"private": false, "private": false,
"version": "1.38.8", "version": "1.38.9",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
@@ -22,10 +22,10 @@
"@alicloud/pop-core": "^1.7.10", "@alicloud/pop-core": "^1.7.10",
"@alicloud/tea-util": "^1.4.11", "@alicloud/tea-util": "^1.4.11",
"@aws-sdk/client-s3": "^3.964.0", "@aws-sdk/client-s3": "^3.964.0",
"@certd/acme-client": "^1.38.8", "@certd/acme-client": "^1.38.9",
"@certd/basic": "^1.38.8", "@certd/basic": "^1.38.9",
"@certd/pipeline": "^1.38.8", "@certd/pipeline": "^1.38.9",
"@certd/plus-core": "^1.38.8", "@certd/plus-core": "^1.38.9",
"@kubernetes/client-node": "0.21.0", "@kubernetes/client-node": "0.21.0",
"ali-oss": "^6.22.0", "ali-oss": "^6.22.0",
"basic-ftp": "^5.0.5", "basic-ftp": "^5.0.5",
@@ -57,5 +57,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db" "gitHead": "b30cb5d7dc8311af4863da7dc8781f7264ba0545"
} }
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Performance Improvements
* 已登录状态访问登录页面自动跳转到首页 ([bd8caff](https://github.com/certd/certd/commit/bd8caff0b754cb13530cf0f1644b33e29fde5d01))
* 优化access授权支持remote-auto-complete ([2f40f79](https://github.com/certd/certd/commit/2f40f795ee6131132d3fab2601f92a567bbdc4b7))
* access 插件支持remote-select等配置 ([d286c04](https://github.com/certd/certd/commit/d286c040a5232dcca829945734affead3ee08b3c))
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
### Performance Improvements ### Performance Improvements
+3 -3
View File
@@ -1,6 +1,6 @@
{ {
"name": "@certd/ui-client", "name": "@certd/ui-client",
"version": "1.38.8", "version": "1.38.9",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite --open", "dev": "vite --open",
@@ -106,8 +106,8 @@
"zod-defaults": "^0.1.3" "zod-defaults": "^0.1.3"
}, },
"devDependencies": { "devDependencies": {
"@certd/lib-iframe": "^1.38.8", "@certd/lib-iframe": "^1.38.9",
"@certd/pipeline": "^1.38.8", "@certd/pipeline": "^1.38.9",
"@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-node-resolve": "^15.2.3",
"@types/chai": "^4.3.12", "@types/chai": "^4.3.12",
@@ -23,7 +23,7 @@ defineOptions({
const props = defineProps< const props = defineProps<
{ {
watches: string[]; watches?: string[];
} & ComponentPropsType } & ComponentPropsType
>(); >();
@@ -48,6 +48,18 @@ const message = ref("");
const hasError = ref(false); const hasError = ref(false);
const loading = ref(false); const loading = ref(false);
function getInputFromForm(form: any, pluginType: string) {
let input: any = {};
if (pluginType === "plugin") {
input = form?.input || {};
} else if (pluginType === "access") {
input = form?.access || {};
} else {
input = form || {};
}
return input;
}
const getOptions = async () => { const getOptions = async () => {
if (loading.value) { if (loading.value) {
return; return;
@@ -63,15 +75,14 @@ const getOptions = async () => {
} }
const pluginType = getPluginType(); const pluginType = getPluginType();
const { form } = getScope(); const { form } = getScope();
const input = (pluginType === "plugin" ? form?.input : form) || {}; const input = getInputFromForm(form, pluginType);
for (let key in define.input) { for (let key in define.input) {
const inWatches = props.watches?.includes(key); const inWatches = props.watches?.includes(key);
const inputDefine = define.input[key]; const inputDefine = define.input[key];
if (inWatches && inputDefine.required) { if (inWatches && inputDefine.required) {
const value = input[key]; const value = input[key];
if (value == null || value === "") { if (value == null || value === "") {
console.log("remote-select required", key); console.log("remote-auto-complete required", key);
return; return;
} }
} }
@@ -129,12 +140,14 @@ watch(
() => { () => {
const pluginType = getPluginType(); const pluginType = getPluginType();
const { form, key } = getScope(); const { form, key } = getScope();
const input = (pluginType === "plugin" ? form?.input : form) || {}; const input = getInputFromForm(form, pluginType);
const watches = {}; const watches: any = {};
for (const key of props.watches) { if (props.watches && props.watches.length > 0) {
//@ts-ignore for (const key of props.watches) {
watches[key] = input[key]; watches[key] = input[key];
}
} }
return { return {
form: watches, form: watches,
key, key,
@@ -144,6 +157,9 @@ watch(
const { form } = value; const { form } = value;
const oldForm: any = oldValue?.form; const oldForm: any = oldValue?.form;
let changed = oldForm == null || optionsRef.value.length == 0; let changed = oldForm == null || optionsRef.value.length == 0;
if (!props.watches || props.watches.length === 0) {
return;
}
for (const key of props.watches) { for (const key of props.watches) {
//@ts-ignore //@ts-ignore
if (oldForm && form[key] != oldForm[key]) { if (oldForm && form[key] != oldForm[key]) {
@@ -57,7 +57,7 @@ const VNodes = defineComponent({
const props = defineProps< const props = defineProps<
{ {
watches: string[]; watches?: string[];
search?: boolean; search?: boolean;
pager?: boolean; pager?: boolean;
} & ComponentPropsType } & ComponentPropsType
@@ -79,6 +79,17 @@ const getPluginType: any = inject("get:plugin:type", () => {
return "plugin"; return "plugin";
}); });
function getInputFromForm(form: any, pluginType: string) {
let input: any = {};
if (pluginType === "plugin") {
input = form?.input || {};
} else if (pluginType === "access") {
input = form?.access || {};
} else {
input = form || {};
}
return input;
}
const searchKeyRef = ref(""); const searchKeyRef = ref("");
const optionsRef = ref([]); const optionsRef = ref([]);
const message = ref(""); const message = ref("");
@@ -104,7 +115,7 @@ const getOptions = async () => {
} }
const pluginType = getPluginType(); const pluginType = getPluginType();
const { form } = getScope(); const { form } = getScope();
const input = (pluginType === "plugin" ? form?.input : form) || {}; const input = getInputFromForm(form, pluginType);
for (let key in define.input) { for (let key in define.input) {
const inWatches = props.watches?.includes(key); const inWatches = props.watches?.includes(key);
@@ -200,12 +211,14 @@ watch(
() => { () => {
const pluginType = getPluginType(); const pluginType = getPluginType();
const { form, key } = getScope(); const { form, key } = getScope();
const input = (pluginType === "plugin" ? form?.input : form) || {}; const input = getInputFromForm(form, pluginType);
const watches = {}; const watches: any = {};
for (const key of props.watches) { if (props.watches && props.watches.length > 0) {
//@ts-ignore for (const key of props.watches) {
watches[key] = input[key]; watches[key] = input[key];
}
} }
return { return {
form: watches, form: watches,
key, key,
@@ -215,11 +228,12 @@ watch(
const { form } = value; const { form } = value;
const oldForm: any = oldValue?.form; const oldForm: any = oldValue?.form;
let changed = oldForm == null || optionsRef.value.length == 0; let changed = oldForm == null || optionsRef.value.length == 0;
for (const key of props.watches) { if (props.watches && props.watches.length > 0) {
//@ts-ignore for (const key of props.watches) {
if (oldForm && form[key] != oldForm[key]) { if (oldForm && form[key] != oldForm[key]) {
changed = true; changed = true;
break; break;
}
} }
} }
if (changed) { if (changed) {
@@ -101,6 +101,14 @@ function setupAccessGuard(router: Router) {
return r.meta?.auth || r.meta?.permission; return r.meta?.auth || r.meta?.permission;
}); });
if (to.path === LOGIN_PATH && accessStore.accessToken) {
return {
path: DEFAULT_HOME_PATH,
// 携带当前跳转的页面,登录后重新跳转该页面
replace: true,
};
}
if (!needAuth) { if (!needAuth) {
return true; return true;
} }
@@ -37,7 +37,7 @@
<div class="step-row"> <div class="step-row">
<div class="text"> <div class="text">
<fs-icon icon="ion:flash"></fs-icon> <fs-icon icon="ion:flash"></fs-icon>
<h4 class="title" :class="{ disabled: element.disabled, deleted: element.disabled }">{{ element.title }}</h4> <h4 class="title" :class="{ disabled: element.disabled, deleted: element.disabled }" :title="element.title">{{ element.title }}</h4>
</div> </div>
<div class="action"> <div class="action">
<a key="edit" @click="stepEdit(currentTask, element, index)">编辑</a> <a key="edit" @click="stepEdit(currentTask, element, index)">编辑</a>
@@ -306,6 +306,9 @@ export default {
justify-content: space-between; justify-content: space-between;
.text { .text {
display: flex; display: flex;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
> * { > * {
margin: 0px; margin: 0px;
margin-right: 15px; margin-right: 15px;
@@ -314,9 +317,16 @@ export default {
.action { .action {
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: nowrap;
word-wrap: nowrap;
margin-left: 10px;
> * { > * {
margin-right: 10px; margin-right: 10px;
font-size: 14px; font-size: 14px;
display: flex;
align-items: center;
flex-wrap: nowrap;
white-space: nowrap;
} }
} }
} }
@@ -103,7 +103,7 @@ import SmsCode from "/@/views/framework/login/sms-code.vue";
import { useI18n } from "/@/locales"; import { useI18n } from "/@/locales";
import { LanguageToggle } from "/@/vben/layouts"; import { LanguageToggle } from "/@/vben/layouts";
import CaptchaInput from "/@/components/captcha/captcha-input.vue"; import CaptchaInput from "/@/components/captcha/captcha-input.vue";
import { useRoute } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import OauthFooter from "/@/views/framework/oauth/oauth-footer.vue"; import OauthFooter from "/@/views/framework/oauth/oauth-footer.vue";
import * as oauthApi from "../oauth/api"; import * as oauthApi from "../oauth/api";
import { notification } from "ant-design-vue"; import { notification } from "ant-design-vue";
@@ -113,6 +113,7 @@ export default defineComponent({
setup() { setup() {
const { t } = useI18n(); const { t } = useI18n();
const route = useRoute(); const route = useRoute();
const userStore = useUserStore();
const queryBindCode = ref(route.query.bindCode as string | undefined); const queryBindCode = ref(route.query.bindCode as string | undefined);
@@ -120,7 +121,7 @@ export default defineComponent({
const urlLoginType = route.query.loginType as string | undefined; const urlLoginType = route.query.loginType as string | undefined;
const verifyCodeInputRef = ref(); const verifyCodeInputRef = ref();
const loading = ref(false); const loading = ref(false);
const userStore = useUserStore();
const settingStore = useSettingStore(); const settingStore = useSettingStore();
const formRef = ref(); const formRef = ref();
let defaultLoginType = settingStore.sysPublic.defaultLoginType || "password"; let defaultLoginType = settingStore.sysPublic.defaultLoginType || "password";
@@ -250,6 +251,7 @@ export default defineComponent({
} }
return sysPublicSettings.oauthOnly && settingStore.isPlus && sysPublicSettings.oauthEnabled; return sysPublicSettings.oauthOnly && settingStore.isPlus && sysPublicSettings.oauthEnabled;
}); });
return { return {
t, t,
loading, loading,
+14
View File
@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Bug Fixes
* 修复部署到openwrt错误的bug ([9ac33f9](https://github.com/certd/certd/commit/9ac33f9b9ba7727fcbbd320dd866bc048cbb3d72))
* 修复新版本上传到阿里云cas后,其他依赖任务无法部署的bug ([99f5b8e](https://github.com/certd/certd/commit/99f5b8ebc1c64798ceb42042ad71cf71e967beb0))
* esxi部署失败的bug ([6ab1fca](https://github.com/certd/certd/commit/6ab1fcaf894f7ce343af4b5bf4b0d67438df6618))
### Performance Improvements
* 修改sql升级语句,兼容mysql5.7 ([02f89a9](https://github.com/certd/certd/commit/02f89a9c9d77850437285844670aed441e5953c3))
* 优化access授权支持remote-auto-complete ([2f40f79](https://github.com/certd/certd/commit/2f40f795ee6131132d3fab2601f92a567bbdc4b7))
* access 插件支持remote-select等配置 ([d286c04](https://github.com/certd/certd/commit/d286c040a5232dcca829945734affead3ee08b3c))
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06) ## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
### Performance Improvements ### Performance Improvements
@@ -14,72 +14,26 @@ input:
region: region:
title: 大区 title: 大区
component: component:
name: a-auto-complete name: remote-auto-complete
vModel: value vModel: value
options: type: access
- value: oss-cn-hangzhou typeName: alioss
label: 华东1(杭州) action: onGetRegionList
- value: oss-cn-shanghai
label: 华东2(上海)
- value: oss-cn-nanjing
label: 华东5(南京-本地地域)
- value: oss-cn-fuzhou
label: 华东6(福州-本地地域)
- value: oss-cn-wuhan-lr
label: 华中1(武汉-本地地域)
- value: oss-cn-qingdao
label: 华北1(青岛)
- value: oss-cn-beijing
label: 华北2(北京)
- value: oss-cn-zhangjiakou
label: 华北 3(张家口)
- value: oss-cn-huhehaote
label: 华北5(呼和浩特)
- value: oss-cn-wulanchabu
label: 华北6(乌兰察布)
- value: oss-cn-shenzhen
label: 华南1(深圳)
- value: oss-cn-heyuan
label: 华南2(河源)
- value: oss-cn-guangzhou
label: 华南3(广州)
- value: oss-cn-chengdu
label: 西南1(成都)
- value: oss-cn-hongkong
label: 中国香港
- value: oss-us-west-1
label: 美国(硅谷)①
- value: oss-us-east-1
label: 美国(弗吉尼亚)①
- value: oss-ap-northeast-1
label: 日本(东京)①
- value: oss-ap-northeast-2
label: 韩国(首尔)
- value: oss-ap-southeast-1
label: 新加坡①
- value: oss-ap-southeast-2
label: 澳大利亚(悉尼)①
- value: oss-ap-southeast-3
label: 马来西亚(吉隆坡)①
- value: oss-ap-southeast-5
label: 印度尼西亚(雅加达)①
- value: oss-ap-southeast-6
label: 菲律宾(马尼拉)
- value: oss-ap-southeast-7
label: 泰国(曼谷)
- value: oss-eu-central-1
label: 德国(法兰克福)①
- value: oss-eu-west-1
label: 英国(伦敦)
- value: oss-me-east-1
label: 阿联酋(迪拜)①
- value: oss-rg-china-mainland
label: 无地域属性(中国内地)
required: true required: true
bucket: bucket:
title: Bucket title: Bucket
helper: 存储桶名称 helper: 存储桶名称
required: true required: true
component:
name: remote-auto-complete
vModel: value
type: access
action: onGetBucketList
search: false
pager: false
watches:
- accessId
- region
pluginType: access pluginType: access
type: builtIn type: builtIn
scriptFilePath: /plugins/plugin-lib/aliyun/access/alioss-access.js scriptFilePath: /plugins/plugin-lib/aliyun/access/alioss-access.js
@@ -3,9 +3,9 @@ default:
strategy: strategy:
runStrategy: 1 runStrategy: 1
name: 1PanelDeployToWebsitePlugin name: 1PanelDeployToWebsitePlugin
title: 1Panel-更新证书 title: 1Panel-更新站点证书
icon: svg:icon-onepanel icon: svg:icon-onepanel
desc: 更新1Panel的证书,包括面板证书和站点证书 desc: 更新1Panel的站点证书
group: panel group: panel
needPlus: false needPlus: false
input: input:
+14 -14
View File
@@ -1,6 +1,6 @@
{ {
"name": "@certd/ui-server", "name": "@certd/ui-server",
"version": "1.38.8", "version": "1.38.9",
"description": "fast-server base midway", "description": "fast-server base midway",
"private": true, "private": true,
"type": "module", "type": "module",
@@ -48,20 +48,20 @@
"@aws-sdk/client-iam": "^3.964.0", "@aws-sdk/client-iam": "^3.964.0",
"@aws-sdk/client-route-53": "^3.964.0", "@aws-sdk/client-route-53": "^3.964.0",
"@aws-sdk/client-s3": "^3.964.0", "@aws-sdk/client-s3": "^3.964.0",
"@certd/acme-client": "^1.38.8", "@certd/acme-client": "^1.38.9",
"@certd/basic": "^1.38.8", "@certd/basic": "^1.38.9",
"@certd/commercial-core": "^1.38.8", "@certd/commercial-core": "^1.38.9",
"@certd/cv4pve-api-javascript": "^8.4.2", "@certd/cv4pve-api-javascript": "^8.4.2",
"@certd/jdcloud": "^1.38.8", "@certd/jdcloud": "^1.38.9",
"@certd/lib-huawei": "^1.38.8", "@certd/lib-huawei": "^1.38.9",
"@certd/lib-k8s": "^1.38.8", "@certd/lib-k8s": "^1.38.9",
"@certd/lib-server": "^1.38.8", "@certd/lib-server": "^1.38.9",
"@certd/midway-flyway-js": "^1.38.8", "@certd/midway-flyway-js": "^1.38.9",
"@certd/pipeline": "^1.38.8", "@certd/pipeline": "^1.38.9",
"@certd/plugin-cert": "^1.38.8", "@certd/plugin-cert": "^1.38.9",
"@certd/plugin-lib": "^1.38.8", "@certd/plugin-lib": "^1.38.9",
"@certd/plugin-plus": "^1.38.8", "@certd/plugin-plus": "^1.38.9",
"@certd/plus-core": "^1.38.8", "@certd/plus-core": "^1.38.9",
"@google-cloud/publicca": "^1.3.0", "@google-cloud/publicca": "^1.3.0",
"@huaweicloud/huaweicloud-sdk-cdn": "^3.1.185", "@huaweicloud/huaweicloud-sdk-cdn": "^3.1.185",
"@huaweicloud/huaweicloud-sdk-core": "^3.1.185", "@huaweicloud/huaweicloud-sdk-core": "^3.1.185",
@@ -53,6 +53,7 @@ export class HandleController extends BaseController {
const accessGetter = new AccessGetter(userId, this.accessService.getById.bind(this.accessService)); const accessGetter = new AccessGetter(userId, this.accessService.getById.bind(this.accessService));
const access = await newAccess(body.typeName, inputAccess,accessGetter); const access = await newAccess(body.typeName, inputAccess,accessGetter);
mergeUtils.merge(access, body.input);
const res = await access.onRequest(body); const res = await access.onRequest(body);
return this.ok(res); return this.ok(res);
@@ -7,9 +7,9 @@ import { OnePanelClient } from "../client.js";
@IsTaskPlugin({ @IsTaskPlugin({
name: "1PanelDeployToWebsitePlugin", name: "1PanelDeployToWebsitePlugin",
title: "1Panel-更新证书", title: "1Panel-更新站点证书",
icon: "svg:icon-onepanel", icon: "svg:icon-onepanel",
desc: "更新1Panel的证书,包括面板证书和站点证书", desc: "更新1Panel的站点证书",
group: pluginGroups.panel.key, group: pluginGroups.panel.key,
default: { default: {
strategy: { strategy: {
@@ -195,7 +195,7 @@ export class OnePanelDeployToWebsitePlugin extends AbstractTaskPlugin {
currentNode: this.currentNode, currentNode: this.currentNode,
}); });
if (!res?.items) { if (!res?.items) {
throw new Error("没有找到证书,请先在1Panel中手动上传证书,并关联站点或设置面板证书,后续才可以自动更新"); throw new Error("没有找到证书,请先在1Panel中手动上传证书,并关联站点,后续才可以自动更新");
} }
const list = res.items.map(item => { const list = res.items.map(item => {
const domains = item.domains ? [] : item.domains.split(","); const domains = item.domains ? [] : item.domains.split(",");
@@ -1,8 +1,8 @@
import { IsAccess, AccessInput, BaseAccess } from '@certd/pipeline'; import { AccessInput, BaseAccess, IsAccess, PageSearch } from '@certd/pipeline';
/** /**
* https://www.dns.com.cn/login/toLogin.do
* certd的后台管理系统中 API接口https://api.bizcn.com/rrpservices
*/ */
@IsAccess({ @IsAccess({
name: 'xinnetconnect', name: 'xinnetconnect',
@@ -38,6 +38,23 @@ export class XinnetConnectAccess extends BaseAccess {
password = ''; password = '';
async getDomainList(req: PageSearch): Promise<any> {
let bodyXml =`
<limit>${req.pageSize}</limit>
<offset>${req.pageNo}</offset>
`
if(req.searchKey){
bodyXml += `<domainname>${req.searchKey}</domainname>`
}
const res = await this.doRequest({
url: "/domainService",
bodyXml: bodyXml,
service: "getDomainList",
})
return res
}
async addDnsRecord(req: {domain:string,hostRecord:string, value:string, type:string}): Promise<any> { async addDnsRecord(req: {domain:string,hostRecord:string, value:string, type:string}): Promise<any> {
const { domain,hostRecord, value, type } = req; const { domain,hostRecord, value, type } = req;
@@ -125,15 +142,19 @@ export class XinnetConnectAccess extends BaseAccess {
// 提取返回结果 // 提取返回结果
const soapBody = result['soap:Envelope']['soap:Body']; const soapBody = result['soap:Envelope']['soap:Body'];
const addDnsRecordResponse = soapBody["ns1:addDnsRecordResponse"]; const keys = Object.keys(soapBody);
console.log(addDnsRecordResponse) if (keys.length === 0) {
throw new Error('SOAP响应体为空');
}
const addDnsRecordResponse = soapBody[keys[0]];
this.ctx.logger.info(addDnsRecordResponse)
const resultData = addDnsRecordResponse.response.result; const resultData = addDnsRecordResponse.response.result;
const res = { const res = {
code: resultData.$.code, code: resultData.$.code,
msg: resultData.msg msg: resultData.msg
} }
console.log('操作结果:', res); this.ctx.logger.info('操作结果:', res);
if (res.code != "200") { if (res.code != "200") {
throw new Error(res.msg + " code:" + res.code); throw new Error(res.msg + " code:" + res.code);
@@ -1,4 +1,5 @@
import { AbstractDnsProvider, CreateRecordOptions, IsDnsProvider, RemoveRecordOptions } from "@certd/plugin-cert"; import { PageRes, PageSearch } from "@certd/pipeline";
import { AbstractDnsProvider, CreateRecordOptions, DomainRecord, IsDnsProvider, RemoveRecordOptions } from "@certd/plugin-cert";
import { XinnetConnectAccess } from "./access.js"; import { XinnetConnectAccess } from "./access.js";
@@ -62,6 +63,21 @@ export class XinnetConnectDnsProvider extends AbstractDnsProvider<XinnetConnectR
await this.access.delDnsRecord(record) await this.access.delDnsRecord(record)
this.logger.info(`删除域名解析成功:fullRecord=${fullRecord}`); this.logger.info(`删除域名解析成功:fullRecord=${fullRecord}`);
} }
async getDomainListPage(req: PageSearch): Promise<PageRes<DomainRecord>> {
const res = await this.access.getDomainList(req)
let list = res.domainlist || []
list = list.map(item => ({
domain: item.domain,
id: item.domain,
}))
return {
pageNo: req.pageNo,
pageSize: req.pageSize,
total: res.total || 0,
list,
}
}
} }
//实例化这个provider,将其自动注册到系统中 //实例化这个provider,将其自动注册到系统中
+1 -1
View File
@@ -1 +1 @@
02:29 23:12
+1 -1
View File
@@ -1 +1 @@
02:51 02:18