🚀 核心更新: - ✅ 完善 NestJS 企业级架构设计 - ✅ 优化配置中心和基础设施层 - ✅ 增强第三方服务集成能力 - ✅ 完善多租户架构支持 - 🎯 对标 Java Spring Boot 和 PHP ThinkPHP 📦 新增文件: - wwjcloud-nest 完整框架结构 - Docker 容器化配置 - 管理后台界面 - 数据库迁移脚本 🔑 Key: ebb38b43ec39f355f071294fd1cf9c42
266 lines
8.8 KiB
TypeScript
266 lines
8.8 KiB
TypeScript
import { Injectable, Logger } from '@nestjs/common';
|
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
import { Repository } from 'typeorm';
|
|
import { ConfigService } from '@nestjs/config';
|
|
import { BaseService } from '@wwjCommon/base/base.service';
|
|
import { CacheService } from '@wwjCommon/cache/cache.service';
|
|
import { LoggingService } from '@wwjCommon/logging/logging.service';
|
|
import { UploadService } from '@wwjVendor/upload/upload.service';
|
|
import { PayService } from '@wwjVendor/pay/pay.service';
|
|
import { SmsService } from '@wwjVendor/sms/sms.service';
|
|
import { NoticeService } from '@wwjVendor/notice/notice.service';
|
|
|
|
@Injectable()
|
|
export class NiucloudService extends BaseService<any> {
|
|
private readonly logger = new Logger(NiucloudService.name);
|
|
|
|
constructor(
|
|
@InjectRepository(Object)
|
|
protected readonly repository: Repository<any>,
|
|
private readonly cacheService: CacheService,
|
|
private readonly configService: ConfigService,
|
|
private readonly loggingService: LoggingService,
|
|
private readonly uploadService: UploadService,
|
|
private readonly payService: PayService,
|
|
private readonly smsService: SmsService,
|
|
private readonly noticeService: NoticeService,
|
|
) {
|
|
super(repository);
|
|
}
|
|
|
|
/**
|
|
* setAuthorize
|
|
* 对应 PHP: NiucloudService_admin::setAuthorize()
|
|
* 逻辑类型: undefined - undefined
|
|
*/
|
|
async setAuthorize(data: any) {
|
|
// 基于PHP真实逻辑: setAuthorize
|
|
// PHP原文: $data = [ 'auth_code' => $data['auth_code'], 'auth_secret' => $data['auth_secret'] ]; $service = (new CoreAuth...
|
|
const data = [
|
|
auth_code: data.auth_code,
|
|
auth_secret: data.auth_secret
|
|
];
|
|
const service = (new CoreAuthService(data.auth_code, data.auth_secret)];
|
|
const auth_info = service.getAuthInfo().data || [];
|
|
if (!auth_info)) throw new BusinessException('AUTH_NOT_EXISTS'];
|
|
service.clearAccessToken(];
|
|
return this.core_config_service.setConfig(0,ConfigKeyDict.NIUCLOUD_CONFIG, data];
|
|
}
|
|
|
|
/**
|
|
* 获取授权信息
|
|
* @return mixed|string[)
|
|
*/
|
|
async getAuthorize(){
|
|
const info = this.core_config_service.getConfig(0, ConfigKeyDict.NIUCLOUD_CONFIG);
|
|
if(!info))
|
|
{
|
|
const info = [];
|
|
info.value = [
|
|
auth_code: '',
|
|
auth_secret: ''
|
|
];
|
|
}
|
|
|
|
/**
|
|
* getAuthorize
|
|
* 对应 PHP: NiucloudService_admin::getAuthorize()
|
|
* 逻辑类型: undefined - undefined
|
|
*/
|
|
async getAuthorize() {
|
|
// 基于PHP真实逻辑: getAuthorize
|
|
// PHP原文: $info = $this->core_config_service->getConfig(0, ConfigKeyDict::NIUCLOUD_CONFIG); if(empty($info)) { $info = []; ...
|
|
const info = this.core_config_service.getConfig(0, ConfigKeyDict.NIUCLOUD_CONFIG);
|
|
if(!info))
|
|
{
|
|
const info = [];
|
|
info.value = [
|
|
auth_code: '',
|
|
auth_secret: ''
|
|
];
|
|
}
|
|
|
|
/**
|
|
* getFrameworkLastVersion
|
|
* 对应 PHP: NiucloudService_admin::getFrameworkLastVersion()
|
|
* 逻辑类型: undefined - undefined
|
|
*/
|
|
async getFrameworkLastVersion() {
|
|
// 基于PHP真实逻辑: getFrameworkLastVersion
|
|
// PHP原文: return (new CoreModuleService())->getFrameworkLastVersion(); } /** * 获取框架版本更新记录 */ public function getFrameworkVersionList() { ...
|
|
return this.coreModuleService.getFrameworkLastVersion(];
|
|
}
|
|
|
|
/**
|
|
* 获取框架版本更新记录
|
|
*/
|
|
async getFrameworkVersionList() {
|
|
return this.coreModuleService.getFrameworkVersionList(];
|
|
}
|
|
|
|
/**
|
|
* 获取应用/插件的版本更新记录
|
|
*/
|
|
async getAppVersionList(app_key) {
|
|
return this.coreModuleService.getAppVersionList(app_key);
|
|
}
|
|
|
|
/**
|
|
* 设置 本地服务器地址
|
|
* @param data
|
|
* @return \app\model\sys\SysConfig|bool|\think\Model
|
|
*/
|
|
async setLocalCloudCompileConfig(data){
|
|
|
|
const data = [
|
|
baseUri: data.url,
|
|
isOpen: data.is_open,
|
|
];
|
|
return this.core_config_service.setConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG', data);
|
|
}
|
|
|
|
/**
|
|
* 获取 本地服务器地址
|
|
* @param data
|
|
* @return \app\model\sys\SysConfig|bool|array|\think\Model
|
|
*/
|
|
async getLocalCloudCompileConfig(){
|
|
const config = this.core_config_service.getConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG').value || [];
|
|
return [
|
|
baseUri: config.baseUri || '',
|
|
isOpen: config.isOpen || 0,
|
|
;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* getFrameworkVersionList
|
|
* 对应 PHP: NiucloudService_admin::getFrameworkVersionList()
|
|
* 逻辑类型: undefined - undefined
|
|
*/
|
|
async getFrameworkVersionList() {
|
|
// 基于PHP真实逻辑: getFrameworkVersionList
|
|
// PHP原文: return (new CoreModuleService())->getFrameworkVersionList(); } /** * 获取应用/插件的版本更新记录 */ public function getAppVersionList($app_k...
|
|
return this.coreModuleService.getFrameworkVersionList(];
|
|
}
|
|
|
|
/**
|
|
* 获取应用/插件的版本更新记录
|
|
*/
|
|
async getAppVersionList(app_key) {
|
|
return this.coreModuleService.getAppVersionList(app_key);
|
|
}
|
|
|
|
/**
|
|
* 设置 本地服务器地址
|
|
* @param data
|
|
* @return \app\model\sys\SysConfig|bool|\think\Model
|
|
*/
|
|
async setLocalCloudCompileConfig(data){
|
|
|
|
const data = [
|
|
baseUri: data.url,
|
|
isOpen: data.is_open,
|
|
];
|
|
return this.core_config_service.setConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG', data);
|
|
}
|
|
|
|
/**
|
|
* 获取 本地服务器地址
|
|
* @param data
|
|
* @return \app\model\sys\SysConfig|bool|array|\think\Model
|
|
*/
|
|
async getLocalCloudCompileConfig(){
|
|
const config = this.core_config_service.getConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG').value || [];
|
|
return [
|
|
baseUri: config.baseUri || '',
|
|
isOpen: config.isOpen || 0,
|
|
;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* getAppVersionList
|
|
* 对应 PHP: NiucloudService_admin::getAppVersionList()
|
|
* 逻辑类型: undefined - undefined
|
|
*/
|
|
async getAppVersionList(app_key: any) {
|
|
// 基于PHP真实逻辑: getAppVersionList
|
|
// PHP原文: return (new CoreModuleService())->getAppVersionList($app_key); } /** * 设置 本地服务器地址 * @param $data * @return \app\model\sys\SysC...
|
|
return this.coreModuleService.getAppVersionList(app_key);
|
|
}
|
|
|
|
/**
|
|
* 设置 本地服务器地址
|
|
* @param data
|
|
* @return \app\model\sys\SysConfig|bool|\think\Model
|
|
*/
|
|
async setLocalCloudCompileConfig(data){
|
|
|
|
const data = [
|
|
baseUri: data.url,
|
|
isOpen: data.is_open,
|
|
];
|
|
return this.core_config_service.setConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG', data);
|
|
}
|
|
|
|
/**
|
|
* 获取 本地服务器地址
|
|
* @param data
|
|
* @return \app\model\sys\SysConfig|bool|array|\think\Model
|
|
*/
|
|
async getLocalCloudCompileConfig(){
|
|
const config = this.core_config_service.getConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG').value || [];
|
|
return [
|
|
baseUri: config.baseUri || '',
|
|
isOpen: config.isOpen || 0,
|
|
;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* setLocalCloudCompileConfig
|
|
* 对应 PHP: NiucloudService_admin::setLocalCloudCompileConfig()
|
|
* 逻辑类型: undefined - undefined
|
|
*/
|
|
async setLocalCloudCompileConfig(data: any) {
|
|
// 基于PHP真实逻辑: setLocalCloudCompileConfig
|
|
// PHP原文: $data = [ 'baseUri' => $data['url'], 'isOpen' => $data['is_open'], ]; return $this->core_config_service->setCo...
|
|
const data = [
|
|
baseUri: data.url,
|
|
isOpen: data.is_open,
|
|
];
|
|
return this.core_config_service.setConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG', data);
|
|
}
|
|
|
|
/**
|
|
* 获取 本地服务器地址
|
|
* @param data
|
|
* @return \app\model\sys\SysConfig|bool|array|\think\Model
|
|
*/
|
|
async getLocalCloudCompileConfig(){
|
|
const config = this.core_config_service.getConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG').value || [];
|
|
return [
|
|
baseUri: config.baseUri || '',
|
|
isOpen: config.isOpen || 0,
|
|
;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* getLocalCloudCompileConfig
|
|
* 对应 PHP: NiucloudService_admin::getLocalCloudCompileConfig()
|
|
* 逻辑类型: undefined - undefined
|
|
*/
|
|
async getLocalCloudCompileConfig() {
|
|
// 基于PHP真实逻辑: getLocalCloudCompileConfig
|
|
// PHP原文: $config = $this->core_config_service->getConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG')['value'] ?? []; return [ 'baseUri' => $config['bas...
|
|
const config = this.core_config_service.getConfig(0,'LOCAL_CLOUD_COMPILE_CONFIG').value || [];
|
|
return [
|
|
baseUri: config.baseUri || '',
|
|
isOpen: config.isOpen || 0,
|
|
;
|
|
}
|
|
}
|
|
}
|