diff --git a/config.yml b/config.yml index 62aa885..1f2bbb9 100644 --- a/config.yml +++ b/config.yml @@ -1,4 +1,4 @@ -db: mysql +db: sqlite mysql: hostname: 172.16.101.32 port: 3306 diff --git a/main.go b/main.go index 9ab7820..0ecf63f 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,7 @@ import ( "gorm.io/driver/mysql" "gorm.io/driver/sqlite" "gorm.io/gorm" + "gorm.io/gorm/logger" "io" "next-terminal/pkg/api" "next-terminal/pkg/config" @@ -73,7 +74,9 @@ func Run() error { //Logger: logger.Default.LogMode(logger.Info), }) } else { - global.DB, err = gorm.Open(sqlite.Open(global.Config.Sqlite.File), &gorm.Config{}) + global.DB, err = gorm.Open(sqlite.Open(global.Config.Sqlite.File), &gorm.Config{ + Logger: logger.Default.LogMode(logger.Info), + }) } if err != nil { @@ -206,5 +209,10 @@ func Run() error { go handle.RunTicker() go handle.RunDataFix() - return e.Start(global.Config.Server.Addr) + if global.Config.Server.Cert != "" && global.Config.Server.Key != "" { + return e.StartTLS(global.Config.Server.Addr, global.Config.Server.Cert, global.Config.Server.Key) + } else { + return e.Start(global.Config.Server.Addr) + } + } diff --git a/pkg/config/config.go b/pkg/config/config.go index 3dd17d4..23d21a8 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -28,6 +28,8 @@ type Sqlite struct { type Server struct { Addr string + Cert string + Key string } func SetupConfig() (*Config, error) { @@ -49,6 +51,8 @@ func SetupConfig() (*Config, error) { pflag.String("mysql.database", "next_terminal", "mysql database") pflag.String("server.addr", "", "server listen addr") + pflag.String("server.cert", "", "tls cert file") + pflag.String("server.key", "", "tls key file") pflag.Parse() _ = viper.BindPFlags(pflag.CommandLine) @@ -68,6 +72,8 @@ func SetupConfig() (*Config, error) { }, Server: &Server{ Addr: viper.GetString("server.addr"), + Cert: viper.GetString("server.cert"), + Key: viper.GetString("server.key"), }, } diff --git a/pkg/model/asset.go b/pkg/model/asset.go index 6d2d67e..98e60dc 100644 --- a/pkg/model/asset.go +++ b/pkg/model/asset.go @@ -111,8 +111,13 @@ func FindPageAsset(pageIndex, pageSize int, name, protocol, tags string, account if len(tags) > 0 { tagArr := strings.Split(tags, ",") for i := range tagArr { - db = db.Where("find_in_set(?, assets.tags)", tagArr[i]) - dbCounter = dbCounter.Where("find_in_set(?, assets.tags)", tagArr[i]) + if global.Config.DB == "sqlite" { + db = db.Where("(',' || assets.tags || ',') LIKE ?", "%,"+tagArr[i]+",%") + dbCounter = dbCounter.Where("(',' || assets.tags || ',') LIKE ?", "%,"+tagArr[i]+",%") + } else { + db = db.Where("find_in_set(?, assets.tags)", tagArr[i]) + dbCounter = dbCounter.Where("find_in_set(?, assets.tags)", tagArr[i]) + } } } diff --git a/pkg/model/user-group.go b/pkg/model/user-group.go index 67ad44f..c5e6e03 100644 --- a/pkg/model/user-group.go +++ b/pkg/model/user-group.go @@ -87,7 +87,8 @@ func FindUserGroupById(id string) (o UserGroup, err error) { } func FindUserGroupIdsByUserId(userId string) (o []string, err error) { - err = global.DB.Table("user_groups").Select("user_groups.id").Joins("right join user_group_members on user_groups.id = user_group_members.user_group_id").Where("user_group_members.user_id = ?", userId).Find(&o).Error + // 先查询用户所在的用户 + err = global.DB.Table("user_group_members").Select("user_group_id").Where("user_id = ?", userId).Find(&o).Error return } diff --git a/web/src/components/asset/Asset.js b/web/src/components/asset/Asset.js index 0735a20..b67f4f6 100644 --- a/web/src/components/asset/Asset.js +++ b/web/src/components/asset/Asset.js @@ -67,7 +67,8 @@ class Asset extends Component { queryParams: { pageIndex: 1, pageSize: 10, - protocol: '' + protocol: '', + tags: '' }, loading: false, modalVisible: false, @@ -75,6 +76,7 @@ class Asset extends Component { modalConfirmLoading: false, credentials: [], tags: [], + selectedTags: [], model: {}, selectedRowKeys: [], delBtnLoading: false, @@ -171,6 +173,9 @@ class Asset extends Component { }; handleTagsChange = tags => { + this.setState({ + selectedTags: tags + }) let query = { ...this.state.queryParams, 'pageIndex': 1, @@ -604,6 +609,7 @@ class Asset extends Component {