From 64f8f9a2001b471d131758a9334d27be7a9fb91b Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Sat, 17 Jun 2023 16:04:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20meta=5Fsql=E6=96=87=E4=BB=B6=E4=B8=ADwin?= =?UTF-8?q?dows=E6=8D=A2=E8=A1=8C=E7=AC=A6=E4=B8=8D=E5=90=8C=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/internal/db/application/meta.go | 4 +++- server/internal/db/application/metasql/mysql_meta.sql | 6 +++--- server/internal/db/application/metasql/pgsql_meta.sql | 8 ++++---- server/internal/sys/api/account.go | 1 - server/pkg/otp/otp.go | 6 ++++++ server/pkg/utils/str.go | 4 ++-- 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/server/internal/db/application/meta.go b/server/internal/db/application/meta.go index 2f75803e..8f0a1f18 100644 --- a/server/internal/db/application/meta.go +++ b/server/internal/db/application/meta.go @@ -3,6 +3,7 @@ package application import ( "embed" "mayfly-go/pkg/biz" + "mayfly-go/pkg/utils" "strings" ) @@ -84,9 +85,10 @@ func GetLocalSql(file, key string) string { biz.ErrIsNilAppendErr(err, "获取sql meta文件内容失败: %s") allSql := string(bytes) - sqls := strings.Split(allSql, "\n\n") + sqls := strings.Split(allSql, "---------------------------------------") var resSql string for _, sql := range sqls { + sql = utils.StrTrimSpaceAndBr(sql) // 获取sql第一行的sql备注信息如:--MYSQL_TABLE_MA 表信息元数据 info := strings.SplitN(sql, "\n", 2) // 原始sql,即去除第一行的key与备注信息 diff --git a/server/internal/db/application/metasql/mysql_meta.sql b/server/internal/db/application/metasql/mysql_meta.sql index 59f4aa01..eaf46cbb 100644 --- a/server/internal/db/application/metasql/mysql_meta.sql +++ b/server/internal/db/application/metasql/mysql_meta.sql @@ -9,7 +9,7 @@ WHERE SELECT database () ) - +--------------------------------------- --MYSQL_TABLE_INFO 表详细信息 SELECT table_name tableName, @@ -25,7 +25,7 @@ WHERE SELECT database () ) - +--------------------------------------- --MYSQL_INDEX_INFO 索引信息 SELECT index_name indexName, @@ -45,7 +45,7 @@ WHERE ORDER BY index_name asc, SEQ_IN_INDEX asc - +--------------------------------------- --MYSQL_COLUMN_MA 列信息元数据 SELECT table_name tableName, diff --git a/server/internal/db/application/metasql/pgsql_meta.sql b/server/internal/db/application/metasql/pgsql_meta.sql index f078bada..3b0e7387 100644 --- a/server/internal/db/application/metasql/pgsql_meta.sql +++ b/server/internal/db/application/metasql/pgsql_meta.sql @@ -11,7 +11,7 @@ WHERE current_schema () ) AND c.reltype > 0 - +--------------------------------------- --PGSQL_TABLE_INFO 表详细信息 SELECT obj_description (c.oid) AS "tableComment", @@ -28,7 +28,7 @@ WHERE current_schema () ) AND c.reltype > 0 - +--------------------------------------- --PGSQL_INDEX_INFO 表索引信息 SELECT indexname AS "indexName", @@ -41,7 +41,7 @@ WHERE current_schema () ) AND tablename = '%s' - +--------------------------------------- --PGSQL_COLUMN_MA 表列信息 SELECT C.relname AS "tableName", @@ -64,7 +64,7 @@ WHERE ORDER BY C.relname DESC, A.attnum ASC - +--------------------------------------- --PGSQL_TABLE_DDL_FUNC 表ddl函数 CREATE OR REPLACE FUNCTION showcreatetable(namespace character varying, tablename character varying) RETURNS character varying AS diff --git a/server/internal/sys/api/account.go b/server/internal/sys/api/account.go index 7ad62e8f..d29ef718 100644 --- a/server/internal/sys/api/account.go +++ b/server/internal/sys/api/account.go @@ -103,7 +103,6 @@ func (a *Account) Login(rc *req.Ctx) { }) biz.ErrIsNilAppendErr(err, "otp生成失败: %s") res["otpUrl"] = key.URL() - // 使用otpSecret充当token进行二次校验 otpSecret = key.Secret() } // 缓存otpInfo, 只有双因素校验通过才可返回真正的accessToken diff --git a/server/pkg/otp/otp.go b/server/pkg/otp/otp.go index 4334fb31..01334d6a 100644 --- a/server/pkg/otp/otp.go +++ b/server/pkg/otp/otp.go @@ -1,6 +1,8 @@ package otp import ( + "time" + otp_t "github.com/pquerna/otp" totp_t "github.com/pquerna/otp/totp" ) @@ -17,3 +19,7 @@ func Validate(code string, secret string) bool { } return totp_t.Validate(code, secret) } + +func GenTotpCode(code string, secret string) (string, error) { + return totp_t.GenerateCode(secret, time.Now()) +} diff --git a/server/pkg/utils/str.go b/server/pkg/utils/str.go index 664cb21a..0f5c27b5 100644 --- a/server/pkg/utils/str.go +++ b/server/pkg/utils/str.go @@ -18,11 +18,11 @@ func StrTrim(str string) string { return strings.Trim(str, " ") } -// 去除字符串左右空字符与\n换行 +// 去除字符串左右空字符与\n\r换行回车符 func StrTrimSpaceAndBr(str string) string { return strings.TrimFunc(str, func(r rune) bool { s := string(r) - return s == " " || s == "\n" + return s == " " || s == "\n" || s == "\r" }) }