From e027e6a25914cf71aa4f0953263f770574cdb9b0 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Wed, 18 Mar 2020 23:09:37 +0800 Subject: [PATCH 1/2] update project path --- .gitignore | 12 +- README.md | 6 +- README.zh-CN.md | 6 +- {src/goadmin/apis => apis}/apis.go | 0 {src/goadmin/apis => apis}/captcha.go | 0 {src/goadmin/apis => apis}/config.go | 6 +- {src/goadmin/apis => apis}/dept.go | 6 +- {src/goadmin/apis => apis}/dictData.go | 6 +- {src/goadmin/apis => apis}/dictType.go | 6 +- {src/goadmin/apis => apis}/info.go | 6 +- {src/goadmin/apis => apis}/loginLog.go | 6 +- {src/goadmin/apis => apis}/menu.go | 6 +- {src/goadmin/apis => apis}/operlog.go | 6 +- {src/goadmin/apis => apis}/post.go | 6 +- {src/goadmin/apis => apis}/role.go | 6 +- {src/goadmin/apis => apis}/rolemenu.go | 2 +- {src/goadmin/apis => apis}/sysuser.go | 6 +- {src/goadmin/config => config}/application.go | 0 {src/goadmin/config => config}/config.go | 0 {src/goadmin/config => config}/database.go | 0 {src/goadmin/config => config}/db.sql | 0 {src/goadmin/config => config}/policy.csv | 0 .../goadmin/config => config}/rbac_model.conf | 0 {src/goadmin/config => config}/redis.go | 0 {src/goadmin/config => config}/settings.yml | 0 {src/goadmin/database => database}/mysql.go | 2 +- {src/goadmin/docs => docs}/docs.go | 0 {src/goadmin/docs => docs}/swagger.json | 0 {src/goadmin/docs => docs}/swagger.yaml | 0 src/goadmin/go.mod => go.mod | 2 +- src/goadmin/go.sum => go.sum | 0 {src/goadmin/handler => handler}/auth.go | 6 +- .../handler => handler}/cronjob/testjob.go | 0 {src/goadmin/handler => handler}/nofound.go | 2 +- {src/goadmin/handler => handler}/radisconn.go | 2 +- {src/goadmin/handler => handler}/sd/check.go | 0 src/goadmin/main.go => main.go | 8 +- .../models => models}/accountrecord.go | 2 +- {src/goadmin/models => models}/casbinrule.go | 0 {src/goadmin/models => models}/config.go | 4 +- {src/goadmin/models => models}/datascope.go | 2 +- {src/goadmin/models => models}/dept.go | 4 +- {src/goadmin/models => models}/dictData.go | 4 +- {src/goadmin/models => models}/dictType.go | 4 +- {src/goadmin/models => models}/initdb.go | 2 +- {src/goadmin/models => models}/login.go | 4 +- {src/goadmin/models => models}/loginlog.go | 4 +- {src/goadmin/models => models}/menu.go | 4 +- {src/goadmin/models => models}/operlog.go | 4 +- {src/goadmin/models => models}/post.go | 4 +- {src/goadmin/models => models}/response.go | 0 {src/goadmin/models => models}/role.go | 4 +- {src/goadmin/models => models}/roledept.go | 2 +- {src/goadmin/models => models}/rolemenu.go | 2 +- {src/goadmin/models => models}/sysuser.go | 6 +- {src/goadmin/pkg => pkg}/casbin/mycasbin.go | 4 +- {src/goadmin/pkg => pkg}/jwtauth/jwtauth.go | 0 {src/goadmin/pkg => pkg}/utils.go | 0 .../router => router}/middleware/auth.go | 6 +- .../middleware/customerror.go | 0 .../router => router}/middleware/demo.go | 2 +- .../router => router}/middleware/header.go | 0 .../router => router}/middleware/logger.go | 6 +- .../middleware/permission.go | 6 +- .../router => router}/middleware/requestid.go | 0 {src/goadmin/router => router}/router.go | 12 +- .../77cfc1dd-535c-4e60-b34a-5909e2cf5ed0.jpg | Bin 0 -> 61895 bytes static/uploadfile/log.txt | 0 temp/logs/log.txt | 2458 +++++++++++++++++ .../goadmin/test => test}/backenduser_test.go | 2 +- {src/goadmin/test => test}/config/policy.csv | 0 .../test => test}/config/rbac_model.conf | 0 .../goadmin/test => test}/config/settings.yml | 0 {src/goadmin/test => test}/map_ext_test.go | 0 {src/goadmin/utils => utils}/string.go | 0 {src/goadmin/utils => utils}/user.go | 2 +- 76 files changed, 2562 insertions(+), 106 deletions(-) rename {src/goadmin/apis => apis}/apis.go (100%) rename {src/goadmin/apis => apis}/captcha.go (100%) rename {src/goadmin/apis => apis}/config.go (98%) rename {src/goadmin/apis => apis}/dept.go (98%) rename {src/goadmin/apis => apis}/dictData.go (98%) rename {src/goadmin/apis => apis}/dictType.go (98%) rename {src/goadmin/apis => apis}/info.go (94%) rename {src/goadmin/apis => apis}/loginLog.go (98%) rename {src/goadmin/apis => apis}/menu.go (99%) rename {src/goadmin/apis => apis}/operlog.go (98%) rename {src/goadmin/apis => apis}/post.go (98%) rename {src/goadmin/apis => apis}/role.go (98%) rename {src/goadmin/apis => apis}/rolemenu.go (99%) rename {src/goadmin/apis => apis}/sysuser.go (99%) rename {src/goadmin/config => config}/application.go (100%) rename {src/goadmin/config => config}/config.go (100%) rename {src/goadmin/config => config}/database.go (100%) rename {src/goadmin/config => config}/db.sql (100%) rename {src/goadmin/config => config}/policy.csv (100%) rename {src/goadmin/config => config}/rbac_model.conf (100%) rename {src/goadmin/config => config}/redis.go (100%) rename {src/goadmin/config => config}/settings.yml (100%) rename {src/goadmin/database => database}/mysql.go (98%) rename {src/goadmin/docs => docs}/docs.go (100%) rename {src/goadmin/docs => docs}/swagger.json (100%) rename {src/goadmin/docs => docs}/swagger.yaml (100%) rename src/goadmin/go.mod => go.mod (99%) rename src/goadmin/go.sum => go.sum (100%) rename {src/goadmin/handler => handler}/auth.go (98%) rename {src/goadmin/handler => handler}/cronjob/testjob.go (100%) rename {src/goadmin/handler => handler}/nofound.go (89%) rename {src/goadmin/handler => handler}/radisconn.go (96%) rename {src/goadmin/handler => handler}/sd/check.go (100%) rename src/goadmin/main.go => main.go (91%) rename {src/goadmin/models => models}/accountrecord.go (99%) rename {src/goadmin/models => models}/casbinrule.go (100%) rename {src/goadmin/models => models}/config.go (98%) rename {src/goadmin/models => models}/datascope.go (98%) rename {src/goadmin/models => models}/dept.go (99%) rename {src/goadmin/models => models}/dictData.go (98%) rename {src/goadmin/models => models}/dictType.go (98%) rename {src/goadmin/models => models}/initdb.go (97%) rename {src/goadmin/models => models}/login.go (96%) rename {src/goadmin/models => models}/loginlog.go (98%) rename {src/goadmin/models => models}/menu.go (99%) rename {src/goadmin/models => models}/operlog.go (98%) rename {src/goadmin/models => models}/post.go (98%) rename {src/goadmin/models => models}/response.go (100%) rename {src/goadmin/models => models}/role.go (99%) rename {src/goadmin/models => models}/roledept.go (97%) rename {src/goadmin/models => models}/rolemenu.go (99%) rename {src/goadmin/models => models}/sysuser.go (98%) rename {src/goadmin/pkg => pkg}/casbin/mycasbin.go (96%) rename {src/goadmin/pkg => pkg}/jwtauth/jwtauth.go (100%) rename {src/goadmin/pkg => pkg}/utils.go (100%) rename {src/goadmin/router => router}/middleware/auth.go (94%) rename {src/goadmin/router => router}/middleware/customerror.go (100%) rename {src/goadmin/router => router}/middleware/demo.go (96%) rename {src/goadmin/router => router}/middleware/header.go (100%) rename {src/goadmin/router => router}/middleware/logger.go (98%) rename {src/goadmin/router => router}/middleware/permission.go (90%) rename {src/goadmin/router => router}/middleware/requestid.go (100%) rename {src/goadmin/router => router}/router.go (97%) create mode 100644 static/uploadfile/77cfc1dd-535c-4e60-b34a-5909e2cf5ed0.jpg create mode 100644 static/uploadfile/log.txt create mode 100644 temp/logs/log.txt rename {src/goadmin/test => test}/backenduser_test.go (96%) rename {src/goadmin/test => test}/config/policy.csv (100%) rename {src/goadmin/test => test}/config/rbac_model.conf (100%) rename {src/goadmin/test => test}/config/settings.yml (100%) rename {src/goadmin/test => test}/map_ext_test.go (100%) rename {src/goadmin/utils => utils}/string.go (100%) rename {src/goadmin/utils => utils}/user.go (98%) diff --git a/.gitignore b/.gitignore index f41e10f3..0d734433 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ .idea -src/goadmin/config/settings.yml -src/goadmin/static/uploadfile -src/goadmin/main.exe -src/goadmin/temp/logs/log.txt -src/goadmin/goadmin -src/goadmin/config/settings.dev.yml -src/goadmin/vendor +static/uploadfile +main.exe +temp/logs/log.txt +vendor +config/settings.dev.yml diff --git a/README.md b/README.md index 38e03e27..8e539d22 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ settings: readtimeout: 50 ``` -2. file path go-admin/src/goadmin/config/settings.yml +2. file path go-admin/src/go-admin/config/settings.yml ## 📦 evelopment @@ -102,7 +102,7 @@ First start instructions git clone https://github.com/wenjianzhang/go-admin.git # Enter working path -cd ./goadmin/src/goadmin +cd ./go-admin/src/go-admin # Build the project go build @@ -118,7 +118,7 @@ vi ./config/setting.yml (Note: Change isinit and database connection) # Start the project or debug with the IDE -./goadmin +./go-admin # See also instructions in WIKI ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index 07a3b7c0..ed5f6535 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -89,7 +89,7 @@ settings: readtimeout: 50 ``` -2. 文件路径 go-admin/src/goadmin/config/settings.yml +2. 文件路径 go-admin/src/go-admin/config/settings.yml ## 📦 本地开发 @@ -101,7 +101,7 @@ settings: git clone https://github.com/wenjianzhang/go-admin.git # 进入工作路径 -cd ./goadmin/src/goadmin +cd ./go-admin/src/go-admin # 编译项目 go build @@ -117,7 +117,7 @@ vi ./config/setting.yml (更改isinit和数据库连接) # 启动项目,也可以用IDE进行调试 -./goadmin +./go-admin # 也可以在WIKI中查看说明 ``` diff --git a/src/goadmin/apis/apis.go b/apis/apis.go similarity index 100% rename from src/goadmin/apis/apis.go rename to apis/apis.go diff --git a/src/goadmin/apis/captcha.go b/apis/captcha.go similarity index 100% rename from src/goadmin/apis/captcha.go rename to apis/captcha.go diff --git a/src/goadmin/apis/config.go b/apis/config.go similarity index 98% rename from src/goadmin/apis/config.go rename to apis/config.go index 489755ef..d6cac145 100644 --- a/src/goadmin/apis/config.go +++ b/apis/config.go @@ -3,9 +3,9 @@ package apis import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" ) diff --git a/src/goadmin/apis/dept.go b/apis/dept.go similarity index 98% rename from src/goadmin/apis/dept.go rename to apis/dept.go index d49dcfc4..873f8392 100644 --- a/src/goadmin/apis/dept.go +++ b/apis/dept.go @@ -3,9 +3,9 @@ package apis import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" "strconv" ) diff --git a/src/goadmin/apis/dictData.go b/apis/dictData.go similarity index 98% rename from src/goadmin/apis/dictData.go rename to apis/dictData.go index c84d87ac..80fcad8a 100644 --- a/src/goadmin/apis/dictData.go +++ b/apis/dictData.go @@ -3,9 +3,9 @@ package apis import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" ) diff --git a/src/goadmin/apis/dictType.go b/apis/dictType.go similarity index 98% rename from src/goadmin/apis/dictType.go rename to apis/dictType.go index ef878e08..5b5ce667 100644 --- a/src/goadmin/apis/dictType.go +++ b/apis/dictType.go @@ -3,9 +3,9 @@ package apis import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" "strconv" ) diff --git a/src/goadmin/apis/info.go b/apis/info.go similarity index 94% rename from src/goadmin/apis/info.go rename to apis/info.go index b375731f..dc22a5cf 100644 --- a/src/goadmin/apis/info.go +++ b/apis/info.go @@ -2,9 +2,9 @@ package apis import ( "github.com/gin-gonic/gin" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" ) diff --git a/src/goadmin/apis/loginLog.go b/apis/loginLog.go similarity index 98% rename from src/goadmin/apis/loginLog.go rename to apis/loginLog.go index d7810dc3..14465329 100644 --- a/src/goadmin/apis/loginLog.go +++ b/apis/loginLog.go @@ -3,9 +3,9 @@ package apis import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" "strconv" ) diff --git a/src/goadmin/apis/menu.go b/apis/menu.go similarity index 99% rename from src/goadmin/apis/menu.go rename to apis/menu.go index b454de2d..f434d67d 100644 --- a/src/goadmin/apis/menu.go +++ b/apis/menu.go @@ -3,9 +3,9 @@ package apis import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" "strconv" ) diff --git a/src/goadmin/apis/operlog.go b/apis/operlog.go similarity index 98% rename from src/goadmin/apis/operlog.go rename to apis/operlog.go index 6e3241a4..f64657c4 100644 --- a/src/goadmin/apis/operlog.go +++ b/apis/operlog.go @@ -3,9 +3,9 @@ package apis import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" "strconv" ) diff --git a/src/goadmin/apis/post.go b/apis/post.go similarity index 98% rename from src/goadmin/apis/post.go rename to apis/post.go index 3460a467..9a7ab693 100644 --- a/src/goadmin/apis/post.go +++ b/apis/post.go @@ -2,9 +2,9 @@ package apis import ( "github.com/gin-gonic/gin" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" "strconv" ) diff --git a/src/goadmin/apis/role.go b/apis/role.go similarity index 98% rename from src/goadmin/apis/role.go rename to apis/role.go index 8ab6e17d..7fe9d83e 100644 --- a/src/goadmin/apis/role.go +++ b/apis/role.go @@ -3,9 +3,9 @@ package apis import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "net/http" "strconv" ) diff --git a/src/goadmin/apis/rolemenu.go b/apis/rolemenu.go similarity index 99% rename from src/goadmin/apis/rolemenu.go rename to apis/rolemenu.go index d3107a5f..d360a6f3 100644 --- a/src/goadmin/apis/rolemenu.go +++ b/apis/rolemenu.go @@ -3,7 +3,7 @@ package apis import ( "fmt" "github.com/gin-gonic/gin" - "goadmin/models" + "go-admin/models" "net/http" ) diff --git a/src/goadmin/apis/sysuser.go b/apis/sysuser.go similarity index 99% rename from src/goadmin/apis/sysuser.go rename to apis/sysuser.go index 7241ec60..a139d542 100644 --- a/src/goadmin/apis/sysuser.go +++ b/apis/sysuser.go @@ -4,9 +4,9 @@ import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" "github.com/google/uuid" - "goadmin/models" - "goadmin/pkg" - "goadmin/utils" + "go-admin/models" + "go-admin/pkg" + "go-admin/utils" "log" "net/http" "strconv" diff --git a/src/goadmin/config/application.go b/config/application.go similarity index 100% rename from src/goadmin/config/application.go rename to config/application.go diff --git a/src/goadmin/config/config.go b/config/config.go similarity index 100% rename from src/goadmin/config/config.go rename to config/config.go diff --git a/src/goadmin/config/database.go b/config/database.go similarity index 100% rename from src/goadmin/config/database.go rename to config/database.go diff --git a/src/goadmin/config/db.sql b/config/db.sql similarity index 100% rename from src/goadmin/config/db.sql rename to config/db.sql diff --git a/src/goadmin/config/policy.csv b/config/policy.csv similarity index 100% rename from src/goadmin/config/policy.csv rename to config/policy.csv diff --git a/src/goadmin/config/rbac_model.conf b/config/rbac_model.conf similarity index 100% rename from src/goadmin/config/rbac_model.conf rename to config/rbac_model.conf diff --git a/src/goadmin/config/redis.go b/config/redis.go similarity index 100% rename from src/goadmin/config/redis.go rename to config/redis.go diff --git a/src/goadmin/config/settings.yml b/config/settings.yml similarity index 100% rename from src/goadmin/config/settings.yml rename to config/settings.yml diff --git a/src/goadmin/database/mysql.go b/database/mysql.go similarity index 98% rename from src/goadmin/database/mysql.go rename to database/mysql.go index 281bd7ad..11880b1c 100644 --- a/src/goadmin/database/mysql.go +++ b/database/mysql.go @@ -5,7 +5,7 @@ import ( "fmt" _ "github.com/go-sql-driver/mysql" //加载mysql "github.com/jinzhu/gorm" - config2 "goadmin/config" + config2 "go-admin/config" "log" "strconv" ) diff --git a/src/goadmin/docs/docs.go b/docs/docs.go similarity index 100% rename from src/goadmin/docs/docs.go rename to docs/docs.go diff --git a/src/goadmin/docs/swagger.json b/docs/swagger.json similarity index 100% rename from src/goadmin/docs/swagger.json rename to docs/swagger.json diff --git a/src/goadmin/docs/swagger.yaml b/docs/swagger.yaml similarity index 100% rename from src/goadmin/docs/swagger.yaml rename to docs/swagger.yaml diff --git a/src/goadmin/go.mod b/go.mod similarity index 99% rename from src/goadmin/go.mod rename to go.mod index 0d5aea13..4ef5119e 100644 --- a/src/goadmin/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module goadmin +module go-admin go 1.12 diff --git a/src/goadmin/go.sum b/go.sum similarity index 100% rename from src/goadmin/go.sum rename to go.sum diff --git a/src/goadmin/handler/auth.go b/handler/auth.go similarity index 98% rename from src/goadmin/handler/auth.go rename to handler/auth.go index 231a2b54..b662feb2 100644 --- a/src/goadmin/handler/auth.go +++ b/handler/auth.go @@ -4,9 +4,9 @@ import ( "github.com/gin-gonic/gin" "github.com/mojocn/base64Captcha" "github.com/mssola/user_agent" - . "goadmin/models" - jwt "goadmin/pkg/jwtauth" - "goadmin/utils" + . "go-admin/models" + jwt "go-admin/pkg/jwtauth" + "go-admin/utils" "log" "net/http" ) diff --git a/src/goadmin/handler/cronjob/testjob.go b/handler/cronjob/testjob.go similarity index 100% rename from src/goadmin/handler/cronjob/testjob.go rename to handler/cronjob/testjob.go diff --git a/src/goadmin/handler/nofound.go b/handler/nofound.go similarity index 89% rename from src/goadmin/handler/nofound.go rename to handler/nofound.go index 5a22118c..f2a03ae7 100644 --- a/src/goadmin/handler/nofound.go +++ b/handler/nofound.go @@ -2,7 +2,7 @@ package handler import ( "github.com/gin-gonic/gin" - jwt "goadmin/pkg/jwtauth" + jwt "go-admin/pkg/jwtauth" "log" ) diff --git a/src/goadmin/handler/radisconn.go b/handler/radisconn.go similarity index 96% rename from src/goadmin/handler/radisconn.go rename to handler/radisconn.go index d4f44802..1bee7fd0 100644 --- a/src/goadmin/handler/radisconn.go +++ b/handler/radisconn.go @@ -2,7 +2,7 @@ package handler import ( "github.com/go-redis/redis" - "goadmin/config" + "go-admin/config" ) var RedisClient = new(redis.Client) diff --git a/src/goadmin/handler/sd/check.go b/handler/sd/check.go similarity index 100% rename from src/goadmin/handler/sd/check.go rename to handler/sd/check.go diff --git a/src/goadmin/main.go b/main.go similarity index 91% rename from src/goadmin/main.go rename to main.go index 399a55f4..d1da3880 100644 --- a/src/goadmin/main.go +++ b/main.go @@ -2,10 +2,10 @@ package main import ( "github.com/gin-gonic/gin" - "goadmin/config" - orm "goadmin/database" - "goadmin/models" - "goadmin/router" + "go-admin/config" + orm "go-admin/database" + "go-admin/models" + "go-admin/router" "log" ) diff --git a/src/goadmin/models/accountrecord.go b/models/accountrecord.go similarity index 99% rename from src/goadmin/models/accountrecord.go rename to models/accountrecord.go index 800b8ad5..0265b07a 100644 --- a/src/goadmin/models/accountrecord.go +++ b/models/accountrecord.go @@ -2,7 +2,7 @@ package models import ( "github.com/shopspring/decimal" - orm "goadmin/database" + orm "go-admin/database" _ "log" "time" ) diff --git a/src/goadmin/models/casbinrule.go b/models/casbinrule.go similarity index 100% rename from src/goadmin/models/casbinrule.go rename to models/casbinrule.go diff --git a/src/goadmin/models/config.go b/models/config.go similarity index 98% rename from src/goadmin/models/config.go rename to models/config.go index 1c890464..6a19d1b3 100644 --- a/src/goadmin/models/config.go +++ b/models/config.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" "time" ) diff --git a/src/goadmin/models/datascope.go b/models/datascope.go similarity index 98% rename from src/goadmin/models/datascope.go rename to models/datascope.go index dfaf7d3f..48ad3c95 100644 --- a/src/goadmin/models/datascope.go +++ b/models/datascope.go @@ -2,7 +2,7 @@ package models import ( "github.com/jinzhu/gorm" - "goadmin/utils" + "go-admin/utils" ) type DataPermission struct { diff --git a/src/goadmin/models/dept.go b/models/dept.go similarity index 99% rename from src/goadmin/models/dept.go rename to models/dept.go index 08c750db..96ae8256 100644 --- a/src/goadmin/models/dept.go +++ b/models/dept.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" ) type Dept struct { diff --git a/src/goadmin/models/dictData.go b/models/dictData.go similarity index 98% rename from src/goadmin/models/dictData.go rename to models/dictData.go index bf3648e1..bc729d52 100644 --- a/src/goadmin/models/dictData.go +++ b/models/dictData.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" "time" ) diff --git a/src/goadmin/models/dictType.go b/models/dictType.go similarity index 98% rename from src/goadmin/models/dictType.go rename to models/dictType.go index 85ff0cf5..583efa6f 100644 --- a/src/goadmin/models/dictType.go +++ b/models/dictType.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" "time" ) diff --git a/src/goadmin/models/initdb.go b/models/initdb.go similarity index 97% rename from src/goadmin/models/initdb.go rename to models/initdb.go index 8313a602..d2cea6c3 100644 --- a/src/goadmin/models/initdb.go +++ b/models/initdb.go @@ -2,7 +2,7 @@ package models import ( "fmt" - orm "goadmin/database" + orm "go-admin/database" "io/ioutil" "strings" ) diff --git a/src/goadmin/models/login.go b/models/login.go similarity index 96% rename from src/goadmin/models/login.go rename to models/login.go index 43b69902..42b9df34 100644 --- a/src/goadmin/models/login.go +++ b/models/login.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/pkg" + orm "go-admin/database" + "go-admin/pkg" "log" "strings" ) diff --git a/src/goadmin/models/loginlog.go b/models/loginlog.go similarity index 98% rename from src/goadmin/models/loginlog.go rename to models/loginlog.go index d89ff0d2..35dbe050 100644 --- a/src/goadmin/models/loginlog.go +++ b/models/loginlog.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" "time" ) diff --git a/src/goadmin/models/menu.go b/models/menu.go similarity index 99% rename from src/goadmin/models/menu.go rename to models/menu.go index 0d68b086..69f08414 100644 --- a/src/goadmin/models/menu.go +++ b/models/menu.go @@ -2,8 +2,8 @@ package models import ( "errors" - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" "time" ) diff --git a/src/goadmin/models/operlog.go b/models/operlog.go similarity index 98% rename from src/goadmin/models/operlog.go rename to models/operlog.go index c1bcbb9c..3c3c9b1b 100644 --- a/src/goadmin/models/operlog.go +++ b/models/operlog.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" ) //sys_operlog diff --git a/src/goadmin/models/post.go b/models/post.go similarity index 98% rename from src/goadmin/models/post.go rename to models/post.go index b8ddc587..c53bba4a 100644 --- a/src/goadmin/models/post.go +++ b/models/post.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" ) type Post struct { diff --git a/src/goadmin/models/response.go b/models/response.go similarity index 100% rename from src/goadmin/models/response.go rename to models/response.go diff --git a/src/goadmin/models/role.go b/models/role.go similarity index 99% rename from src/goadmin/models/role.go rename to models/role.go index 3480fe5f..e995ee08 100644 --- a/src/goadmin/models/role.go +++ b/models/role.go @@ -1,8 +1,8 @@ package models import ( - orm "goadmin/database" - "goadmin/utils" + orm "go-admin/database" + "go-admin/utils" "time" ) diff --git a/src/goadmin/models/roledept.go b/models/roledept.go similarity index 97% rename from src/goadmin/models/roledept.go rename to models/roledept.go index 99aa2914..625d0022 100644 --- a/src/goadmin/models/roledept.go +++ b/models/roledept.go @@ -2,7 +2,7 @@ package models import ( "fmt" - orm "goadmin/database" + orm "go-admin/database" ) //sys_role_dept diff --git a/src/goadmin/models/rolemenu.go b/models/rolemenu.go similarity index 99% rename from src/goadmin/models/rolemenu.go rename to models/rolemenu.go index 3fbfdd48..45b8172f 100644 --- a/src/goadmin/models/rolemenu.go +++ b/models/rolemenu.go @@ -2,7 +2,7 @@ package models import ( "fmt" - orm "goadmin/database" + orm "go-admin/database" "strconv" ) diff --git a/src/goadmin/models/sysuser.go b/models/sysuser.go similarity index 98% rename from src/goadmin/models/sysuser.go rename to models/sysuser.go index ad7ab361..87251e7d 100644 --- a/src/goadmin/models/sysuser.go +++ b/models/sysuser.go @@ -2,9 +2,9 @@ package models import ( "errors" - orm "goadmin/database" - "goadmin/pkg" - "goadmin/utils" + orm "go-admin/database" + "go-admin/pkg" + "go-admin/utils" "golang.org/x/crypto/bcrypt" "log" "strings" diff --git a/src/goadmin/pkg/casbin/mycasbin.go b/pkg/casbin/mycasbin.go similarity index 96% rename from src/goadmin/pkg/casbin/mycasbin.go rename to pkg/casbin/mycasbin.go index 6bb583aa..c4059707 100644 --- a/src/goadmin/pkg/casbin/mycasbin.go +++ b/pkg/casbin/mycasbin.go @@ -6,8 +6,8 @@ import ( gormadapter "github.com/casbin/gorm-adapter/v2" "github.com/go-kit/kit/endpoint" _ "github.com/go-sql-driver/mysql" - "goadmin/config" - "goadmin/utils" + "go-admin/config" + "go-admin/utils" ) var Em endpoint.Middleware diff --git a/src/goadmin/pkg/jwtauth/jwtauth.go b/pkg/jwtauth/jwtauth.go similarity index 100% rename from src/goadmin/pkg/jwtauth/jwtauth.go rename to pkg/jwtauth/jwtauth.go diff --git a/src/goadmin/pkg/utils.go b/pkg/utils.go similarity index 100% rename from src/goadmin/pkg/utils.go rename to pkg/utils.go diff --git a/src/goadmin/router/middleware/auth.go b/router/middleware/auth.go similarity index 94% rename from src/goadmin/router/middleware/auth.go rename to router/middleware/auth.go index 93eecc58..a3967918 100644 --- a/src/goadmin/router/middleware/auth.go +++ b/router/middleware/auth.go @@ -1,9 +1,9 @@ package middleware import ( - config2 "goadmin/config" - "goadmin/handler" - jwt "goadmin/pkg/jwtauth" + config2 "go-admin/config" + "go-admin/handler" + jwt "go-admin/pkg/jwtauth" "time" ) diff --git a/src/goadmin/router/middleware/customerror.go b/router/middleware/customerror.go similarity index 100% rename from src/goadmin/router/middleware/customerror.go rename to router/middleware/customerror.go diff --git a/src/goadmin/router/middleware/demo.go b/router/middleware/demo.go similarity index 96% rename from src/goadmin/router/middleware/demo.go rename to router/middleware/demo.go index f14539ef..0448f725 100644 --- a/src/goadmin/router/middleware/demo.go +++ b/router/middleware/demo.go @@ -2,7 +2,7 @@ package middleware import ( "github.com/gin-gonic/gin" - "goadmin/config" + "go-admin/config" "net/http" ) diff --git a/src/goadmin/router/middleware/header.go b/router/middleware/header.go similarity index 100% rename from src/goadmin/router/middleware/header.go rename to router/middleware/header.go diff --git a/src/goadmin/router/middleware/logger.go b/router/middleware/logger.go similarity index 98% rename from src/goadmin/router/middleware/logger.go rename to router/middleware/logger.go index e233a6a7..25574c0e 100644 --- a/src/goadmin/router/middleware/logger.go +++ b/router/middleware/logger.go @@ -4,9 +4,9 @@ import ( "fmt" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" - "goadmin/config" - "goadmin/models" - "goadmin/utils" + "go-admin/config" + "go-admin/models" + "go-admin/utils" "os" "strings" "time" diff --git a/src/goadmin/router/middleware/permission.go b/router/middleware/permission.go similarity index 90% rename from src/goadmin/router/middleware/permission.go rename to router/middleware/permission.go index 069841a1..0de72204 100644 --- a/src/goadmin/router/middleware/permission.go +++ b/router/middleware/permission.go @@ -2,9 +2,9 @@ package middleware import ( "github.com/gin-gonic/gin" - mycasbin "goadmin/pkg/casbin" - "goadmin/pkg/jwtauth" - _ "goadmin/pkg/jwtauth" + mycasbin "go-admin/pkg/casbin" + "go-admin/pkg/jwtauth" + _ "go-admin/pkg/jwtauth" "log" "net/http" ) diff --git a/src/goadmin/router/middleware/requestid.go b/router/middleware/requestid.go similarity index 100% rename from src/goadmin/router/middleware/requestid.go rename to router/middleware/requestid.go diff --git a/src/goadmin/router/router.go b/router/router.go similarity index 97% rename from src/goadmin/router/router.go rename to router/router.go index fbc9a103..0b862733 100644 --- a/src/goadmin/router/router.go +++ b/router/router.go @@ -6,12 +6,12 @@ import ( "github.com/spf13/viper" "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" - . "goadmin/apis" - _ "goadmin/docs" - "goadmin/handler" - "goadmin/handler/sd" - _ "goadmin/pkg/jwtauth" - "goadmin/router/middleware" + . "go-admin/apis" + _ "go-admin/docs" + "go-admin/handler" + "go-admin/handler/sd" + _ "go-admin/pkg/jwtauth" + "go-admin/router/middleware" "log" ) diff --git a/static/uploadfile/77cfc1dd-535c-4e60-b34a-5909e2cf5ed0.jpg b/static/uploadfile/77cfc1dd-535c-4e60-b34a-5909e2cf5ed0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aca697e106ed3d75a63b4926d113dd2db58618db GIT binary patch literal 61895 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≺Mo@E~*XB+W8}3IB|X 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 Date: Wed, 18 Mar 2020 23:12:19 +0800 Subject: [PATCH 2/2] Update go.yml --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 1b8d7c1b..b9e74256 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -24,6 +24,6 @@ jobs: path: go/src/firebase.google.com/go - name: log path - run: ls + run: go build