npm-kpocom-admin-api v1.0.3
权限项目api-axios方式调用,
使用手册
在源码目录下(
src
)创建api-services
文件夹,并将 https://editor.swagger.io 生成的typescript-axios
代码(.ts
后缀文件)放入其中(注意package.json
文件中axios
的版本,必须和项目保持一致,这里使用的是v0.21.1
版本)。拷贝
Furion
源码下的clients/axios_vue_react/axios-utils.ts
文件放置到api-services
同级目录下,同时修改serveConfig
中的配置地址为对应的服务器地址,同时安装"axios": "^0.21.1"
的包到package.json
中基本使用
Promise
方式:
getAPI(SystemAPI)
.apiGetXXXX()
.then((res) => {
var data = res.data.data!;
})
.catch((err) => {
console.log(err);
})
.finally(() => {
console.log("api request completed.");
});
async/await
方式:
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
文件添加以下配置即可:
"compilerOptions": {
"importsNotUsedAsValues": "remove",
"preserveValueImports": false
}
在 Angular
项目中,可能会出现 override
错误问题,只需要编辑 api-services/base.ts
文件并添加 override
关键字即可,如:
推荐使用 Angular 版本
export class RequiredError extends Error {
override name: "RequiredError" = "RequiredError";
}
Swagger
多分组处理
如果使用了Swagger
多分组的功能,可以升级 Furion
框架至 v3.3.4
版本,之后启用 EnableAllGroups
功能,如:
{
"SpecificationDocumentSettings": {
"EnableAllGroups": true
}
}
这样就会自动将所有分组的内容合并到 All Groups
中。
打包:
初始化项目(文件夹名称一定不能有中文)
npm init -y
放入js、css、ts等静态文件。
查看当前源
npm config get registry --产看当前源 npm config set registry https://registry.npmjs.org --切换为npm源 npm config set registry=https://registry.npm.taobao.org/ --切换到淘宝镜像
添加用户
npm adduser ---中间是添加用户(应该会跳转到npmjs官网去验证邮箱登录等) npm who am i
上传自己的包
npm version patch --自动将package.json中的version版本加0.0.1 npm publish --打包重新上传
打包之前需要修改package.json中的版本号version!!!
更新web项目的js引用:
npm install