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_RUNNING。 7 8**变更影响** 9 10对于已发布的ArkTS接口,可能影响三方应用的兼容性。 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```ts 35import formObserver from '@ohos.app.form.formObserver'; 36import formInfo from '@ohos.app.form.formInfo'; 37import Base from '@ohos.base'; 38 39try { 40 formObserver.getRunningFormInfos((error: Base.BusinessError, data: formInfo.RunningFormInfo[]) => { 41 if (error) { 42 console.error(`error, code: ${error.code}, message: ${error.message}`); 43 } else { 44 console.log('formHost getRunningFormInfos, data: ${JSON.stringify(data)}'); 45 } 46 }, 'com.example.ohos.formjsdemo'); 47} catch(error) { 48 console.error(`catch error, code: ${error.code}, message: ${error.message}`); 49} 50``` 51 52## cl.formfwk.2 事件订阅,取消订阅相关接口(on/off)参数顺序调整 53 54事件订阅,取消订阅相关接口(on/off)中的callback调整为接口最后一个参数。 55 56**变更影响** 57 58对于已发布的ArkTS接口,可能影响三方应用的兼容性。 59 60**关键的接口/组件变更** 61 62修改前的接口原型: 63 64```ts 65function on(type: 'formAdd', observerCallback: Callback<formInfo.RunningFormInfo>, bundleName?: string): void; 66function off(type: 'formAdd', observerCallback?: Callback<formInfo.RunningFormInfo>, bundleName?: string): void; 67 68function on(type: 'formRemove', observerCallback: Callback<formInfo.RunningFormInfo>, bundleName?: string): void; 69function off(type: 'formRemove', observerCallback?: Callback<formInfo.RunningFormInfo>, bundleName?: string): void; 70 71function on( 72 type: 'notifyVisible', 73 observerCallback: Callback<Array<formInfo.RunningFormInfo>>, 74 hostBundleName?: string 75 ): void; 76function off( 77 type: 'notifyVisible', 78 observerCallback?: Callback<Array<formInfo.RunningFormInfo>>, 79 hostBundleName?: string 80 ): void; 81 82function on( 83 type: 'notifyInvisible', 84 observerCallback: Callback<Array<formInfo.RunningFormInfo>>, 85 hostBundleName?: string 86 ): void; 87function off( 88 type: 'notifyInvisible', 89 observerCallback?: Callback<Array<formInfo.RunningFormInfo>>, 90 hostBundleName?: string 91 ): void; 92``` 93 94修改后的接口原型: 95 96```ts 97function on(type: 'formAdd', observerCallback: Callback<formInfo.RunningFormInfo>): void; 98function on(type: 'formAdd', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void; 99function off(type: 'formAdd', hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void; 100 101function on(type: 'formRemove', observerCallback: Callback<formInfo.RunningFormInfo>): void; 102function on(type: 'formRemove', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void; 103function off(type: 'formRemove', hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void; 104 105function on(type: 'notifyVisible', observerCallback: Callback<Array<formInfo.RunningFormInfo>>): void; 106function on( 107 type: 'notifyVisible', 108 hostBundleName: string, 109 observerCallback: Callback<Array<formInfo.RunningFormInfo>> 110 ): void; 111function off( 112 type: 'notifyVisible', 113 hostBundleName?: string, 114 observerCallback?: Callback<Array<formInfo.RunningFormInfo>> 115 ): void; 116 117function on(type: 'notifyInvisible', observerCallback: Callback<Array<formInfo.RunningFormInfo>>): void; 118function on( 119 type: 'notifyInvisible', 120 hostBundleName: string, 121 observerCallback: Callback<Array<formInfo.RunningFormInfo>>, 122 ): void; 123function off( 124 type: 'notifyInvisible', 125 hostBundleName?: string, 126 observerCallback?: Callback<Array<formInfo.RunningFormInfo>> 127 ): void; 128``` 129 130 131**适配指导** 132 133已使用相关接口开发的应用工程,需要对接口进行适配。从OpenHarmony 4.0.9.5版本起,相关接口使用应注意入参顺序的调整,将callback作为最后一个参数进行接口调用。 134 135**示例:** 136```ts 137import formObserver from '@ohos.app.form.formObserver'; 138 139let bundleName = 'ohos.samples.FormApplication'; 140let callback = function(data) { 141 console.log('a new form added, data: ${JSON.stringify(data)'); 142} 143 144formHost.on('formAdd', callback); 145formHost.on('formAdd', bundleName, callback); 146```