diff --git a/packages/libs/lib-server/src/system/basic/service/plus-service.ts b/packages/libs/lib-server/src/system/basic/service/plus-service.ts index e33a7173..875a9ed0 100644 --- a/packages/libs/lib-server/src/system/basic/service/plus-service.ts +++ b/packages/libs/lib-server/src/system/basic/service/plus-service.ts @@ -1,7 +1,8 @@ import { Inject, Provide, Scope, ScopeEnum } from '@midwayjs/core'; -import { PlusRequestService } from '@certd/plus-core'; -import { logger } from '@certd/basic'; +import { AppKey, PlusRequestService } from '@certd/plus-core'; +import { http, HttpRequestConfig, logger } from '@certd/basic'; import { SysInstallInfo, SysLicenseInfo, SysSettingsService } from '../../settings/index.js'; +import { merge } from 'lodash-es'; @Provide() @Scope(ScopeEnum.Singleton) @@ -65,9 +66,46 @@ export class PlusService { } } + async userPreBind(userId: number) { + const plusRequestService = await this.getPlusRequestService(); + await plusRequestService.requestWithoutSign({ + url: '/activation/subject/preBind', + method: 'POST', + data: { + userId, + appKey: AppKey, + subjectId: this.getSubjectId(), + }, + }); + } + + async sendEmail(email: any) { + const plusRequestService = await this.getPlusRequestService(); + await plusRequestService.request({ + url: '/activation/emailSend', + data: { + subject: email.subject, + text: email.content, + to: email.receivers, + }, + }); + } + async getAccessToken() { const plusRequestService = await this.getPlusRequestService(); await this.register(); return await plusRequestService.getAccessToken(); } + + async requestWithToken(config: HttpRequestConfig) { + const plusRequestService = await this.getPlusRequestService(); + const token = await this.getAccessToken(); + merge(config, { + baseURL: plusRequestService.getBaseURL(), + headers: { + Authorization: token, + }, + }); + return await http.request(config); + } } diff --git a/packages/ui/certd-server/src/controller/sys/account/account-controller.ts b/packages/ui/certd-server/src/controller/sys/account/account-controller.ts index bd5a0b23..cd55986a 100644 --- a/packages/ui/certd-server/src/controller/sys/account/account-controller.ts +++ b/packages/ui/certd-server/src/controller/sys/account/account-controller.ts @@ -1,8 +1,5 @@ import { ALL, Body, Controller, Inject, Post, Provide } from '@midwayjs/core'; -import { BaseController, PlusService } from '@certd/lib-server'; -import { AppKey } from '@certd/plus-core'; -import { SysSettingsService } from '@certd/lib-server'; -import { SysInstallInfo } from '@certd/lib-server'; +import { BaseController, PlusService, SysInstallInfo, SysSettingsService } from '@certd/lib-server'; export type PreBindUserReq = { userId: number; @@ -23,18 +20,8 @@ export class BasicController extends BaseController { @Post('/preBindUser', { summary: 'sys:settings:edit' }) public async preBindUser(@Body(ALL) body: PreBindUserReq) { - const installInfo: SysInstallInfo = await this.sysSettingsService.getSetting(SysInstallInfo); // 设置缓存内容 - await this.plusService.requestWithoutSign({ - url: '/activation/subject/preBind', - method: 'POST', - data: { - userId: body.userId, - appKey: AppKey, - subjectId: installInfo.siteId, - }, - }); - + await this.plusService.userPreBind(body.userId); return this.ok({}); } diff --git a/packages/ui/certd-server/src/modules/basic/service/email-service.ts b/packages/ui/certd-server/src/modules/basic/service/email-service.ts index 03440a1a..ff1a2c46 100644 --- a/packages/ui/certd-server/src/modules/basic/service/email-service.ts +++ b/packages/ui/certd-server/src/modules/basic/service/email-service.ts @@ -49,14 +49,7 @@ export class EmailService implements IEmailService { * receivers: string[]; */ - await this.plusService.request({ - url: '/activation/emailSend', - data: { - subject: email.subject, - text: email.content, - to: email.receivers, - }, - }); + await this.plusService.sendEmail(email); } /** diff --git a/packages/ui/certd-server/src/modules/cname/service/common-provider.ts b/packages/ui/certd-server/src/modules/cname/service/common-provider.ts index e4e198f9..bbbdc30f 100644 --- a/packages/ui/certd-server/src/modules/cname/service/common-provider.ts +++ b/packages/ui/certd-server/src/modules/cname/service/common-provider.ts @@ -32,7 +32,7 @@ export class CommonDnsProvider implements IDnsProvider { await this.plusService.register(); - const res = await this.plusService.requestWithoutSign({ + const res = await this.plusService.requestWithToken({ url: '/activation/certd/cname/recordCreate', data: { subjectId: this.plusService.getSubjectId(), @@ -45,7 +45,7 @@ export class CommonDnsProvider implements IDnsProvider { return res; } async removeRecord(options: RemoveRecordOptions) { - const res = await this.plusService.requestWithoutSign({ + const res = await this.plusService.requestWithToken({ url: '/activation/certd/cname/recordRemove', data: { subjectId: this.plusService.getSubjectId(),