Skip to content

一步步实现微服务权限管理系统(3)

前言

  • 前端参考了很多框架,可谓百花齐放,但很多封装过剩,不利于学习和应用,最终我选择了 [vue-pure-admin](https://github.com/pure-admin/vue-pure-admin)
  • 后端我将使用 go-zero 来带领大家一步步实现一个权限管理系统
  • 本系列项目存放在 purezeroadmin 中,每一部分我都将打tag,并保证每个tag能正常运行。请多点赞和评论。
  • 后面示例均为 purezeroadmin 项目为例,你们可以根据需要自建工程来进行试验。均采用vscode进行试验。
  • go-zero 常用命令我将放入其对应的 makefile 文件中。

前端所有请求接口前缀加api

修改对应请求文件

  1. 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 });
};
  1. 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, 这是不规范的,下一节将解决相关问题

Comments