From fd967137d4d8de5c1c447ad55ae65e18433862c7 Mon Sep 17 00:00:00 2001 From: hzjzwcu <1127781044@qq.com> Date: Thu, 4 Jul 2024 15:46:14 +0800 Subject: [PATCH 1/2] feat: Add harmonyOS --- src/core/const.ts | 2 ++ src/core/services/app-manager.ts | 5 +++++ src/core/utils/security.ts | 7 ++++++- src/routes/apps.ts | 6 +++++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/core/const.ts b/src/core/const.ts index 916104b9..d8d12588 100644 --- a/src/core/const.ts +++ b/src/core/const.ts @@ -6,6 +6,8 @@ export const ANDROID = 2; export const ANDROID_NAME = 'Android'; export const WINDOWS = 3; export const WINDOWS_NAME = 'Windows'; +export const HARMONY = 4; +export const HARMONY_NAME = 'Harmony'; // supported apps export const REACT_NATIVE = 1; diff --git a/src/core/services/app-manager.ts b/src/core/services/app-manager.ts index b458c0e2..70f89849 100644 --- a/src/core/services/app-manager.ts +++ b/src/core/services/app-manager.ts @@ -1,3 +1,4 @@ + import _ from 'lodash'; import { Op } from 'sequelize'; import { Apps, AppsInterface } from '../../models/apps'; @@ -12,6 +13,8 @@ import { ANDROID_NAME, WINDOWS, WINDOWS_NAME, + HARMONY, + HARMONY_NAME, CORDOVA, CORDOVA_NAME, REACT_NATIVE, @@ -121,6 +124,8 @@ class AppManager { os = ANDROID_NAME; } else if (info.os === WINDOWS) { os = WINDOWS_NAME; + }else if (info.os === HARMONY) { + os = HARMONY_NAME; } let platform = ''; diff --git a/src/core/utils/security.ts b/src/core/utils/security.ts index 5cf76528..8750597d 100644 --- a/src/core/utils/security.ts +++ b/src/core/utils/security.ts @@ -8,7 +8,7 @@ import { generator } from 'rand-token'; import recursive from 'recursive-readdir'; import slash from 'slash'; import { AppError } from '../app-error'; -import { ANDROID, IOS } from '../const'; +import { ANDROID, HARMONY, IOS } from '../const'; export function md5(str: string) { const md5sum = crypto.createHash('md5'); @@ -141,6 +141,7 @@ export function uploadPackageType(directoryPath: string) { } else { const aregex = /android\.bundle/; const aregexIOS = /main\.jsbundle/; + const aregexHarmony = /harmony\.jsbundle/; let packageType = 0; _.forIn(files, (value: string) => { if (aregex.test(value)) { @@ -151,6 +152,10 @@ export function uploadPackageType(directoryPath: string) { packageType = IOS; return false; } + if (aregexHarmony.test(value)) { + packageType = HARMONY; + return false; + } return undefined; }); diff --git a/src/routes/apps.ts b/src/routes/apps.ts index 0e2d3ca6..857e1fb9 100644 --- a/src/routes/apps.ts +++ b/src/routes/apps.ts @@ -11,6 +11,8 @@ import { ANDROID_NAME, WINDOWS, WINDOWS_NAME, + HARMONY, + HARMONY_NAME, REACT_NATIVE, REACT_NATIVE_NAME, CORDOVA, @@ -1209,8 +1211,10 @@ appsRouter.post( os = ANDROID; } else if (osName === _.toLower(WINDOWS_NAME)) { os = WINDOWS; + } else if (osName === _.toLower(HARMONY_NAME)) { + os = HARMONY; } else { - res.status(406).send('Please input os [iOS|Android|Windows]!'); + res.status(406).send('Please input os [iOS|Android|Windows|Harmony]!'); return; } const platformName = _.toLower(body.platform); From 38ea69bb2c278066526469e174559a4346a41521 Mon Sep 17 00:00:00 2001 From: hzjzwcu <1127781044@qq.com> Date: Thu, 4 Jul 2024 15:53:55 +0800 Subject: [PATCH 2/2] style: format code --- src/core/services/app-manager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/services/app-manager.ts b/src/core/services/app-manager.ts index 70f89849..8d2b5877 100644 --- a/src/core/services/app-manager.ts +++ b/src/core/services/app-manager.ts @@ -124,7 +124,7 @@ class AppManager { os = ANDROID_NAME; } else if (info.os === WINDOWS) { os = WINDOWS_NAME; - }else if (info.os === HARMONY) { + } else if (info.os === HARMONY) { os = HARMONY_NAME; }