Files
irc_web/src/views/dictionary/template/browser/tip.vue
T
wangxiaoshuang 885af6d195
continuous-integration/drone/push Build is passing
国际化修改
2024-07-05 14:38:40 +08:00

109 lines
3.1 KiB
Vue

<template>
<div class="browserTip" v-if="visible">
<i class="el-icon-warning-outline"></i>
<span v-html="tip"></span>
</div>
</template>
<script>
import { getExploreRecommentInfo } from "@/api/dictionary";
export default {
name: "browserTip",
data() {
return {
form: {},
tip: this.$t("browser:tip:changeBorwser"),
visible: false,
};
},
methods: {
async getInfo() {
try {
let res = await getExploreRecommentInfo();
if (res.IsSuccess) {
return res.Result;
}
return false;
} catch (err) {
console.log(err);
return false;
}
},
async open() {
try {
let browserType = this.getExplore();
let type = browserType.split(": ")[0];
let No = browserType.split(": ")[1].split(".")[0];
console.log(type, No);
if (type !== "Chrome" && type !== "Edge") {
this.tip = this.$t("browser:tip:changeBorwser");
return (this.visible = true);
}
let res = await this.getInfo();
if (!res) return this.$t("dictionary:browser:tip:getError");
let currentType = res.filter(
(item) => item.ExploreType.toLowerCase() === type.toLowerCase()
)[0];
if (No < currentType.Version) {
this.tip = `<span>${this.$t("browser:tip:borwserversionLow")}</span>`;
res.forEach((item, index) => {
this.tip += `<a href="${item.DownloadUrl}" target="_blank" style="color:#428bca">${item.Title}</a>`;
if (index < res.length - 1) {
this.tip += "、";
}
});
return (this.visible = true);
}
} catch (err) {
console.log(err);
}
},
getExplore() {
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/rv:([\d.]+)\) like gecko/))
? (Sys.ie = s[1])
: (s = ua.match(/msie ([\d\.]+)/))
? (Sys.ie = s[1])
: (s = ua.match(/edg\/([\d\.]+)/) || ua.match(/edge\/([\d\.]+)/))
? (Sys.edge = s[1])
: (s = ua.match(/firefox\/([\d\.]+)/))
? (Sys.firefox = s[1])
: (s = ua.match(/(?:opera|opr).([\d\.]+)/))
? (Sys.opera = s[1])
: (s = ua.match(/chrome\/([\d\.]+)/))
? (Sys.chrome = s[1])
: (s = ua.match(/version\/([\d\.]+).*safari/))
? (Sys.safari = s[1])
: 0;
// 根据关系进行判断
if (Sys.ie) return "IE: " + Sys.ie;
if (Sys.edge) return "Edge: " + Sys.edge;
if (Sys.firefox) return "Firefox: " + Sys.firefox;
if (Sys.chrome) return "Chrome: " + Sys.chrome;
if (Sys.opera) return "Opera: " + Sys.opera;
if (Sys.safari) return "Safari: " + Sys.safari;
return "Unkonwn";
},
},
};
</script>
<style lang="scss" scoped>
.browserTip {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 40px;
background-color: rgba(250, 205, 145, 0.129411764705882);
display: flex;
align-items: center;
padding: 0 20px;
color: #555;
i {
color: red;
font-size: 24px;
margin-right: 10px;
}
}
</style>