- 增加https参数

- 修复bug "「资产」无法通过「资产标签」过滤" close #33
- 修复bug "切換授權使用者登錄後,進入資產列表後會有錯誤" close #53
This commit is contained in:
dushixiang 2021-02-12 16:50:38 +08:00
parent 7599c09191
commit 1b7dd820b3
6 changed files with 37 additions and 8 deletions

View File

@ -1,4 +1,4 @@
db: mysql
db: sqlite
mysql:
hostname: 172.16.101.32
port: 3306

12
main.go
View File

@ -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)
}
}

View File

@ -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"),
},
}

View File

@ -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])
}
}
}

View File

@ -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
}

View File

@ -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 {
<Select mode="multiple"
allowClear
value={this.state.selectedTags}
placeholder="资产标签" onChange={this.handleTagsChange}
style={{minWidth: 150}}>
{this.state.tags.map(tag => {
@ -628,7 +634,10 @@ class Asset extends Component {
<Button icon={<UndoOutlined/>} onClick={() => {
this.inputRefOfName.current.setValue('');
this.loadTableData({pageIndex: 1, pageSize: 10, protocol: ''})
this.setState({
selectedTags: []
})
this.loadTableData({pageIndex: 1, pageSize: 10, protocol: '', tags: ''})
}}>
</Button>