English | 简体中文
- Web UI Framework:element-ui
- Server Framework:gin
Gin-vue-admin is a full-stack (frontend and backend separation) framework designed for management system. It integrates multiple functions, such as JWT authentication, dynamic routing, dynamic menu, casbin authentication, form generator, code generator, etc. So that you can focus more time on your business Requirements.
master: 2.0 dev code
gin-vue-adminv 1.0 stable (v1.0 is kept up to date and maintained)
gin-vue-adminv 2.0 dev (v2.0 is no longer compatible with v1.0)
- node version > v8.6.0 - golang version >= v1.11 - IDE recommendation: Goland - After you clone the project, use the scripts in directory db to create your own database. - We recommend you to apply for your own cloud service in QINIU. Replace the public key, private key, warehouse name and default url address with your own, so as not to mess up the test database. # clone the project git clone https://github.com/piexlmax/gin-vue-admin.git # enter the project directory cd web # install dependency npm install # develop npm run dev# using go.mod # install go modules go list (go mod tidy) # build the server go buildgo get -u github.com/swaggo/swag/cmd/swag In mainland China, access to go.org/x is prohibited,we recommend gopm
# install gopm go get -v -u github.com/gpmgo/gopm # get swag gopm get -g -v github.com/swaggo/swag/cmd/swag # cd GOPATH/src/github.com/swaggo/swag/cmd/swag go installcd server swag init After executing the above command,docs will show in server/,then open your browser, jump into http://localhost:8888/swagger/index.html to see the swagger APIs.
Thanks @chenlinzhong for providing docker image.
# start docker docker run -itd --net=host --name=go_container shareclz/go_node /bin/bash; # come into docker docker exec -it go_container /bin/bash; git clone https://github.com/piexlmax/gin-vue-admin.git /data1/www/htdocs/go/admin; # run web cd /data1/www/htdocs/go/admin/QMPlusVuePage; cnpm i ; npm run serve; # update db config vi /data1/www/htdocs/go/admin/QMPlusServer/static/dbconfig/config.json; # run server cd /data1/www/htdocs/go/admin/QMPlusServer;z go run main.go; - Frontend: using
Element-UIbased on vue,to code the page. - Backend: using
Ginto quickly build basic RESTful API.Ginis a web framework written in Go (Golang). - DB:
MySql(5.6.44),usinggormto implement data manipulation. - Cache: using
Redisto implement the recording of the JWT token of the currently active user and implement the multi-login restriction. - API: using Swagger to auto generate APIs docs。
- Config: using
fsnotifyandviperto implementyamlconfig file。 - Log: using
go-loggingrecord logs。
├─server (backend) │ ├─api (API entrance) │ ├─config (config file) │ ├─core (core code) │ ├─db (db scripts) │ ├─docs (swagger APIs docs) │ ├─global (global objet) │ ├─initialiaze (initialiazation) │ ├─middleware (middle ware) │ ├─model (model and services) │ ├─resource (resources, such as static pages, templates) │ ├─router (routers) │ └─utils (common utilities) └─web (frontend) ├─public (deploy templates) └─src (source code) ├─api (frontend APIs) ├─assets (static files) ├─components(components) ├─router (frontend routers) ├─store (vuex state management) ├─style (common styles) ├─utils (frontend common utilitie) └─view (pages) - Authority management: Authority management based on
jwtandcasbin. - File upload & download: File upload operation based on Qiniu Cloud (In order to make it easier for everyone to test, I have provided various important tokens of my Qiniu test number, and I urge you not to make things a mess).
- Pagination Encapsulation:The frontend uses mixins to encapsulate paging, and the paging method can call mixins
- User management: The system administrator assigns user roles and role permissions.
- Role management: Create the main object of permission control, and then assign different API permissions and menu permissions to the role.
- Menu management: User dynamic menu configuration implementation, assigning different menus to different roles.
- API management: Different users can call different API permissions.
- Configuration management: The configuration file can be modified in the web page (the test environment does not provide this function).
- Rich text editor: Embed MarkDown editor function.
- Conditional search: Add an example of conditional search.
fontend code file: src\view\superAdmin\api\api.vue backend code file: model\dnModel\api.go - Multi-login restriction: Change
userMultipointto true insysteminconfig.yaml(You need to configure redis and redis parameters yourself. During the test period, please report in time if there is a bug). - Upload file by chunk:Provides examples of file upload and large file upload by chunk.
- Form Builder:With the help of @form-generator.
- Code generator: Providing backend with basic logic and simple curd code generator.
- upload & export Excel
- e-chart
- workflow, task transfer function
- frontend independent mode, mock
| Date | Log |
|---|---|
| 2020/01/07 | Added data resource function to Role, added the return of data resource association, the demo code was synchronized, and the multi-point login interception has been turned on, which may prevent being crowded out by others |
| 2020/01/13 | Added configuration management function. This function is not published to the test environment. The test environment will not be published until the protection mechanism and the service restart mechanism are released. Please clone and import the sql scripts into your own database |
| 2020/02/21 | Modified casbin custom authentication method to fully support /:params and?Query= interface modes in RESTful API |
| 2020/03/17 | Added verification code function with @dchest/captcha |
| 2020/03/30 | Code generator implementation, form generator implementation with@form-generator |
| 2020/04/01 | Add frontend history tab function, add (modify) condition query example, and change the frontend background to white. (If you don't need this feature, you can change background in &.el-main to shield background color of HistoryComponent, which is located at line 260 of the code web/src/view/layout/index.vue) |
| 2020/04/04 | Starting version 2.x, standardize the project documentation, reconstructing the log function, and adding English comments to all methods |
There are video courses about frontend framework in our blo. If you think the project is helpful to you, you can add my personal WeChat:shouzi_1994,your comments is welcomed。
Bilibili:https://www.bilibili.com/video/BV1Fg4y187Bw/ (coming soon)
Bilibili:https://www.bilibili.com/video/BV1Fg4y187Bw/ (coming soon)
URL: https://space.bilibili.com/322210472/channel/detail?cid=108884
| 奇淼 | krank666 | qq group |
|---|---|---|
![]() | ![]() | ![]() |
| Nick name | Project position | First name |
|---|---|---|
| @piexlmax | Project sponsor | Jiang |
| @krank666 | Frontend developer | Yin |
| @1319612909 | UI developer | Du |
| @granty1 | Backend developer | Yin |
| @Ruio9244 | Full-stack developer | Yan |
| @chen-chen-up | Novice developer | Song |
If you find this project useful, you can buy author a glass of juice 🍹
| Ali pay | Wechat pay |
|---|---|
![]() | ![]() |





