-
Notifications
You must be signed in to change notification settings - Fork 152
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Gogs
committed
May 31, 2019
1 parent
25f02d9
commit fb1621c
Showing
1,949 changed files
with
731,705 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
.idea | ||
.vscode | ||
debug | ||
*.log | ||
*.git | ||
*.exe |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,76 @@ | ||
# goapp | ||
Gin + GORM + Casbin+vue-element-admin 实现的权限管理系统 | ||
<h1>GOAPP</h1> | ||
|
||
<div> | ||
基于 Gin + GORM + Casbin + vue-element-admin 实现的权限管理系统 <br/> | ||
基于Casbin 实现RBAC权限管理 <br/> | ||
前端实现: vue-element-admin <br/> | ||
</div> | ||
<br/> | ||
|
||
## 特性 | ||
|
||
- 基于 Casbin 的 RBAC 访问控制模型 | ||
- JWT 认证 | ||
- 前后端分离 | ||
|
||
## 下载并运行 | ||
|
||
### 获取代码 | ||
|
||
``` | ||
go get -v github.com/it234/goapp | ||
``` | ||
|
||
### 运行 | ||
|
||
- 可以直接下载打包好的桌面客户端体验,下载地址: https://pan.baidu.com/s/1wDsHH-KMQHV5tMRUv50Q3w 提取码: 9u2d | ||
- 运行服务端:cd cmd/manageweb,go run main.go,运行成功后打开 127.0.0.1:8080 | ||
- 调试/运行web:cd website/manageweb,npm install,npm run dev | ||
- 配置文件在(`cmd/manageweb/config.yaml`)中,用户默认为:admin/123456 | ||
|
||
|
||
#### 温馨提醒 | ||
|
||
1. 默认配置采用的是 sqlite 数据库,数据库文件(`自动生成`)在`cmd/manageweb/data/gadmin.db`。如果想切换为`mysql`或`postgres`,请更改配置文件,并创建数据库(表会自动创建)。 | ||
2. 日志的配置为标准输出并写入文件。 | ||
|
||
## 前端实现 | ||
|
||
- website/manageweb:基于[vue-element-admin](github.com/PanJiaChen/vue-element-admin)的实现版本 | ||
|
||
## 项目结构概览 | ||
|
||
<details> | ||
<summary>展开查看</summary> | ||
<pre><code>. | ||
├── cmd 项目的主要应用 | ||
├── internal 私有应用程序和库代码 | ||
├── pkg 外部应用程序可以使用的库代码 | ||
├── scripts 数据库脚本 | ||
├── vendor 项目依赖的其他第三方库 | ||
├── website vue-element-admin | ||
</code></pre> | ||
</details> | ||
|
||
|
||
## 感谢以下框架的开源支持 | ||
|
||
- [Gin] - [https://gin-gonic.com/](https://gin-gonic.com/) | ||
- [GORM] - [http://gorm.io/](http://gorm.io/) | ||
- [Casbin] - [https://casbin.org/](https://casbin.org/) | ||
- [vue-element-admin] - [https://github.com/PanJiaChen/vue-element-admin/](https://panjiachen.github.io/vue-element-admin/) | ||
|
||
|
||
## MIT License | ||
|
||
Copyright (c) 2019 Lyric | ||
|
||
## 与作者对话 | ||
|
||
> 该项目是利用业余时间进行开发的,主要是对golang+vue-element-admin进行一个简单的实现,如果您有更好的想法和建议请与我进行沟通,我非常期待!下面是我的微信二维码: | ||
<img src="./wechat.jpeg" width="256" height="256" /> | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
web: | ||
static_path: | ||
port: 8080 | ||
domain: 127.0.0.1:8080 | ||
read_timeout: 5 | ||
write_timeout: 5 | ||
idle_timeout: 5 | ||
gorm: | ||
debug: true | ||
db_type: sqlite3 | ||
max_lifetime: 7200 | ||
max_open_conns: 150 | ||
max_idle_conns: 50 | ||
table_prefix: tb_ | ||
mysql: | ||
host: 127.0.0.1 | ||
port: 3306 | ||
user: root | ||
password: 123456 | ||
db_name: goapp | ||
parameters: charset=utf8&parseTime=True&loc=Asia%2FShanghai | ||
sqlite3: | ||
path: data/goapp.db |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=renderer content=webkit><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=icon href=/favicon.ico><title>golang-后台管理系统</title><link href=/static/css/chunk-libs.5cf311f0.css rel=stylesheet><link href=/static/css/app.39565fbf.css rel=stylesheet></head><body><script src=/static/tinymce4.7.5/tinymce.min.js></script><div id=app></div><script src=/static/js/chunk-elementUI.95b15026.js></script><script src=/static/js/chunk-libs.0d4d743a.js></script><script>(function(c){function e(e){for(var u,f,d=e[0],k=e[1],t=e[2],b=0,r=[];b<d.length;b++)f=d[b],h[f]&&r.push(h[f][0]),h[f]=0;for(u in k)Object.prototype.hasOwnProperty.call(k,u)&&(c[u]=k[u]);o&&o(e);while(r.length)r.shift()();return a.push.apply(a,t||[]),n()}function n(){for(var c,e=0;e<a.length;e++){for(var n=a[e],u=!0,f=1;f<n.length;f++){var d=n[f];0!==h[d]&&(u=!1)}u&&(a.splice(e--,1),c=k(k.s=n[0]))}return c}var u={},f={runtime:0},h={runtime:0},a=[];function d(c){return k.p+"static/js/"+({"chunk-commons":"chunk-commons"}[c]||c)+"."+{"chunk-0685ec2e":"ffa9d63c","chunk-073d525e":"4fd5c4fa","chunk-58d047ea":"54d23170","chunk-07fbc4ad":"e5de2837","chunk-21298604":"293e8e6a","chunk-29fd312e":"b959ae9f","chunk-1b9c808a":"b6dc3dbc","chunk-2d0bb23d":"376bfb41","chunk-2d0c0353":"9a90f845","chunk-2d0c8bf7":"8dde8e8b","chunk-2d0cfaef":"bf365a7b","chunk-2d0d3cc1":"ed82c4c8","chunk-2d0e4e1f":"c61e2cca","chunk-2d0e944c":"0069aa15","chunk-2d2102ea":"7cd1d67f","chunk-2d2104c6":"9be906f1","chunk-2d226555":"a77a9eff","chunk-078483b6":"d239c265","chunk-6ca64b08":"81cd5dd7","chunk-2d226cab":"59eea8b8","chunk-2d229205":"a9e5fdcc","chunk-2d230fe7":"c3c3e7f6","chunk-31d330bb":"c4627102","chunk-35abafbe":"fb41e1fe","chunk-449782a1":"458a6d95","chunk-4c9ef285":"7cc5ad19","chunk-4f342776":"4048d191","chunk-4fe20fd4":"00143516","chunk-55b4b974":"66925dae","chunk-5705231c":"db7d3760","chunk-1f5ac81e":"21de49f0","chunk-2d22d3c7":"31ef129c","chunk-57a0c5e2":"7d859cf3","chunk-57e0b04b":"a8b92a56","chunk-37f162f0":"1b90cdb9","chunk-3b39c6a0":"a808fc09","chunk-5b8f3860":"4fd9050e","chunk-5f35d1d8":"7abb1327","chunk-45f5f85e":"c504ecd1","chunk-3f98e9f2":"fb69764b","chunk-61be52ce":"039a3a17","chunk-6573155c":"8259a137","chunk-76f5ed14":"f62cccc7","chunk-97e1088c":"17684aba","chunk-980a70e8":"05128bdc","chunk-bacc0f62":"7d5d347b","chunk-commons":"ca52b897","chunk-12f41759":"0f3f1232","chunk-15f21554":"313e9881","chunk-73ac306c":"9fbe3580","chunk-1c91c46c":"1eefc66c","chunk-33c62fae":"1e457df8","chunk-2d0a519f":"5adb3e19","chunk-2d0f0a2e":"195fcb9d","chunk-3bfadc86":"d12e9483","chunk-3d4bb984":"bcb6b4b4","chunk-40abcd22":"22099f03","chunk-48708407":"3666d127","chunk-04f210a8":"460d6baf","chunk-4f247856":"1ee4926c","chunk-ae4093bc":"bffb1a88","chunk-b44a48bc":"038fe4cc","chunk-59f66a77":"de141149","chunk-65c15122":"8b8424c5","chunk-66366d96":"8f61d443","chunk-d63b199a":"16500671","chunk-f7a32324":"70ef81e7","chunk-7a3c6515":"6f468a15","chunk-2c6fa02e":"056acffa","chunk-2d0e6c67":"01f0296f","chunk-031a1b34":"95cd2b9f","chunk-43f8ff7c":"f3893383"}[c]+".js"}function k(e){if(u[e])return u[e].exports;var n=u[e]={i:e,l:!1,exports:{}};return c[e].call(n.exports,n,n.exports,k),n.l=!0,n.exports}k.e=function(c){var e=[],n={"chunk-0685ec2e":1,"chunk-073d525e":1,"chunk-58d047ea":1,"chunk-07fbc4ad":1,"chunk-21298604":1,"chunk-29fd312e":1,"chunk-1b9c808a":1,"chunk-078483b6":1,"chunk-6ca64b08":1,"chunk-35abafbe":1,"chunk-449782a1":1,"chunk-4f342776":1,"chunk-4fe20fd4":1,"chunk-55b4b974":1,"chunk-1f5ac81e":1,"chunk-57a0c5e2":1,"chunk-37f162f0":1,"chunk-3b39c6a0":1,"chunk-5b8f3860":1,"chunk-3f98e9f2":1,"chunk-61be52ce":1,"chunk-6573155c":1,"chunk-76f5ed14":1,"chunk-97e1088c":1,"chunk-commons":1,"chunk-12f41759":1,"chunk-73ac306c":1,"chunk-1c91c46c":1,"chunk-33c62fae":1,"chunk-3bfadc86":1,"chunk-3d4bb984":1,"chunk-40abcd22":1,"chunk-04f210a8":1,"chunk-4f247856":1,"chunk-ae4093bc":1,"chunk-b44a48bc":1,"chunk-59f66a77":1,"chunk-65c15122":1,"chunk-66366d96":1,"chunk-d63b199a":1,"chunk-f7a32324":1,"chunk-7a3c6515":1};f[c]?e.push(f[c]):0!==f[c]&&n[c]&&e.push(f[c]=new Promise(function(e,n){for(var u="static/css/"+({"chunk-commons":"chunk-commons"}[c]||c)+"."+{"chunk-0685ec2e":"9c85be9f","chunk-073d525e":"afb20729","chunk-58d047ea":"68b1d23e","chunk-07fbc4ad":"6b3ecdfb","chunk-21298604":"dc8e6015","chunk-29fd312e":"e35ff339","chunk-1b9c808a":"29989ef9","chunk-2d0bb23d":"31d6cfe0","chunk-2d0c0353":"31d6cfe0","chunk-2d0c8bf7":"31d6cfe0","chunk-2d0cfaef":"31d6cfe0","chunk-2d0d3cc1":"31d6cfe0","chunk-2d0e4e1f":"31d6cfe0","chunk-2d0e944c":"31d6cfe0","chunk-2d2102ea":"31d6cfe0","chunk-2d2104c6":"31d6cfe0","chunk-2d226555":"31d6cfe0","chunk-078483b6":"cd12921d","chunk-6ca64b08":"62215261","chunk-2d226cab":"31d6cfe0","chunk-2d229205":"31d6cfe0","chunk-2d230fe7":"31d6cfe0","chunk-31d330bb":"31d6cfe0","chunk-35abafbe":"05f57e91","chunk-449782a1":"0b3f9ad6","chunk-4c9ef285":"31d6cfe0","chunk-4f342776":"b0d8cc80","chunk-4fe20fd4":"48780823","chunk-55b4b974":"2ac06baa","chunk-5705231c":"31d6cfe0","chunk-1f5ac81e":"0113d5d3","chunk-2d22d3c7":"31d6cfe0","chunk-57a0c5e2":"929e3bf4","chunk-57e0b04b":"31d6cfe0","chunk-37f162f0":"4387de2a","chunk-3b39c6a0":"b8765dea","chunk-5b8f3860":"6c93fad3","chunk-5f35d1d8":"31d6cfe0","chunk-45f5f85e":"31d6cfe0","chunk-3f98e9f2":"8e02d1a5","chunk-61be52ce":"c84066be","chunk-6573155c":"0e80f6be","chunk-76f5ed14":"ef67635e","chunk-97e1088c":"41fbd3e9","chunk-980a70e8":"31d6cfe0","chunk-bacc0f62":"31d6cfe0","chunk-commons":"6eca12b5","chunk-12f41759":"6b1d3f10","chunk-15f21554":"31d6cfe0","chunk-73ac306c":"bbaf26ae","chunk-1c91c46c":"1c085057","chunk-33c62fae":"e535bead","chunk-2d0a519f":"31d6cfe0","chunk-2d0f0a2e":"31d6cfe0","chunk-3bfadc86":"11c953ff","chunk-3d4bb984":"53ac87fa","chunk-40abcd22":"c8bf35e5","chunk-48708407":"31d6cfe0","chunk-04f210a8":"8e8b39cd","chunk-4f247856":"a459c0c0","chunk-ae4093bc":"5ac85807","chunk-b44a48bc":"292ee859","chunk-59f66a77":"53ac87fa","chunk-65c15122":"99d35881","chunk-66366d96":"11c953ff","chunk-d63b199a":"21afa436","chunk-f7a32324":"860218f8","chunk-7a3c6515":"72df9e75","chunk-2c6fa02e":"31d6cfe0","chunk-2d0e6c67":"31d6cfe0","chunk-031a1b34":"31d6cfe0","chunk-43f8ff7c":"31d6cfe0"}[c]+".css",h=k.p+u,a=document.getElementsByTagName("link"),d=0;d<a.length;d++){var t=a[d],b=t.getAttribute("data-href")||t.getAttribute("href");if("stylesheet"===t.rel&&(b===u||b===h))return e()}var r=document.getElementsByTagName("style");for(d=0;d<r.length;d++){t=r[d],b=t.getAttribute("data-href");if(b===u||b===h)return e()}var o=document.createElement("link");o.rel="stylesheet",o.type="text/css",o.onload=e,o.onerror=function(e){var u=e&&e.target&&e.target.src||h,a=new Error("Loading CSS chunk "+c+" failed.\n("+u+")");a.request=u,delete f[c],o.parentNode.removeChild(o),n(a)},o.href=h;var i=document.getElementsByTagName("head")[0];i.appendChild(o)}).then(function(){f[c]=0}));var u=h[c];if(0!==u)if(u)e.push(u[2]);else{var a=new Promise(function(e,n){u=h[c]=[e,n]});e.push(u[2]=a);var t,b=document.createElement("script");b.charset="utf-8",b.timeout=120,k.nc&&b.setAttribute("nonce",k.nc),b.src=d(c),t=function(e){b.onerror=b.onload=null,clearTimeout(r);var n=h[c];if(0!==n){if(n){var u=e&&("load"===e.type?"missing":e.type),f=e&&e.target&&e.target.src,a=new Error("Loading chunk "+c+" failed.\n("+u+": "+f+")");a.type=u,a.request=f,n[1](a)}h[c]=void 0}};var r=setTimeout(function(){t({type:"timeout",target:b})},12e4);b.onerror=b.onload=t,document.head.appendChild(b)}return Promise.all(e)},k.m=c,k.c=u,k.d=function(c,e,n){k.o(c,e)||Object.defineProperty(c,e,{enumerable:!0,get:n})},k.r=function(c){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},k.t=function(c,e){if(1&e&&(c=k(c)),8&e)return c;if(4&e&&"object"===typeof c&&c&&c.__esModule)return c;var n=Object.create(null);if(k.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:c}),2&e&&"string"!=typeof c)for(var u in c)k.d(n,u,function(e){return c[e]}.bind(null,u));return n},k.n=function(c){var e=c&&c.__esModule?function(){return c["default"]}:function(){return c};return k.d(e,"a",e),e},k.o=function(c,e){return Object.prototype.hasOwnProperty.call(c,e)},k.p="/",k.oe=function(c){throw console.error(c),c};var t=window["webpackJsonp"]=window["webpackJsonp"]||[],b=t.push.bind(t);t.push=e,t=t.slice();for(var r=0;r<t.length;r++)e(t[r]);var o=b;n()})([]);</script><script src=/static/js/app.6a71016b.js></script></body></html> |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.chart-container[data-v-d600c0a0]{position:relative;width:100%;height:calc(100vh - 84px)} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.