代码优化

This commit is contained in:
kron
2025-05-31 17:59:36 +08:00
parent ca182daaae
commit 50168486ba
5 changed files with 80 additions and 278 deletions

View File

@@ -1,332 +1,130 @@
const BASE_URL = "http://120.79.241.5:8000/api/shoot"; const BASE_URL = "http://120.79.241.5:8000/api/shoot";
function getAuthHeader() { function request(method, url, data = {}) {
const token = uni.getStorageSync("token"); const token = uni.getStorageSync("token");
return { return new Promise((resolve, reject) => {
Authorization: `Bearer ${token}`, 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 = () => { export const getAppConfig = () => {
return new Promise((resolve, reject) => { return request("GET", "/index/appConfig");
uni.request({
url: `${BASE_URL}/index/appConfig`,
method: "GET",
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
});
}; };
export const getHomeData = () => { export const getHomeData = () => {
return new Promise((resolve, reject) => { return request("GET", "/user/myHome");
uni.request({
url: `${BASE_URL}/user/myHome`,
method: "GET",
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
});
}; };
// 获取省份及下属城市列表 // 获取省份及下属城市列表
export const getProvinceData = () => { export const getProvinceData = () => {
return new Promise((resolve, reject) => { return request("GET", "/index/provinces/list");
uni.request({
url: `${BASE_URL}/index/provinces/list`,
method: "GET",
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
});
}; };
// 获取省份及下属城市列表 // 获取省份及下属城市列表
export const loginAPI = (nickName, avatarUrl, code) => { export const loginAPI = (nickName, avatarUrl, code) => {
return new Promise((resolve, reject) => { return request("POST", "/index/code", {
uni.request({
url: `${BASE_URL}/index/code`,
method: "POST",
data: {
appName: "shoot", appName: "shoot",
appId: "wxa8f5989dcd45cc23", appId: "wxa8f5989dcd45cc23",
nickName, nickName,
avatarUrl, avatarUrl,
code, code,
},
success: (res) => {
const { code, data } = res.data;
if (code === 0) {
uni.setStorageSync("token", data.token);
uni.setStorageSync("tokenExpire", data.expires + Date.now());
resolve(data);
}
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
}); });
}; };
export const bindDeviceAPI = (device) => { export const bindDeviceAPI = (device) => {
return new Promise((resolve, reject) => { return request("POST", "/user/device/bindDevice", {
uni.request({
url: `${BASE_URL}/user/device/bindDevice`,
method: "POST",
header: getAuthHeader(),
data: {
device, device,
},
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
}); });
}; };
export const unbindDeviceAPI = (deviceId) => { export const unbindDeviceAPI = (deviceId) => {
return new Promise((resolve, reject) => { return request("POST", "/user/device/unbindDevice", {
uni.request({
url: `${BASE_URL}/user/device/unbindDevice`,
method: "POST",
header: getAuthHeader(),
data: {
deviceId, deviceId,
},
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
}); });
}; };
export const getMyDevicesAPI = () => { export const getMyDevicesAPI = () => {
return new Promise((resolve, reject) => { // "/user/device/getBinding?deviceId=9ZF9oVXs"
uni.request({ return request("GET", "/user/device/getBindings", {
// url: `${BASE_URL}/user/device/getBinding?deviceId=9ZF9oVXs`, deviceId,
url: `${BASE_URL}/user/device/getBindings`,
method: "GET",
header: getAuthHeader(),
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
}); });
}; };
export const createPractiseAPI = (arrows) => { export const createPractiseAPI = (arrows) => {
return new Promise((resolve, reject) => { return request("POST", "/user/practice/create", {
uni.request({
url: `${BASE_URL}/user/practice/create`,
method: "POST",
header: getAuthHeader(),
data: {
arrows, arrows,
},
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
}); });
}; };
export const createRoomAPI = (gameType, teamSize) => { export const createRoomAPI = (gameType, teamSize) => {
return new Promise((resolve, reject) => { return request("POST", "/user/createroom", {
uni.request({
url: `${BASE_URL}/user/createroom`,
method: "POST",
header: getAuthHeader(),
data: {
gameType, gameType,
teamSize, teamSize,
},
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
}); });
}; };
export const getRoomAPI = (number) => { export const getRoomAPI = (number) => {
return new Promise((resolve, reject) => { return request("GET", `/user/room?number=${number}`);
uni.request({
url: `${BASE_URL}/user/room?number=${number}`,
method: "GET",
header: getAuthHeader(),
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
});
}; };
export const destroyRoomAPI = (roomNumber) => { export const destroyRoomAPI = (roomNumber) => {
return new Promise((resolve, reject) => { return request("POST", "/user/room/destroyRoom", {
uni.request({
url: `${BASE_URL}/user/room/destroyRoom`,
method: "POST",
header: getAuthHeader(),
data: {
roomNumber, roomNumber,
},
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
}); });
}; };
export const exitRoomAPI = (number) => { export const exitRoomAPI = (number) => {
return new Promise((resolve, reject) => { return request("POST", "/user/room/exitRoom", {
uni.request({
url: `${BASE_URL}/user/room/exitRoom`,
method: "POST",
header: getAuthHeader(),
data: {
number, number,
},
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
}); });
}; };
export const startRoomAPI = (number) => { export const startRoomAPI = (number) => {
return new Promise((resolve, reject) => { return request("GET", `/user/room/start?number=${number}`);
uni.request({
url: `${BASE_URL}/user/room/start?number=${number}`,
method: "GET",
header: getAuthHeader(),
success: (res) => {
const { code, data } = res.data;
if (code === 0) resolve(data);
},
fail: (err) => {
reject(err);
uni.showToast({
title: "获取数据失败",
icon: "none",
});
},
});
});
}; };
export const getPractiseResultListAPI = (page = 1, page_size = 10) => { export const getPractiseResultListAPI = (page = 1, page_size = 10) => {
return new Promise((resolve, reject) => { return request(
uni.request({ "GET",
url: `${BASE_URL}/user/practice/list?page=${page}&page_size=${page_size}`, `/user/practice/list?page=${page}&page_size=${page_size}`
method: "GET", );
header: getAuthHeader(), };
success: (res) => {
const { code, data } = res.data; export const matchGameAPI = (match, gameType, teamSize) => {
if (code === 0) resolve(data); return request("POST", "/user/game/match", {
}, match,
fail: (err) => { gameType,
reject(err); teamSize,
uni.showToast({ });
title: "获取数据失败", };
icon: "none",
}); export const readyGameAPI = (battleId) => {
}, return request("POST", "/user/game/prepare", {
}); battleId,
});
};
export const finishGameAPI = (battleId, arrow) => {
return request("POST", "/user/game/shoot", {
battleId,
arrow,
}); });
}; };

View File

@@ -50,7 +50,7 @@ function calcRealY(num) {
"/" + "/" +
totalRound totalRound
}}</text> }}</text>
<BowPower v-if="power > 0" :power="power" /> <BowPower :power="power" />
</view> </view>
<view class="target"> <view class="target">
<image <image

View File

@@ -132,7 +132,7 @@ const startGame = async () => {
<view v-if="step === 3"> <view v-if="step === 3">
<ShootProgress tips="请红队射箭-第一轮" /> <ShootProgress tips="请红队射箭-第一轮" />
<PlayersRow :blueTeam="teams" :redTeam="teams" /> <PlayersRow :blueTeam="teams" :redTeam="teams" />
<BowTarget :power="45" currentRound="1" totalRound="3" debug /> <BowTarget :power="45" currentRound="1" :totalRound="3" debug />
<BattleFooter :blueTeam="[6, 2, 3]" :redTeam="[4, 5, 2]" /> <BattleFooter :blueTeam="[6, 2, 3]" :redTeam="[4, 5, 2]" />
</view> </view>
</Container> </Container>

View File

@@ -19,7 +19,7 @@ const teams = [
<view> <view>
<ShootProgress tips="请红队射箭-第一轮" /> <ShootProgress tips="请红队射箭-第一轮" />
<PlayersRow :blueTeam="teams" :redTeam="teams" /> <PlayersRow :blueTeam="teams" :redTeam="teams" />
<BowTarget :power="45" currentRound="1" totalRound="3" debug /> <BowTarget :power="45" currentRound="1" :totalRound="3" debug />
<PlayerScore <PlayerScore
name="某某选手" name="某某选手"
avatar="../static/avatar.png" avatar="../static/avatar.png"

View File

@@ -58,7 +58,11 @@ onUnmounted(() => {
<AppBackground :type="1" /> <AppBackground :type="1" />
<Header title="个人单组练习" /> <Header title="个人单组练习" />
<ShootProgress <ShootProgress
:tips="`请开始射箭第${roundsName[Math.ceil((scores.length + 1) / 4)]}轮`" :tips="`${
scores.length === 12
? ''
: `请开始射箭第${roundsName[Math.ceil((scores.length + 1) / 4)]}轮`
}`"
:start="start" :start="start"
:total="120" :total="120"
/> />