35 lines
1.4 KiB
JavaScript
35 lines
1.4 KiB
JavaScript
export default defineNuxtRouteMiddleware((to, from) => {
|
|
// skip middleware on server
|
|
if (import.meta.server) return
|
|
|
|
// 判断是否为微信浏览器
|
|
if (!isWechat()) return
|
|
|
|
// 防止微信浏览器修改默认字体大小
|
|
if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
|
|
handleFontSize();
|
|
} else {
|
|
if (document.addEventListener) {
|
|
document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
|
|
} else if (document.attachEvent) {
|
|
document.attachEvent("WeixinJSBridgeReady", handleFontSize);
|
|
document.attachEvent("onWeixinJSBridgeReady", handleFontSize);
|
|
}
|
|
}
|
|
function handleFontSize() {
|
|
// 设置网页字体为默认大小
|
|
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize': 0 });
|
|
// 重写设置网页字体大小的事件
|
|
WeixinJSBridge.on('menu:setfont', function () {
|
|
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize': 0 });
|
|
});
|
|
}
|
|
|
|
if (sessionStorage.getItem('wechat_user')) return;
|
|
|
|
// 设置 session ,表示用户此次会话已经授权
|
|
sessionStorage.setItem('wechat_user', true)
|
|
|
|
const baseURL = useRuntimeConfig().public.apiGateway
|
|
window.location.href = baseURL + '/Wechat.Wechat/getAccess?refer_url=' + encodeURIComponent(window.location.href);
|
|
}); |