Merge branch 'test' into feat-prac
This commit is contained in:
+78
-9
@@ -1,3 +1,5 @@
|
||||
import { normalizeBattleApiResult } from "@/utils/matchAdapter";
|
||||
|
||||
let BASE_URL = "https://api.shelingxingqiu.com/api/shoot"; // 默认正式版
|
||||
|
||||
try {
|
||||
@@ -6,7 +8,7 @@ try {
|
||||
|
||||
switch (envVersion) {
|
||||
case "develop": // 开发版
|
||||
// BASE_URL = "http://192.168.1.30:8000/api/shoot";
|
||||
// BASE_URL = "http://192.168.1.2:8000/api/shoot";
|
||||
BASE_URL = "https://apitest.shelingxingqiu.com/api/shoot";
|
||||
break;
|
||||
case "trial": // 体验版
|
||||
@@ -23,7 +25,11 @@ try {
|
||||
console.error("获取环境信息失败,使用默认正式环境", e);
|
||||
}
|
||||
|
||||
function request(method, url, data = {}) {
|
||||
const ADDONS_BASE_URL = BASE_URL.replace(/\/api\/shoot$/, "/api/shoot");
|
||||
const PRACTICE_BASE_URL = BASE_URL.replace(/\/api\/shoot$/, "/api");
|
||||
|
||||
// 统一处理业务接口请求,包含登录态、业务错误和 WiFi 连接空响应兼容。
|
||||
function request(method, url, data = {}, baseUrl = BASE_URL) {
|
||||
const token = uni.getStorageSync(
|
||||
`${uni.getAccountInfoSync().miniProgram.envVersion}_token`
|
||||
);
|
||||
@@ -31,16 +37,21 @@ function request(method, url, data = {}) {
|
||||
if (token) header.Authorization = `Bearer ${token || ""}`;
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.request({
|
||||
url: `${BASE_URL}${url}`,
|
||||
url: `${baseUrl}${url}`,
|
||||
method,
|
||||
header,
|
||||
data,
|
||||
timeout: 10000,
|
||||
success: (res) => {
|
||||
if (url === "/user/hardwareBox/connectWifi" && res.statusCode === 200 && res.data && Object.keys(res.data).length === 0) {
|
||||
resolve({});
|
||||
return;
|
||||
}
|
||||
if (res.data) {
|
||||
const {code, data, message} = res.data;
|
||||
if (code === 0) resolve(data);
|
||||
else if (message) {
|
||||
const error = {code, data, message};
|
||||
if (message.indexOf("登录身份已失效") !== -1) {
|
||||
console.log('1111111111111111111,token失效')
|
||||
uni.removeStorageSync(
|
||||
@@ -50,6 +61,10 @@ function request(method, url, data = {}) {
|
||||
reject({ type: "AUTH_INVALID", message });
|
||||
return;
|
||||
}
|
||||
if (message.indexOf("已达上限") !== -1) {
|
||||
reject(error);
|
||||
return;
|
||||
}
|
||||
if (message === "ROOM_FULL") {
|
||||
resolve({full: true});
|
||||
return;
|
||||
@@ -97,8 +112,10 @@ function request(method, url, data = {}) {
|
||||
title: message,
|
||||
icon: "none",
|
||||
});
|
||||
reject(error);
|
||||
return;
|
||||
}
|
||||
reject("");
|
||||
reject({code, data, message});
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
@@ -167,6 +184,10 @@ export const getAppConfig = () => {
|
||||
return request("GET", "/index/appConfig");
|
||||
};
|
||||
|
||||
export const getDailyCountAPI = () => {
|
||||
return request("GET", "/index/dailyCount", {}, ADDONS_BASE_URL);
|
||||
};
|
||||
|
||||
export const getHomeData = (seasonId) => {
|
||||
return request("GET", `/user/myHome?seasonId=${seasonId}`);
|
||||
};
|
||||
@@ -243,12 +264,21 @@ export const createPractiseAPI = (arrows, time, target) => {
|
||||
});
|
||||
};
|
||||
|
||||
export const startPractiseAPI = () => {
|
||||
return request("POST", "/user/practice/begin");
|
||||
export const createPractiseV2API = (arrows, time, target, deviceId) => {
|
||||
return request("POST", "/practice/create-v2", {
|
||||
shootNumber: arrows,
|
||||
shootTime: time,
|
||||
targetType: Number(target || 1) * 20,
|
||||
deviceId,
|
||||
}, PRACTICE_BASE_URL);
|
||||
};
|
||||
|
||||
export const endPractiseAPI = () => {
|
||||
return request("POST", "/user/practice/stop");
|
||||
export const startPractiseAPI = (id) => {
|
||||
return request("POST", "/user/practice/begin", { id });
|
||||
};
|
||||
|
||||
export const endPractiseAPI = (id) => {
|
||||
return request("POST", "/user/practice/stop", { id });
|
||||
};
|
||||
|
||||
export const getPractiseAPI = async (id) => {
|
||||
@@ -342,9 +372,23 @@ export const createOrderAPI = (vipId) => {
|
||||
quanity: 1,
|
||||
tradeType: "mini",
|
||||
payType: "wxpay",
|
||||
returnUrl: "",
|
||||
remark: "",
|
||||
mockTest: false,
|
||||
});
|
||||
};
|
||||
|
||||
export const virtualPayOrderAPI = (vipId = 0, code = "") => {
|
||||
return request("POST", "/user/virtualPay/createOrder", {
|
||||
vipId,
|
||||
code,
|
||||
});
|
||||
};
|
||||
|
||||
export const getOrderDetailAPI = (orderId) => {
|
||||
return request("GET", `/user/order/detail?orderId=${encodeURIComponent(orderId)}`);
|
||||
};
|
||||
|
||||
export const payOrderAPI = (id) => {
|
||||
return request("POST", "/user/order/pay", {
|
||||
id,
|
||||
@@ -466,6 +510,26 @@ export const getDeviceBatteryAPI = async () => {
|
||||
return request("GET", "/user/device/battery");
|
||||
};
|
||||
|
||||
// 设备连接指定 WiFi,只下发 WiFi 凭证,不触发 OTA 升级。
|
||||
export const connectDeviceWifiAPI = async (ssid, password) => {
|
||||
return request("POST", "/user/hardwareBox/connectWifi", {ssid, password});
|
||||
};
|
||||
|
||||
// 获取硬件盒子版本信息,用于判断当前设备是否需要 OTA 升级。
|
||||
export const getHardwareBoxVersionAPI = async () => {
|
||||
return request("GET", "/user/hardwareBox/version");
|
||||
};
|
||||
|
||||
// 发送硬件盒子 OTA 更新指令,服务端会返回后续轮询使用的任务 ID。
|
||||
export const sendHardwareBoxUpdateAPI = async (data) => {
|
||||
return request("POST", "/user/hardwareBox/sendUpdate", data);
|
||||
};
|
||||
|
||||
// 根据任务 ID 获取硬件盒子 OTA 更新状态。
|
||||
export const getHardwareBoxTaskStatusAPI = async (taskId) => {
|
||||
return request("GET", `/user/hardwareBox/taskStatus?taskId=${taskId}`);
|
||||
};
|
||||
|
||||
export const addNoteAPI = async (id, remark) => {
|
||||
return request("POST", "/user/score/sheet/remark", {id, remark});
|
||||
};
|
||||
@@ -478,6 +542,10 @@ export const getPhoneNumberAPI = (data) => {
|
||||
return request("POST", "/index/getPhone", data);
|
||||
};
|
||||
|
||||
export const getPhoneNumberAPIv2 = (data) => {
|
||||
return request("POST", "/index/getPhone/v2", data);
|
||||
};
|
||||
|
||||
export const getPointBookRankListAPI = (page = 1) => {
|
||||
return request(
|
||||
"GET",
|
||||
@@ -506,9 +574,10 @@ export const getReadyAPI = (roomId) => {
|
||||
};
|
||||
|
||||
export const getBattleAPI = async (battleId) => {
|
||||
return request("POST", "/user/match/info", {
|
||||
const result = await request("POST", "/user/match/info", {
|
||||
id: battleId,
|
||||
});
|
||||
return normalizeBattleApiResult(result);
|
||||
};
|
||||
|
||||
export const kickPlayerAPI = (number, userId) => {
|
||||
|
||||
Reference in New Issue
Block a user