From f913510d3c5bb96609a91744c06a81e5ba6f57ae Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Wed, 10 Aug 2022 19:46:17 +0800 Subject: [PATCH] refactor: code review --- mayfly_go_web/src/views/ops/db/DbEdit.vue | 37 ++-- .../src/views/ops/redis/HashValue.vue | 2 +- .../src/views/ops/redis/SetValue.vue | 2 +- server/config.yml | 4 - server/internal/devops/api/db.go | 20 +- server/internal/devops/application/db_app.go | 200 ++++++++++++------ .../devops/application/db_sql_exec_app.go | 3 +- server/main.go | 2 - server/pkg/config/app.go | 12 +- server/pkg/config/config.go | 8 +- server/pkg/ctx/token.go | 12 +- server/pkg/logger/logger.go | 2 +- server/pkg/starter/banner.go | 19 +- server/pkg/starter/gorm.go | 6 +- server/pkg/starter/run.go | 23 ++ server/pkg/starter/web-server.go | 8 +- 16 files changed, 232 insertions(+), 128 deletions(-) create mode 100644 server/pkg/starter/run.go diff --git a/mayfly_go_web/src/views/ops/db/DbEdit.vue b/mayfly_go_web/src/views/ops/db/DbEdit.vue index bbf63b29..f7d28588 100644 --- a/mayfly_go_web/src/views/ops/db/DbEdit.vue +++ b/mayfly_go_web/src/views/ops/db/DbEdit.vue @@ -55,20 +55,25 @@ - - - + + + + + + + + 获取库名 + @@ -264,12 +269,10 @@ export default defineComponent({ }; const getAllDatabase = async () => { - if (state.allDatabases.length != 0) { - return; - } const reqForm = { ...state.form }; reqForm.password = await RsaEncrypt(reqForm.password); state.allDatabases = await dbApi.getAllDatabase.request(reqForm); + ElMessage.success('获取成功, 请选择需要管理操作的数据库') }; const getDbPwd = async () => { diff --git a/mayfly_go_web/src/views/ops/redis/HashValue.vue b/mayfly_go_web/src/views/ops/redis/HashValue.vue index 5ba5259a..17079d2c 100644 --- a/mayfly_go_web/src/views/ops/redis/HashValue.vue +++ b/mayfly_go_web/src/views/ops/redis/HashValue.vue @@ -209,7 +209,7 @@ export default defineComponent({ }; const onAddHashValue = () => { - state.hashValues.push({ field: '', value: '' }); + state.hashValues.unshift({ field: '', value: '' }); }; const saveValue = async () => { diff --git a/mayfly_go_web/src/views/ops/redis/SetValue.vue b/mayfly_go_web/src/views/ops/redis/SetValue.vue index 31d7292f..8aef6314 100644 --- a/mayfly_go_web/src/views/ops/redis/SetValue.vue +++ b/mayfly_go_web/src/views/ops/redis/SetValue.vue @@ -128,7 +128,7 @@ export default defineComponent({ }; const onAddSetValue = () => { - state.value.push({ value: '' }); + state.value.unshift({ value: '' }); }; return { diff --git a/server/config.yml b/server/config.yml index df56d8cd..19cdb121 100644 --- a/server/config.yml +++ b/server/config.yml @@ -1,7 +1,3 @@ -app: - name: mayfly-go - version: 1.2.3 - server: # debug release test model: release diff --git a/server/internal/devops/api/db.go b/server/internal/devops/api/db.go index 24c35248..83998c6a 100644 --- a/server/internal/devops/api/db.go +++ b/server/internal/devops/api/db.go @@ -97,19 +97,19 @@ func (d *Db) DeleteDb(rc *ctx.ReqCtx) { } func (d *Db) TableInfos(rc *ctx.ReqCtx) { - rc.ResData = d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)).GetTableInfos() + rc.ResData = d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)).GetMeta().GetTableInfos() } func (d *Db) TableIndex(rc *ctx.ReqCtx) { tn := rc.GinCtx.Query("tableName") biz.NotEmpty(tn, "tableName不能为空") - rc.ResData = d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)).GetTableIndex(tn) + rc.ResData = d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)).GetMeta().GetTableIndex(tn) } func (d *Db) GetCreateTableDdl(rc *ctx.ReqCtx) { tn := rc.GinCtx.Query("tableName") biz.NotEmpty(tn, "tableName不能为空") - rc.ResData = d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)).GetCreateTableDdl(tn) + rc.ResData = d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)).GetMeta().GetCreateTableDdl(tn) } func (d *Db) ExecSql(rc *ctx.ReqCtx) { @@ -237,11 +237,12 @@ func (d *Db) DumpSql(rc *ctx.ReqCtx) { writer.WriteString(fmt.Sprintf("\n-- 导出数据库: %s ", db)) writer.WriteString("\n-- ----------------------------\n") + dbmeta := d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)).GetMeta() for _, table := range tables { if needStruct { writer.WriteString(fmt.Sprintf("\n-- ----------------------------\n-- 表结构: %s \n-- ----------------------------\n", table)) writer.WriteString(fmt.Sprintf("DROP TABLE IF EXISTS `%s`;\n", table)) - writer.WriteString(dbInstance.GetCreateTableDdl(table)[0]["Create Table"].(string) + ";\n") + writer.WriteString(dbmeta.GetCreateTableDdl(table)[0]["Create Table"].(string) + ";\n") } if !needData { @@ -303,7 +304,7 @@ func (d *Db) DumpSql(rc *ctx.ReqCtx) { func (d *Db) TableMA(rc *ctx.ReqCtx) { dbi := d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)) biz.ErrIsNilAppendErr(d.ProjectApp.CanAccess(rc.LoginAccount.Id, dbi.ProjectId), "%s") - rc.ResData = dbi.GetTableMetedatas() + rc.ResData = dbi.GetMeta().GetTables() } // @router /api/db/:dbId/c-metadata [get] @@ -314,16 +315,17 @@ func (d *Db) ColumnMA(rc *ctx.ReqCtx) { dbi := d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)) biz.ErrIsNilAppendErr(d.ProjectApp.CanAccess(rc.LoginAccount.Id, dbi.ProjectId), "%s") - rc.ResData = dbi.GetColumnMetadatas(tn) + rc.ResData = dbi.GetMeta().GetColumns(tn) } // @router /api/db/:dbId/hint-tables [get] func (d *Db) HintTables(rc *ctx.ReqCtx) { dbi := d.DbApp.GetDbInstance(GetIdAndDb(rc.GinCtx)) biz.ErrIsNilAppendErr(d.ProjectApp.CanAccess(rc.LoginAccount.Id, dbi.ProjectId), "%s") - // 获取所有表 - tables := dbi.GetTableMetedatas() + dm := dbi.GetMeta() + // 获取所有表 + tables := dm.GetTables() tableNames := make([]string, 0) for _, v := range tables { tableNames = append(tableNames, v["tableName"].(string)) @@ -338,7 +340,7 @@ func (d *Db) HintTables(rc *ctx.ReqCtx) { } // 获取所有表下的所有列信息 - columnMds := dbi.GetColumnMetadatas(tableNames...) + columnMds := dm.GetColumns(tableNames...) for _, v := range columnMds { tName := v["tableName"].(string) if res[tName] == nil { diff --git a/server/internal/devops/application/db_app.go b/server/internal/devops/application/db_app.go index b8054e54..cff49f1f 100644 --- a/server/internal/devops/application/db_app.go +++ b/server/internal/devops/application/db_app.go @@ -147,6 +147,7 @@ func (d *dbAppImpl) Delete(id uint64) { } func (d *dbAppImpl) GetDatabases(ed *entity.Db) []string { + ed.Network = ed.GetNetwork() databases := make([]string, 0) var dbConn *sql.DB var metaDb string @@ -422,6 +423,18 @@ func (d *DbInstance) Exec(sql string) (int64, error) { return res.RowsAffected() } +// 获取数据库元信息实现接口 +func (di *DbInstance) GetMeta() DbMetadata { + dbType := di.Type + if dbType == entity.DbTypeMysql { + return &MysqlMetadata{di: di} + } + if dbType == entity.DbTypePostgres { + return &PgsqlMetadata{di: di} + } + return nil +} + // 关闭连接 func (d *DbInstance) Close() { if d.db != nil { @@ -458,8 +471,32 @@ func CloseDb(dbId uint64, db string) { dbCache.Delete(GetDbCacheKey(dbId, db)) } -//-----------------------------------元数据------------------------------------------- +// -----------------------------------元数据------------------------------------------- +// 数据库元信息接口(表、列等元信息) +type DbMetadata interface { + // 获取表基础元信息, 如表名等 + GetTables() []map[string]interface{} + // 获取列元信息, 如列名等 + GetColumns(tableNames ...string) []map[string]interface{} + + // 获取表主键字段名,默认第一个字段 + GetPrimaryKey(tablename string) string + + // 获取表信息,比GetTables获取更详细的表信息 + GetTableInfos() []map[string]interface{} + + // 获取表索引信息 + GetTableIndex(tableName string) []map[string]interface{} + + // 获取建表ddl + GetCreateTableDdl(tableName string) []map[string]interface{} +} + +// 默认每次查询列元信息数量 +const DEFAULT_COLUMN_SIZE = 2000 + +// ---------------------------------- mysql元数据 ----------------------------------- const ( // mysql 表信息元数据 MYSQL_TABLE_MA = `SELECT table_name tableName, engine, table_comment tableComment, @@ -478,9 +515,6 @@ const ( FROM information_schema.STATISTICS WHERE table_schema = (SELECT database()) AND table_name = '%s' LIMIT 500` - // 默认每次查询列元信息数量 - DEFAULT_COLUMN_SIZE = 2000 - // mysql 列信息元数据 MYSQL_COLUMN_MA = `SELECT table_name tableName, column_name columnName, column_type columnType, column_comment columnComment, column_key columnKey, extra, is_nullable nullable from information_schema.columns @@ -491,6 +525,74 @@ const ( WHERE table_name in (%s) AND table_schema = (SELECT database())` ) +type MysqlMetadata struct { + di *DbInstance +} + +// 获取表基础元信息, 如表名等 +func (mm *MysqlMetadata) GetTables() []map[string]interface{} { + _, res, _ := mm.di.SelectData(MYSQL_TABLE_MA) + return res +} + +// 获取列元信息, 如列名等 +func (mm *MysqlMetadata) GetColumns(tableNames ...string) []map[string]interface{} { + var sql, tableName string + for i := 0; i < len(tableNames); i++ { + if i != 0 { + tableName = tableName + ", " + } + tableName = tableName + "'" + tableNames[i] + "'" + } + + pageNum := 1 + // 如果大于一个表,则统计列数并分页获取 + if len(tableNames) > 1 { + countSql := fmt.Sprintf(MYSQL_COLOUMN_MA_COUNT, tableName) + _, countRes, _ := mm.di.SelectData(countSql) + // 查询出所有列信息总数,手动分页获取所有数据 + maCount := int(countRes[0]["maNum"].(int64)) + // 计算需要查询的页数 + pageNum = maCount / DEFAULT_COLUMN_SIZE + if maCount%DEFAULT_COLUMN_SIZE > 0 { + pageNum++ + } + } + + res := make([]map[string]interface{}, 0) + for index := 0; index < pageNum; index++ { + sql = fmt.Sprintf(MYSQL_COLUMN_MA, tableName, index*DEFAULT_COLUMN_SIZE, DEFAULT_COLUMN_SIZE) + _, result, err := mm.di.SelectData(sql) + biz.ErrIsNilAppendErr(err, "获取数据库列信息失败: %s") + res = append(res, result...) + } + return res +} + +// 获取表主键字段名,默认第一个字段 +func (mm *MysqlMetadata) GetPrimaryKey(tablename string) string { + return mm.GetColumns(tablename)[0]["columnName"].(string) +} + +// 获取表信息,比GetTableMetedatas获取更详细的表信息 +func (mm *MysqlMetadata) GetTableInfos() []map[string]interface{} { + _, res, _ := mm.di.SelectData(MYSQL_TABLE_INFO) + return res +} + +// 获取表索引信息 +func (mm *MysqlMetadata) GetTableIndex(tableName string) []map[string]interface{} { + _, res, _ := mm.di.SelectData(MYSQL_INDEX_INFO) + return res +} + +// 获取建表ddl +func (mm *MysqlMetadata) GetCreateTableDdl(tableName string) []map[string]interface{} { + _, res, _ := mm.di.SelectData(fmt.Sprintf("show create table %s ", tableName)) + return res +} + +// ---------------------------------- pgsql元数据 ----------------------------------- const ( // postgres 表信息元数据 PGSQL_TABLE_MA = `SELECT obj_description(c.oid) AS "tableComment", c.relname AS "tableName" FROM pg_class c @@ -537,18 +639,18 @@ const ( ` ) -func (d *DbInstance) GetTableMetedatas() []map[string]interface{} { - var sql string - if d.Type == entity.DbTypeMysql { - sql = MYSQL_TABLE_MA - } else if d.Type == "postgres" { - sql = PGSQL_TABLE_MA - } - _, res, _ := d.SelectData(sql) +type PgsqlMetadata struct { + di *DbInstance +} + +// 获取表基础元信息, 如表名等 +func (pm *PgsqlMetadata) GetTables() []map[string]interface{} { + _, res, _ := pm.di.SelectData(PGSQL_TABLE_MA) return res } -func (d *DbInstance) GetColumnMetadatas(tableNames ...string) []map[string]interface{} { +// 获取列元信息, 如列名等 +func (pm *PgsqlMetadata) GetColumns(tableNames ...string) []map[string]interface{} { var sql, tableName string for i := 0; i < len(tableNames); i++ { if i != 0 { @@ -557,68 +659,48 @@ func (d *DbInstance) GetColumnMetadatas(tableNames ...string) []map[string]inter tableName = tableName + "'" + tableNames[i] + "'" } - var countSqlTmp string - var sqlTmp string - if d.Type == entity.DbTypeMysql { - countSqlTmp = MYSQL_COLOUMN_MA_COUNT - sqlTmp = MYSQL_COLUMN_MA - } else if d.Type == entity.DbTypePostgres { - countSqlTmp = PGSQL_COLUMN_MA_COUNT - sqlTmp = PGSQL_COLUMN_MA - } - - countSql := fmt.Sprintf(countSqlTmp, tableName) - _, countRes, _ := d.SelectData(countSql) - // 查询出所有列信息总数,手动分页获取所有数据 - maCount := int(countRes[0]["maNum"].(int64)) - // 计算需要查询的页数 - pageNum := maCount / DEFAULT_COLUMN_SIZE - if maCount%DEFAULT_COLUMN_SIZE > 0 { - pageNum++ + pageNum := 1 + // 如果大于一个表,则统计列数并分页获取 + if len(tableNames) > 1 { + countSql := fmt.Sprintf(PGSQL_COLUMN_MA_COUNT, tableName) + _, countRes, _ := pm.di.SelectData(countSql) + // 查询出所有列信息总数,手动分页获取所有数据 + maCount := int(countRes[0]["maNum"].(int64)) + // 计算需要查询的页数 + pageNum = maCount / DEFAULT_COLUMN_SIZE + if maCount%DEFAULT_COLUMN_SIZE > 0 { + pageNum++ + } } res := make([]map[string]interface{}, 0) for index := 0; index < pageNum; index++ { - sql = fmt.Sprintf(sqlTmp, tableName, index*DEFAULT_COLUMN_SIZE, DEFAULT_COLUMN_SIZE) - _, result, err := d.SelectData(sql) + sql = fmt.Sprintf(PGSQL_COLUMN_MA, tableName, index*DEFAULT_COLUMN_SIZE, DEFAULT_COLUMN_SIZE) + _, result, err := pm.di.SelectData(sql) biz.ErrIsNilAppendErr(err, "获取数据库列信息失败: %s") res = append(res, result...) } return res } -// 获取表的主键,目前默认第一列为主键 -func (d *DbInstance) GetPrimaryKey(tablename string) string { - return d.GetColumnMetadatas(tablename)[0]["columnName"].(string) +// 获取表主键字段名,默认第一个字段 +func (pm *PgsqlMetadata) GetPrimaryKey(tablename string) string { + return pm.GetColumns(tablename)[0]["columnName"].(string) } -func (d *DbInstance) GetTableInfos() []map[string]interface{} { - var sql string - if d.Type == entity.DbTypeMysql { - sql = MYSQL_TABLE_INFO - } else if d.Type == entity.DbTypePostgres { - sql = PGSQL_TABLE_INFO - } - _, res, _ := d.SelectData(sql) +// 获取表信息,比GetTables获取更详细的表信息 +func (pm *PgsqlMetadata) GetTableInfos() []map[string]interface{} { + _, res, _ := pm.di.SelectData(PGSQL_TABLE_INFO) return res } -func (d *DbInstance) GetTableIndex(tableName string) []map[string]interface{} { - var sql string - if d.Type == entity.DbTypeMysql { - sql = fmt.Sprintf(MYSQL_INDEX_INFO, tableName) - } else if d.Type == entity.DbTypePostgres { - sql = fmt.Sprintf(PGSQL_INDEX_INFO, tableName) - } - _, res, _ := d.SelectData(sql) +// 获取表索引信息 +func (pm *PgsqlMetadata) GetTableIndex(tableName string) []map[string]interface{} { + _, res, _ := pm.di.SelectData(PGSQL_INDEX_INFO) return res } -func (d *DbInstance) GetCreateTableDdl(tableName string) []map[string]interface{} { - var sql string - if d.Type == entity.DbTypeMysql { - sql = fmt.Sprintf("show create table %s ", tableName) - } - _, res, _ := d.SelectData(sql) - return res +// 获取建表ddl +func (mm *PgsqlMetadata) GetCreateTableDdl(tableName string) []map[string]interface{} { + return nil } diff --git a/server/internal/devops/application/db_sql_exec_app.go b/server/internal/devops/application/db_sql_exec_app.go index ead7c8e8..4abf8736 100644 --- a/server/internal/devops/application/db_sql_exec_app.go +++ b/server/internal/devops/application/db_sql_exec_app.go @@ -3,6 +3,7 @@ package application import ( "encoding/json" "fmt" + "mayfly-go/internal/devops/domain/entity" "mayfly-go/internal/devops/domain/repository" "mayfly-go/internal/devops/infrastructure/persistence" @@ -89,7 +90,7 @@ func doUpdate(update *sqlparser.Update, dbInstance *DbInstance, dbSqlExec *entit } // 获取表主键列名,排除使用别名 - primaryKey := dbInstance.GetPrimaryKey(tableName) + primaryKey := dbInstance.GetMeta().GetPrimaryKey(tableName) updateColumnsAndPrimaryKey := strings.Join(updateColumns, ",") + "," + primaryKey // 查询要更新字段数据的旧值,以及主键值 diff --git a/server/main.go b/server/main.go index 2db989fd..4c92a0d0 100644 --- a/server/main.go +++ b/server/main.go @@ -5,7 +5,5 @@ import ( ) func main() { - starter.PrintBanner() - starter.InitDb() starter.RunWebServer() } diff --git a/server/pkg/config/app.go b/server/pkg/config/app.go index bef8b380..3bc60c59 100644 --- a/server/pkg/config/app.go +++ b/server/pkg/config/app.go @@ -2,11 +2,11 @@ package config import "fmt" -type App struct { - Name string `yaml:"name"` - Version string `yaml:"version"` -} +const ( + AppName = "mayfly-go" + Version = "v1.2.5" +) -func (a *App) GetAppInfo() string { - return fmt.Sprintf("[%s:%s]", a.Name, a.Version) +func GetAppInfo() string { + return fmt.Sprintf("[%s:%s]", AppName, Version) } diff --git a/server/pkg/config/config.go b/server/pkg/config/config.go index 8ec7d6ad..62a1879b 100644 --- a/server/pkg/config/config.go +++ b/server/pkg/config/config.go @@ -11,12 +11,12 @@ import ( // 配置文件映射对象 var Conf *Config -func init() { +func Init() { configFilePath := flag.String("e", "./config.yml", "配置文件路径,默认为可执行文件目录") flag.Parse() // 获取启动参数中,配置文件的绝对路径 path, _ := filepath.Abs(*configFilePath) - startConfigParam = &CmdConfigParam{ConfigFilePath: path} + startConfigParam := &CmdConfigParam{ConfigFilePath: path} // 读取配置文件信息 yc := &Config{} if err := utils.LoadYml(startConfigParam.ConfigFilePath, yc); err != nil { @@ -32,12 +32,8 @@ type CmdConfigParam struct { ConfigFilePath string // -e 配置文件路径 } -// 启动可执行文件时的参数 -var startConfigParam *CmdConfigParam - // yaml配置文件映射对象 type Config struct { - App *App `yaml:"app"` Server *Server `yaml:"server"` Jwt *Jwt `yaml:"jwt"` Aes *Aes `yaml:"aes"` diff --git a/server/pkg/ctx/token.go b/server/pkg/ctx/token.go index 46e92d3a..9d3a7a66 100644 --- a/server/pkg/ctx/token.go +++ b/server/pkg/ctx/token.go @@ -13,9 +13,14 @@ import ( "github.com/golang-jwt/jwt/v4" ) -var ( - JwtKey = config.Conf.Jwt.Key +func InitTokenConfig() { + JwtKey = config.Conf.Jwt.Key ExpTime = config.Conf.Jwt.ExpireTime +} + +var ( + JwtKey string + ExpTime uint64 ) // 创建用户token @@ -27,7 +32,8 @@ func CreateToken(userId uint64, username string) string { "username": username, "exp": time.Now().Add(time.Minute * time.Duration(ExpTime)).Unix(), }) - // 如果jwt key为空,则随机生成字符串 + + // 如果配置文件中的jwt key为空,则随机生成字符串 if JwtKey == "" { JwtKey = utils.RandString(32) global.Log.Infof("config.yml未配置jwt.key, 随机生成key为: %s", JwtKey) diff --git a/server/pkg/logger/logger.go b/server/pkg/logger/logger.go index 5f5730ff..5e07f23e 100644 --- a/server/pkg/logger/logger.go +++ b/server/pkg/logger/logger.go @@ -13,7 +13,7 @@ import ( var Log = logrus.New() -func init() { +func Init() { Log.SetFormatter(new(LogFormatter)) Log.SetReportCaller(true) diff --git a/server/pkg/starter/banner.go b/server/pkg/starter/banner.go index c5cfae21..14839bfa 100644 --- a/server/pkg/starter/banner.go +++ b/server/pkg/starter/banner.go @@ -1,16 +1,17 @@ package starter import ( + "fmt" + "mayfly-go/pkg/config" "mayfly-go/pkg/global" ) -func PrintBanner() { - global.Log.Print(` - __ _ - _ __ ___ __ _ _ _ / _| |_ _ __ _ ___ - | '_ ' _ \ / _' | | | | |_| | | | |_____ / _' |/ _ \ - | | | | | | (_| | |_| | _| | |_| |_____| (_| | (_) | - |_| |_| |_|\__,_|\__, |_| |_|\__, | \__, |\___/ - |___/ |___/ |___/ - `) +func printBanner() { + global.Log.Print(fmt.Sprintf(` + __ _ + _ __ ___ __ _ _ _ / _| |_ _ __ _ ___ +| '_ ' _ \ / _' | | | | |_| | | | |_____ / _' |/ _ \ +| | | | | | (_| | |_| | _| | |_| |_____| (_| | (_) | version: %s +|_| |_| |_|\__,_|\__, |_| |_|\__, | \__, |\___/ + |___/ |___/ |___/ `, config.Version)) } diff --git a/server/pkg/starter/gorm.go b/server/pkg/starter/gorm.go index e2be4d19..cbbeca9c 100644 --- a/server/pkg/starter/gorm.go +++ b/server/pkg/starter/gorm.go @@ -10,11 +10,11 @@ import ( "gorm.io/gorm/schema" ) -func InitDb() { - global.Db = GormMysql() +func initDb() { + global.Db = gormMysql() } -func GormMysql() *gorm.DB { +func gormMysql() *gorm.DB { m := config.Conf.Mysql if m == nil || m.Dbname == "" { global.Log.Panic("未找到数据库配置信息") diff --git a/server/pkg/starter/run.go b/server/pkg/starter/run.go new file mode 100644 index 00000000..d161de34 --- /dev/null +++ b/server/pkg/starter/run.go @@ -0,0 +1,23 @@ +package starter + +import ( + "mayfly-go/pkg/config" + "mayfly-go/pkg/ctx" + "mayfly-go/pkg/logger" +) + +func RunWebServer() { + // 初始化config.yml配置文件映射信息 + config.Init() + // 初始化日志配置信息 + logger.Init() + // 初始化jwt key与expire time等 + ctx.InitTokenConfig() + + // 打印banner + printBanner() + // 初始化并赋值数据库全局变量 + initDb() + // 运行web服务 + runWebServer() +} diff --git a/server/pkg/starter/web-server.go b/server/pkg/starter/web-server.go index 79630d6f..6c317abb 100644 --- a/server/pkg/starter/web-server.go +++ b/server/pkg/starter/web-server.go @@ -8,7 +8,7 @@ import ( "mayfly-go/pkg/global" ) -func RunWebServer() { +func runWebServer() { // 权限处理器 ctx.UseBeforeHandlerInterceptor(ctx.PermissionHandler) // 日志处理器 @@ -21,11 +21,7 @@ func RunWebServer() { server := config.Conf.Server port := server.GetPort() - if app := config.Conf.App; app != nil { - global.Log.Infof("%s- Listening and serving HTTP on %s", app.GetAppInfo(), port) - } else { - global.Log.Infof("Listening and serving HTTP on %s", port) - } + global.Log.Infof("Listening and serving HTTP on %s", port) var err error if server.Tls != nil && server.Tls.Enable {