18c339a94Sopenharmony_ci# napi_generator-1.4 28c339a94Sopenharmony_ci 38c339a94Sopenharmony_ci## 版本概述<a name="section249611124916"></a> 48c339a94Sopenharmony_ci 58c339a94Sopenharmony_ci发布napi_generator-1.4。 68c339a94Sopenharmony_ci 78c339a94Sopenharmony_ci## 版本特性<a name="section249611124917"></a> 88c339a94Sopenharmony_ci**表 1** 已支持特性 98c339a94Sopenharmony_ci 108c339a94Sopenharmony_ci[当前已知不支持的推荐方案](https://gitee.com/openharmony/napi_generator/blob/master/docs/SOLUTION.md) 118c339a94Sopenharmony_ci 128c339a94Sopenharmony_ci<a name="table143385853321"></a> 138c339a94Sopenharmony_ci 148c339a94Sopenharmony_ci<table><thead align="left"><tr id="row53375863312"><th class="cellrowborder" valign="top" width="18%" id="mcps1.2.3.1.1"><p id="p20331858193317"><a name="p20331858193317"></a><a name="p20331858193317"></a><ul>类别</ul></p> 158c339a94Sopenharmony_ci</th> 168c339a94Sopenharmony_ci<th class="cellrowborder" valign="top" width="50%" id="mcps1.2.3.1.2"><p id="p1133115820331"><a name="p1133115820331"></a><a name="p1133115820331"></a><ul>支持特性</ul></p> 178c339a94Sopenharmony_ci</th> 188c339a94Sopenharmony_ci<th class="cellrowborder" valign="top" width="20%" id="mcps1.2.3.1.3"><p id="p1133115820331"><a name="p1133115820333"></a><a name="p1133115820333"></a><ul>用例</ul></p> 198c339a94Sopenharmony_ci</th> 208c339a94Sopenharmony_ci<th class="cellrowborder" valign="top" width="12%" id="mcps1.2.3.1.4"><p id="p1133115820332"><a name="p1133115820332"></a><a name="p1133115820332"></a><ul>版本号</ul></p> 218c339a94Sopenharmony_ci</th> 228c339a94Sopenharmony_ci</tr> 238c339a94Sopenharmony_ci</thead> 248c339a94Sopenharmony_ci<tbody><tr id="row333115812331"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p2142111345714"><a name="p2142111345714"></a><a name="p2142111345714"></a><ul>变量/返回值</ul></p> 258c339a94Sopenharmony_ci</td> 268c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><a name="ul9264132010"></a><a name="ul9264132010"></a><ul id="ul9264132010"><li>支持ts语言中type复合类型的变量/函数入参自动转换为C++类型 [注:type类型源范围基本类型(string/number/boolean)/map/array/enum]</li><li>支持interface/type成员变量为基本类型(string/number/boolean)时,成员变量为可选的,如: 278c339a94Sopenharmony_ciinterface Test { 288c339a94Sopenharmony_ci v1: string; 298c339a94Sopenharmony_ci v2?: boolean; 308c339a94Sopenharmony_ci}</li></ul> 318c339a94Sopenharmony_ci</td> 328c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="20%" headers="mcps1.2.3.1.3 "> 338c339a94Sopenharmony_ci<ul id="ult940244418001"> 348c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_type">type用例</a> 358c339a94Sopenharmony_ci</li> 368c339a94Sopenharmony_ci</ul> 378c339a94Sopenharmony_ci</td> 388c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345715"><a name="p2142111345715"></a><a name="p2142111345715"></a><ul>V1.4</ul></p> 398c339a94Sopenharmony_ci</td> 408c339a94Sopenharmony_ci</tr> 418c339a94Sopenharmony_ci<tr id="row334175803317"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p382391145710"><a name="p382391145710"></a><a name="p382391145710"></a><ul>函数类型</ul></p> 428c339a94Sopenharmony_ci</td> 438c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><a name="ul334485413318"></a><a name="ul334485413318"></a><ul id="ul334485413318"><li>支持ts接口文件中namespace域中的registerXXX注册、unRegisterXXX去注册函数 [注:1.使用register标识当前回调只注册,业务决定触发时机,区别当前函数中触发回调场景; 2.当前注册回调支持单个参数,不支持多个参数,回调形式:1) registerCallbackfunc(cb : (wid: number) => string); 2) fun17(tt: Function): string; Function类型按 ()=>void 处理; 3.所有回调方式默认为同步]</li><li>支持ts接口文件中namespace域中的addXXX注册、removeXXX去注册、onXXX定义回调的函数 [注:1.使用add标识当前函数为注册函数,且参数为接口类 2.当前注册回调支持单个参数,不支持多个参数;支持类型写法:addSayHelloListener(listener: NodeISayHelloListener); 3.注册的object回调函数写法不支持箭头函数写法, 只支持onSayHelloStart(info1: SayInfo, info2: string);这样的写法)</li><li>支持on注册类型为固定值,注册回调为箭头函数:如function on(type: 'onEvents', callback: (wid: number) => void): void; </li><li>支持文件中定义多个on注册函数</li><li>支持callback方法为箭头函数:如function fun1(cb: (wid: boolean) => string): string;</li><li>支持callback方法为Function关键字:如function fun2(tt: Function): void;</li><li>支持Promise类型是匿名interface的函数。如:sayHi(from: string): Promise<{result: number, errMsg: string, response: string}>; </li></ul> 448c339a94Sopenharmony_ci</td> 458c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="20%" headers="mcps1.2.3.1.3 "> 468c339a94Sopenharmony_ci<ul id="ult940244418001"> 478c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_on">on/off用例</a> 488c339a94Sopenharmony_ci</li> 498c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_callback">callback用例</a> 508c339a94Sopenharmony_ci</li> 518c339a94Sopenharmony_ci</ul> 528c339a94Sopenharmony_ci</td> 538c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345716"><a name="p2142111345716"></a><a name="p2142111345716"></a><ul>V1.4</ul></p> 548c339a94Sopenharmony_ci</td> 558c339a94Sopenharmony_ci</tr> 568c339a94Sopenharmony_ci<tr id="row834358143319"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p1818191195713"><a name="p1818191195713"></a><a name="p1818191195713"></a><ul>interface</ul></p> 578c339a94Sopenharmony_ci</td> 588c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><a name="ul4367144411512"></a><a name="ul4367144411512"></a><ul id="ul4367144411512"><li>支持class/interface成员方法不声明返回值,默认void</li><li>支持后定义的class或interface被前面类引用</li></ul> 598c339a94Sopenharmony_ci</td> 608c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="20%" headers="mcps1.2.3.1.3 "> 618c339a94Sopenharmony_ci<ul id="ult940244418001"> 628c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_class">class用例</a> 638c339a94Sopenharmony_ci</li> 648c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_interface">interface用例</a> 658c339a94Sopenharmony_ci</li> 668c339a94Sopenharmony_ci</ul> 678c339a94Sopenharmony_ci</td> 688c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345717"><a name="p2142111345717"></a><a name="p2142111345717"></a><ul>V1.4</ul></p> 698c339a94Sopenharmony_ci</td> 708c339a94Sopenharmony_ci</tr> 718c339a94Sopenharmony_ci<tr id="row119944512385"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 "><p id="p919862210573"><a name="p919862210573"></a><a name="p919862210573"></a><ul>namespace</ul></p> 728c339a94Sopenharmony_ci</td> 738c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><a name="ul12374158862"></a><a name="ul12374158862"></a><ul id="ul12374158862"><li>支持enum定义在interface后面</li><li>支持namespace域中的interface/type/class/enum兼容大括号换行</li></ul> 748c339a94Sopenharmony_ci</td> 758c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="20%" headers="mcps1.2.3.1.3 "> 768c339a94Sopenharmony_ci<ul id="ult940244418001"> 778c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_enum">enum用例</a> 788c339a94Sopenharmony_ci</li> 798c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_interface">interface用例</a> 808c339a94Sopenharmony_ci</li> 818c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_class">class用例</a> 828c339a94Sopenharmony_ci</li> 838c339a94Sopenharmony_ci</li> 848c339a94Sopenharmony_ci<li><a href="https://gitee.com/openharmony/napi_generator/tree/master/test/storytest/test_type">type用例</a> 858c339a94Sopenharmony_ci</li> 868c339a94Sopenharmony_ci</ul> 878c339a94Sopenharmony_ci</td> 888c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345718"><a name="p2142111345718"></a><a name="p2142111345718"></a><ul>V1.4</ul></p> 898c339a94Sopenharmony_ci</td> 908c339a94Sopenharmony_ci</tr> 918c339a94Sopenharmony_ci<tr id="row18711154213388"><td class="cellrowborder" valign="top" width="18%" headers="mcps1.2.3.1.1 " rowspan="2"><p id="p111921822185713"><a name="p111921822185713"></a><a name="p111921822185713"></a><ul>文件</ul></p> 928c339a94Sopenharmony_ci</td> 938c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="50%" headers="mcps1.2.3.1.2 "><a name="ul94024441879"></a><a name="ul94024441879"></a><ul id="ul94024441879"><li>支持命令行方式ts接口文件转换时业务代码可配置</li></ul> 948c339a94Sopenharmony_ci</td> 958c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="20%" headers="mcps1.2.3.1.3 "> 968c339a94Sopenharmony_ci实现一键生成NAPI实现代码,目前仅支持命令行入口,DevEco Studio入口、VScode入口暂不支持 978c339a94Sopenharmony_ci</td> 988c339a94Sopenharmony_ci<td class="cellrowborder" valign="top" width="12%" headers="mcps1.2.3.1.4 "><p id="p2142111345718"><a name="p2142111345718"></a><a name="p2142111345718"></a><ul>V1.4</ul></p> 998c339a94Sopenharmony_ci</td> 1008c339a94Sopenharmony_ci</tr> 1018c339a94Sopenharmony_ci</tbody> 1028c339a94Sopenharmony_ci</table> 1038c339a94Sopenharmony_ci 1048c339a94Sopenharmony_ci 1058c339a94Sopenharmony_ci 1068c339a94Sopenharmony_ci 1078c339a94Sopenharmony_ci 1088c339a94Sopenharmony_ci**表 2** 1098c339a94Sopenharmony_ci 1108c339a94Sopenharmony_ci[待开发特性](https://gitee.com/openharmony/napi_generator/blob/master/docs/ROADMAP_ZH.md) 1118c339a94Sopenharmony_ci 1128c339a94Sopenharmony_ci 1138c339a94Sopenharmony_ci 114