diff --git a/src/apis.js b/src/apis.js index d40a2d3..ccdc929 100644 --- a/src/apis.js +++ b/src/apis.js @@ -1,332 +1,130 @@ const BASE_URL = "http://120.79.241.5:8000/api/shoot"; -function getAuthHeader() { +function request(method, url, data = {}) { const token = uni.getStorageSync("token"); - return { - Authorization: `Bearer ${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 new Promise((resolve, reject) => { - 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", - }); - }, - }); - }); + return request("GET", "/index/appConfig"); }; export const getHomeData = () => { - return new Promise((resolve, reject) => { - 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", - }); - }, - }); - }); + return request("GET", "/user/myHome"); }; // 获取省份及下属城市列表 export const getProvinceData = () => { - return new Promise((resolve, reject) => { - 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", - }); - }, - }); - }); + return request("GET", "/index/provinces/list"); }; // 获取省份及下属城市列表 export const loginAPI = (nickName, avatarUrl, code) => { - return new Promise((resolve, reject) => { - uni.request({ - url: `${BASE_URL}/index/code`, - method: "POST", - data: { - appName: "shoot", - appId: "wxa8f5989dcd45cc23", - nickName, - avatarUrl, - 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", - }); - }, - }); + return request("POST", "/index/code", { + appName: "shoot", + appId: "wxa8f5989dcd45cc23", + nickName, + avatarUrl, + code, }); }; export const bindDeviceAPI = (device) => { - return new Promise((resolve, reject) => { - uni.request({ - url: `${BASE_URL}/user/device/bindDevice`, - method: "POST", - header: getAuthHeader(), - data: { - device, - }, - success: (res) => { - const { code, data } = res.data; - if (code === 0) resolve(data); - }, - fail: (err) => { - reject(err); - uni.showToast({ - title: "获取数据失败", - icon: "none", - }); - }, - }); + return request("POST", "/user/device/bindDevice", { + device, }); }; export const unbindDeviceAPI = (deviceId) => { - return new Promise((resolve, reject) => { - uni.request({ - url: `${BASE_URL}/user/device/unbindDevice`, - method: "POST", - header: getAuthHeader(), - data: { - deviceId, - }, - success: (res) => { - const { code, data } = res.data; - if (code === 0) resolve(data); - }, - fail: (err) => { - reject(err); - uni.showToast({ - title: "获取数据失败", - icon: "none", - }); - }, - }); + return request("POST", "/user/device/unbindDevice", { + deviceId, }); }; export const getMyDevicesAPI = () => { - return new Promise((resolve, reject) => { - uni.request({ - // url: `${BASE_URL}/user/device/getBinding?deviceId=9ZF9oVXs`, - 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", - }); - }, - }); + // "/user/device/getBinding?deviceId=9ZF9oVXs" + return request("GET", "/user/device/getBindings", { + deviceId, }); }; export const createPractiseAPI = (arrows) => { - return new Promise((resolve, reject) => { - uni.request({ - url: `${BASE_URL}/user/practice/create`, - method: "POST", - header: getAuthHeader(), - data: { - arrows, - }, - success: (res) => { - const { code, data } = res.data; - if (code === 0) resolve(data); - }, - fail: (err) => { - reject(err); - uni.showToast({ - title: "获取数据失败", - icon: "none", - }); - }, - }); + return request("POST", "/user/practice/create", { + arrows, }); }; export const createRoomAPI = (gameType, teamSize) => { - return new Promise((resolve, reject) => { - uni.request({ - url: `${BASE_URL}/user/createroom`, - method: "POST", - header: getAuthHeader(), - data: { - gameType, - teamSize, - }, - success: (res) => { - const { code, data } = res.data; - if (code === 0) resolve(data); - }, - fail: (err) => { - reject(err); - uni.showToast({ - title: "获取数据失败", - icon: "none", - }); - }, - }); + return request("POST", "/user/createroom", { + gameType, + teamSize, }); }; export const getRoomAPI = (number) => { - return new Promise((resolve, reject) => { - 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", - }); - }, - }); - }); + return request("GET", `/user/room?number=${number}`); }; export const destroyRoomAPI = (roomNumber) => { - return new Promise((resolve, reject) => { - uni.request({ - url: `${BASE_URL}/user/room/destroyRoom`, - method: "POST", - header: getAuthHeader(), - data: { - roomNumber, - }, - success: (res) => { - const { code, data } = res.data; - if (code === 0) resolve(data); - }, - fail: (err) => { - reject(err); - uni.showToast({ - title: "获取数据失败", - icon: "none", - }); - }, - }); + return request("POST", "/user/room/destroyRoom", { + roomNumber, }); }; export const exitRoomAPI = (number) => { - return new Promise((resolve, reject) => { - uni.request({ - url: `${BASE_URL}/user/room/exitRoom`, - method: "POST", - header: getAuthHeader(), - data: { - number, - }, - success: (res) => { - const { code, data } = res.data; - if (code === 0) resolve(data); - }, - fail: (err) => { - reject(err); - uni.showToast({ - title: "获取数据失败", - icon: "none", - }); - }, - }); + return request("POST", "/user/room/exitRoom", { + number, }); }; export const startRoomAPI = (number) => { - return new Promise((resolve, reject) => { - 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", - }); - }, - }); - }); + return request("GET", `/user/room/start?number=${number}`); }; export const getPractiseResultListAPI = (page = 1, page_size = 10) => { - return new Promise((resolve, reject) => { - uni.request({ - url: `${BASE_URL}/user/practice/list?page=${page}&page_size=${page_size}`, - 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", - }); - }, - }); + 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 finishGameAPI = (battleId, arrow) => { + return request("POST", "/user/game/shoot", { + battleId, + arrow, }); }; diff --git a/src/components/BowTarget.vue b/src/components/BowTarget.vue index 50c0563..b8454b8 100644 --- a/src/components/BowTarget.vue +++ b/src/components/BowTarget.vue @@ -50,7 +50,7 @@ function calcRealY(num) { "/" + totalRound }} - + { - + diff --git a/src/pages/match-room.vue b/src/pages/match-room.vue index 5c22f0b..60eb1af 100644 --- a/src/pages/match-room.vue +++ b/src/pages/match-room.vue @@ -19,7 +19,7 @@ const teams = [ - + {