仅正式环境判断设备在线
This commit is contained in:
@@ -12,40 +12,15 @@ import useStore from "@/store";
|
||||
import { storeToRefs } from "pinia";
|
||||
const store = useStore();
|
||||
const { user, device, online } = storeToRefs(store);
|
||||
import { debounce } from "@/util";
|
||||
import { debounce, canEenter } from "@/util";
|
||||
|
||||
const showModal = ref(false);
|
||||
const warnning = ref("");
|
||||
const roomNumber = ref("");
|
||||
const data = ref({});
|
||||
|
||||
const checkBeforeEnter = async () => {
|
||||
if (!device.value.deviceId) {
|
||||
uni.showToast({
|
||||
title: "请先绑定设备",
|
||||
icon: "none",
|
||||
});
|
||||
return true;
|
||||
}
|
||||
if (!online.value) {
|
||||
uni.showToast({
|
||||
title: "智能弓未连接",
|
||||
icon: "none",
|
||||
});
|
||||
return true;
|
||||
}
|
||||
if (!user.value.trio) {
|
||||
uni.showToast({
|
||||
title: "请先完成新手试炼",
|
||||
icon: "none",
|
||||
});
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
const enterRoom = debounce(async () => {
|
||||
if (checkBeforeEnter()) return;
|
||||
if (!canEenter(user.value, device.value, online.value)) return;
|
||||
const isGaming = await isGamingAPI();
|
||||
if (isGaming) {
|
||||
uni.$showHint(1);
|
||||
@@ -80,7 +55,7 @@ const enterRoom = debounce(async () => {
|
||||
}
|
||||
});
|
||||
const onCreateRoom = async () => {
|
||||
if (checkBeforeEnter()) return;
|
||||
if (!canEenter(user.value, device.value, online.value)) return;
|
||||
const isGaming = await isGamingAPI();
|
||||
if (isGaming) {
|
||||
uni.$showHint(1);
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
getDeviceBatteryAPI,
|
||||
} from "@/apis";
|
||||
import { topThreeColors } from "@/constants";
|
||||
import { canEenter } from "@/util";
|
||||
|
||||
import useStore from "@/store";
|
||||
import { storeToRefs } from "pinia";
|
||||
@@ -42,19 +43,11 @@ const toPage = async (path) => {
|
||||
return;
|
||||
}
|
||||
if (path === "/pages/first-try") {
|
||||
if (!device.value.deviceId) {
|
||||
return uni.showToast({
|
||||
title: "请先绑定设备",
|
||||
icon: "none",
|
||||
});
|
||||
if (canEenter(user.value, device.value, online.value, path)) {
|
||||
await uni.$checkAudio();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
if (!online.value) {
|
||||
return uni.showToast({
|
||||
title: "智能弓未连接",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
await uni.$checkAudio();
|
||||
}
|
||||
uni.navigateTo({ url: path });
|
||||
};
|
||||
|
||||
@@ -5,6 +5,7 @@ import Container from "@/components/Container.vue";
|
||||
import Guide from "@/components/Guide.vue";
|
||||
import Avatar from "@/components/Avatar.vue";
|
||||
import { getPractiseDataAPI } from "@/apis";
|
||||
import { canEenter } from "@/util";
|
||||
|
||||
import useStore from "@/store";
|
||||
import { storeToRefs } from "pinia";
|
||||
@@ -13,24 +14,7 @@ const { user, device, online } = storeToRefs(store);
|
||||
const data = ref({});
|
||||
|
||||
const goPractise = async (type) => {
|
||||
if (!device.value.deviceId) {
|
||||
return uni.showToast({
|
||||
title: "请先绑定设备",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
if (!online.value) {
|
||||
return uni.showToast({
|
||||
title: "智能弓未连接",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
if (!user.value.trio) {
|
||||
return uni.showToast({
|
||||
title: "请先完成新手试炼",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
if (!canEenter(user.value, device.value, online.value)) return;
|
||||
await uni.$checkAudio();
|
||||
uni.navigateTo({
|
||||
url: `/pages/practise-${type}`,
|
||||
|
||||
@@ -5,6 +5,7 @@ import Container from "@/components/Container.vue";
|
||||
import Avatar from "@/components/Avatar.vue";
|
||||
import { topThreeColors } from "@/constants";
|
||||
import { isGamingAPI, getHomeData } from "@/apis";
|
||||
import { canEenter } from "@/util";
|
||||
import useStore from "@/store";
|
||||
import { storeToRefs } from "pinia";
|
||||
const store = useStore();
|
||||
@@ -41,24 +42,7 @@ const handleSelect = (index) => {
|
||||
};
|
||||
|
||||
const toMatchPage = async (gameType, teamSize) => {
|
||||
if (!device.value.deviceId) {
|
||||
return uni.showToast({
|
||||
title: "请先绑定设备",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
if (!online.value) {
|
||||
return uni.showToast({
|
||||
title: "智能弓未连接",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
if (!user.value.trio) {
|
||||
return uni.showToast({
|
||||
title: "请先完成新手试炼",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
if (!canEenter(user.value, device.value, online.value)) return;
|
||||
const isGaming = await isGamingAPI();
|
||||
if (isGaming) {
|
||||
uni.$showHint(1);
|
||||
|
||||
@@ -6,6 +6,7 @@ import UserItem from "@/components/UserItem.vue";
|
||||
import Avatar from "@/components/Avatar.vue";
|
||||
import useStore from "@/store";
|
||||
import { storeToRefs } from "pinia";
|
||||
import { canEenter } from "@/util";
|
||||
const store = useStore();
|
||||
const { user, device, online } = storeToRefs(store);
|
||||
const { updateUser } = store;
|
||||
@@ -17,22 +18,12 @@ const toOrderPage = () => {
|
||||
};
|
||||
|
||||
const toFristTryPage = async () => {
|
||||
if (!online.value) {
|
||||
return uni.showToast({
|
||||
title: "智能弓未连接",
|
||||
icon: "none",
|
||||
if (canEenter(user.value, device.value, online.value, "/pages/first-try")) {
|
||||
await uni.$checkAudio();
|
||||
uni.navigateTo({
|
||||
url: "/pages/first-try",
|
||||
});
|
||||
}
|
||||
if (!device.value.deviceId) {
|
||||
return uni.showToast({
|
||||
title: "请先绑定设备",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
await uni.$checkAudio();
|
||||
uni.navigateTo({
|
||||
url: "/pages/first-try",
|
||||
});
|
||||
};
|
||||
const toBeVipPage = () => {
|
||||
uni.navigateTo({
|
||||
|
||||
27
src/util.js
27
src/util.js
@@ -827,3 +827,30 @@ export const wxLogin = () => {
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
export const canEenter = (user, device, online, page = "") => {
|
||||
const { miniProgram } = uni.getAccountInfoSync();
|
||||
if (miniProgram.envVersion !== "release") return true;
|
||||
if (!device.deviceId) {
|
||||
uni.showToast({
|
||||
title: "请先绑定设备",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!online) {
|
||||
uni.showToast({
|
||||
title: "智能弓未连接",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!user.trio && page !== "/pages/first-try") {
|
||||
uni.showToast({
|
||||
title: "请先完成新手试炼",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user