未验证 提交 7a567735 编写于 作者: O openharmony_ci 提交者: Gitee

!3164 XTS系统API下库

Merge pull request !3164 from chengxingzhen/OpenHarmony-3.1-Release
...@@ -32,7 +32,6 @@ group("aafwk_standard") { ...@@ -32,7 +32,6 @@ group("aafwk_standard") {
"context:context", "context:context",
"featureability:featureability", "featureability:featureability",
"formmanager:formmanager", "formmanager:formmanager",
"setshowonlockscreen:setshowonlockscreen",
"want:want", "want:want",
] ]
} }
......
...@@ -85,52 +85,12 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -85,52 +85,12 @@ describe('ActsStServiceAbilityTest', function () {
}) })
/**
* @tc.number: ACTS_AExecuteShellCommand_0200
* @tc.name: Execute a shell command with arguments (AsyncCallback).
* @tc.desc: Verify that the interface executes the Shell command successfully.
*/
it('ACTS_AExecuteShellCommand_Callback_0200', 0, async function (done) {
console.log("ACTS_AExecuteShellCommand_Callback_0200 --- start")
var currentAlertTimeout = 0;
try {
currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout);
function mySetTimeout() {
console.log('ACTS_AExecuteShellCommand_Callback_0200====<end mySetTimeout')
done();
}
var cmd = 'aa start -d 0 -a com.example.actskillProcessWithAccountclosetest.MainAbility'
+ ' -b com.example.actskillProcessWithAccountclosetest'
var AbilityDelegator = abilityDelegatorRegistry.getAbilityDelegator()
AbilityDelegator.executeShellCommand(cmd, 1000, (err, data) => {
clearTimeout(currentAlertTimeout);
console.log('ACTS_AExecuteShellCommand_Callback_0200 - executeShellCommand: start ')
console.log('ACTS_AExecuteShellCommand_Callback_0200 stdResult = ' + data.stdResult)
var i = data.stdResult.indexOf('start ability successfully.');
console.log('ACTS_AExecuteShellCommand_Callback_0200 query string i = ' + i);
expect(i == -1).assertEqual(false);
console.log('ACTS_AExecuteShellCommand_Callback_0200 exitCode = ' + data.exitCode)
expect(data.exitCode).assertEqual(0);
done()
})
} catch (error) {
clearTimeout(currentAlertTimeout);
console.log("ACTS_AExecuteShellCommand_Callback_0200 : error = " + error);
console.debug('ACTS_AExecuteShellCommand_Callback_0200====<end catch (error)');
done();
}
})
/** /**
* @tc.number: ACTS_AExecuteShellCommand_Promise_0100 * @tc.number: ACTS_AExecuteShellCommand_Promise_0100
* @tc.name: Execute a shell command without arguments (Promise). * @tc.name: Execute a shell command without arguments (Promise).
* @tc.desc: Verify that the interface executes the Shell command successfully. * @tc.desc: Verify that the interface executes the Shell command successfully.
*/ */
it('ACTS_AExecuteShellCommand_Promise_0100', 0, async function (done) { it('ACTS_AExecuteShellCommand_Promise_0100', 0, async function (done) {
console.log("ACTS_AExecuteShellCommand_Promise_0100 --- start")
var currentAlertTimeout = 0; var currentAlertTimeout = 0;
try { try {
currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout); currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout);
...@@ -247,7 +207,6 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -247,7 +207,6 @@ describe('ActsStServiceAbilityTest', function () {
); );
} catch (error) { } catch (error) {
clearTimeout(currentAlertTimeout); clearTimeout(currentAlertTimeout);
console.log("ACTS_AGetDisplayOrientation_0100 : error = " + error);
console.debug('ACTS_AGetDisplayOrientation_0100====<end catch (error)'); console.debug('ACTS_AGetDisplayOrientation_0100====<end catch (error)');
done(); done();
} }
...@@ -264,14 +223,11 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -264,14 +223,11 @@ describe('ActsStServiceAbilityTest', function () {
try { try {
currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout); currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout);
function mySetTimeout() { function mySetTimeout() {
console.log('ACTS_AGetDisplayOrientation_0200====<end mySetTimeout')
done(); done();
} }
var context = featureAbility.getContext() var context = featureAbility.getContext()
var result = await context.getDisplayOrientation().then((data) => { var result = await context.getDisplayOrientation().then((data) => {
clearTimeout(currentAlertTimeout); clearTimeout(currentAlertTimeout);
console.debug("ACTS_AGetDisplayOrientation_0200====DisplayOrientation>"
+ JSON.stringify(DisplayOrientation) + " , err= " + err);
expect(DisplayOrientation == bundle.DisplayOrientation.UNSPECIFIED expect(DisplayOrientation == bundle.DisplayOrientation.UNSPECIFIED
|| (DisplayOrientation != bundle.DisplayOrientation.LANDSCAPE || (DisplayOrientation != bundle.DisplayOrientation.LANDSCAPE
|| DisplayOrientation != bundle.DisplayOrientation.PORTRAIT || DisplayOrientation != bundle.DisplayOrientation.PORTRAIT
...@@ -306,8 +262,6 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -306,8 +262,6 @@ describe('ActsStServiceAbilityTest', function () {
var result = context.setDisplayOrientation(bundle.DisplayOrientation.UNSPECIFIED, var result = context.setDisplayOrientation(bundle.DisplayOrientation.UNSPECIFIED,
(err) => { (err) => {
clearTimeout(currentAlertTimeout); clearTimeout(currentAlertTimeout);
console.debug("ACTS_ASetDisplayOrientation_0100====err>"
+ JSON.stringify(err) + " , err= " + err);
done() done()
} }
); );
...@@ -330,7 +284,6 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -330,7 +284,6 @@ describe('ActsStServiceAbilityTest', function () {
try { try {
currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout); currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout);
function mySetTimeout() { function mySetTimeout() {
console.log('ACTS_ASetDisplayOrientation_0200====<end mySetTimeout')
done(); done();
} }
var context = featureAbility.getContext() var context = featureAbility.getContext()
...@@ -365,8 +318,6 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -365,8 +318,6 @@ describe('ActsStServiceAbilityTest', function () {
var result = context.setShowOnLockScreen(true, var result = context.setShowOnLockScreen(true,
(err) => { (err) => {
clearTimeout(currentAlertTimeout); clearTimeout(currentAlertTimeout);
console.debug("ACTS_ASetShowOnLockScreen_0100====err>"
+ JSON.stringify(err) + " , err= " + err);
done() done()
} }
); );
...@@ -389,7 +340,6 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -389,7 +340,6 @@ describe('ActsStServiceAbilityTest', function () {
try { try {
currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout); currentAlertTimeout = setTimeout(mySetTimeout, gSetTimeout);
function mySetTimeout() { function mySetTimeout() {
console.log('ACTS_ASetShowOnLockScreen_0200====<end mySetTimeout')
done(); done();
} }
var context = featureAbility.getContext() var context = featureAbility.getContext()
...@@ -401,7 +351,6 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -401,7 +351,6 @@ describe('ActsStServiceAbilityTest', function () {
); );
} catch (error) { } catch (error) {
clearTimeout(currentAlertTimeout); clearTimeout(currentAlertTimeout);
console.log("ACTS_ASetShowOnLockScreen_0200 : error = " + error);
console.debug('ACTS_ASetShowOnLockScreen_0200====<end catch (error)'); console.debug('ACTS_ASetShowOnLockScreen_0200====<end catch (error)');
done(); done();
} }
...@@ -425,8 +374,6 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -425,8 +374,6 @@ describe('ActsStServiceAbilityTest', function () {
var result = context.setWakeUpScreen(true, var result = context.setWakeUpScreen(true,
(err) => { (err) => {
clearTimeout(currentAlertTimeout); clearTimeout(currentAlertTimeout);
console.debug("ACTS_ASetWakeUpScreen_0100====err>"
+ JSON.stringify(err) + " , err= " + err);
done() done()
} }
); );
...@@ -479,18 +426,14 @@ describe('ActsStServiceAbilityTest', function () { ...@@ -479,18 +426,14 @@ describe('ActsStServiceAbilityTest', function () {
console.debug("ACTS_ATestRunner_0200====>getArguments is====>" + JSON.stringify(AbilityDelegatorArgs)); console.debug("ACTS_ATestRunner_0200====>getArguments is====>" + JSON.stringify(AbilityDelegatorArgs));
console.debug("ACTS_ATestRunner_0200====bundleName>" + JSON.stringify(AbilityDelegatorArgs.bundleName)); console.debug("ACTS_ATestRunner_0200====bundleName>" + JSON.stringify(AbilityDelegatorArgs.bundleName));
expect(AbilityDelegatorArgs.bundleName).assertEqual(undefined) expect(AbilityDelegatorArgs.bundleName).assertEqual(undefined)
console.debug("ACTS_ATestRunner_0200====parameters>" + JSON.stringify(AbilityDelegatorArgs.parameters));
expect(AbilityDelegatorArgs.parameters).assertEqual(undefined) expect(AbilityDelegatorArgs.parameters).assertEqual(undefined)
console.debug("ACTS_ATestRunner_0200====testCaseNames>" console.debug("ACTS_ATestRunner_0200====testCaseNames>"
+ JSON.stringify(AbilityDelegatorArgs.testCaseNames)); + JSON.stringify(AbilityDelegatorArgs.testCaseNames));
expect(AbilityDelegatorArgs.testCaseNames).assertEqual(undefined) expect(AbilityDelegatorArgs.testCaseNames).assertEqual(undefined)
console.debug("ACTS_ATestRunner_0200====testRunnerClassName>"
+ JSON.stringify(AbilityDelegatorArgs.testRunnerClassName));
expect(AbilityDelegatorArgs.testRunnerClassName).assertEqual(undefined) expect(AbilityDelegatorArgs.testRunnerClassName).assertEqual(undefined)
console.debug('ACTS_ATestRunner_0200====<end'); console.debug('ACTS_ATestRunner_0200====<end');
done(); done();
} catch (error) { } catch (error) {
console.log("ACTS_ATestRunner_0200 : error = " + error);
console.debug('ACTS_ATestRunner_0200====<end catch (error)'); console.debug('ACTS_ATestRunner_0200====<end catch (error)');
done(); done();
} }
......
...@@ -12,70 +12,10 @@ ...@@ -12,70 +12,10 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
import appManager from '@ohos.application.appManager';
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from "deccjsunit/index" import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from "deccjsunit/index"
import featureAbility from '@ohos.ability.featureAbility';
import abilityfeatureAbility from '@ohos.ability.featureAbility';
var appbefore
var appafter
describe("appManagerTest", function () { describe("appManagerTest", function () {
console.log("---appManagerTest-- starting---"); console.log("---appManagerTest-- starting---");
function sleep(time) { function sleep(time) {
return new Promise((resolve) => setTimeout(resolve, time)) return new Promise((resolve) => setTimeout(resolve, time))
} }
/**
* @tc.number: SUB_AA_OpenHarmony_StateListener_0300
* @tc.name: Find all foreground application validations
* @tc.desc: Function test
* @tc.level 0
*/
it("SUB_AA_OpenHarmony_StateListener_0300", 0, async function (done) {
await appManager.getForegroundApplications().then((data) => {
console.log("---appM- starting---");
for (var i = 0; i < data.length; i++) {
if (data[i].bundleName == "com.example.statelistener") {
appbefore = data[i]
}
}
checkAppBefore(appbefore)
}).catch(()=>{
expect().assertFail()
})
var want = {
"bundleName": "com.example.fzgc",
"abilityName": "com.example.fzgc.MainAbility"
}
await featureAbility.startAbility({ want }).then().catch();
await sleep(1000)
await appManager.getForegroundApplications().then((data) => {
for (var i = 0; i < data.length; i++) {
if (data[i].bundleName == "com.example.fzgc") {
appafter = data[i]
}
}
checkAppAfter(appafter)
}).catch(()=>{
expect().assertFail()
})
await sleep(2000)
done();
})
function checkAppAfter(app) {
expect(app.state == 2).assertTrue();
expect(app.uid > 0).assertTrue();
expect(app.bundleName).assertEqual('com.example.fzgc');
}
function checkAppBefore(app) {
expect(app.state == 2).assertTrue();
expect(app.uid > 0).assertTrue();
expect(app.bundleName).assertEqual('com.example.statelistener');
}
}) })
\ No newline at end of file
...@@ -2157,42 +2157,4 @@ describe('ActsFeatureAbilityTest', function () { ...@@ -2157,42 +2157,4 @@ describe('ActsFeatureAbilityTest', function () {
done(); done();
} }
}); });
/*
* @tc.number: ACTS_StartAbility_0100
* @tc.name: featureAbility.getWindow : Get an ability window.
* @tc.desc: Check the return window of the interface (by AsyncCallback)
*/
it('ACTS_StartAbility_0100', 0, async function (done) {
console.log('ACTS_StartAbility_0100====<begin');
try {
featureAbility.getWindow((err,data)=>{
console.log('getWindow call back');
done();
});
done();
} catch (err) {
console.log('ACTS_StartAbility_0100====<end err=' + err)
done();
}
console.log('ACTS_StartAbility_0100====<end');
})
/*
* @tc.number: ACTS_StartAbility_0200
* @tc.name: featureAbility.getWindow : Get an ability window.
* @tc.desc: Check the return window of the interface
*/
it('ACTS_StartAbility_0200', 0, async function (done) {
console.log('ACTS_StartAbility_0200====<begin');
try {
var window = featureAbility.getWindow();
done();
} catch (err) {
console.log('ACTS_StartAbility_0200====<end err=' + err)
done();
}
console.log('ACTS_StartAbility_0200====<end');
})
}) })
...@@ -62,28 +62,6 @@ describe('ConnectAbilityTest', function () { ...@@ -62,28 +62,6 @@ describe('ConnectAbilityTest', function () {
}) })
}) })
/*
* @tc.number: SUB_AA_JsApi_Ability_0400
* @tc.name: testAbility0400.
* @tc.desc: StartAbility-want only configure action (implicit start) - Ability
* without corresponding action (custom action).
*/
it("SUB_AA_JsApi_Ability_0400", 0, async function (done) {
let parameter = {
'want': {
'action': 'action.com.example.mytestw.TwoAbility123'
}
}
await featureAbility.startAbility(parameter).then((data) => {
console.log('testAbility0600 data: ' + JSON.stringify(data))
expect().assertFail()
}).catch((error) => {
console.log('testAbility0600 error: ' + JSON.stringify(error))
expect(errCode1).assertEqual(error.code)
})
done()
})
/* /*
* @tc.number: SUB_AA_JsApi_Ability_0500 * @tc.number: SUB_AA_JsApi_Ability_0500
* @tc.name: testAblity0500. * @tc.name: testAblity0500.
......
# Copyright (c) 2021 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
group("setshowonlockscreen") {
testonly = true
if (is_standard_system) {
deps = [
"setshowonlock:ActsSetshowonlockTest",
"showsethown:ActsShowsethownTest",
]
}
}
# Copyright (c) 2021 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("ActsSetshowonlockTest") {
hap_profile = "./entry/src/main/config.json"
deps = [
":hjs_demo_js_assets",
":hjs_demo_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsSetshowonlockTest"
}
ohos_js_assets("hjs_demo_js_assets") {
source_dir = "./entry/src/main/js/default"
}
ohos_resources("hjs_demo_resources") {
sources = [ "./entry/src/main/js/resources" ]
hap_profile = "./entry/src/main/config.json"
}
{
"description": "Configuration for hjunit demo Tests",
}
{
"app": {
"bundleName": "com.example.setshowonlock",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Beta1"
}
},
"deviceConfig": {},
"module": {
"package": "com.example.setshowonlock",
"name": ".MyApplication",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"name": "com.example.setshowonlock.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"type": "page",
"launchType": "standard",
"visible": true
}
],
"reqPermissions": [
{
"name": "ohos.permission.INSTALL_BUNDLE",
"reason": "need use ohos.permission.INSTALL_BUNDLE"
},
{
"name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
"reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
},
{
"name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE",
"reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE"
},
{
"name":"ohos.permission.REMOVE_CACHE_FILES",
"reason":"need use ohos.permission.REMOVE_CACHE_FILES"
},
{
"name":"ohos.permission.LISTEN_BUNDLE_CHANGE",
"reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE"
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
\ No newline at end of file
/*
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default {
onCreate() {
console.info('AceApplication onCreate');
},
onDestroy() {
console.info('AceApplication onDestroy');
}
};
{
"strings": {
"hello": "Hello",
"world": "World"
}
}
\ No newline at end of file
{
"strings": {
"hello": "您好",
"world": "世界"
}
}
\ No newline at end of file
.container {
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
font-size: 100px;
}
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
/*
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import featureAbility from '@ohos.ability.featureAbility'
export default {
data: {
title: ""
},
onInit() {
this.title = this.$t('strings.world');
featureAbility.setShowOnLockScreen(false,(error, data) => {
console.log('FeatureAbilityTestCallBack ACTS_setShowOnLockScreen_0100 Called.' + ' error ' + error.code )
});
console.log('ZLM-----onClick1 end');
},
onStart(want){
this.title = this.$t('strings.world');
featureAbility.setShowOnLockScreen(false,(error, data) => {
console.log('FeatureAbilityTestCallBack ACTS_setShowOnLockScreen_0100 Called.' + ' error ' + error.code )
});
console.log('ZLM-----onClick2 end');
},
onShow(){
this.title = this.$t('strings.world');
featureAbility.setShowOnLockScreen(false,(error, data) => {
console.log('FeatureAbilityTestCallBack ACTS_setShowOnLockScreen_0100 Called.' + ' error ' + error.code )
});
console.log('ZLM-----onClick3 end');
}
}
{
"string": [
{
"name": "app_name",
"value": "setShowOnLock"
},
{
"name": "mainability_description",
"value": "JS_Phone_Empty Feature Ability"
}
]
}
\ No newline at end of file
# Copyright (c) 2021 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("ActsShowsethownTest") {
hap_profile = "./entry/src/main/config.json"
deps = [
":hjs_demo_js_assets",
":hjs_demo_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsShowsethownTest"
}
ohos_js_assets("hjs_demo_js_assets") {
source_dir = "./entry/src/main/js/default"
}
ohos_resources("hjs_demo_resources") {
sources = [ "./entry/src/main/js/resources" ]
hap_profile = "./entry/src/main/config.json"
}
{
"description": "Configuration for hjunit demo Tests",
}
{
"app": {
"bundleName": "com.example.showsethown",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Beta1"
}
},
"deviceConfig": {},
"module": {
"package": "com.example.showsethown",
"name": ".MyApplication",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"name": "com.example.showsethown.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"type": "page",
"launchType": "standard",
"visible":true
}
],
"reqPermissions": [
{
"name": "ohos.permission.INSTALL_BUNDLE",
"reason": "need use ohos.permission.INSTALL_BUNDLE"
},
{
"name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
"reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
},
{
"name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE",
"reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE"
},
{
"name":"ohos.permission.REMOVE_CACHE_FILES",
"reason":"need use ohos.permission.REMOVE_CACHE_FILES"
},
{
"name":"ohos.permission.LISTEN_BUNDLE_CHANGE",
"reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE"
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
\ No newline at end of file
/*
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default {
onCreate() {
console.info('AceApplication onCreate');
},
onDestroy() {
console.info('AceApplication onDestroy');
}
};
{
"strings": {
"hello": "Hello",
"world": "World"
}
}
\ No newline at end of file
{
"strings": {
"hello": "您好",
"world": "世界"
}
}
\ No newline at end of file
.container {
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
font-size: 100px;
}
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
/*
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import featureAbility from '@ohos.ability.featureAbility'
export default {
data: {
title: ''
},
onInit() {
console.info('onInit');
},
onStart(want){
console.info('onStart');
},
onShow(){
console.info('onShow');
}
}
{
"string": [
{
"name": "app_name",
"value": "ShowSetHOWN"
},
{
"name": "mainability_description",
"value": "JS_Phone_Empty Feature Ability"
}
]
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册