67 lines
1.3 KiB
TypeScript
67 lines
1.3 KiB
TypeScript
import axios from 'axios'
|
|
|
|
|
|
const apiBase = 'http://127.0.0.1:2567/api'
|
|
/**
|
|
* 发送私信给玩家
|
|
* @param roomId
|
|
* @param clientId
|
|
* @param type
|
|
* @param msg
|
|
* @return {Promise<AxiosResponse<any>>}
|
|
*/
|
|
export async function sendMsg(roomId, clientId, type, msg) {
|
|
const url = `${apiBase}/room/call`
|
|
const args = [clientId, type, msg]
|
|
const data = {
|
|
roomId,
|
|
method: 'smsg',
|
|
args: JSON.stringify(args)
|
|
}
|
|
return axios.get(url, {params: data})
|
|
.then(res => {
|
|
return res.data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 发送广播消息
|
|
* @param roomId
|
|
* @param type
|
|
* @param msg
|
|
* @return {Promise<AxiosResponse<any>>}
|
|
*/
|
|
export async function broadcast(roomId, type, msg) {
|
|
const url = `${apiBase}/broadcast`
|
|
const data = {
|
|
roomId,
|
|
type,
|
|
msg
|
|
}
|
|
return axios.get(url, {params: data})
|
|
.then(res => {
|
|
return res.data
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 从房间踢掉玩家
|
|
* @param roomId
|
|
* @param clientId
|
|
* @return {Promise<AxiosResponse<any>>}
|
|
*/
|
|
export async function kickClient(roomId, clientId) {
|
|
const url = `${apiBase}/room/call`
|
|
const args = [clientId]
|
|
const data = {
|
|
roomId,
|
|
method: '_forceClientDisconnect',
|
|
args: JSON.stringify(args)
|
|
}
|
|
return axios.get(url, {params: data})
|
|
.then(res => {
|
|
return res.data
|
|
})
|
|
}
|
|
|