- 增加https参数
- 修复bug "「资产」无法通过「资产标签」过滤" close #33 - 修复bug "切換授權使用者登錄後,進入資產列表後會有錯誤" close #53
This commit is contained in:
parent
7599c09191
commit
1b7dd820b3
@ -1,4 +1,4 @@
|
|||||||
db: mysql
|
db: sqlite
|
||||||
mysql:
|
mysql:
|
||||||
hostname: 172.16.101.32
|
hostname: 172.16.101.32
|
||||||
port: 3306
|
port: 3306
|
||||||
|
12
main.go
12
main.go
@ -10,6 +10,7 @@ import (
|
|||||||
"gorm.io/driver/mysql"
|
"gorm.io/driver/mysql"
|
||||||
"gorm.io/driver/sqlite"
|
"gorm.io/driver/sqlite"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
"gorm.io/gorm/logger"
|
||||||
"io"
|
"io"
|
||||||
"next-terminal/pkg/api"
|
"next-terminal/pkg/api"
|
||||||
"next-terminal/pkg/config"
|
"next-terminal/pkg/config"
|
||||||
@ -73,7 +74,9 @@ func Run() error {
|
|||||||
//Logger: logger.Default.LogMode(logger.Info),
|
//Logger: logger.Default.LogMode(logger.Info),
|
||||||
})
|
})
|
||||||
} else {
|
} 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 {
|
if err != nil {
|
||||||
@ -206,5 +209,10 @@ func Run() error {
|
|||||||
go handle.RunTicker()
|
go handle.RunTicker()
|
||||||
go handle.RunDataFix()
|
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)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,8 @@ type Sqlite struct {
|
|||||||
|
|
||||||
type Server struct {
|
type Server struct {
|
||||||
Addr string
|
Addr string
|
||||||
|
Cert string
|
||||||
|
Key string
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetupConfig() (*Config, error) {
|
func SetupConfig() (*Config, error) {
|
||||||
@ -49,6 +51,8 @@ func SetupConfig() (*Config, error) {
|
|||||||
pflag.String("mysql.database", "next_terminal", "mysql database")
|
pflag.String("mysql.database", "next_terminal", "mysql database")
|
||||||
|
|
||||||
pflag.String("server.addr", "", "server listen addr")
|
pflag.String("server.addr", "", "server listen addr")
|
||||||
|
pflag.String("server.cert", "", "tls cert file")
|
||||||
|
pflag.String("server.key", "", "tls key file")
|
||||||
|
|
||||||
pflag.Parse()
|
pflag.Parse()
|
||||||
_ = viper.BindPFlags(pflag.CommandLine)
|
_ = viper.BindPFlags(pflag.CommandLine)
|
||||||
@ -68,6 +72,8 @@ func SetupConfig() (*Config, error) {
|
|||||||
},
|
},
|
||||||
Server: &Server{
|
Server: &Server{
|
||||||
Addr: viper.GetString("server.addr"),
|
Addr: viper.GetString("server.addr"),
|
||||||
|
Cert: viper.GetString("server.cert"),
|
||||||
|
Key: viper.GetString("server.key"),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,8 +111,13 @@ func FindPageAsset(pageIndex, pageSize int, name, protocol, tags string, account
|
|||||||
if len(tags) > 0 {
|
if len(tags) > 0 {
|
||||||
tagArr := strings.Split(tags, ",")
|
tagArr := strings.Split(tags, ",")
|
||||||
for i := range tagArr {
|
for i := range tagArr {
|
||||||
db = db.Where("find_in_set(?, assets.tags)", tagArr[i])
|
if global.Config.DB == "sqlite" {
|
||||||
dbCounter = dbCounter.Where("find_in_set(?, assets.tags)", tagArr[i])
|
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])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +87,8 @@ func FindUserGroupById(id string) (o UserGroup, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func FindUserGroupIdsByUserId(userId string) (o []string, 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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,8 @@ class Asset extends Component {
|
|||||||
queryParams: {
|
queryParams: {
|
||||||
pageIndex: 1,
|
pageIndex: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
protocol: ''
|
protocol: '',
|
||||||
|
tags: ''
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
modalVisible: false,
|
modalVisible: false,
|
||||||
@ -75,6 +76,7 @@ class Asset extends Component {
|
|||||||
modalConfirmLoading: false,
|
modalConfirmLoading: false,
|
||||||
credentials: [],
|
credentials: [],
|
||||||
tags: [],
|
tags: [],
|
||||||
|
selectedTags: [],
|
||||||
model: {},
|
model: {},
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
delBtnLoading: false,
|
delBtnLoading: false,
|
||||||
@ -171,6 +173,9 @@ class Asset extends Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
handleTagsChange = tags => {
|
handleTagsChange = tags => {
|
||||||
|
this.setState({
|
||||||
|
selectedTags: tags
|
||||||
|
})
|
||||||
let query = {
|
let query = {
|
||||||
...this.state.queryParams,
|
...this.state.queryParams,
|
||||||
'pageIndex': 1,
|
'pageIndex': 1,
|
||||||
@ -604,6 +609,7 @@ class Asset extends Component {
|
|||||||
|
|
||||||
<Select mode="multiple"
|
<Select mode="multiple"
|
||||||
allowClear
|
allowClear
|
||||||
|
value={this.state.selectedTags}
|
||||||
placeholder="资产标签" onChange={this.handleTagsChange}
|
placeholder="资产标签" onChange={this.handleTagsChange}
|
||||||
style={{minWidth: 150}}>
|
style={{minWidth: 150}}>
|
||||||
{this.state.tags.map(tag => {
|
{this.state.tags.map(tag => {
|
||||||
@ -628,7 +634,10 @@ class Asset extends Component {
|
|||||||
|
|
||||||
<Button icon={<UndoOutlined/>} onClick={() => {
|
<Button icon={<UndoOutlined/>} onClick={() => {
|
||||||
this.inputRefOfName.current.setValue('');
|
this.inputRefOfName.current.setValue('');
|
||||||
this.loadTableData({pageIndex: 1, pageSize: 10, protocol: ''})
|
this.setState({
|
||||||
|
selectedTags: []
|
||||||
|
})
|
||||||
|
this.loadTableData({pageIndex: 1, pageSize: 10, protocol: '', tags: ''})
|
||||||
}}>
|
}}>
|
||||||
|
|
||||||
</Button>
|
</Button>
|
||||||
|
Loading…
Reference in New Issue
Block a user