npm-kpocom-admin-api
Version:
[视频教程](https://www.bilibili.com/video/BV1EW4y1C71D)
132 lines (87 loc) • 3.33 kB
Markdown
### 权限项目api-axios方式调用,
### 使用手册
[视频教程](https://www.bilibili.com/video/BV1EW4y1C71D)
1. 在源码目录下(`src`)创建 `api-services` 文件夹,并将 [https://editor.swagger.io](https://editor.swagger.io) 生成的 `typescript-axios` 代码(`.ts` 后缀文件)放入其中(**注意 `package.json` 文件中 `axios` 的版本,必须和项目保持一致,这里使用的是 `v0.21.1` 版本**)。
2. 拷贝 `Furion` 源码下的 `clients/axios_vue_react/axios-utils.ts`文件放置到 `api-services` 同级目录下,同时修改 `serveConfig` 中的配置地址为对应的服务器地址,同时**安装 `"axios": "^0.21.1"` 的包到 `package.json` 中**
3. 基本使用
- `Promise` 方式:
```ts
getAPI(SystemAPI)
.apiGetXXXX()
.then((res) => {
var data = res.data.data!;
})
.catch((err) => {
console.log(err);
})
.finally(() => {
console.log("api request completed.");
});
```
- `async/await` 方式:
```ts
const [err, res] = await feature(getAPI(SystemAPI).apiGetXXX());
if (err) {
console.log(err);
} else {
var data = res.data.data!;
}
console.log("api request completed.");
```
---
如果服务器有 API 发生改变,重新生成代码并替换 `api-services` 目录所有代码即可(**建议先删除里面所有文件后再粘贴**)
### 常见问题
在 `Vue3` 项目中启用 `TypeScript` 和 `ESlint` 后报错,只需要修改相关的 `tsconfig.json` 文件添加以下配置即可:
```json
"compilerOptions": {
"importsNotUsedAsValues": "remove",
"preserveValueImports": false
}
```
在 `Angular` 项目中,可能会出现 `override` 错误问题,只需要编辑 `api-services/base.ts` 文件并添加 `override` 关键字即可,如:
> 推荐使用 [Angular 版本](../angular)
```ts
export class RequiredError extends Error {
override name: "RequiredError" = "RequiredError";
}
```
`Swagger` 多分组处理
如果使用了`Swagger` 多分组的功能,可以升级 `Furion` 框架至 `v3.3.4` 版本,之后启用 `EnableAllGroups` 功能,如:
```json
{
"SpecificationDocumentSettings": {
"EnableAllGroups": true
}
}
```
这样就会自动将所有分组的内容合并到 `All Groups` 中。
----
## 打包:
1. 初始化项目(文件夹名称一定不能有中文)
```cmd
npm init -y
```
**放入js、css、ts等静态文件。**
2. 查看当前源
```cmd
npm config get registry --产看当前源
npm config set registry https://registry.npmjs.org --切换为npm源
npm config set registry=https://registry.npm.taobao.org/ --切换到淘宝镜像
```
3. 添加用户
```cmd
npm adduser
---中间是添加用户(应该会跳转到npmjs官网去验证邮箱登录等)
npm who am i
```
4. 上传自己的包
```cmd
npm version patch --自动将package.json中的version版本加0.0.1
npm publish --打包重新上传
```
***<u>打包之前需要修改package.json中的版本号version</u>***!!!
[npm官网查看](https://www.npmjs.com/search?q=kpocom-furion-mis5-api)
更新web项目的**<u>js</u>**引用:
```cmd
npm install
```