• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# formfwk子系统ChangeLog
2
3## cl.formfwk.1 @ohos.app.form.formHost.d.ts部分接口移出,接口权限变动
4
51. @ohos.app.form.formHost.d.ts中涉及监听和获取卡片动态信息的接口移至@ohos.app.form.formObserver.d.ts;
62. 涉及接口需申请权限由ohos.permission.REQUIRE_FORM修改为ohos.permission.OBSERVE_FORM_RUNNING7
8**变更影响**
9
10对于已发布的js接口,可能影响三方应用的兼容性。
11
12**关键的接口/组件变更**
13
14|     接口      | 修改前所属d.ts | 修改后所属d.ts | 修改前所需权限 | 修改后所需权限 |
15|   --------    |   --------    |   --------    | --------      | --------  |
16| on('formAdd') | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM|ohos.permission.OBSERVE_FORM_RUNNING|
17| off('formAdd')| @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM|ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
18| on('formRemove') | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
19| off('formRemove') | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
20| on('notifyVisible') | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
21| off('notifyVisible') | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
22| on('notifyInvisible') | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
23| off('notifyInvisible') | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
24| getRunningFormInfos | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
25| getRunningFormInfosByFilter | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
26| getRunningFormInfoById | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING | @ohos.app.form.formHost.d.ts | @ohos.app.form.formObserver.d.ts | ohos.permission.REQUIRE_FORM | ohos.permission.OBSERVE_FORM_RUNNING |
27
28
29**适配指导**
30
31已使用相关接口开发的应用工程,需要对接口进行适配。从OpenHarmony 4.0.9.5版本起,相关接口使用应导入@ohos.app.form.formObserver.d.ts,并申请ohos.permission.OBSERVE_FORM_RUNNING权限。
32
33**示例:**
34```js
35import formObserver from @ohos.app.form.formObserver.d.ts;
36
37try {
38  formObserver.getRunningFormInfos((error, data) => {
39    if (error) {
40      console.error(`error, code: ${error.code}, message: ${error.message}`);
41    } else {
42      console.log('formHost getRunningFormInfos, data: ${JSON.stringify(data)}');
43    }
44  }, 'com.example.ohos.formjsdemo');
45} catch(error) {
46  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
47}
48```
49
50## cl.formfwk.2 事件订阅,取消订阅相关接口(on/off)参数顺序调整
51
52事件订阅,取消订阅相关接口(on/off)中的callback调整为接口最后一个参数。
53
54**变更影响**
55
56对于已发布的js接口,可能影响三方应用的兼容性。
57
58**关键的接口/组件变更**
59
60修改前的接口原型:
61
62```js
63function on(type: 'formAdd', observerCallback: Callback<formInfo.RunningFormInfo>, bundleName?: string): void;
64function off(type: 'formAdd', observerCallback?: Callback<formInfo.RunningFormInfo>, bundleName?: string): void;
65
66function on(type: 'formRemove', observerCallback: Callback<formInfo.RunningFormInfo>, bundleName?: string): void;
67function off(type: 'formRemove', observerCallback?: Callback<formInfo.RunningFormInfo>, bundleName?: string): void;
68
69function on(
70    type: 'notifyVisible',
71    observerCallback: Callback<Array<formInfo.RunningFormInfo>>,
72    hostBundleName?: string
73  ): void;
74function off(
75    type: 'notifyVisible',
76    observerCallback?: Callback<Array<formInfo.RunningFormInfo>>,
77    hostBundleName?: string
78  ): void;
79
80function on(
81    type: 'notifyInvisible',
82    observerCallback: Callback<Array<formInfo.RunningFormInfo>>,
83    hostBundleName?: string
84  ): void;
85function off(
86    type: 'notifyInvisible',
87    observerCallback?: Callback<Array<formInfo.RunningFormInfo>>,
88    hostBundleName?: string
89  ): void;
90```
91
92修改后的接口原型:
93
94```js
95function on(type: 'formAdd', observerCallback: Callback<formInfo.RunningFormInfo>): void;
96function on(type: 'formAdd', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void;
97function off(type: 'formAdd', hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void;
98
99function on(type: 'formRemove', observerCallback: Callback<formInfo.RunningFormInfo>): void;
100function on(type: 'formRemove', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void;
101function off(type: 'formRemove', hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void;
102
103function on(type: 'notifyVisible', observerCallback: Callback<Array<formInfo.RunningFormInfo>>): void;
104function on(
105    type: 'notifyVisible',
106    hostBundleName: string,
107    observerCallback: Callback<Array<formInfo.RunningFormInfo>>
108  ): void;
109function off(
110    type: 'notifyVisible',
111    hostBundleName?: string,
112    observerCallback?: Callback<Array<formInfo.RunningFormInfo>>
113  ): void;
114
115function on(type: 'notifyInvisible', observerCallback: Callback<Array<formInfo.RunningFormInfo>>): void;
116function on(
117    type: 'notifyInvisible',
118    hostBundleName: string,
119    observerCallback: Callback<Array<formInfo.RunningFormInfo>>,
120  ): void;
121function off(
122    type: 'notifyInvisible',
123    hostBundleName?: string,
124    observerCallback?: Callback<Array<formInfo.RunningFormInfo>>
125  ): void;
126```
127
128
129**适配指导**
130
131已使用相关接口开发的应用工程,需要对接口进行适配。从OpenHarmony 4.0.9.5版本起,相关接口使用应注意入参顺序的调整,将callback作为最后一个参数进行接口调用。
132
133**示例:**
134```js
135import formObserver from @ohos.app.form.formObserver.d.ts;
136
137let bundleName = 'ohos.samples.FormApplication';
138let callback = function(data) {
139  console.log('a new form added, data: ${JSON.stringify(data)');
140}
141
142formHost.on('formAdd', callback);
143formHost.on('formAdd', bundleName, callback);
144```