valiantzhao / abp-vnext-pro

Abp Vnext 的 Vue3 Pro 实现版本

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Abp Vnext Pro 的 Vue3 实现版本 开箱即用的中后台前端/设计解决方案

说明

  • main分支为主要开发分支,后续都基于此分支维护,该分支前端基于vue3.0,Typescript,如果要使用Vue请切换到Vue2分支。
  • .Net Core5.0
  • Abp Vnext 4.2 ,
  • Ant Design, Vben Admin 前端文档
  • Mysql,Redis,Hangfire,ES(日志可选)
  • 微服务架构设计, DDD 实践
  • 容器化 CI CD
  • Xunit 单元测试(提供sample单元测试)

前端特别说明

  • abp 有提供默认api为什么要重写user,role,permission接口?
    • 因为前端的调用后台接口通过nswag生成了代理,api提供的接口地址导致生成代理冲突所以重写了
    • 在后端有接口变化请在前端执行npm run nswag 重新生成代理
    • 建议后端的方法设置为post,前端会生成typecript的接口
    • 后端使用swagger的时候tag请不要用中文 [SwaggerOperation(summary: "获取所有角色", Tags = new[] { "Role" })]
    • 前端代理生成在src/services下,如何使用请参考用户模块

对接思路

  • 前端
    • 通过 token 调用 /api/abp/application-configuration 获取应用级别信息,包括权限,多语言,保存在 Store 中;
    • 多语言基于前端,后端 Api 的多语言基于 abp 自带的;
    • 配置菜单,属性 meta.policy 不传代表不验证权限
    • 按钮权限,v-auth 例如:v-auth=('AbpIdentity.Roles.Create')
  • 后端
    • 项目不一定要基于 IdentityServer4,所以新增了一个登陆方法,生成 Token.
    • IdentityServer4的已经独立出来,也会开源。

使用

  • 下载代码生成器,Git仓库(https://github.com/WangJunZzz/abp-vnext-pro-gui)

  • 下载模板之后再当前项目src\AbpVnextPro.GUI\bin\Debug\net5.0-windows\decompression可以看到生成的源码

  • 启动

    • 前端yarn

    • 后端修改mysql和redis连接字符串

    • 执行tools下的迁移控制台程序

    • 启动host下httpapi.host即可

    • host下的public可以忽略,这个用来做暴露第三方接口的,通过id4授权。

参与贡献

非常欢迎你的贡献,你可以通过以下方式和我们一起共建 🌟:

  • 通过 Issue 报告:bug:或进行咨询。
  • QQ群:686933575

About

Abp Vnext 的 Vue3 Pro 实现版本


Languages

Language:TypeScript 51.4%Language:Vue 28.8%Language:C# 13.5%Language:JavaScript 2.8%Language:Less 2.6%Language:Liquid 0.6%Language:HTML 0.3%Language:Shell 0.0%Language:Batchfile 0.0%Language:Dockerfile 0.0%