商业版增加UAM功能

This commit is contained in:
刘祥超
2022-03-29 21:25:30 +08:00
parent b33e9d9187
commit 4b916829a4
6 changed files with 53 additions and 8 deletions

View File

@@ -250,6 +250,23 @@ func (this *ServerHelper) createSettingsMenu(secondMenuItem string, serverIdStri
"isActive": secondMenuItem == "reverseProxy", "isActive": secondMenuItem == "reverseProxy",
"isOn": serverConfig.ReverseProxyRef != nil && serverConfig.ReverseProxyRef.IsOn, "isOn": serverConfig.ReverseProxyRef != nil && serverConfig.ReverseProxyRef.IsOn,
}) })
if teaconst.IsPlus {
menuItems = append(menuItems, maps.Map{
"name": "-",
"url": "",
"isActive": false,
})
menuItems = append(menuItems, maps.Map{
"name": "全站防护",
"url": "/servers/server/settings/uam?serverId=" + serverIdString,
"isActive": secondMenuItem == "uam",
"isOn": serverConfig.UAM != nil && serverConfig.UAM.IsOn,
"isImportant": serverConfig.UAM != nil && serverConfig.UAM.IsOn,
})
}
menuItems = append(menuItems, maps.Map{ menuItems = append(menuItems, maps.Map{
"name": "-", "name": "-",
"url": "", "url": "",

View File

@@ -0,0 +1,28 @@
// UAM模式配置
Vue.component("uam-config-box", {
props: ["v-uam-config"],
data: function () {
let config = this.vUamConfig
if (config == null) {
config = {
isOn: false
}
}
return {
config: config
}
},
template: `<div>
<input type="hidden" name="uamJSON" :value="JSON.stringify(config)"/>
<table class="ui table definition selectable">
<tr>
<td class="title">启用全站防护</td>
<td>
<checkbox v-model="config.isOn"></checkbox>
<p class="comment">启用后,访问网站时,自动检查浏览器环境,阻止非正常访问。</p>
</td>
</tr>
</table>
<div class="margin"></div>
</div>`
})

View File

@@ -2,8 +2,8 @@
<div class="left-box" :class="{disabled:leftMenuItemIsDisabled}"> <div class="left-box" :class="{disabled:leftMenuItemIsDisabled}">
<div class="ui menu text blue vertical small"> <div class="ui menu text blue vertical small">
<a class="item" v-for="item in leftMenuItems" :href="item.url" :class="{active:item.isActive, separator:item.name == '-', on:item.isOn, off:item.isOff}"> <a class="item" v-for="item in leftMenuItems" :href="item.url" :class="{active:item.isActive, separator:item.name == '-', on:item.isOn, off:item.isOff||item.isImportant}">
<span v-if="item.name != '-'"><i class="icon play tiny" :style="{'visibility':item.isActive ? 'visible' : 'hidden'}"></i>{{item.name}}<var v-if="item.isOff"></var></span> <span v-if="item.name != '-'"><i class="icon play tiny" :style="{'visibility':item.isActive ? 'visible' : 'hidden'}"></i>{{item.name}}<var v-if="item.isOff"></var><var v-if="item.isImportant"></var></span>
</a> </a>
</div> </div>
</div> </div>

View File

@@ -2,8 +2,8 @@
<div class="left-box without-tabbar" :class="{disabled:leftMenuItemIsDisabled}"> <div class="left-box without-tabbar" :class="{disabled:leftMenuItemIsDisabled}">
<div class="ui menu text blue vertical small"> <div class="ui menu text blue vertical small">
<a class="item" v-for="item in leftMenuItems" :href="item.url" :class="{active:item.isActive, separator:item.name == '-', on:item.isOn, off:item.isOff}"> <a class="item" v-for="item in leftMenuItems" :href="item.url" :class="{active:item.isActive, separator:item.name == '-', on:item.isOn, off:item.isOff||item.isImportant}">
<span v-if="item.name != '-'"><i class="icon play tiny" :style="{'visibility':item.isActive ? 'visible' : 'hidden'}"></i>{{item.name}}<var v-if="item.isOff"></var></span> <span v-if="item.name != '-'"><i class="icon play tiny" :style="{'visibility':item.isActive ? 'visible' : 'hidden'}"></i>{{item.name}}<var v-if="item.isOff"></var><var v-if="item.isImportant"></var></span>
</a> </a>
</div> </div>
</div> </div>

View File

@@ -2,8 +2,8 @@
<div class="left-box with-menu" :class="{disabled:leftMenuItemIsDisabled}"> <div class="left-box with-menu" :class="{disabled:leftMenuItemIsDisabled}">
<div class="ui menu text blue vertical small"> <div class="ui menu text blue vertical small">
<a class="item" v-for="item in leftMenuItems" :href="item.url" :class="{active:item.isActive, separator:item.name == '-', on:item.isOn, off:item.isOff}"> <a class="item" v-for="item in leftMenuItems" :href="item.url" :class="{active:item.isActive, separator:item.name == '-', on:item.isOn, off:item.isOff||item.isImportant}">
<span v-if="item.name != '-'"><i class="icon play tiny" :style="{'visibility':item.isActive ? 'visible' : 'hidden'}"></i>{{item.name}}<var v-if="item.isOff"></var></span> <span v-if="item.name != '-'"><i class="icon play tiny" :style="{'visibility':item.isActive ? 'visible' : 'hidden'}"></i>{{item.name}}<var v-if="item.isOff"></var><var v-if="item.isImportant"></var></span>
</a> </a>
</div> </div>
</div> </div>

View File

@@ -2,8 +2,8 @@
<div class="left-box without-menu" :class="{disabled:leftMenuItemIsDisabled}"> <div class="left-box without-menu" :class="{disabled:leftMenuItemIsDisabled}">
<div class="ui menu text blue vertical small"> <div class="ui menu text blue vertical small">
<a class="item" v-for="item in leftMenuItems" :href="item.url" :class="{active:item.isActive, separator:item.name == '-', on:item.isOn, off:item.isOff}"> <a class="item" v-for="item in leftMenuItems" :href="item.url" :class="{active:item.isActive, separator:item.name == '-', on:item.isOn, off:item.isOff||item.isImportant}">
<span v-if="item.name != '-'"><i class="icon play tiny" :style="{'visibility':item.isActive ? 'visible' : 'hidden'}"></i>{{item.name}}<var v-if="item.isOff"></var></span> <span v-if="item.name != '-'"><i class="icon play tiny" :style="{'visibility':item.isActive ? 'visible' : 'hidden'}"></i>{{item.name}}<var v-if="item.isOff"></var><var v-if="item.isImportant"></var></span>
</a> </a>
</div> </div>
</div> </div>