123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- import { computed, defineComponent, onMounted, ref } from 'vue';
- import { NConfigProvider, zhCN, dateZhCN, NModal } from 'naive-ui';
- import { AppProvider } from './components/Application';
- import { RouterView } from 'vue-router';
- import setting from './settings/designSetting';
- import { lighten } from './utils';
- import RouterError from './components/RouterError';
- export default defineComponent({
- name: 'App',
- setup() {
- const isIOSChrome = ref();
- const getThemeOverrides = computed(() => {
- const appTheme = setting.appTheme;
- const lightenStr = lighten(setting.appTheme, 6);
- return {
- common: {
- primaryColor: appTheme,
- primaryColorHover: lightenStr,
- primaryColorPressed: lightenStr
- },
- LoadingBar: {
- colorLoading: appTheme
- }
- };
- });
- // const showModal = ref(false);
- const showModalMsg = ref('');
- // 判断浏览器
- const isChrome = () => {
- const isChromium = (window as any).chrome;
- const winNav = window.navigator;
- const vendorName = winNav.vendor;
- const isOpera = typeof (window as any).opr !== 'undefined';
- const isIEedge = winNav.userAgent.indexOf('Edge') > -1;
- isIOSChrome.value = winNav.userAgent.match('CriOS');
- return (
- isIOSChrome.value ||
- (isChromium !== null &&
- typeof isChromium !== 'undefined' &&
- vendorName === 'Google Inc.' &&
- isOpera === false &&
- isIEedge === false)
- );
- };
- // 获取谷歌版本
- const getChromeVersion = () => {
- const arr = navigator.userAgent.split(' ');
- let chromeVersion = '' as any;
- for (let i = 0; i < arr.length; i++) {
- if (/chrome/i.test(arr[i])) chromeVersion = arr[i];
- }
- if (chromeVersion) {
- return Number(chromeVersion.split('/')[1].split('.')[0]);
- } else {
- return false;
- }
- };
- const isChromeFlag = isChrome();
- if (isChromeFlag) {
- const chromeVersion = getChromeVersion();
- if (!chromeVersion || (chromeVersion && chromeVersion < 100)) {
- showModalMsg.value =
- '您当前的chrome版本过低,为了保证您的用户体验请升级后使用';
- // showModal.value = true;
- }
- // if (chromeVersion) {
- // return Number(chromeVersion.split('/')[1].split('.')[0]);
- // } else {
- // return false;
- // }
- } else {
- showModalMsg.value = '为了保证您的用户体验,请使用chrome打开,点击确定下载';
- // showModal.value = true;
- console.log('---');
- }
- const submitCallback = () => {
- window.open('https://www.google.cn/intl/zh-CN/chrome/');
- };
- return () => (
- <>
- <NConfigProvider
- locale={zhCN}
- themeOverrides={getThemeOverrides.value}
- // :theme="getDarkTheme"
- // :theme-overrides="getThemeOverrides"
- dateLocale={dateZhCN}>
- <AppProvider>
- <RouterView />
- <RouterError />
- </AppProvider>
- </NConfigProvider>
- {/* <NModal
- show={showModal.value}
- closeOnEsc={false}
- closable={false}
- maskClosable={false}
- preset="dialog"
- title="确认"
- content={showModalMsg.value}
- positive-text="确认"
- onPositiveClick={submitCallback}></NModal> */}
- </>
- );
- }
- });
|