mirror of
https://github.com/flipped-aurora/gin-vue-admin.git
synced 2026-09-21 04:29:32 +00:00
发布v2.7.8Beta1 (#1957)
* beta:2.7.8-a 增加自动化创建树形结构 (#1941) * feat: 支持创建树形结构 --------- Co-authored-by: piexlMax(奇淼 <qimiaojiangjizhao@gmail.com> * 优化user store部分写法 * Update user.js * feat: 升级版本号 * Dev 278 beta2 (#1954) * 在关闭详情弹窗后 detailFrom为空对象,arr为undefined 使用slice控制台会报错 * 查询不重置pageSize * 优化主题模式相关内容 * 优化弹窗手机端显示 * bugfix:PostgreSQL initdb (#1953) * bugfix:postgresql增加显示指定template --------- Co-authored-by: PiexlMax(奇淼 <165128580+pixelmaxQm@users.noreply.github.com> --------- Co-authored-by: zayn <972858472@qq.com> Co-authored-by: Azir <2075125282@qq.com> Co-authored-by: Qing Liang <106448173+xue-ding-e@users.noreply.github.com> * docs:调整部分代码注释以及代码格式 * feat: 自动化代码字典支持多选 * fix:调整值接收器和指针接收器 * feat: 支持导出表格复制,优化增加方法页面。 * chore:初始化代码规范化。 --------- Co-authored-by: piexlMax(奇淼 <qimiaojiangjizhao@gmail.com> Co-authored-by: Azir <2075125282@qq.com> Co-authored-by: zayn <972858472@qq.com> Co-authored-by: Qing Liang <106448173+xue-ding-e@users.noreply.github.com> Co-authored-by: cjb <75364055@qq.com>
This commit is contained in:
co-authored by
piexlMax(奇淼
zayn
Azir
Qing Liang
cjb
parent
80c54ad890
commit
283143e1bf
@@ -158,7 +158,7 @@ func CreateApiStructAst(apis []system.SysApi) *[]ast.Expr {
|
||||
return &apiElts
|
||||
}
|
||||
|
||||
// 检查是否存在Import
|
||||
// CheckImport 检查是否存在Import
|
||||
func CheckImport(file *ast.File, importPath string) bool {
|
||||
for _, imp := range file.Imports {
|
||||
// Remove quotes around the import path
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"os"
|
||||
)
|
||||
|
||||
// 自动为 gorm.go 注册一个自动迁移
|
||||
// AddRegisterTablesAst 自动为 gorm.go 注册一个自动迁移
|
||||
func AddRegisterTablesAst(path, funcName, pk, varName, dbName, model string) {
|
||||
modelPk := fmt.Sprintf("github.com/flipped-aurora/gin-vue-admin/server/model/%s", pk)
|
||||
src, err := os.ReadFile(path)
|
||||
@@ -147,7 +147,7 @@ func addAutoMigrate(astBody *ast.BlockStmt, dbname string, pk string, model stri
|
||||
}
|
||||
}
|
||||
|
||||
// 为automigrate增加实参
|
||||
// NeedAppendModel 为automigrate增加实参
|
||||
func NeedAppendModel(callNode ast.Node, pk string, model string) bool {
|
||||
flag := true
|
||||
ast.Inspect(callNode, func(node ast.Node) bool {
|
||||
|
||||
@@ -2,6 +2,7 @@ package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/flipped-aurora/gin-vue-admin/server/model/common"
|
||||
"math/rand"
|
||||
"reflect"
|
||||
"strings"
|
||||
@@ -67,7 +68,7 @@ func MaheHump(s string) string {
|
||||
return strings.Join(words, "")
|
||||
}
|
||||
|
||||
// 随机字符串
|
||||
// RandomString 随机字符串
|
||||
func RandomString(n int) string {
|
||||
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
|
||||
b := make([]rune, n)
|
||||
@@ -80,3 +81,28 @@ func RandomString(n int) string {
|
||||
func RandomInt(min, max int) int {
|
||||
return min + rand.Intn(max-min)
|
||||
}
|
||||
|
||||
// BuildTree 用于构建一个树形结构
|
||||
func BuildTree[T common.TreeNode[T]](nodes []T) []T {
|
||||
nodeMap := make(map[int]T)
|
||||
// 创建一个基本map
|
||||
for i := range nodes {
|
||||
nodeMap[nodes[i].GetID()] = nodes[i]
|
||||
}
|
||||
|
||||
for i := range nodes {
|
||||
if nodes[i].GetParentID() != 0 {
|
||||
parent := nodeMap[nodes[i].GetParentID()]
|
||||
parent.SetChildren(nodes[i])
|
||||
}
|
||||
}
|
||||
|
||||
var rootNodes []T
|
||||
|
||||
for i := range nodeMap {
|
||||
if nodeMap[i].GetParentID() == 0 {
|
||||
rootNodes = append(rootNodes, nodeMap[i])
|
||||
}
|
||||
}
|
||||
return rootNodes
|
||||
}
|
||||
|
||||
+2
-2
@@ -43,7 +43,7 @@ func (j *JWT) CreateClaims(baseClaims request.BaseClaims) request.CustomClaims {
|
||||
return claims
|
||||
}
|
||||
|
||||
// 创建一个token
|
||||
// CreateToken 创建一个token
|
||||
func (j *JWT) CreateToken(claims request.CustomClaims) (string, error) {
|
||||
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
|
||||
return token.SignedString(j.SigningKey)
|
||||
@@ -57,7 +57,7 @@ func (j *JWT) CreateTokenByOldToken(oldToken string, claims request.CustomClaims
|
||||
return v.(string), err
|
||||
}
|
||||
|
||||
// 解析 token
|
||||
// ParseToken 解析 token
|
||||
func (j *JWT) ParseToken(tokenString string) (*request.CustomClaims, error) {
|
||||
token, err := jwt.ParseWithClaims(tokenString, &request.CustomClaims{}, func(token *jwt.Token) (i interface{}, e error) {
|
||||
return j.SigningKey, nil
|
||||
|
||||
@@ -72,7 +72,7 @@ func (t *timer) AddTaskByFunc(cronName string, spec string, fun func(), taskName
|
||||
return id, err
|
||||
}
|
||||
|
||||
// AddTaskByFuncWithSeconds 通过函数的方法使用WithSeconds添加任务
|
||||
// AddTaskByFuncWithSecond 通过函数的方法使用WithSeconds添加任务
|
||||
func (t *timer) AddTaskByFuncWithSecond(cronName string, spec string, fun func(), taskName string, option ...cron.Option) (cron.EntryID, error) {
|
||||
t.Lock()
|
||||
defer t.Unlock()
|
||||
@@ -186,7 +186,7 @@ func (t *timer) StopCron(cronName string) {
|
||||
}
|
||||
}
|
||||
|
||||
// Remove 从cronName 删除指定任务
|
||||
// RemoveTask 从cronName 删除指定任务
|
||||
func (t *timer) RemoveTask(cronName string, id int) {
|
||||
t.Lock()
|
||||
defer t.Unlock()
|
||||
|
||||
Reference in New Issue
Block a user