# nei-interface

利用nei内部查询数据接口，获取数据，生成typescript的interface文件，以及ajax 接口文件

# Usage

npm install nei-interface -g (最好全局安装)

第一种用法：

```
创建项目的 .interfacerc.json文件
{
    "PLATFORM_ID": , //找杭研 nei后端 @包勇明 获取 platformId 
    "SALT": "", //找杭研 nei后端 @包勇明 获取 salt 
    "PROJECT_ID": 0, //nei 页面url 即可获取
    "TYPES_DIST": "./src/javascript/common/interface/" //自己需要生成的types文件的目录 
}

执行 neiI -c .interface.json 命令，自动生成interface文件 // 每次nei定义的接口声明变更都需要运行此命令哦
```


第二种用法
```
在gulpfile.js中配置任务

let neiInterface = require('nei-interface');
let config = require('./.interfacerc.json')

gulp.task('interface', () => {
    neiInterface(config)
});

gulp interface //生成interface文件
```

config 参数说明
    PLATFORM_ID: ,//找杭研 nei后端 @包勇明 获取 platformId //tip: 无默认值，自行设置
    SALT: ',//找杭研 nei后端 @包勇明 获取 salt  //tip: 无默认值，自行设置
    PROJECT_ID: , // nei 页面url 即可获取  //tip: 无默认值，自行设置
    API_DIST:'./api',// api 存放的目录位置，默认./api/index.ts 文件
    TYPES_DIST: './types', //自己需要生成的types文件的目录
    TYPES_NAME1: 'project.ts', // 项目接口相关数据模型的interface文件,默认值为  
    TYPES_NAME2: 'common.ts',//公共部分数据模型的interface文件,
    API_PREINIT:[],//是否需要自动生成ajaxAPI //tip: 默认为[]，即不自动生成./api/index.ts 文件
    BASE_TYPES: {
        Number: 'number',
        Boolean: 'boolean',
        String: 'string',
        File: 'any',//需要验证ts是否支持文件类型
        Variable: 'any'//可变类型
    },
    HOSTNAME: 'nei.netease.com',
    SAFE_MODE: false // 默认为false表示{name: string}，为true表示{name?: string}，不影响入参模型
}
