1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import { DOMAIN, STRICT_CHECK_HOSTS } from "@/constants/constants";
- import { checkMainExe, fileExists, isElectron } from "@/utils/nativeMethods";
- import ua from "@/utils/ua";
- import { onMounted, Ref, watch } from "vue";
- export function useAppVersion(newVersionAvailable: Ref<boolean>) {
- function checkApp() {
- if (isElectron() && !eval(`proceess.env.PORTABLE_EXECUTABLE_FILE`)) {
- disableLoginBtnBecauseAppVersionChecker = true;
- if (ua.getBrowser().version !== "1.9.3") {
- $message.error("请与学校申请最新的客户端,进行考试!", {
- duration: 24 * 60 * 60 * 1000,
- });
- } else {
- $message.error(
- "电脑环境达不到考试要求,请清理与考试无关软件或更换电脑",
- {
- duration: 24 * 60 * 60 * 1000,
- }
- );
- }
- }
- if (
- [
- "xjtu.ecs.qmth.com.cn",
- "ccnu.ecs.qmth.com.cn",
- "snnu.ecs.qmth.com.cn",
- "swjtu.ecs.qmth.com.cn",
- ].includes(DOMAIN)
- ) {
- if (!isElectron() || !fileExists("multiCamera.exe")) {
- disableLoginBtnBecauseAppVersionChecker = true;
- $message.error("请与学校申请最新的客户端,进行考试!", {
- duration: 24 * 60 * 60 * 1000,
- });
- }
- }
- if (STRICT_CHECK_HOSTS.includes(window.location.hostname)) {
- if (!checkMainExe()) {
- disableLoginBtnBecauseAppVersionChecker = true;
- if (ua.getBrowser().version !== "1.9.3") {
- $message.error("请与学校申请最新的客户端,进行考试!", {
- duration: 24 * 60 * 60 * 1000,
- });
- } else {
- $message.error(
- "电脑环境达不到考试要求,请清理与考试无关软件或更换电脑",
- { duration: 24 * 60 * 60 * 1000 }
- );
- }
- }
- }
- }
- onMounted(() => checkApp());
- watch(newVersionAvailable, () => {
- if (newVersionAvailable) {
- $message.error("程序有更新,请重新打开客户端!", {
- duration: 24 * 60 * 60 * 1000,
- });
- }
- });
- let disableLoginBtnBecauseAppVersionChecker = $ref(false);
- return {
- disableLoginBtnBecauseAppVersionChecker: $$(
- disableLoginBtnBecauseAppVersionChecker
- ),
- };
- }
|