Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
DEVELOP_ZH.md | D | 12-May-2024 | 4.4 KiB | 139 | 72 | |
FAQ.md | D | 12-May-2024 | 473 | 13 | 6 | |
INSTRUCTION_ZH.md | D | 12-May-2024 | 4.1 KiB | 99 | 63 | |
README_ZH.md | D | 12-May-2024 | 4.3 KiB | 127 | 81 | |
ROADMAP_ZH.md | D | 12-May-2024 | 2.6 KiB | 42 | 32 | |
ts_Gen-1.0.md | D | 12-May-2024 | 5.6 KiB | 61 | 53 |
README_ZH.md
1# Ts接口生成工具 2 3## 简介 4本文主要介绍ts(type-script)接口生成工具,它可以根据定义在c++头文件中的接口,生成type-script语言的ts接口文件。若某个服务实现方式为c++,且供应用层访问的接口已在.h文件中定义,此时,NAPI接口开发者使用此工具可一键生成对应的ts文件,进而将生成的ts文件作为NAPI框架生成代码工具的输入,生成NAPI框架代码。串行使用ts接口生成工具、NAPI框架代码生成工具,形成工具链,达到降低NAPI接口开发难度,提高开发效率。目前工具支持可执行文件、IntelliJ插件两种入口。 5 6更多工具的架构和实现原理详情,可以左键单击以下链接了解: 7 8[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/docs/ts/INSTRUCTION_ZH.md) 9 10 ├── napi_generator # NAPI框架代码生成工具 11 │ ├── ... # 其他文档 12 │ ├── src # 工具源码 13 │ │ ├── gen # NAPI框架工具源码 14 │ │ ├── tsGen # Ts框架工具源码 15 │ │ | ├── header_parser.py # 解析C++头文件并生成表示类的数据结构 16 │ │ | |── tsMain.js # Ts框架工具源码入口 17 │ │ ├── ... # 其他文件 18 19## 约束 20系统:建议Ubuntu 20.04或者Windows 10 21 22依赖版本:VS Code 1.62.0 23 24## 使用方法 25 26### 使用对象 27 28系统开发者、应用Native开发者 29 30### 使用场景 31 321) 系统框架层新增子系统,需对应用层提供接口。 332) 系统框架层子系统能力增强后,需对应用层提供新接口。 343) 应用层引入C++三方库,需增加OpenHarmony应用层接口。 35 36### 工具使用 37 38工具有两种类型,分别是可执行文件、IntelliJ插件。其中的可执行文件可根据工具使用者的开发环境选择,支持Windows,Linux和Mac。可执行文件、IntelliJ插下载路径如下,选择napi_generator_outputs.zip中generator.jar下载: 39 40[下载链接](http://ftp.kaihongdigi.com:5000/fsdownload/mKjfCmPjk/generator_outputs_NAPI_0930) 41 42具体的工具使用步骤,可以左键单击以下链接了解: 43 44[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/docs/ts/INSTRUCTION_ZH.md) 45 46### 工具输出 47 48根据使用者指定的.h文件,工具会输出对应的ts接口文件。为了方便使用者快速上手工具,可供测试的test.h文件样例如下: 49 50``` 51 52 #include < string > 53 #include < vector > 54 using namespace std; 55 56 class TestA { 57 public: 58 char16_t string1; 59 void add(string v, long double v1[]); 60 }; 61 double count(double v, double v1[]); 62 63 namespace Space { 64 class TestBB { 65 public: 66 short string4; 67 bool ifExist(bool v, bool v1[]); 68 }; 69 uint32_t max(uint32_t v, uint32_t v1[]); 70 } 71``` 72 73在window环境下的,根据输入文件test.h,生成的输出文件,如下所示: 74 75 76 77 78其中生成的"test.d.ts"文件,定义了应用开发接口,如下所示: 79 80 declare class TestA { 81 string1: string; 82 add(v: string, v1: Array<number>): void; 83 } 84 declare namespace Space { 85 function max(v: number, v1: Array<number>): number; 86 class TestBB { 87 string4: number; 88 ifExist(v: boolean, v1: Array<boolean>): boolean; 89 } 90 } 91 declare function count(v: number, v1: Array<number>): number; 92 93 export default Space; 94 95 96## 工具开发说明 97 98### 对象 99 100工具的开发者 101 102### 开发场景 103 104若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。 105 106### 开发步骤 107 108开发者可以根据如下的步骤来完成对工具的开发: 109 110 [工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/docs/ts/DEVELOP_ZH.md) 111 112## 版本说明 113 114 [版本说明](https://gitee.com/openharmony/napi_generator/blob/master/docs/ts/ts_Gen-1.0.md) 115 116## FAQ 117 118 [FAQ](https://gitee.com/openharmony/napi_generator/tree/master/docs/ts/FAQ.md) 119 120## 参与贡献 121 122暂无 123 124## 相关仓 125 126暂无 127