13 changed files with 338 additions and 281 deletions
@ -0,0 +1,58 @@
|
||||
import request from '/@/utils/request'; |
||||
|
||||
|
||||
export function gameGetLoginUrl(params: object) { |
||||
return request({ |
||||
url: '/api/v1/game/loginUrl/getLoginUrl', |
||||
method: 'post', |
||||
params: params, |
||||
}); |
||||
} |
||||
|
||||
export function gameGetAllLoginUrl(params: object) { |
||||
return request({ |
||||
url: '/api/v1/game/loginUrl/getAllLoginUrl', |
||||
method: 'post', |
||||
params: params, |
||||
}); |
||||
} |
||||
|
||||
export function gameGetAllCcdUrl(params: object) { |
||||
return request({ |
||||
url: '/api/v1/game/loginUrl/getAllCcdUrl', |
||||
method: 'post', |
||||
params: params, |
||||
}); |
||||
} |
||||
|
||||
export function gameGetAllChannel(params: object) { |
||||
return request({ |
||||
url: '/api/v1/game/loginUrl/getAllChannel', |
||||
method: 'post', |
||||
params: params, |
||||
}); |
||||
} |
||||
|
||||
export function gameAddLoginUrl(params: object) { |
||||
return request({ |
||||
url: '/api/v1/game/loginUrl/addLoginUrl', |
||||
method: 'post', |
||||
params: params, |
||||
}); |
||||
} |
||||
|
||||
export function gameDelLoginUrl(params: object) { |
||||
return request({ |
||||
url: '/api/v1/game/loginUrl/delLoginUrl', |
||||
method: 'post', |
||||
params: params, |
||||
}); |
||||
} |
||||
|
||||
export function gameSendMsg(data: object) { |
||||
return request({ |
||||
url: '/api/v1/game/loginUrl/sendMsg', |
||||
method: 'post', |
||||
data: data, |
||||
}); |
||||
} |
@ -1,109 +1,129 @@
|
||||
<template> |
||||
<div> |
||||
<el-dialog :title="isNew?'新增服务器':'修改服务器'" v-model="isShowDialog" width="769px"> |
||||
<el-form label-width="90px" label-position="right"> |
||||
<el-form-item label="服务器地址" prop="serverId"> |
||||
<el-input v-model="queryParams.host" placeholder="请输入服务器地址" size="large" style="width: 220px"/> |
||||
</el-form-item> |
||||
<el-form-item label="服务器端口" prop="port"> |
||||
<el-input v-model="queryParams.port" placeholder="请输入服务器端口" size="large" style="width: 220px"/> |
||||
</el-form-item> |
||||
<el-form-item label="服务器状态" prop="state"> |
||||
<el-select v-model="queryParams.state" class="m-2" placeholder="选择服务器状态"> |
||||
<el-option label="正常" :value="1"/> |
||||
<el-option label="维护" :value="2"/> |
||||
<el-option label="白名单" :value="3"/> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="是否推荐" prop="recommend"> |
||||
<el-select v-model="queryParams.recommend" class="m-2" placeholder="选择推荐"> |
||||
<el-option label="推荐" :value="1"/> |
||||
<el-option label="不推荐" :value="0"/> |
||||
</el-select> |
||||
</el-form-item> |
||||
</el-form> |
||||
<template #footer> |
||||
<div> |
||||
<el-dialog :title="isNew ? '新增服务器' : '修改服务器'" v-model="isShowDialog" width="769px"> |
||||
<el-form label-width="90px" label-position="right"> |
||||
<el-form-item label="服务器地址" prop="serverId"> |
||||
<el-input v-model="queryParams.host" placeholder="请输入服务器地址" size="large" style="width: 220px" /> |
||||
</el-form-item> |
||||
<el-form-item label="服务器端口" prop="port"> |
||||
<el-input v-model="queryParams.port" placeholder="请输入服务器端口" size="large" style="width: 220px" /> |
||||
</el-form-item> |
||||
<el-form-item label="服务器状态" prop="state"> |
||||
<el-select v-model="queryParams.state" class="m-2" placeholder="选择服务器状态"> |
||||
<el-option label="正常" :value="1" /> |
||||
<el-option label="维护" :value="2" /> |
||||
<el-option label="白名单" :value="3" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="是否推荐" prop="recommend"> |
||||
<el-select v-model="queryParams.recommend" class="m-2" placeholder="选择推荐"> |
||||
<el-option label="推荐" :value="1" /> |
||||
<el-option label="不推荐" :value="0" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
</el-form> |
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="onCancel" size="default">取 消</el-button> |
||||
<el-button size="default" type="primary" class="ml10" @click="addItem"> |
||||
<el-icon> |
||||
<ele-EditPen/> |
||||
</el-icon> |
||||
<div v-if="isNew">新增</div> |
||||
<div v-else>修改</div> |
||||
</el-button> |
||||
<el-button size="default" type="primary" class="ml10" @click="addItem"> |
||||
<el-icon> |
||||
<ele-EditPen /> |
||||
</el-icon> |
||||
<div v-if="isNew">新增</div> |
||||
<div v-else>修改</div> |
||||
</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
</div> |
||||
</template> |
||||
</el-dialog> |
||||
</div> |
||||
</template> |
||||
|
||||
<script lang="ts"> |
||||
import {reactive, toRefs, defineComponent} from 'vue'; |
||||
import {ElLoading} from "element-plus"; |
||||
import {gameAddLoginUrl} from "/@/api/game"; |
||||
import {allChannelList} from "/@/utils/game"; |
||||
|
||||
import { reactive, toRefs, defineComponent } from 'vue'; |
||||
import { ElLoading } from 'element-plus'; |
||||
import { gameAddLoginUrl, gameSendMsg } from '/@/api/game/loginUrl'; |
||||
import { allChannelList } from '/@/utils/game'; |
||||
import { LoginUrlState } from '/@/api/common/consts'; |
||||
|
||||
interface TableDataState { |
||||
isShowDialog: boolean, |
||||
isNew: boolean, |
||||
queryParams: object; |
||||
channels: object[]; |
||||
isShowDialog: boolean; |
||||
isNew: boolean; |
||||
queryParams: object; |
||||
channels: object[]; |
||||
} |
||||
|
||||
export default defineComponent({ |
||||
name: 'systemEditDicData', |
||||
setup(prop, {emit}) { |
||||
const state = reactive<TableDataState>({ |
||||
isShowDialog: false, |
||||
isNew: false, |
||||
queryParams: {}, |
||||
channels: [], |
||||
}); |
||||
// 打开弹窗 |
||||
const openDialog = (row: any | null) => { |
||||
state.isShowDialog = true; |
||||
state.isNew = !row; |
||||
state.queryParams = row || {}; |
||||
console.log("openDialog: >>>>>>>>>>>", row) |
||||
allChannelList().then(res => { |
||||
state.channels = res; |
||||
}) |
||||
}; |
||||
|
||||
// 关闭弹窗 |
||||
const closeDialog = () => { |
||||
state.isShowDialog = false; |
||||
}; |
||||
// 取消 |
||||
const onCancel = () => { |
||||
closeDialog(); |
||||
}; |
||||
// 新增 |
||||
const addItem = () => { |
||||
const loading = ElLoading.service({ |
||||
lock: true, |
||||
text: 'Loading', |
||||
background: 'rgba(0, 0, 0, 0.7)', |
||||
}); |
||||
name: 'systemEditDicData', |
||||
setup(prop, { emit }) { |
||||
const state = reactive<TableDataState>({ |
||||
isShowDialog: false, |
||||
isNew: false, |
||||
queryParams: {}, |
||||
channels: [], |
||||
}); |
||||
// 打开弹窗 |
||||
const openDialog = (row: any | null) => { |
||||
state.isShowDialog = true; |
||||
state.isNew = !row; |
||||
state.queryParams = row || {}; |
||||
console.log('openDialog: >>>>>>>>>>>', row); |
||||
allChannelList().then((res) => { |
||||
state.channels = res; |
||||
}); |
||||
}; |
||||
|
||||
gameAddLoginUrl(state.queryParams).then((res) => { |
||||
console.log(res); |
||||
}).finally(function () { |
||||
loading.close(); |
||||
emit('countList') |
||||
closeDialog(); |
||||
}); |
||||
// 关闭弹窗 |
||||
const closeDialog = () => { |
||||
state.isShowDialog = false; |
||||
}; |
||||
// 取消 |
||||
const onCancel = () => { |
||||
closeDialog(); |
||||
}; |
||||
// 新增 |
||||
const addItem = () => { |
||||
const loading = ElLoading.service({ |
||||
lock: true, |
||||
text: 'Loading', |
||||
background: 'rgba(0, 0, 0, 0.7)', |
||||
}); |
||||
|
||||
}; |
||||
return { |
||||
openDialog, |
||||
closeDialog, |
||||
onCancel, |
||||
addItem, |
||||
...toRefs(state), |
||||
}; |
||||
}, |
||||
gameAddLoginUrl(state.queryParams) |
||||
.then((res) => { |
||||
console.log(res); |
||||
}) |
||||
.finally(function () { |
||||
loading.close(); |
||||
emit('countList'); |
||||
closeDialog(); |
||||
}); |
||||
sendMsg(); |
||||
}; |
||||
const sendMsg = () => { |
||||
let content = ''; |
||||
let server = '<' + state.queryParams.id + '区' + state.queryParams.remark + '>'; |
||||
if (state.queryParams.state == LoginUrlState.NORMAL) { |
||||
content = server + '开服了'; |
||||
} |
||||
if (state.queryParams.state == LoginUrlState.MAINTENANCE) { |
||||
content = server + '开始维护'; |
||||
} |
||||
if (state.queryParams.state == LoginUrlState.WHITE_LIST) { |
||||
content = server + '开启白名单'; |
||||
} |
||||
gameSendMsg({ title: content, subtitle: '', content: "服务器更新" }) |
||||
.then((res) => { |
||||
console.log(res); |
||||
}) |
||||
.finally(function () {}); |
||||
}; |
||||
return { |
||||
openDialog, |
||||
closeDialog, |
||||
onCancel, |
||||
addItem, |
||||
...toRefs(state), |
||||
}; |
||||
}, |
||||
}); |
||||
</script> |
||||
|
@ -1,118 +1,124 @@
|
||||
<template> |
||||
<div> |
||||
<el-dialog :title="isNew?'新增服务器':'修改服务器'" v-model="isShowDialog" width="769px"> |
||||
<el-form label-width="90px" label-position="right"> |
||||
<el-form-item label="数据库地址" prop="gameDbUrl"> |
||||
<el-input v-model="queryParams.gameDbUrl" placeholder="请输入数据库地址" size="large" style="width: 220px"/> |
||||
</el-form-item> |
||||
<el-form-item label="数据库名称" prop="gameDbName"> |
||||
<el-input v-model="queryParams.gameDbName" placeholder="请输入数据库名称" size="large" style="width: 220px"/> |
||||
</el-form-item> |
||||
<el-form-item label="内网地址" prop="innerIp"> |
||||
<el-input v-model="queryParams.innerIp" placeholder="请输入内网地址" size="large" style="width: 220px"/> |
||||
</el-form-item> |
||||
<el-form-item label="开服日期" prop="startTime"> |
||||
<el-date-picker type="datetime" size="large" v-model="queryParams.createTime" format="YYYY-MM-DD HH:mm:ss" |
||||
value-format="YYYY-MM-DD HH:mm:ss"/> |
||||
</el-form-item> |
||||
<el-form-item label="平台" prop="platform"> |
||||
<el-select v-model="queryParams.platform" class="m-2" placeholder="选择服务器状态"> |
||||
<el-option label="ios" :value="1"/> |
||||
<el-option label="安卓" :value="2"/> |
||||
<el-option label="先行服" :value="3"/> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="难度" prop="difficulty"> |
||||
<el-select v-model="queryParams.difficulty" class="m-2" placeholder="选择推荐"> |
||||
<el-option label="普通" :value="1"/> |
||||
<el-option label="困难" :value="2"/> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="备注" prop="remark"> |
||||
<el-input v-model="queryParams.remark" placeholder="请输入内网地址" size="large" style="width: 220px"/> |
||||
</el-form-item> |
||||
</el-form> |
||||
<template #footer> |
||||
<div> |
||||
<el-dialog :title="isNew ? '新增服务器' : '修改服务器'" v-model="isShowDialog" width="769px"> |
||||
<el-form label-width="90px" label-position="right"> |
||||
<el-form-item label="数据库地址" prop="gameDbUrl"> |
||||
<el-input v-model="queryParams.gameDbUrl" placeholder="请输入数据库地址" size="large" style="width: 220px" /> |
||||
</el-form-item> |
||||
<el-form-item label="数据库名称" prop="gameDbName"> |
||||
<el-input v-model="queryParams.gameDbName" placeholder="请输入数据库名称" size="large" style="width: 220px" /> |
||||
</el-form-item> |
||||
<el-form-item label="内网地址" prop="innerIp"> |
||||
<el-input v-model="queryParams.innerIp" placeholder="请输入内网地址" size="large" style="width: 220px" /> |
||||
</el-form-item> |
||||
<el-form-item label="开服日期" prop="startTime"> |
||||
<el-date-picker |
||||
type="datetime" |
||||
size="large" |
||||
v-model="queryParams.createTime" |
||||
format="YYYY-MM-DD HH:mm:ss" |
||||
value-format="YYYY-MM-DD HH:mm:ss" |
||||
/> |
||||
</el-form-item> |
||||
<el-form-item label="平台" prop="platform"> |
||||
<el-select v-model="queryParams.platform" class="m-2" placeholder="选择服务器状态"> |
||||
<el-option label="ios" :value="1" /> |
||||
<el-option label="安卓" :value="2" /> |
||||
<el-option label="先行服" :value="3" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="难度" prop="difficulty"> |
||||
<el-select v-model="queryParams.difficulty" class="m-2" placeholder="选择推荐"> |
||||
<el-option label="普通" :value="1" /> |
||||
<el-option label="困难" :value="2" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="备注" prop="remark"> |
||||
<el-input v-model="queryParams.remark" placeholder="请输入内网地址" size="large" style="width: 220px" /> |
||||
</el-form-item> |
||||
</el-form> |
||||
<template #footer> |
||||
<span class="dialog-footer"> |
||||
<el-button @click="onCancel" size="default">取 消</el-button> |
||||
<el-button size="default" type="primary" class="ml10" @click="addItem"> |
||||
<el-icon> |
||||
<ele-EditPen/> |
||||
</el-icon> |
||||
<div v-if="isNew">新增</div> |
||||
<div v-else>修改</div> |
||||
</el-button> |
||||
<el-button size="default" type="primary" class="ml10" @click="addItem"> |
||||
<el-icon> |
||||
<ele-EditPen /> |
||||
</el-icon> |
||||
<div v-if="isNew">新增</div> |
||||
<div v-else>修改</div> |
||||
</el-button> |
||||
</span> |
||||
</template> |
||||
</el-dialog> |
||||
</div> |
||||
</template> |
||||
</el-dialog> |
||||
</div> |
||||
</template> |
||||
|
||||
<script lang="ts"> |
||||
import {reactive, toRefs, defineComponent} from 'vue'; |
||||
import {ElLoading} from "element-plus"; |
||||
import {gameAddLoginUrl, gameAddServerConfig} from "/@/api/game"; |
||||
import {allChannelList} from "/@/utils/game"; |
||||
import { reactive, toRefs, defineComponent } from 'vue'; |
||||
import { ElLoading } from 'element-plus'; |
||||
import { gameAddServerConfig } from '/@/api/game'; |
||||
import { allChannelList } from '/@/utils/game'; |
||||
|
||||
interface TableDataState { |
||||
isShowDialog: boolean, |
||||
isNew: boolean, |
||||
queryParams: object; |
||||
channels: object[]; |
||||
isShowDialog: boolean; |
||||
isNew: boolean; |
||||
queryParams: object; |
||||
channels: object[]; |
||||
} |
||||
|
||||
export default defineComponent({ |
||||
name: 'gameServerConfigEdit', |
||||
setup(prop, {emit}) { |
||||
const state = reactive<TableDataState>({ |
||||
isShowDialog: false, |
||||
isNew: false, |
||||
queryParams: {}, |
||||
channels: [], |
||||
}); |
||||
// 打开弹窗 |
||||
const openDialog = (row: any | null) => { |
||||
state.isShowDialog = true; |
||||
state.isNew = !row; |
||||
state.queryParams = row || {}; |
||||
console.log("openDialog: >>>>>>>>>>>", row) |
||||
allChannelList().then(res => { |
||||
state.channels = res; |
||||
}) |
||||
}; |
||||
name: 'gameServerConfigEdit', |
||||
setup(prop, { emit }) { |
||||
const state = reactive<TableDataState>({ |
||||
isShowDialog: false, |
||||
isNew: false, |
||||
queryParams: {}, |
||||
channels: [], |
||||
}); |
||||
// 打开弹窗 |
||||
const openDialog = (row: any | null) => { |
||||
state.isShowDialog = true; |
||||
state.isNew = !row; |
||||
state.queryParams = row || {}; |
||||
console.log('openDialog: >>>>>>>>>>>', row); |
||||
allChannelList().then((res) => { |
||||
state.channels = res; |
||||
}); |
||||
}; |
||||
|
||||
// 关闭弹窗 |
||||
const closeDialog = () => { |
||||
state.isShowDialog = false; |
||||
}; |
||||
// 取消 |
||||
const onCancel = () => { |
||||
closeDialog(); |
||||
}; |
||||
// 新增 |
||||
const addItem = () => { |
||||
const loading = ElLoading.service({ |
||||
lock: true, |
||||
text: 'Loading', |
||||
background: 'rgba(0, 0, 0, 0.7)', |
||||
}); |
||||
// 关闭弹窗 |
||||
const closeDialog = () => { |
||||
state.isShowDialog = false; |
||||
}; |
||||
// 取消 |
||||
const onCancel = () => { |
||||
closeDialog(); |
||||
}; |
||||
// 新增 |
||||
const addItem = () => { |
||||
const loading = ElLoading.service({ |
||||
lock: true, |
||||
text: 'Loading', |
||||
background: 'rgba(0, 0, 0, 0.7)', |
||||
}); |
||||
|
||||
gameAddServerConfig(state.queryParams).then((res) => { |
||||
console.log(res); |
||||
}).finally(function () { |
||||
loading.close(); |
||||
emit('countList') |
||||
closeDialog(); |
||||
}); |
||||
|
||||
}; |
||||
return { |
||||
openDialog, |
||||
closeDialog, |
||||
onCancel, |
||||
addItem, |
||||
...toRefs(state), |
||||
}; |
||||
}, |
||||
gameAddServerConfig(state.queryParams) |
||||
.then((res) => { |
||||
console.log(res); |
||||
}) |
||||
.finally(function () { |
||||
loading.close(); |
||||
emit('countList'); |
||||
closeDialog(); |
||||
}); |
||||
}; |
||||
return { |
||||
openDialog, |
||||
closeDialog, |
||||
onCancel, |
||||
addItem, |
||||
...toRefs(state), |
||||
}; |
||||
}, |
||||
}); |
||||
</script> |
||||
|
Loading…
Reference in new issue