New file |
| | |
| | | /node_modules |
| | | /oh_modules |
| | | /local.properties |
| | | /.idea |
| | | **/build |
| | | /.hvigor |
| | | .cxx |
| | | /.clangd |
| | | /.clang-format |
| | | /.clang-tidy |
| | | **/.test |
| | | /.appanalyzer |
New file |
| | |
| | | { |
| | | "app": { |
| | | "bundleName": "com.example.xuepintongxing", |
| | | "vendor": "example", |
| | | "versionCode": 1000000, |
| | | "versionName": "1.0.0", |
| | | "icon": "$media:layered_image", |
| | | "label": "$string:app_name" |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "string": [ |
| | | { |
| | | "name": "app_name", |
| | | "value": "xuepintongxing" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "layered-image": |
| | | { |
| | | "background" : "$media:background", |
| | | "foreground" : "$media:foreground" |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "app": { |
| | | "signingConfigs": [], |
| | | "products": [ |
| | | { |
| | | "name": "default", |
| | | "signingConfig": "default", |
| | | "targetSdkVersion": "5.0.5(17)", |
| | | "compatibleSdkVersion": "5.0.0(12)", |
| | | "runtimeOS": "HarmonyOS", |
| | | "buildOption": { |
| | | "strictMode": { |
| | | "caseSensitiveCheck": true, |
| | | "useNormalizedOHMUrl": true |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | "buildModeSet": [ |
| | | { |
| | | "name": "debug", |
| | | }, |
| | | { |
| | | "name": "release" |
| | | } |
| | | ] |
| | | }, |
| | | "modules": [ |
| | | { |
| | | "name": "entry", |
| | | "srcPath": "./entry", |
| | | "targets": [ |
| | | { |
| | | "name": "default", |
| | | "applyToProducts": [ |
| | | "default" |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "files": [ |
| | | "**/*.ets" |
| | | ], |
| | | "ignore": [ |
| | | "**/src/ohosTest/**/*", |
| | | "**/src/test/**/*", |
| | | "**/src/mock/**/*", |
| | | "**/node_modules/**/*", |
| | | "**/oh_modules/**/*", |
| | | "**/build/**/*", |
| | | "**/.preview/**/*" |
| | | ], |
| | | "ruleSet": [ |
| | | "plugin:@performance/recommended", |
| | | "plugin:@typescript-eslint/recommended" |
| | | ], |
| | | "rules": { |
| | | "@security/no-unsafe-aes": "error", |
| | | "@security/no-unsafe-hash": "error", |
| | | "@security/no-unsafe-mac": "warn", |
| | | "@security/no-unsafe-dh": "error", |
| | | "@security/no-unsafe-dsa": "error", |
| | | "@security/no-unsafe-ecdsa": "error", |
| | | "@security/no-unsafe-rsa-encrypt": "error", |
| | | "@security/no-unsafe-rsa-sign": "error", |
| | | "@security/no-unsafe-rsa-key": "error", |
| | | "@security/no-unsafe-dsa-key": "error", |
| | | "@security/no-unsafe-dh-key": "error", |
| | | "@security/no-unsafe-3des": "error" |
| | | } |
| | | } |
New file |
| | |
| | | /node_modules |
| | | /oh_modules |
| | | /.preview |
| | | /build |
| | | /.cxx |
| | | /.test |
New file |
| | |
| | | { |
| | | "apiType": "stageMode", |
| | | "buildOption": { |
| | | }, |
| | | "buildOptionSet": [ |
| | | { |
| | | "name": "release", |
| | | "arkOptions": { |
| | | "obfuscation": { |
| | | "ruleOptions": { |
| | | "enable": false, |
| | | "files": [ |
| | | "./obfuscation-rules.txt" |
| | | ] |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | ], |
| | | "targets": [ |
| | | { |
| | | "name": "default" |
| | | }, |
| | | { |
| | | "name": "ohosTest", |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | import { hapTasks } from '@ohos/hvigor-ohos-plugin'; |
| | | |
| | | export default { |
| | | system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ |
| | | plugins: [] /* Custom plugin to extend the functionality of Hvigor. */ |
| | | } |
New file |
| | |
| | | # Define project specific obfuscation rules here. |
| | | # You can include the obfuscation configuration files in the current module's build-profile.json5. |
| | | # |
| | | # For more details, see |
| | | # https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5 |
| | | |
| | | # Obfuscation options: |
| | | # -disable-obfuscation: disable all obfuscations |
| | | # -enable-property-obfuscation: obfuscate the property names |
| | | # -enable-toplevel-obfuscation: obfuscate the names in the global scope |
| | | # -compact: remove unnecessary blank spaces and all line feeds |
| | | # -remove-log: remove all console.* statements |
| | | # -print-namecache: print the name cache that contains the mapping from the old names to new names |
| | | # -apply-namecache: reuse the given cache file |
| | | |
| | | # Keep options: |
| | | # -keep-property-name: specifies property names that you want to keep |
| | | # -keep-global-name: specifies names that you want to keep in the global scope |
| | | |
| | | -enable-property-obfuscation |
| | | -enable-toplevel-obfuscation |
| | | -enable-filename-obfuscation |
| | | -enable-export-obfuscation |
New file |
| | |
| | | { |
| | | "name": "entry", |
| | | "version": "1.0.0", |
| | | "description": "Please describe the basic information.", |
| | | "main": "", |
| | | "author": "", |
| | | "license": "", |
| | | "dependencies": {} |
| | | } |
| | | |
New file |
| | |
| | | import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit'; |
| | | import { hilog } from '@kit.PerformanceAnalysisKit'; |
| | | import { window } from '@kit.ArkUI'; |
| | | |
| | | const DOMAIN = 0x0000; |
| | | |
| | | export default class EntryAbility extends UIAbility { |
| | | onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { |
| | | this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); |
| | | hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate'); |
| | | } |
| | | |
| | | onDestroy(): void { |
| | | hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onDestroy'); |
| | | } |
| | | |
| | | onWindowStageCreate(windowStage: window.WindowStage): void { |
| | | // Main window is created, set main page for this ability |
| | | hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); |
| | | |
| | | windowStage.loadContent('pages/Index', (err) => { |
| | | if (err.code) { |
| | | hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)); |
| | | return; |
| | | } |
| | | hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.'); |
| | | }); |
| | | } |
| | | |
| | | onWindowStageDestroy(): void { |
| | | // Main window is destroyed, release UI related resources |
| | | hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); |
| | | } |
| | | |
| | | onForeground(): void { |
| | | // Ability has brought to foreground |
| | | hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onForeground'); |
| | | } |
| | | |
| | | onBackground(): void { |
| | | // Ability has back to background |
| | | hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onBackground'); |
| | | } |
| | | } |
New file |
| | |
| | | import { hilog } from '@kit.PerformanceAnalysisKit'; |
| | | import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; |
| | | |
| | | const DOMAIN = 0x0000; |
| | | |
| | | export default class EntryBackupAbility extends BackupExtensionAbility { |
| | | async onBackup() { |
| | | hilog.info(DOMAIN, 'testTag', 'onBackup ok'); |
| | | await Promise.resolve(); |
| | | } |
| | | |
| | | async onRestore(bundleVersion: BundleVersion) { |
| | | hilog.info(DOMAIN, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); |
| | | await Promise.resolve(); |
| | | } |
| | | } |
New file |
| | |
| | | @Entry |
| | | @Component |
| | | struct Index { |
| | | @State message: string = 'Hello World'; |
| | | |
| | | build() { |
| | | RelativeContainer() { |
| | | Text(this.message) |
| | | .id('HelloWorld') |
| | | .fontSize($r('app.float.page_text_font_size')) |
| | | .fontWeight(FontWeight.Bold) |
| | | .alignRules({ |
| | | center: { anchor: '__container__', align: VerticalAlign.Center }, |
| | | middle: { anchor: '__container__', align: HorizontalAlign.Center } |
| | | }) |
| | | .onClick(() => { |
| | | this.message = 'Welcome'; |
| | | }) |
| | | } |
| | | .height('100%') |
| | | .width('100%') |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "module": { |
| | | "name": "entry", |
| | | "type": "entry", |
| | | "description": "$string:module_desc", |
| | | "mainElement": "EntryAbility", |
| | | "deviceTypes": [ |
| | | "phone" |
| | | ], |
| | | "deliveryWithInstall": true, |
| | | "installationFree": false, |
| | | "pages": "$profile:main_pages", |
| | | "abilities": [ |
| | | { |
| | | "name": "EntryAbility", |
| | | "srcEntry": "./ets/entryability/EntryAbility.ets", |
| | | "description": "$string:EntryAbility_desc", |
| | | "icon": "$media:layered_image", |
| | | "label": "$string:EntryAbility_label", |
| | | "startWindowIcon": "$media:startIcon", |
| | | "startWindowBackground": "$color:start_window_background", |
| | | "exported": true, |
| | | "skills": [ |
| | | { |
| | | "entities": [ |
| | | "entity.system.home" |
| | | ], |
| | | "actions": [ |
| | | "action.system.home" |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ], |
| | | "extensionAbilities": [ |
| | | { |
| | | "name": "EntryBackupAbility", |
| | | "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", |
| | | "type": "backup", |
| | | "exported": false, |
| | | "metadata": [ |
| | | { |
| | | "name": "ohos.extension.backup", |
| | | "resource": "$profile:backup_config" |
| | | } |
| | | ], |
| | | } |
| | | ] |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "color": [ |
| | | { |
| | | "name": "start_window_background", |
| | | "value": "#FFFFFF" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "float": [ |
| | | { |
| | | "name": "page_text_font_size", |
| | | "value": "50fp" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "string": [ |
| | | { |
| | | "name": "module_desc", |
| | | "value": "module description" |
| | | }, |
| | | { |
| | | "name": "EntryAbility_desc", |
| | | "value": "description" |
| | | }, |
| | | { |
| | | "name": "EntryAbility_label", |
| | | "value": "label" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "layered-image": |
| | | { |
| | | "background" : "$media:background", |
| | | "foreground" : "$media:foreground" |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "allowToBackupRestore": true |
| | | } |
New file |
| | |
| | | { |
| | | "src": [ |
| | | "pages/Index" |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "color": [ |
| | | { |
| | | "name": "start_window_background", |
| | | "value": "#000000" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | import { hilog } from '@kit.PerformanceAnalysisKit'; |
| | | import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; |
| | | |
| | | export default function abilityTest() { |
| | | describe('ActsAbilityTest', () => { |
| | | // Defines a test suite. Two parameters are supported: test suite name and test suite function. |
| | | beforeAll(() => { |
| | | // Presets an action, which is performed only once before all test cases of the test suite start. |
| | | // This API supports only one parameter: preset action function. |
| | | }) |
| | | beforeEach(() => { |
| | | // Presets an action, which is performed before each unit test case starts. |
| | | // The number of execution times is the same as the number of test cases defined by **it**. |
| | | // This API supports only one parameter: preset action function. |
| | | }) |
| | | afterEach(() => { |
| | | // Presets a clear action, which is performed after each unit test case ends. |
| | | // The number of execution times is the same as the number of test cases defined by **it**. |
| | | // This API supports only one parameter: clear action function. |
| | | }) |
| | | afterAll(() => { |
| | | // Presets a clear action, which is performed after all test cases of the test suite end. |
| | | // This API supports only one parameter: clear action function. |
| | | }) |
| | | it('assertContain', 0, () => { |
| | | // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. |
| | | hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); |
| | | let a = 'abc'; |
| | | let b = 'b'; |
| | | // Defines a variety of assertion methods, which are used to declare expected boolean conditions. |
| | | expect(a).assertContain(b); |
| | | expect(a).assertEqual(a); |
| | | }) |
| | | }) |
| | | } |
New file |
| | |
| | | import abilityTest from './Ability.test'; |
| | | |
| | | export default function testsuite() { |
| | | abilityTest(); |
| | | } |
New file |
| | |
| | | { |
| | | "module": { |
| | | "name": "entry_test", |
| | | "type": "feature", |
| | | "deviceTypes": [ |
| | | "phone" |
| | | ], |
| | | "deliveryWithInstall": true, |
| | | "installationFree": false |
| | | } |
| | | } |
New file |
| | |
| | | import localUnitTest from './LocalUnit.test'; |
| | | |
| | | export default function testsuite() { |
| | | localUnitTest(); |
| | | } |
New file |
| | |
| | | import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; |
| | | |
| | | export default function localUnitTest() { |
| | | describe('localUnitTest', () => { |
| | | // Defines a test suite. Two parameters are supported: test suite name and test suite function. |
| | | beforeAll(() => { |
| | | // Presets an action, which is performed only once before all test cases of the test suite start. |
| | | // This API supports only one parameter: preset action function. |
| | | }); |
| | | beforeEach(() => { |
| | | // Presets an action, which is performed before each unit test case starts. |
| | | // The number of execution times is the same as the number of test cases defined by **it**. |
| | | // This API supports only one parameter: preset action function. |
| | | }); |
| | | afterEach(() => { |
| | | // Presets a clear action, which is performed after each unit test case ends. |
| | | // The number of execution times is the same as the number of test cases defined by **it**. |
| | | // This API supports only one parameter: clear action function. |
| | | }); |
| | | afterAll(() => { |
| | | // Presets a clear action, which is performed after all test cases of the test suite end. |
| | | // This API supports only one parameter: clear action function. |
| | | }); |
| | | it('assertContain', 0, () => { |
| | | // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. |
| | | let a = 'abc'; |
| | | let b = 'b'; |
| | | // Defines a variety of assertion methods, which are used to declare expected boolean conditions. |
| | | expect(a).assertContain(b); |
| | | expect(a).assertEqual(a); |
| | | }); |
| | | }); |
| | | } |
New file |
| | |
| | | { |
| | | "modelVersion": "5.0.5", |
| | | "dependencies": { |
| | | }, |
| | | "execution": { |
| | | // "analyze": "normal", /* Define the build analyze mode. Value: [ "normal" | "advanced" | false ]. Default: "normal" */ |
| | | // "daemon": true, /* Enable daemon compilation. Value: [ true | false ]. Default: true */ |
| | | // "incremental": true, /* Enable incremental compilation. Value: [ true | false ]. Default: true */ |
| | | // "parallel": true, /* Enable parallel compilation. Value: [ true | false ]. Default: true */ |
| | | // "typeCheck": false, /* Enable typeCheck. Value: [ true | false ]. Default: false */ |
| | | }, |
| | | "logging": { |
| | | // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ |
| | | }, |
| | | "debugging": { |
| | | // "stacktrace": false /* Disable stacktrace compilation. Value: [ true | false ]. Default: false */ |
| | | }, |
| | | "nodeOptions": { |
| | | // "maxOldSpaceSize": 8192 /* Enable nodeOptions maxOldSpaceSize compilation. Unit M. Used for the daemon process. Default: 8192*/ |
| | | // "exposeGC": true /* Enable to trigger garbage collection explicitly. Default: true*/ |
| | | } |
| | | } |
New file |
| | |
| | | import { appTasks } from '@ohos/hvigor-ohos-plugin'; |
| | | |
| | | export default { |
| | | system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ |
| | | plugins: [] /* Custom plugin to extend the functionality of Hvigor. */ |
| | | } |
New file |
| | |
| | | { |
| | | "meta": { |
| | | "stableOrder": true |
| | | }, |
| | | "lockfileVersion": 3, |
| | | "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", |
| | | "specifiers": { |
| | | "@ohos/hamock@1.0.0": "@ohos/hamock@1.0.0", |
| | | "@ohos/hypium@1.0.21": "@ohos/hypium@1.0.21" |
| | | }, |
| | | "packages": { |
| | | "@ohos/hamock@1.0.0": { |
| | | "name": "@ohos/hamock", |
| | | "version": "1.0.0", |
| | | "integrity": "sha512-K6lDPYc6VkKe6ZBNQa9aoG+ZZMiwqfcR/7yAVFSUGIuOAhPvCJAo9+t1fZnpe0dBRBPxj2bxPPbKh69VuyAtDg==", |
| | | "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hamock/-/hamock-1.0.0.har", |
| | | "registryType": "ohpm" |
| | | }, |
| | | "@ohos/hypium@1.0.21": { |
| | | "name": "@ohos/hypium", |
| | | "version": "1.0.21", |
| | | "integrity": "sha512-iyKGMXxE+9PpCkqEwu0VykN/7hNpb+QOeIuHwkmZnxOpI+dFZt6yhPB7k89EgV1MiSK/ieV/hMjr5Z2mWwRfMQ==", |
| | | "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.21.har", |
| | | "registryType": "ohpm" |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "modelVersion": "5.0.5", |
| | | "description": "Please describe the basic information.", |
| | | "dependencies": { |
| | | }, |
| | | "devDependencies": { |
| | | "@ohos/hypium": "1.0.21", |
| | | "@ohos/hamock": "1.0.0" |
| | | } |
| | | } |