Files
shoot-miniprograms/src/apis.js
2025-06-08 13:55:09 +08:00

139 lines
3.0 KiB
JavaScript

const BASE_URL = "http://120.79.241.5:8000/api/shoot";
function request(method, url, data = {}) {
const token = uni.getStorageSync("token");
return new Promise((resolve, reject) => {
uni.request({
url: `${BASE_URL}${url}`,
method,
header: {
Authorization: `Bearer ${token || ""}`,
},
data,
success: (res) => {
if (res.data.code === 0) resolve(res.data.data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "接口调用失败",
icon: "none",
});
},
});
});
}
// 获取全局配置
export const getAppConfig = () => {
return request("GET", "/index/appConfig");
};
export const getHomeData = () => {
return request("GET", "/user/myHome");
};
export const getProvinceData = () => {
return request("GET", "/index/provinces/list");
};
export const loginAPI = async (nickName, avatarUrl, code) => {
const result = await request("POST", "/index/code", {
appName: "shoot",
appId: "wxa8f5989dcd45cc23",
nickName,
avatarUrl,
code,
});
uni.setStorageSync("token", result.token);
return result;
};
export const bindDeviceAPI = (device) => {
return request("POST", "/user/device/bindDevice", {
device,
});
};
export const unbindDeviceAPI = (deviceId) => {
return request("POST", "/user/device/unbindDevice", {
deviceId,
});
};
export const getMyDevicesAPI = () => {
// "/user/device/getBinding?deviceId=9ZF9oVXs"
return request("GET", "/user/device/getBindings");
};
export const createPractiseAPI = (arrows) => {
return request("POST", "/user/practice/create", {
arrows,
});
};
export const createRoomAPI = (gameType, teamSize) => {
return request("POST", "/user/createroom", {
gameType,
teamSize,
});
};
export const getRoomAPI = (number) => {
return request("GET", `/user/room?number=${number}`);
};
export const destroyRoomAPI = (roomNumber) => {
return request("POST", "/user/room/destroyRoom", {
roomNumber,
});
};
export const exitRoomAPI = (number) => {
return request("POST", "/user/room/exitRoom", {
number,
});
};
export const startRoomAPI = (number) => {
return request("GET", `/user/room/start?number=${number}`);
};
export const getPractiseResultListAPI = (page = 1, page_size = 10) => {
return request(
"GET",
`/user/practice/list?page=${page}&page_size=${page_size}`
);
};
export const matchGameAPI = (match, gameType, teamSize) => {
return request("POST", "/user/game/match", {
match,
gameType,
teamSize,
});
};
export const readyGameAPI = (battleId) => {
return request("POST", "/user/game/prepare", {
battleId,
});
};
export const getGameAPI = (battleId) => {
return request("POST", "/user/battle/detail", {
id: battleId,
});
};
export const simulShootAPI = (device_id, x, y) => {
const data = {
device_id,
};
if (x && y) {
data.x = x;
data.y = y;
}
return request("POST", "/index/arrow", data);
};