Merge remote-tracking branch 'origin/v2-dev' into v2-dev

pull/265/head
xiaojunnuo 2024-12-09 09:34:12 +08:00
commit fdb5ea0ff4
54 changed files with 254 additions and 97 deletions

View File

@ -3,6 +3,22 @@
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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
### Bug Fixes
* 修复cname排查方法 nslookup命令显示黑色的问题 ([3dfeeec](https://github.com/certd/certd/commit/3dfeeec899d7d0d7292695ce410f78548e076c03))
### Performance Improvements
* 通知选择器优化 ([2c0cbdd](https://github.com/certd/certd/commit/2c0cbdd29ecb74cc939b2ae7ee86b8d40f70ba31))
* 新增七牛云插件分组 ([49e7dc5](https://github.com/certd/certd/commit/49e7dc56e1a95fbdea3e30cdeb945b48415b69e3))
* 新增server酱3通知 ([6aa4872](https://github.com/certd/certd/commit/6aa487269c9f6862e188b37a0d6c73f79c937d94))
* 支持邀请奖励 ([618ec93](https://github.com/certd/certd/commit/618ec937866b24ebcf8164db43acb1ed66a5b329))
* 支持易发云短信 ([94fa77f](https://github.com/certd/certd/commit/94fa77fcd2b9bea294fb05736c0d8cdc81f56103))
* cname value优化 ([e8c9c2a](https://github.com/certd/certd/commit/e8c9c2a47d47048ae743b16f7bc932dbe18a89e9))
* favicon支持自定义 ([8b9c47d](https://github.com/certd/certd/commit/8b9c47daf194515006689a212ae9cf586bdf5993))
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Bug Fixes ### Bug Fixes

View File

@ -1 +1 @@
03:24 01:55

View File

@ -23,7 +23,6 @@ services:
# # ↓↓↓↓ --------------------------------------------------------- 如果你服务器部署在国外可以用这个替换上面阿里云的公共dns # # ↓↓↓↓ --------------------------------------------------------- 如果你服务器部署在国外可以用这个替换上面阿里云的公共dns
# - 8.8.8.8 # 谷歌公共dns # - 8.8.8.8 # 谷歌公共dns
# - 8.8.4.4 # - 8.8.4.4
# extra_hosts: # extra_hosts:
# # ↓↓↓↓ -------------------------------------------------------- 这里可以配置自定义hosts外网域名可以指向本地局域网ip地址 # # ↓↓↓↓ -------------------------------------------------------- 这里可以配置自定义hosts外网域名可以指向本地局域网ip地址
# - "localdomain.comm:192.168.1.3" # - "localdomain.comm:192.168.1.3"

View File

@ -3,6 +3,22 @@
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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
### Bug Fixes
* 修复cname排查方法 nslookup命令显示黑色的问题 ([3dfeeec](https://github.com/certd/certd/commit/3dfeeec899d7d0d7292695ce410f78548e076c03))
### Performance Improvements
* 通知选择器优化 ([2c0cbdd](https://github.com/certd/certd/commit/2c0cbdd29ecb74cc939b2ae7ee86b8d40f70ba31))
* 新增七牛云插件分组 ([49e7dc5](https://github.com/certd/certd/commit/49e7dc56e1a95fbdea3e30cdeb945b48415b69e3))
* 新增server酱3通知 ([6aa4872](https://github.com/certd/certd/commit/6aa487269c9f6862e188b37a0d6c73f79c937d94))
* 支持邀请奖励 ([618ec93](https://github.com/certd/certd/commit/618ec937866b24ebcf8164db43acb1ed66a5b329))
* 支持易发云短信 ([94fa77f](https://github.com/certd/certd/commit/94fa77fcd2b9bea294fb05736c0d8cdc81f56103))
* cname value优化 ([e8c9c2a](https://github.com/certd/certd/commit/e8c9c2a47d47048ae743b16f7bc932dbe18a89e9))
* favicon支持自定义 ([8b9c47d](https://github.com/certd/certd/commit/8b9c47daf194515006689a212ae9cf586bdf5993))
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Bug Fixes ### Bug Fixes

View File

@ -9,5 +9,5 @@
} }
}, },
"npmClient": "pnpm", "npmClient": "pnpm",
"version": "1.28.0" "version": "1.28.1"
} }

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.28.1](https://github.com/publishlab/node-acme-client/compare/v1.28.0...v1.28.1) (2024-12-08)
**Note:** Version bump only for package @certd/acme-client
# [1.28.0](https://github.com/publishlab/node-acme-client/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/publishlab/node-acme-client/compare/v1.27.9...v1.28.0) (2024-11-30)
**Note:** Version bump only for package @certd/acme-client **Note:** Version bump only for package @certd/acme-client

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.28.0", "version": "1.28.1",
"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.28.0", "@certd/basic": "^1.28.1",
"@peculiar/x509": "^1.11.0", "@peculiar/x509": "^1.11.0",
"asn1js": "^3.0.5", "asn1js": "^3.0.5",
"axios": "^1.7.2", "axios": "^1.7.2",
@ -65,5 +65,5 @@
"bugs": { "bugs": {
"url": "https://github.com/publishlab/node-acme-client/issues" "url": "https://github.com/publishlab/node-acme-client/issues"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
### Performance Improvements
* 通知选择器优化 ([2c0cbdd](https://github.com/certd/certd/commit/2c0cbdd29ecb74cc939b2ae7ee86b8d40f70ba31))
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Performance Improvements ### Performance Improvements

View File

@ -1 +1 @@
03:20 01:50

View File

@ -1,7 +1,7 @@
{ {
"name": "@certd/basic", "name": "@certd/basic",
"private": false, "private": false,
"version": "1.28.0", "version": "1.28.1",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.js", "module": "./dist/index.js",
@ -43,5 +43,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

View File

@ -3,6 +3,13 @@
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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
### Performance Improvements
* 通知选择器优化 ([2c0cbdd](https://github.com/certd/certd/commit/2c0cbdd29ecb74cc939b2ae7ee86b8d40f70ba31))
* 新增七牛云插件分组 ([49e7dc5](https://github.com/certd/certd/commit/49e7dc56e1a95fbdea3e30cdeb945b48415b69e3))
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Features ### Features

View File

@ -1,7 +1,7 @@
{ {
"name": "@certd/pipeline", "name": "@certd/pipeline",
"private": false, "private": false,
"version": "1.28.0", "version": "1.28.1",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.js", "module": "./dist/index.js",
@ -16,8 +16,8 @@
"test": "mocha --loader=ts-node/esm" "test": "mocha --loader=ts-node/esm"
}, },
"dependencies": { "dependencies": {
"@certd/basic": "^1.28.0", "@certd/basic": "^1.28.1",
"@certd/plus-core": "^1.28.0", "@certd/plus-core": "^1.28.1",
"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"
@ -43,5 +43,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
**Note:** Version bump only for package @certd/lib-huawei
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
**Note:** Version bump only for package @certd/lib-huawei **Note:** Version bump only for package @certd/lib-huawei

View File

@ -1,7 +1,7 @@
{ {
"name": "@certd/lib-huawei", "name": "@certd/lib-huawei",
"private": false, "private": false,
"version": "1.28.0", "version": "1.28.1",
"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",
@ -21,5 +21,5 @@
"prettier": "^2.8.8", "prettier": "^2.8.8",
"tslib": "^2.8.1" "tslib": "^2.8.1"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
**Note:** Version bump only for package @certd/lib-iframe
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
**Note:** Version bump only for package @certd/lib-iframe **Note:** Version bump only for package @certd/lib-iframe

View File

@ -1,7 +1,7 @@
{ {
"name": "@certd/lib-iframe", "name": "@certd/lib-iframe",
"private": false, "private": false,
"version": "1.28.0", "version": "1.28.1",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.js", "module": "./dist/index.js",
@ -30,5 +30,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
**Note:** Version bump only for package @certd/lib-k8s
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
**Note:** Version bump only for package @certd/lib-k8s **Note:** Version bump only for package @certd/lib-k8s

View File

@ -1,7 +1,7 @@
{ {
"name": "@certd/lib-k8s", "name": "@certd/lib-k8s",
"private": false, "private": false,
"version": "1.28.0", "version": "1.28.1",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.js", "module": "./dist/index.js",
@ -16,7 +16,7 @@
"preview": "vite preview" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"@certd/basic": "^1.28.0", "@certd/basic": "^1.28.1",
"@kubernetes/client-node": "0.21.0" "@kubernetes/client-node": "0.21.0"
}, },
"devDependencies": { "devDependencies": {
@ -31,5 +31,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
### Performance Improvements
* favicon支持自定义 ([8b9c47d](https://github.com/certd/certd/commit/8b9c47daf194515006689a212ae9cf586bdf5993))
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Performance Improvements ### Performance Improvements

View File

@ -1,6 +1,6 @@
{ {
"name": "@certd/lib-server", "name": "@certd/lib-server",
"version": "1.28.0", "version": "1.28.1",
"description": "midway with flyway, sql upgrade way ", "description": "midway with flyway, sql upgrade way ",
"private": false, "private": false,
"type": "module", "type": "module",
@ -27,10 +27,10 @@
], ],
"license": "AGPL", "license": "AGPL",
"dependencies": { "dependencies": {
"@certd/acme-client": "^1.28.0", "@certd/acme-client": "^1.28.1",
"@certd/basic": "^1.28.0", "@certd/basic": "^1.28.1",
"@certd/pipeline": "^1.28.0", "@certd/pipeline": "^1.28.1",
"@certd/plus-core": "^1.28.0", "@certd/plus-core": "^1.28.1",
"@midwayjs/cache": "~3.14.0", "@midwayjs/cache": "~3.14.0",
"@midwayjs/core": "~3.17.1", "@midwayjs/core": "~3.17.1",
"@midwayjs/i18n": "~3.17.3", "@midwayjs/i18n": "~3.17.3",
@ -61,5 +61,5 @@
"typeorm": "^0.3.11", "typeorm": "^0.3.11",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

View File

@ -38,9 +38,9 @@ export class PlusService {
return installInfo.siteId; return installInfo.siteId;
} }
async active(code: string) { async active(code: string, inviteCode?: string) {
const plusRequestService = await this.getPlusRequestService(); const plusRequestService = await this.getPlusRequestService();
return await plusRequestService.active(code); return await plusRequestService.active(code, inviteCode);
} }
async updateLicense(license: string) { async updateLicense(license: string) {

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
**Note:** Version bump only for package @certd/midway-flyway-js
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
**Note:** Version bump only for package @certd/midway-flyway-js **Note:** Version bump only for package @certd/midway-flyway-js

View File

@ -1,6 +1,6 @@
{ {
"name": "@certd/midway-flyway-js", "name": "@certd/midway-flyway-js",
"version": "1.28.0", "version": "1.28.1",
"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": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
**Note:** Version bump only for package @certd/plugin-cert
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Features ### Features

View File

@ -1,7 +1,7 @@
{ {
"name": "@certd/plugin-cert", "name": "@certd/plugin-cert",
"private": false, "private": false,
"version": "1.28.0", "version": "1.28.1",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
@ -15,9 +15,9 @@
"preview": "vite preview" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"@certd/acme-client": "^1.28.0", "@certd/acme-client": "^1.28.1",
"@certd/basic": "^1.28.0", "@certd/basic": "^1.28.1",
"@certd/pipeline": "^1.28.0", "@certd/pipeline": "^1.28.1",
"@google-cloud/publicca": "^1.3.0", "@google-cloud/publicca": "^1.3.0",
"dayjs": "^1.11.7", "dayjs": "^1.11.7",
"jszip": "^3.10.1", "jszip": "^3.10.1",
@ -40,5 +40,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
**Note:** Version bump only for package @certd/plugin-lib
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Features ### Features

View File

@ -1,7 +1,7 @@
{ {
"name": "@certd/plugin-lib", "name": "@certd/plugin-lib",
"private": false, "private": false,
"version": "1.28.0", "version": "1.28.1",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
@ -16,9 +16,9 @@
}, },
"dependencies": { "dependencies": {
"@alicloud/pop-core": "^1.7.10", "@alicloud/pop-core": "^1.7.10",
"@certd/basic": "^1.28.0", "@certd/basic": "^1.28.1",
"@certd/pipeline": "^1.28.0", "@certd/pipeline": "^1.28.1",
"@certd/plugin-cert": "^1.28.0", "@certd/plugin-cert": "^1.28.1",
"@kubernetes/client-node": "0.21.0", "@kubernetes/client-node": "0.21.0",
"dayjs": "^1.11.7", "dayjs": "^1.11.7",
"iconv-lite": "^0.6.3", "iconv-lite": "^0.6.3",
@ -44,5 +44,5 @@
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"gitHead": "7e103b774467143a2c9913a30df427760aab781c" "gitHead": "a6cd532035f55a7ce122ea1229bb65f9d41e7125"
} }

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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
### Bug Fixes
* 修复cname排查方法 nslookup命令显示黑色的问题 ([3dfeeec](https://github.com/certd/certd/commit/3dfeeec899d7d0d7292695ce410f78548e076c03))
### Performance Improvements
* 通知选择器优化 ([2c0cbdd](https://github.com/certd/certd/commit/2c0cbdd29ecb74cc939b2ae7ee86b8d40f70ba31))
* 新增七牛云插件分组 ([49e7dc5](https://github.com/certd/certd/commit/49e7dc56e1a95fbdea3e30cdeb945b48415b69e3))
* 新增server酱3通知 ([6aa4872](https://github.com/certd/certd/commit/6aa487269c9f6862e188b37a0d6c73f79c937d94))
* 支持邀请奖励 ([618ec93](https://github.com/certd/certd/commit/618ec937866b24ebcf8164db43acb1ed66a5b329))
* 支持易发云短信 ([94fa77f](https://github.com/certd/certd/commit/94fa77fcd2b9bea294fb05736c0d8cdc81f56103))
* favicon支持自定义 ([8b9c47d](https://github.com/certd/certd/commit/8b9c47daf194515006689a212ae9cf586bdf5993))
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Features ### Features

View File

@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"/> <meta charset="UTF-8"/>
<link rel="icon" href="/static/images/logo/logo.svg"/> <link rel="icon" href="/api/app/favicon"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Loading</title> <title>Loading</title>
<script src="/static/icons/iconfont.js"></script> <script src="/static/icons/iconfont.js"></script>

View File

@ -1,6 +1,6 @@
{ {
"name": "@certd/ui-client", "name": "@certd/ui-client",
"version": "1.28.0", "version": "1.28.1",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite --open", "dev": "vite --open",
@ -26,10 +26,10 @@
"dependencies": { "dependencies": {
"@ant-design/colors": "^7.0.2", "@ant-design/colors": "^7.0.2",
"@ant-design/icons-vue": "^6.1.0", "@ant-design/icons-vue": "^6.1.0",
"@fast-crud/fast-crud": "^1.23.1", "@fast-crud/fast-crud": "^1.23.4",
"@fast-crud/fast-extends": "^1.23.1", "@fast-crud/fast-extends": "^1.23.4",
"@fast-crud/ui-antdv4": "^1.23.1", "@fast-crud/ui-antdv4": "^1.23.4",
"@fast-crud/ui-interface": "^1.23.1", "@fast-crud/ui-interface": "^1.23.4",
"@iconify/vue": "^4.1.1", "@iconify/vue": "^4.1.1",
"@soerenmartius/vue3-clipboard": "^0.1.2", "@soerenmartius/vue3-clipboard": "^0.1.2",
"@vue-js-cron/light": "^4.0.5", "@vue-js-cron/light": "^4.0.5",
@ -65,8 +65,8 @@
"vuedraggable": "^4.1.0" "vuedraggable": "^4.1.0"
}, },
"devDependencies": { "devDependencies": {
"@certd/lib-iframe": "^1.28.0", "@certd/lib-iframe": "^1.28.1",
"@certd/pipeline": "^1.28.0", "@certd/pipeline": "^1.28.1",
"@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",

View File

@ -6,9 +6,8 @@
<div>1. 解析记录应该添加在{{ record.domain }}域名下</div> <div>1. 解析记录应该添加在{{ record.domain }}域名下</div>
<div>2. 要添加的是CNAME类型的记录不是TXT</div> <div>2. 要添加的是CNAME类型的记录不是TXT</div>
<div>3. 核对记录值是否是:{{ record.recordValue }}</div> <div>3. 核对记录值是否是:{{ record.recordValue }}</div>
<div> <div>4. 运行下面的命令,查看解析是否正确 <fs-copyable :style="{ color: '#52c41a' }" :model-value="nslookupCmd"></fs-copyable></div>
4. 运行命令 <a-tag>nslookup -qa=txt {{ record.hostRecord }}{{ record.domain }}</a-tag> <div>5. 如果以上检查都没有问题则可能是DNS解析生效时间比较慢某些提供商延迟可能高达几个小时</div>
</div>
</div> </div>
</template> </template>
<fs-icon class="ml-5 pointer" icon="mingcute:question-line"></fs-icon> <fs-icon class="ml-5 pointer" icon="mingcute:question-line"></fs-icon>
@ -16,7 +15,12 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { computed } from "vue";
const props = defineProps<{ const props = defineProps<{
record: any; record: any;
}>(); }>();
const nslookupCmd = computed(() => {
return `nslookup -qa=txt _acme-challenge.${props.record.domain}`;
});
</script> </script>

View File

@ -12,7 +12,7 @@ const slots = defineSlots();
<template> <template>
<div class="tutorial-button pointer" @click="open"> <div class="tutorial-button pointer" @click="open">
<template v-if="!slots.default"> <template v-if="!slots.default">
<fs-icon icon="mingcute:question-line"></fs-icon> <fs-icon icon="ant-design:question-circle-outlined"></fs-icon>
<div class="ml-5">使用教程</div> <div class="ml-5">使用教程</div>
</template> </template>
<slot></slot> <slot></slot>

View File

@ -118,7 +118,8 @@ const expiredDays = computed(() => {
}); });
const formState = reactive({ const formState = reactive({
code: "" code: "",
inviteCode: ""
}); });
const router = useRouter(); const router = useRouter();
@ -268,7 +269,7 @@ function openUpgrade() {
activationCodeGetWay = ( activationCodeGetWay = (
<span> <span>
<a href="https://afdian.com/a/greper" target="_blank"> <a href="https://afdian.com/a/greper" target="_blank">
爱发电赞助VIP会员后获取专业版 爱发电赞助VIP会员¥29.9后获取一年期专业版激活码
</a> </a>
<span> 商业版请直接联系作者</span> <span> 商业版请直接联系作者</span>
</span> </span>
@ -327,6 +328,7 @@ function openUpgrade() {
<fs-copyable class="flex-1" v-model={computedSiteId.value}></fs-copyable> <fs-copyable class="flex-1" v-model={computedSiteId.value}></fs-copyable>
</div> </div>
<a-input class="mt-10" v-model:value={formState.code} placeholder={placeholder} /> <a-input class="mt-10" v-model:value={formState.code} placeholder={placeholder} />
<a-input class="mt-10" v-model:value={formState.inviteCode} placeholder={"邀请码【选填】可额外获得专业版30天/商业版15天时长"} />
</div> </div>
<div class="mt-10"> <div class="mt-10">

View File

@ -37,3 +37,7 @@
margin-right: 3px; margin-right: 3px;
} }
} }
.fs-search .ant-row{
}

View File

@ -6,11 +6,14 @@ import { Modal } from "ant-design-vue";
import * as api from "/@/views/sys/cname/provider/api"; import * as api from "/@/views/sys/cname/provider/api";
import { mitter } from "/@/utils/util.mitt"; import { mitter } from "/@/utils/util.mitt";
export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any) { export function notificationProvide(api: any) {
provide("notificationApi", api); provide("notificationApi", api);
provide("get:plugin:type", () => { provide("get:plugin:type", () => {
return "notification"; return "notification";
}); });
}
export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any) {
const notificationTypeDictRef = dict({ const notificationTypeDictRef = dict({
url: "/pi/notification/getTypeDict" url: "/pi/notification/getTypeDict"
}); });

View File

@ -15,11 +15,13 @@ import { defineComponent, onActivated, onMounted } from "vue";
import { useFs } from "@fast-crud/fast-crud"; import { useFs } from "@fast-crud/fast-crud";
import createCrudOptions from "./crud"; import createCrudOptions from "./crud";
import { createNotificationApi } from "./api"; import { createNotificationApi } from "./api";
import { notificationProvide } from "/@/views/certd/notification/common";
export default defineComponent({ export default defineComponent({
name: "NotificationManager", name: "NotificationManager",
setup() { setup() {
const api = createNotificationApi(); const api = createNotificationApi();
notificationProvide(api);
const { crudBinding, crudRef, crudExpose } = useFs({ createCrudOptions, context: { api } }); const { crudBinding, crudRef, crudExpose } = useFs({ createCrudOptions, context: { api } });
// //

View File

@ -29,7 +29,9 @@
:show-select="false" :show-select="false"
:dialog="{ width: 960 }" :dialog="{ width: 960 }"
:destroy-on-close="false" :destroy-on-close="false"
height="400px"
@update:model-value="onChange" @update:model-value="onChange"
@dialog-closed="doRefresh"
> >
<template #default="scope"> <template #default="scope">
<fs-button class="ml-5" :disabled="disabled" :size="size" type="primary" icon="ant-design:edit-outlined" @click="scope.open"></fs-button> <fs-button class="ml-5" :disabled="disabled" :size="size" type="primary" icon="ant-design:edit-outlined" @click="scope.open"></fs-button>
@ -45,6 +47,7 @@ import { createNotificationApi } from "../api";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { dict } from "@fast-crud/fast-crud"; import { dict } from "@fast-crud/fast-crud";
import createCrudOptions from "../crud"; import createCrudOptions from "../crud";
import { notificationProvide } from "/@/views/certd/notification/common";
defineOptions({ defineOptions({
name: "NotificationSelector" name: "NotificationSelector"
@ -65,7 +68,7 @@ const onChange = async (value: number) => {
const emit = defineEmits(["update:modelValue", "selectedChange", "change"]); const emit = defineEmits(["update:modelValue", "selectedChange", "change"]);
const api = createNotificationApi(); const api = createNotificationApi();
notificationProvide(api);
// const types = ref({}); // const types = ref({});
// async function loadNotificationTypes() { // async function loadNotificationTypes() {
// const types = await api.GetDefineTypes(); // const types = await api.GetDefineTypes();
@ -148,6 +151,10 @@ watch(
//pipeline //pipeline
const pipeline = inject("pipeline", null); const pipeline = inject("pipeline", null);
async function doRefresh() {
await optionsDictRef.reloadDict();
}
</script> </script>
<style lang="less"> <style lang="less">
.notification-selector { .notification-selector {

View File

@ -4,6 +4,7 @@ import _, { merge } from "lodash-es";
import { useUserStore } from "/@/store/modules/user"; import { useUserStore } from "/@/store/modules/user";
import { useSettingStore } from "/@/store/modules/settings"; import { useSettingStore } from "/@/store/modules/settings";
import * as api from "../api.plugin"; import * as api from "../api.plugin";
import NotificationSelector from "/@/views/certd/notification/notification-selector/index.vue";
export default function (certPlugins: any[], formWrapperRef: any): CreateCrudOptionsRet { export default function (certPlugins: any[], formWrapperRef: any): CreateCrudOptionsRet {
const inputs: any = {}; const inputs: any = {};
@ -106,13 +107,13 @@ export default function (certPlugins: any[], formWrapperRef: any): CreateCrudOpt
title: "失败通知", title: "失败通知",
type: "text", type: "text",
form: { form: {
value: true, value: 0,
component: { component: {
name: "a-switch", name: NotificationSelector,
vModel: "checked" vModel: "modelValue"
}, },
order: 101, order: 101,
helper: "建议设置,任务执行失败实时提醒" helper: "任务执行失败实时提醒"
} }
} }
} }

View File

@ -1,11 +1,11 @@
<template> <template>
<fs-page class="cd-page-account"> <fs-page class="cd-page-account">
<template #header> <!-- <template #header>-->
<div class="title"> <!-- <div class="title">-->
站点绑定 <!-- 站点绑定-->
<span class="sub">管理你安装过的Certd站点可以通过转移功能避免丢失VIP强烈建议绑定</span> <!-- <span class="sub">管理你安装过的Certd站点可以通过转移功能避免丢失VIP强烈建议绑定</span>-->
</div> <!-- </div>-->
</template> <!-- </template>-->
<iframe ref="iframeRef" class="account-iframe" :src="iframeSrcRef"> </iframe> <iframe ref="iframeRef" class="account-iframe" :src="iframeSrcRef"> </iframe>
</fs-page> </fs-page>

View File

@ -3,6 +3,17 @@
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.28.1](https://github.com/certd/certd/compare/v1.28.0...v1.28.1) (2024-12-08)
### Performance Improvements
* 通知选择器优化 ([2c0cbdd](https://github.com/certd/certd/commit/2c0cbdd29ecb74cc939b2ae7ee86b8d40f70ba31))
* 新增七牛云插件分组 ([49e7dc5](https://github.com/certd/certd/commit/49e7dc56e1a95fbdea3e30cdeb945b48415b69e3))
* 新增server酱3通知 ([6aa4872](https://github.com/certd/certd/commit/6aa487269c9f6862e188b37a0d6c73f79c937d94))
* 支持易发云短信 ([94fa77f](https://github.com/certd/certd/commit/94fa77fcd2b9bea294fb05736c0d8cdc81f56103))
* cname value优化 ([e8c9c2a](https://github.com/certd/certd/commit/e8c9c2a47d47048ae743b16f7bc932dbe18a89e9))
* favicon支持自定义 ([8b9c47d](https://github.com/certd/certd/commit/8b9c47daf194515006689a212ae9cf586bdf5993))
# [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30) # [1.28.0](https://github.com/certd/certd/compare/v1.27.9...v1.28.0) (2024-11-30)
### Bug Fixes ### Bug Fixes

View File

@ -0,0 +1 @@
CREATE INDEX "index_user_id" ON "pi_pipeline" ("user_id");

View File

@ -1,6 +1,6 @@
{ {
"name": "@certd/ui-server", "name": "@certd/ui-server",
"version": "1.28.0", "version": "1.28.1",
"description": "fast-server base midway", "description": "fast-server base midway",
"private": true, "private": true,
"type": "module", "type": "module",
@ -29,18 +29,18 @@
}, },
"dependencies": { "dependencies": {
"@alicloud/pop-core": "^1.7.10", "@alicloud/pop-core": "^1.7.10",
"@certd/acme-client": "^1.28.0", "@certd/acme-client": "^1.28.1",
"@certd/basic": "^1.28.0", "@certd/basic": "^1.28.1",
"@certd/commercial-core": "^1.28.0", "@certd/commercial-core": "^1.28.1",
"@certd/lib-huawei": "^1.28.0", "@certd/lib-huawei": "^1.28.1",
"@certd/lib-k8s": "^1.28.0", "@certd/lib-k8s": "^1.28.1",
"@certd/lib-server": "^1.28.0", "@certd/lib-server": "^1.28.1",
"@certd/midway-flyway-js": "^1.28.0", "@certd/midway-flyway-js": "^1.28.1",
"@certd/pipeline": "^1.28.0", "@certd/pipeline": "^1.28.1",
"@certd/plugin-cert": "^1.28.0", "@certd/plugin-cert": "^1.28.1",
"@certd/plugin-lib": "^1.28.0", "@certd/plugin-lib": "^1.28.1",
"@certd/plugin-plus": "^1.28.0", "@certd/plugin-plus": "^1.28.1",
"@certd/plus-core": "^1.28.0", "@certd/plus-core": "^1.28.1",
"@huaweicloud/huaweicloud-sdk-cdn": "^3.1.120", "@huaweicloud/huaweicloud-sdk-cdn": "^3.1.120",
"@huaweicloud/huaweicloud-sdk-core": "^3.1.120", "@huaweicloud/huaweicloud-sdk-core": "^3.1.120",
"@koa/cors": "^5.0.0", "@koa/cors": "^5.0.0",

View File

@ -71,7 +71,7 @@ const development = {
type: 'better-sqlite3', type: 'better-sqlite3',
database: './data/db.sqlite', database: './data/db.sqlite',
synchronize: false, // 如果第一次使用,不存在表,有同步的需求可以写 true synchronize: false, // 如果第一次使用,不存在表,有同步的需求可以写 true
logging: false, logging: true,
// 配置实体模型 或者 entities: '/entity', // 配置实体模型 或者 entities: '/entity',
entities: ['**/modules/**/entity/*.js', ...libServerEntities, ...commercialEntities, PipelineEntity, FlywayHistory, UserEntity], entities: ['**/modules/**/entity/*.js', ...libServerEntities, ...commercialEntities, PipelineEntity, FlywayHistory, UserEntity],

View File

@ -1,11 +1,18 @@
import { Controller, Get, Provide } from '@midwayjs/core'; import { Controller, Get, Inject, Provide } from '@midwayjs/core';
import { BaseController, Constants } from '@certd/lib-server'; import { BaseController, Constants, FileService, SysSettingsService, SysSiteInfo } from '@certd/lib-server';
import { http, logger } from '@certd/basic'; import { http, logger } from '@certd/basic';
import { isComm } from '@certd/plus-core';
/** /**
*/ */
@Provide() @Provide()
@Controller('/api/app/') @Controller('/api/app/')
export class AppController extends BaseController { export class AppController extends BaseController {
@Inject()
sysSettingsService: SysSettingsService;
@Inject()
fileService: FileService;
@Get('/latest', { summary: Constants.per.authOnly }) @Get('/latest', { summary: Constants.per.authOnly })
async latest(): Promise<any> { async latest(): Promise<any> {
const res = await http.request({ const res = await http.request({
@ -20,4 +27,21 @@ export class AppController extends BaseController {
return this.ok(''); return this.ok('');
} }
} }
@Get('/favicon', { summary: Constants.per.guest })
public async getFavicon() {
if (isComm()) {
const siteInfo = await this.sysSettingsService.getSetting<SysSiteInfo>(SysSiteInfo);
const favicon = siteInfo.logo;
if (favicon) {
const redirect = '/api/basic/file/download?key=' + favicon;
this.ctx.response.redirect(redirect);
this.ctx.response.set('Cache-Control', 'public,max-age=25920');
return;
}
}
const redirect = '/static/images/logo/logo.svg';
this.ctx.response.redirect(redirect);
this.ctx.response.set('Cache-Control', 'public,max-age=25920');
}
} }

View File

@ -20,7 +20,8 @@ export class CnameProviderController extends BaseController {
@Post('/list', { summary: Constants.per.authOnly }) @Post('/list', { summary: Constants.per.authOnly })
async list(@Body(ALL) body: any) { async list(@Body(ALL) body: any) {
body.userId = this.getUserId(); body.query = body.query ?? {};
body.query.userId = this.getUserId();
const res = await this.providerService.list({}); const res = await this.providerService.list({});
return this.ok(res); return this.ok(res);
} }

View File

@ -39,7 +39,8 @@ export class CnameRecordController extends CrudController<CnameRecordService> {
@Post('/list', { summary: Constants.per.authOnly }) @Post('/list', { summary: Constants.per.authOnly })
async list(@Body(ALL) body: any) { async list(@Body(ALL) body: any) {
body.userId = this.getUserId(); body.query = body.query ?? {};
body.query.userId = this.getUserId();
const list = await this.getService().list(body); const list = await this.getService().list(body);
return this.ok(list); return this.ok(list);
} }

View File

@ -25,7 +25,8 @@ export class UserSettingsController extends CrudController<UserSettingsService>
@Post('/list', { summary: Constants.per.authOnly }) @Post('/list', { summary: Constants.per.authOnly })
async list(@Body(ALL) body) { async list(@Body(ALL) body) {
body.userId = this.getUserId(); body.query = body.query ?? {};
body.query.userId = this.getUserId();
return super.list(body); return super.list(body);
} }

View File

@ -37,7 +37,8 @@ export class AccessController extends CrudController<AccessService> {
@Post('/list', { summary: Constants.per.authOnly }) @Post('/list', { summary: Constants.per.authOnly })
async list(@Body(ALL) body) { async list(@Body(ALL) body) {
body.userId = this.getUserId(); body.query = body.query ?? {};
body.query.userId = this.getUserId();
return super.list(body); return super.list(body);
} }

View File

@ -78,9 +78,10 @@ export class HistoryController extends CrudController<HistoryService> {
@Post('/list', { summary: Constants.per.authOnly }) @Post('/list', { summary: Constants.per.authOnly })
async list(@Body(ALL) body) { async list(@Body(ALL) body) {
body.query = body.query ?? {};
const isAdmin = await this.authService.isAdmin(this.ctx); const isAdmin = await this.authService.isAdmin(this.ctx);
if (!isAdmin) { if (!isAdmin) {
body.userId = this.getUserId(); body.query.userId = this.getUserId();
} }
if (body.pipelineId == null) { if (body.pipelineId == null) {
return this.ok([]); return this.ok([]);

View File

@ -38,7 +38,8 @@ export class NotificationController extends CrudController<NotificationService>
@Post('/list', { summary: Constants.per.authOnly }) @Post('/list', { summary: Constants.per.authOnly })
async list(@Body(ALL) body) { async list(@Body(ALL) body) {
body.userId = this.getUserId(); body.query = body.query ?? {};
body.query.userId = this.getUserId();
return super.list(body); return super.list(body);
} }

View File

@ -36,7 +36,8 @@ export class PipelineGroupController extends CrudController<PipelineGroupService
@Post('/list', { summary: Constants.per.authOnly }) @Post('/list', { summary: Constants.per.authOnly })
async list(@Body(ALL) body: any) { async list(@Body(ALL) body: any) {
body.userId = this.getUserId(); body.query = body.query ?? {};
body.query.userId = this.getUserId();
return await super.list(body); return await super.list(body);
} }
@ -67,7 +68,9 @@ export class PipelineGroupController extends CrudController<PipelineGroupService
@Post('/all', { summary: Constants.per.authOnly }) @Post('/all', { summary: Constants.per.authOnly })
async all() { async all() {
const list: any = await this.service.find({ const list: any = await this.service.find({
userId: this.getUserId(), where: {
userId: this.getUserId(),
},
}); });
return this.ok(list); return this.ok(list);
} }

View File

@ -14,9 +14,9 @@ export class SysPlusController extends BaseController {
@Post('/active', { summary: 'sys:settings:edit' }) @Post('/active', { summary: 'sys:settings:edit' })
async active(@Body(ALL) body) { async active(@Body(ALL) body) {
const { code } = body; const { code, inviteCode } = body;
await this.plusService.active(code); await this.plusService.active(code, inviteCode);
return this.ok(true); return this.ok(true);
} }

View File

@ -29,20 +29,16 @@ export class SysSettingsController extends CrudController<SysSettingsService> {
@Post('/page', { summary: 'sys:settings:view' }) @Post('/page', { summary: 'sys:settings:view' })
async page(@Body(ALL) body) { async page(@Body(ALL) body) {
body.query = body.query ?? {};
body.query.userId = this.getUserId();
return super.page(body); return super.page(body);
} }
@Post('/list', { summary: 'sys:settings:view' }) @Post('/list', { summary: 'sys:settings:view' })
async list(@Body(ALL) body) { async list(@Body(ALL) body) {
body.userId = this.getUserId();
return super.list(body); return super.list(body);
} }
@Post('/add', { summary: 'sys:settings:edit' }) @Post('/add', { summary: 'sys:settings:edit' })
async add(@Body(ALL) bean) { async add(@Body(ALL) bean) {
bean.userId = this.getUserId();
return super.add(bean); return super.add(bean);
} }

View File

@ -93,7 +93,7 @@ export class CnameRecordService extends BaseService<CnameRecordEntity> {
const cnameKey = utils.id.simpleNanoId(); const cnameKey = utils.id.simpleNanoId();
const safeDomain = param.domain.replaceAll('.', '-'); const safeDomain = param.domain.replaceAll('.', '-');
param.recordValue = `${safeDomain}-${cnameKey}.${cnameProvider.domain}`; param.recordValue = `${safeDomain}.${cnameKey}.${cnameProvider.domain}`;
} }
async update(param: any) { async update(param: any) {