一步步实现微服务权限管理系统(3)
前言
- 前端参考了很多框架,可谓百花齐放,但很多封装过剩,不利于学习和应用,最终我选择了 [vue-pure-admin](https://github.com/pure-admin/vue-pure-admin)
- 后端我将使用 go-zero 来带领大家一步步实现一个权限管理系统
- 本系列项目存放在 purezeroadmin 中,每一部分我都将打tag,并保证每个tag能正常运行。请多点赞和评论。
- 后面示例均为
purezeroadmin
项目为例,你们可以根据需要自建工程来进行试验。均采用vscode
进行试验。 go-zero
常用命令我将放入其对应的makefile
文件中。
前端所有请求接口前缀加api
修改对应请求文件
src/api/user.ts
/** 登录 */
export const getLogin = (data?: object) => {
return http.request<UserResult>("post", "/api/login", { data });
};
/** 刷新`token` */
export const refreshTokenApi = (data?: object) => {
return http.request<RefreshTokenResult>("post", "/api/refresh-token", { data });
};
src/api/routes.ts
export const getAsyncRoutes = () => {
return http.request<Result>("get", "/api/get-async-routes");
};
修改本地跨域代理
vite.config.ts
// 本地跨域代理 https://cn.vitejs.dev/config/server-options.html#server-proxy
proxy: {
'/api': {
target: 'http://localhost:8888',
changeOrigin: true,
}
},
后端接口前缀统一为/api
修改user-api/api/user.api
相关信息
...
service user-api {
@doc "用户登录"
@handler userLogin
post /api/login (UserLoginReq) returns (UserLoginResp)
}
...
service user-api {
@doc "刷新token"
@handler UserRefreshToken
post /api/refresh-token (UserRefreshTokenReq) returns (UserRefreshTokenResp)
}
...
service user-api {
@doc "获取路由"
@handler userRouter
get /api/get-async-routes (UserRouterReq) returns (UserRouterResp)
}
修改后重新生成代码
测试
完成以上可进行测试
tag版本
purezeroadmin
项目下
git checkout v1.2.0
接下来
现在有个问题,就是后端成功和失败返回的格式不统一,如用户登陆,成功返回 types.UserLoginResp
, 而失败返回 error
, 这是不规范的,下一节将解决相关问题