增加服务端配置

This commit is contained in:
yulixing 2019-09-03 13:57:02 +08:00
parent ecfa2edaf6
commit 52358a16a8
2 changed files with 83 additions and 57 deletions

View File

@ -7,14 +7,14 @@
>
<div class="al-c">
<h3 class="fw-500">
配置详情 - {{ type === 'normal' ? '普通配置' : '私有配置' }}
配置详情
</h3>
<span
class="dis-b al-c mgb-20"
style="color: #E6A23C"
>{{
tip
}}</span>
}}</span>
</div>
<el-form
ref="settingForm"
@ -138,6 +138,7 @@
style="width: 300px"
value-key="key"
@remove-tag="delSetting"
filterable
>
<el-tooltip
@ -279,29 +280,29 @@
<script>
import vueJsonEditor from 'vue-json-editor'
import { Promise } from 'q'
import { mapGetters } from 'vuex'
import { getGame } from '@/api/games'
import {Promise} from 'q'
import {mapGetters} from 'vuex'
import {getGame} from '@/api/games'
import {
resetSettings,
getGameSettings,
saveGameSettings,
getSettingItems,
publishGameSettings,
saveSettingItem
saveSettingItem,
} from '@/api/settings'
import getPageTitle from '@/utils/get-page-title'
export default {
name: 'SettingPanel',
components: {
vueJsonEditor
vueJsonEditor,
},
props: {
type: {
type: String,
default: 'normal'
}
default: 'normal',
},
},
data() {
@ -314,10 +315,11 @@ export default {
permPublish: false,
permSettings: false,
showTip: false,
settingType: 0,
// left
tip: '',
settingsForm: {
settings: []
settings: [],
},
selectedSettings: [],
settingKeys: [],
@ -335,24 +337,24 @@ export default {
key: '',
value: {
title: '',
type: ''
type: '',
},
disabled: false,
comment: ''
comment: '',
},
newSettingRules: {
key: [{ required: true, message: '请输入 key 值', trigger: 'blur' }],
key: [{required: true, message: '请输入 key 值', trigger: 'blur'}],
'value.title': [
{ required: true, message: '请填写名称', trigger: 'blur' }
{required: true, message: '请填写名称', trigger: 'blur'},
],
'value.type': [
{ required: true, message: '请选择值类型', trigger: 'blur' }
]
}
{required: true, message: '请选择值类型', trigger: 'blur'},
],
},
}
},
computed: {
...mapGetters(['userInfo'])
...mapGetters(['userInfo']),
},
mounted() {
this.uid = this.$route.params.uid
@ -366,6 +368,14 @@ export default {
this.permSettings =
this.userInfo.permissions.includes(`settings-writeable`) ||
this.userInfo.permissions.includes(`games-writeable`)
if (this.type === 'normal') {
this.settingType = 0
} else if (this.type === 'private') {
this.settingType = 1
} else if (this.type === 'server') {
this.settingType = 2
}
this.getGameInfo(this.getGameSettings)
this.getSettingsList()
},
@ -378,9 +388,9 @@ export default {
},
// left
getGameInfo(cb) {
getGame({ uid: this.uid })
getGame({uid: this.uid})
.then(res => {
const { data } = res
const {data} = res
if (data.errcode === 0) {
this.gameInfo = data.gameInfo
this.platformsArr = data.gameInfo.platforms
@ -404,15 +414,15 @@ export default {
getGameSettings() {
getGameSettings({
uid: this.uid,
type: this.type === 'normal' ? 0 : 1,
type: this.settingType,
id: this.gameInfo.game_id,
pid: this.platform_id
pid: this.platform_id,
}).then(res => {
const { data } = res
const {data} = res
if (data.errcode !== 0) {
this.$notify.error({
title: '错误',
message: data.errmsg
message: data.errmsg,
})
return
}
@ -429,43 +439,50 @@ export default {
key: 'openAD',
title: '视频广告开关',
type: 'bool',
value: 1
value: 1,
},
{
key: 'blackTech',
title: '各种违规操作',
type: 'bool',
value: 1
value: 1,
},
{
key: 'isTestMode',
title: '测试开关',
type: 'bool',
value: 1
value: 1,
},
{
key: 'openAdBanner',
title: 'Banner广告开关',
type: 'bool',
value: 1
value: 1,
},
{
key: 'openADInsert',
title: '插屏广告开关',
type: 'bool',
value: 1
value: 1,
},
{
key: 'video_count',
title: '每日视频广告限额',
type: 'num',
value: 10
value: 10,
},
]
this.showTip = true
this.settingsForm.settings = [...defaultSettings]
this.selectedSettings = [...defaultSettings]
this.settingKeys = ['openAD', 'blackTech', 'isTestMode', 'openAdBanner', 'openADInsert', 'video_count']
this.settingKeys = [
'openAD',
'blackTech',
'isTestMode',
'openAdBanner',
'openADInsert',
'video_count',
]
}
if (data.published === false) {
@ -491,12 +508,12 @@ export default {
reset() {
resetSettings({
uid: this.uid,
type: this.type === 'normal' ? 0 : 1,
type: this.settingType,
id: this.gameInfo.game_id,
pid: this.platform_id
pid: this.platform_id,
})
.then(res => {
const { data } = res
const {data} = res
if (data.errcode === 0) {
this.settingsForm.settings = data.records
this.selectedSettings = data.records
@ -504,7 +521,7 @@ export default {
return item.key
})
this.tip = '已还原到最新发布配置!'
this.tip = '已显示最新发布配置!'
this.changeState(false)
}
})
@ -518,7 +535,7 @@ export default {
this.$confirm('是否保存游戏配置?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
type: 'warning',
})
.then(() => {
this.saveSettings()
@ -526,7 +543,7 @@ export default {
.catch(() => {
this.$message({
type: 'info',
message: '已取消保存!'
message: '已取消保存!',
})
})
} else {
@ -539,7 +556,7 @@ export default {
this.$confirm('是否确认正式发布游戏配置?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
type: 'warning',
})
.then(async () => {
//
@ -550,13 +567,13 @@ export default {
cfgs: this.settingsForm.settings,
gameId: this.gameInfo.game_id,
platform: this.platform_id,
type: this.type === 'normal' ? 0 : 1
type: this.settingType,
}).then(res => {
const { data } = res
const {data} = res
if (data.errcode !== 0) {
this.$notify.error({
title: '错误',
message: data.errmsg
message: data.errmsg,
})
return
}
@ -574,7 +591,7 @@ export default {
.catch(() => {
this.$message({
type: 'info',
message: '已取消发布操作!'
message: '已取消发布操作!',
})
})
},
@ -585,13 +602,13 @@ export default {
cfgs: this.settingsForm.settings,
gameId: this.gameInfo.game_id,
platform: this.platform_id,
type: this.type === 'normal' ? 0 : 1
type: this.settingType,
}).then(res => {
const { data } = res
const {data} = res
if (data.errcode !== 0) {
this.$notify.error({
title: '错误',
message: data.errmsg
message: data.errmsg,
})
reject(data.errmsg)
return
@ -611,11 +628,11 @@ export default {
// right
getSettingsList() {
getSettingItems().then(res => {
const { data } = res
const {data} = res
if (data.errcode !== 0) {
this.$notify.error({
title: '错误',
message: data.errmsg
message: data.errmsg,
})
return
}
@ -632,7 +649,7 @@ export default {
this.$confirm('是否要清空配置项?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
type: 'warning',
})
.then(() => {
this.selectedSettings = []
@ -672,7 +689,7 @@ export default {
key: val.key,
value: '',
title: val.value.title,
type: val.value.type
type: val.value.type,
})
this.settingKeys.push(key)
}
@ -694,10 +711,10 @@ export default {
key: '',
value: {
title: '',
type: 'bool'
type: 'bool',
},
disabled: false,
comment: ''
comment: '',
}
this.modalNewSettingVisible = true
},
@ -715,10 +732,10 @@ export default {
title: this.newSettingForm.value.title,
type: this.newSettingForm.value.type,
disabled: this.newSettingForm.disabled,
comment: this.newSettingForm.comment
}
comment: this.newSettingForm.comment,
},
}).then(res => {
const { data } = res
const {data} = res
if (data.errcode !== 0) {
this.$message.error(data.errmsg)
return
@ -733,7 +750,7 @@ export default {
key: this.newSettingForm.key,
title: this.newSettingForm.value.title,
type: this.newSettingForm.value.type,
value: ''
value: '',
}
this.settingsForm.settings.push(newSetting)
this.selectedSettings = [...this.settingsForm.settings]
@ -744,8 +761,8 @@ export default {
return false
}
})
}
}
},
},
}
</script>

View File

@ -23,6 +23,15 @@
@change="handleChange"
/>
</el-tab-pane>
<el-tab-pane
label="服务端配置"
name="server"
>
<setting-panle
type="server"
@change="handleChange"
/>
</el-tab-pane>
</el-tabs>
<el-dialog
title="提示"