Merge branch 'main' into feat-scene

This commit is contained in:
2026-08-06 14:24:17 +08:00
107 changed files with 10329 additions and 409 deletions
+50 -11
View File
@@ -26,8 +26,6 @@ try {
}
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(
@@ -188,8 +186,19 @@ export const getDailyCountAPI = () => {
return request("GET", "/index/dailyCount", {}, ADDONS_BASE_URL);
};
export const getHomeData = (seasonId) => {
return request("GET", `/user/myHome?seasonId=${seasonId}`);
export const getHomeData = async (seasonId) => {
const data = await request("GET", `/user/myHome?seasonId=${seasonId}`);
if (!data?.user) return data;
// 段位信息由 myHome 接口直接返回,统一并入用户数据供各页面展示。
return {
...data,
user: {
...data.user,
rankIcon: data.rankIcon,
rankName: data.rankName,
},
};
};
export const getProvinceData = () => {
@@ -270,13 +279,15 @@ export const createPractiseAPI = (arrows, time, target) => {
});
};
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 createPractiseV2API = (trainingType, difficultyLevel) => {
return request("POST", "/user/practice/create/v2", {
trainingType,
difficultyLevel,
});
};
export const getCurrentPractiseAPI = () => {
return request("GET", "/user/practice/current");
};
export const startPractiseAPI = (id) => {
@@ -469,6 +480,15 @@ export const getPractiseDataAPI = async () => {
return request("GET", "/user/practice/statistics");
};
export const getPersonalTrainingAPI = async () => {
return request("GET", "/personal/training");
};
export const getTrainingDifficultyListAPI = async (type) => {
const query = type ? `?type=${encodeURIComponent(type)}` : "";
return request("GET", `/training/difficulty/list${query}`);
};
export const getBattleDataAPI = async () => {
return request("GET", "/user/fight/statistics");
};
@@ -499,6 +519,25 @@ export const laserAimAPI = async () => {
return request("POST", "/user/device/laserAim");
};
// 调瞄续期只负责发送请求,不等待或处理响应,避免阻塞下一次续期。
export const aimRenewAPI = () => {
const token = uni.getStorageSync(
`${uni.getAccountInfoSync().miniProgram.envVersion}_token`
);
const header = {};
if (token) header.Authorization = `Bearer ${token}`;
uni.request({
url: `${BASE_URL}/user/device/aimRenew`,
method: "POST",
header,
data: {},
timeout: 10000,
success: () => {},
fail: () => {},
});
};
export const laserCloseAPI = async () => {
return request("POST", "/user/device/closeAim");
};