@fmdevui/fm-dev 1.0.27 → 1.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/packages/core/layout/navBars/tagsView/contextmenu.vue.mjs +4 -2
- package/es/packages/core/layout/navBars/tagsView/contextmenu.vue3.mjs +3 -0
- package/es/packages/core/layout/navBars/tagsView/tagsView.vue2.mjs +2 -3
- package/es/packages/core/utils/other/index.mjs +3 -4
- package/{lib/defaults.css → es/version.css} +7 -5
- package/index.css +18 -0
- package/index.js +308 -307
- package/index.min.css +1 -0
- package/index.min.js +24 -24
- package/index.min.mjs +27 -27
- package/index.mjs +308 -307
- package/{es/defaults.css → lib/index.css} +9 -7
- package/lib/packages/core/layout/navBars/tagsView/contextmenu.vue.js +4 -2
- package/lib/packages/core/layout/navBars/tagsView/contextmenu.vue3.js +7 -0
- package/lib/packages/core/layout/navBars/tagsView/tagsView.vue2.js +2 -3
- package/lib/packages/core/utils/other/index.js +5 -6
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/index.scss +1 -0
package/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! fm-dev v1.0.
|
|
1
|
+
/*! fm-dev v1.0.29 */
|
|
2
2
|
import { defineComponent, reactive, computed, watch, resolveComponent, createBlock, openBlock, withCtx, createVNode, createElementVNode, createTextVNode, toDisplayString as toDisplayString$1, withDirectives, createElementBlock, Fragment, renderList, vShow, ref, onMounted, nextTick, normalizeStyle, createCommentVNode, normalizeClass, withModifiers, resolveDynamicComponent, inject, getCurrentInstance, onUnmounted, onDeactivated, onActivated, effectScope, markRaw, toRaw as toRaw$1, isRef as isRef$1, isReactive as isReactive$1, toRef, hasInjectionContext, unref, getCurrentScope, onScopeDispose, toRefs, shallowRef, h, Text, resolveDirective, createSlots, onBeforeMount, TransitionGroup, withKeys, mergeProps, toHandlers, Transition, onBeforeUpdate, KeepAlive } from 'vue';
|
|
3
3
|
import { ElMessage, dayjs, ElMessageBox, ElNotification } from 'element-plus';
|
|
4
4
|
import crypto$1 from 'crypto';
|
|
@@ -36725,311 +36725,6 @@ const setDictLangMessageAsync = async (dict) => {
|
|
|
36725
36725
|
dict.label = text !== dict.langMessage && !text.endsWith(`${dict.typeCode}_${dict.value}`) ? text : dict.label;
|
|
36726
36726
|
};
|
|
36727
36727
|
|
|
36728
|
-
function useTitle() {
|
|
36729
|
-
const stores = useThemeConfig(pinia);
|
|
36730
|
-
const { themeConfig } = storeToRefs(stores);
|
|
36731
|
-
const router = useRouter();
|
|
36732
|
-
nextTick(() => {
|
|
36733
|
-
let webTitle = "";
|
|
36734
|
-
let globalTitle = themeConfig.value.globalTitle;
|
|
36735
|
-
const { path, meta } = router.currentRoute.value;
|
|
36736
|
-
if (path === "/login") {
|
|
36737
|
-
webTitle = meta.title;
|
|
36738
|
-
} else {
|
|
36739
|
-
webTitle = setTagsViewNameI18n(router.currentRoute.value);
|
|
36740
|
-
}
|
|
36741
|
-
document.title = `${webTitle} - ${globalTitle}` || globalTitle;
|
|
36742
|
-
});
|
|
36743
|
-
}
|
|
36744
|
-
function setTagsViewNameI18n(item) {
|
|
36745
|
-
let tagsViewName = "";
|
|
36746
|
-
const { query, params, meta } = item;
|
|
36747
|
-
const i18n = useI18n();
|
|
36748
|
-
const pattern = /^\{("(zh-CN|en|zh-TW)":"[^,]+",?){1,3}}$/;
|
|
36749
|
-
if (query?.tagsViewName || params?.tagsViewName) {
|
|
36750
|
-
if (pattern.test(query?.tagsViewName) || pattern.test(params?.tagsViewName)) {
|
|
36751
|
-
const urlTagsParams = query?.tagsViewName && JSON.parse(query?.tagsViewName) || params?.tagsViewName && JSON.parse(params?.tagsViewName);
|
|
36752
|
-
tagsViewName = urlTagsParams[i18n.locale.value];
|
|
36753
|
-
} else {
|
|
36754
|
-
tagsViewName = query?.tagsViewName || params?.tagsViewName;
|
|
36755
|
-
}
|
|
36756
|
-
} else {
|
|
36757
|
-
tagsViewName = i18n.t(`message.menu.${meta.title}`);
|
|
36758
|
-
}
|
|
36759
|
-
return tagsViewName;
|
|
36760
|
-
}
|
|
36761
|
-
const lazyImg = (el, arr) => {
|
|
36762
|
-
const io = new IntersectionObserver((res) => {
|
|
36763
|
-
res.forEach((v) => {
|
|
36764
|
-
if (v.isIntersecting) {
|
|
36765
|
-
const { img, key } = v.target.dataset;
|
|
36766
|
-
v.target.src = img;
|
|
36767
|
-
v.target.onload = () => {
|
|
36768
|
-
io.unobserve(v.target);
|
|
36769
|
-
arr[key]["loading"] = false;
|
|
36770
|
-
};
|
|
36771
|
-
}
|
|
36772
|
-
});
|
|
36773
|
-
});
|
|
36774
|
-
nextTick(() => {
|
|
36775
|
-
document.querySelectorAll(el).forEach((img) => io.observe(img));
|
|
36776
|
-
});
|
|
36777
|
-
};
|
|
36778
|
-
const globalComponentSize = () => {
|
|
36779
|
-
const stores = useThemeConfig(pinia);
|
|
36780
|
-
const { themeConfig } = storeToRefs(stores);
|
|
36781
|
-
return Local.get("themeConfig")?.globalComponentSize || themeConfig.value?.globalComponentSize;
|
|
36782
|
-
};
|
|
36783
|
-
function deepClone(obj) {
|
|
36784
|
-
let newObj;
|
|
36785
|
-
try {
|
|
36786
|
-
newObj = obj.push ? [] : {};
|
|
36787
|
-
} catch (error) {
|
|
36788
|
-
newObj = {};
|
|
36789
|
-
}
|
|
36790
|
-
for (let attr in obj) {
|
|
36791
|
-
if (obj[attr] && typeof obj[attr] === "object") {
|
|
36792
|
-
newObj[attr] = deepClone(obj[attr]);
|
|
36793
|
-
} else {
|
|
36794
|
-
newObj[attr] = obj[attr];
|
|
36795
|
-
}
|
|
36796
|
-
}
|
|
36797
|
-
return newObj;
|
|
36798
|
-
}
|
|
36799
|
-
function isMobile() {
|
|
36800
|
-
if (navigator.userAgent.match(/('phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone')/i)) {
|
|
36801
|
-
return true;
|
|
36802
|
-
} else {
|
|
36803
|
-
return false;
|
|
36804
|
-
}
|
|
36805
|
-
}
|
|
36806
|
-
function handleEmpty(list) {
|
|
36807
|
-
const arr = [];
|
|
36808
|
-
for (const i in list) {
|
|
36809
|
-
const d = [];
|
|
36810
|
-
for (const j in list[i]) {
|
|
36811
|
-
d.push(list[i][j]);
|
|
36812
|
-
}
|
|
36813
|
-
const leng = d.filter((item) => item === "").length;
|
|
36814
|
-
if (leng !== d.length) {
|
|
36815
|
-
arr.push(list[i]);
|
|
36816
|
-
}
|
|
36817
|
-
}
|
|
36818
|
-
return arr;
|
|
36819
|
-
}
|
|
36820
|
-
function handleOpenLink(val) {
|
|
36821
|
-
const { origin, pathname } = window.location;
|
|
36822
|
-
const router = useRouter();
|
|
36823
|
-
router.push(val.path);
|
|
36824
|
-
if (verifyUrl(val.meta?.isLink)) window.open(val.meta?.isLink);
|
|
36825
|
-
else window.open(`${origin}${pathname}#${val.meta?.isLink}`);
|
|
36826
|
-
}
|
|
36827
|
-
const other = {
|
|
36828
|
-
useTitle: () => {
|
|
36829
|
-
useTitle();
|
|
36830
|
-
},
|
|
36831
|
-
setTagsViewNameI18n(route) {
|
|
36832
|
-
return setTagsViewNameI18n(route);
|
|
36833
|
-
},
|
|
36834
|
-
lazyImg: (el, arr) => {
|
|
36835
|
-
lazyImg(el, arr);
|
|
36836
|
-
},
|
|
36837
|
-
globalComponentSize: () => {
|
|
36838
|
-
return globalComponentSize();
|
|
36839
|
-
},
|
|
36840
|
-
deepClone: (obj) => {
|
|
36841
|
-
return deepClone(obj);
|
|
36842
|
-
},
|
|
36843
|
-
isMobile: () => {
|
|
36844
|
-
return isMobile();
|
|
36845
|
-
},
|
|
36846
|
-
handleEmpty: (list) => {
|
|
36847
|
-
return handleEmpty(list);
|
|
36848
|
-
},
|
|
36849
|
-
handleOpenLink: (val) => {
|
|
36850
|
-
handleOpenLink(val);
|
|
36851
|
-
}
|
|
36852
|
-
};
|
|
36853
|
-
|
|
36854
|
-
const cssCdnUrlList = [
|
|
36855
|
-
// 调整为从本地引入,注释下面的 url
|
|
36856
|
-
// '//at.alicdn.com/t/c/font_2298093_rnp72ifj3ba.css',
|
|
36857
|
-
// '//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css',
|
|
36858
|
-
];
|
|
36859
|
-
const jsCdnUrlList = [];
|
|
36860
|
-
function setCssCdn() {
|
|
36861
|
-
if (cssCdnUrlList.length <= 0) return false;
|
|
36862
|
-
cssCdnUrlList.map((v) => {
|
|
36863
|
-
let link = document.createElement("link");
|
|
36864
|
-
link.rel = "stylesheet";
|
|
36865
|
-
link.href = v;
|
|
36866
|
-
link.crossOrigin = "anonymous";
|
|
36867
|
-
document.getElementsByTagName("head")[0].appendChild(link);
|
|
36868
|
-
});
|
|
36869
|
-
}
|
|
36870
|
-
function setJsCdn() {
|
|
36871
|
-
if (jsCdnUrlList.length <= 0) return false;
|
|
36872
|
-
jsCdnUrlList.map((v) => {
|
|
36873
|
-
let link = document.createElement("script");
|
|
36874
|
-
link.src = v;
|
|
36875
|
-
document.body.appendChild(link);
|
|
36876
|
-
});
|
|
36877
|
-
}
|
|
36878
|
-
const setIntroduction = {
|
|
36879
|
-
// 设置css
|
|
36880
|
-
cssCdn: () => {
|
|
36881
|
-
setCssCdn();
|
|
36882
|
-
},
|
|
36883
|
-
// 设置js
|
|
36884
|
-
jsCdn: () => {
|
|
36885
|
-
setJsCdn();
|
|
36886
|
-
}
|
|
36887
|
-
};
|
|
36888
|
-
|
|
36889
|
-
const NextLoading = {
|
|
36890
|
-
// 创建 loading
|
|
36891
|
-
start: () => {
|
|
36892
|
-
const bodys = document.body;
|
|
36893
|
-
const div = document.createElement("div");
|
|
36894
|
-
div.setAttribute("class", "loading-next");
|
|
36895
|
-
const htmls = `
|
|
36896
|
-
<div class="loading-next-box">
|
|
36897
|
-
<div class="loading-next-box-warp">
|
|
36898
|
-
<div class="loading-next-box-item"></div>
|
|
36899
|
-
<div class="loading-next-box-item"></div>
|
|
36900
|
-
<div class="loading-next-box-item"></div>
|
|
36901
|
-
<div class="loading-next-box-item"></div>
|
|
36902
|
-
<div class="loading-next-box-item"></div>
|
|
36903
|
-
<div class="loading-next-box-item"></div>
|
|
36904
|
-
<div class="loading-next-box-item"></div>
|
|
36905
|
-
<div class="loading-next-box-item"></div>
|
|
36906
|
-
<div class="loading-next-box-item"></div>
|
|
36907
|
-
</div>
|
|
36908
|
-
</div>
|
|
36909
|
-
`;
|
|
36910
|
-
div.innerHTML = htmls;
|
|
36911
|
-
bodys.insertBefore(div, bodys.childNodes[0]);
|
|
36912
|
-
window.nextLoading = true;
|
|
36913
|
-
},
|
|
36914
|
-
// 移除 loading
|
|
36915
|
-
done: (time = 0) => {
|
|
36916
|
-
nextTick(() => {
|
|
36917
|
-
setTimeout(() => {
|
|
36918
|
-
window.nextLoading = false;
|
|
36919
|
-
const el = document.querySelector(".loading-next");
|
|
36920
|
-
el?.parentNode?.removeChild(el);
|
|
36921
|
-
}, time);
|
|
36922
|
-
});
|
|
36923
|
-
}
|
|
36924
|
-
};
|
|
36925
|
-
|
|
36926
|
-
function authDirective(app) {
|
|
36927
|
-
app.directive("auth", {
|
|
36928
|
-
mounted(el, binding) {
|
|
36929
|
-
const stores = useUserInfo();
|
|
36930
|
-
if (!stores.userInfos.authApiList) {
|
|
36931
|
-
el.parentNode.removeChild(el);
|
|
36932
|
-
} else {
|
|
36933
|
-
if (!stores.userInfos.authApiList.some((v) => v === binding.value)) el.parentNode.removeChild(el);
|
|
36934
|
-
}
|
|
36935
|
-
}
|
|
36936
|
-
});
|
|
36937
|
-
app.directive("auths", {
|
|
36938
|
-
mounted(el, binding) {
|
|
36939
|
-
let flag = false;
|
|
36940
|
-
const stores = useUserInfo();
|
|
36941
|
-
stores.userInfos.authApiList.map((val) => {
|
|
36942
|
-
binding.value.map((v) => {
|
|
36943
|
-
if (val === v) flag = true;
|
|
36944
|
-
});
|
|
36945
|
-
});
|
|
36946
|
-
if (!flag) el.parentNode.removeChild(el);
|
|
36947
|
-
}
|
|
36948
|
-
});
|
|
36949
|
-
app.directive("auth-all", {
|
|
36950
|
-
mounted(el, binding) {
|
|
36951
|
-
const stores = useUserInfo();
|
|
36952
|
-
const flag = judgementSameArr(binding.value, stores.userInfos.authApiList);
|
|
36953
|
-
if (!flag) el.parentNode.removeChild(el);
|
|
36954
|
-
}
|
|
36955
|
-
});
|
|
36956
|
-
}
|
|
36957
|
-
|
|
36958
|
-
function wavesDirective(app) {
|
|
36959
|
-
app.directive("waves", {
|
|
36960
|
-
mounted(el, binding) {
|
|
36961
|
-
el.classList.add("waves-effect");
|
|
36962
|
-
binding.value && el.classList.add(`waves-${binding.value}`);
|
|
36963
|
-
function setConvertStyle(obj) {
|
|
36964
|
-
let style = "";
|
|
36965
|
-
for (let i in obj) {
|
|
36966
|
-
if (obj.hasOwnProperty(i)) style += `${i}:${obj[i]};`;
|
|
36967
|
-
}
|
|
36968
|
-
return style;
|
|
36969
|
-
}
|
|
36970
|
-
function onCurrentClick(e) {
|
|
36971
|
-
let elDiv = document.createElement("div");
|
|
36972
|
-
elDiv.classList.add("waves-ripple");
|
|
36973
|
-
el.appendChild(elDiv);
|
|
36974
|
-
let styles = {
|
|
36975
|
-
left: `${e.layerX}px`,
|
|
36976
|
-
top: `${e.layerY}px`,
|
|
36977
|
-
opacity: 1,
|
|
36978
|
-
transform: `scale(${el.clientWidth / 100 * 10})`,
|
|
36979
|
-
"transition-duration": `750ms`,
|
|
36980
|
-
"transition-timing-function": `cubic-bezier(0.250, 0.460, 0.450, 0.940)`
|
|
36981
|
-
};
|
|
36982
|
-
elDiv.setAttribute("style", setConvertStyle(styles));
|
|
36983
|
-
setTimeout(() => {
|
|
36984
|
-
elDiv.setAttribute(
|
|
36985
|
-
"style",
|
|
36986
|
-
setConvertStyle({
|
|
36987
|
-
opacity: 0,
|
|
36988
|
-
transform: styles.transform,
|
|
36989
|
-
left: styles.left,
|
|
36990
|
-
top: styles.top
|
|
36991
|
-
})
|
|
36992
|
-
);
|
|
36993
|
-
setTimeout(() => {
|
|
36994
|
-
elDiv && el.removeChild(elDiv);
|
|
36995
|
-
}, 750);
|
|
36996
|
-
}, 450);
|
|
36997
|
-
}
|
|
36998
|
-
el.addEventListener("mousedown", onCurrentClick, false);
|
|
36999
|
-
},
|
|
37000
|
-
unmounted(el) {
|
|
37001
|
-
el.addEventListener("mousedown", () => {
|
|
37002
|
-
});
|
|
37003
|
-
}
|
|
37004
|
-
});
|
|
37005
|
-
}
|
|
37006
|
-
function reclickDirective(app) {
|
|
37007
|
-
app.directive("reclick", {
|
|
37008
|
-
mounted(el, time) {
|
|
37009
|
-
el.addEventListener("click", () => {
|
|
37010
|
-
if (!el.disabled) {
|
|
37011
|
-
el.disabled = true;
|
|
37012
|
-
setTimeout(
|
|
37013
|
-
() => {
|
|
37014
|
-
el.disabled = false;
|
|
37015
|
-
},
|
|
37016
|
-
time.value === void 0 ? 500 : time.value
|
|
37017
|
-
);
|
|
37018
|
-
}
|
|
37019
|
-
});
|
|
37020
|
-
},
|
|
37021
|
-
unmounted(el) {
|
|
37022
|
-
el.disabled = false;
|
|
37023
|
-
}
|
|
37024
|
-
});
|
|
37025
|
-
}
|
|
37026
|
-
|
|
37027
|
-
function directive(app) {
|
|
37028
|
-
authDirective(app);
|
|
37029
|
-
wavesDirective(app);
|
|
37030
|
-
reclickDirective(app);
|
|
37031
|
-
}
|
|
37032
|
-
|
|
37033
36728
|
var de = {
|
|
37034
36729
|
name: "de",
|
|
37035
36730
|
el: {
|
|
@@ -50306,6 +50001,310 @@ async function setupI18n(app, tempmodel, lang) {
|
|
|
50306
50001
|
});
|
|
50307
50002
|
}
|
|
50308
50003
|
|
|
50004
|
+
function useTitle() {
|
|
50005
|
+
const stores = useThemeConfig(pinia);
|
|
50006
|
+
const { themeConfig } = storeToRefs(stores);
|
|
50007
|
+
const router = useRouter();
|
|
50008
|
+
nextTick(() => {
|
|
50009
|
+
let webTitle = "";
|
|
50010
|
+
let globalTitle = themeConfig.value.globalTitle;
|
|
50011
|
+
const { path, meta } = router.currentRoute.value;
|
|
50012
|
+
if (path === "/login") {
|
|
50013
|
+
webTitle = meta.title;
|
|
50014
|
+
} else {
|
|
50015
|
+
webTitle = setTagsViewNameI18n(router.currentRoute.value);
|
|
50016
|
+
}
|
|
50017
|
+
document.title = `${webTitle} - ${globalTitle}` || globalTitle;
|
|
50018
|
+
});
|
|
50019
|
+
}
|
|
50020
|
+
function setTagsViewNameI18n(item) {
|
|
50021
|
+
let tagsViewName = "";
|
|
50022
|
+
const { query, params, meta } = item;
|
|
50023
|
+
const pattern = /^\{("(zh-CN|en|zh-TW)":"[^,]+",?){1,3}}$/;
|
|
50024
|
+
if (query?.tagsViewName || params?.tagsViewName) {
|
|
50025
|
+
if (pattern.test(query?.tagsViewName) || pattern.test(params?.tagsViewName)) {
|
|
50026
|
+
const urlTagsParams = query?.tagsViewName && JSON.parse(query?.tagsViewName) || params?.tagsViewName && JSON.parse(params?.tagsViewName);
|
|
50027
|
+
tagsViewName = urlTagsParams[i18n.global.locale.value];
|
|
50028
|
+
} else {
|
|
50029
|
+
tagsViewName = query?.tagsViewName || params?.tagsViewName;
|
|
50030
|
+
}
|
|
50031
|
+
} else {
|
|
50032
|
+
tagsViewName = i18n.global.t(`message.menu.${meta.title}`);
|
|
50033
|
+
}
|
|
50034
|
+
return tagsViewName;
|
|
50035
|
+
}
|
|
50036
|
+
const lazyImg = (el, arr) => {
|
|
50037
|
+
const io = new IntersectionObserver((res) => {
|
|
50038
|
+
res.forEach((v) => {
|
|
50039
|
+
if (v.isIntersecting) {
|
|
50040
|
+
const { img, key } = v.target.dataset;
|
|
50041
|
+
v.target.src = img;
|
|
50042
|
+
v.target.onload = () => {
|
|
50043
|
+
io.unobserve(v.target);
|
|
50044
|
+
arr[key]["loading"] = false;
|
|
50045
|
+
};
|
|
50046
|
+
}
|
|
50047
|
+
});
|
|
50048
|
+
});
|
|
50049
|
+
nextTick(() => {
|
|
50050
|
+
document.querySelectorAll(el).forEach((img) => io.observe(img));
|
|
50051
|
+
});
|
|
50052
|
+
};
|
|
50053
|
+
const globalComponentSize = () => {
|
|
50054
|
+
const stores = useThemeConfig(pinia);
|
|
50055
|
+
const { themeConfig } = storeToRefs(stores);
|
|
50056
|
+
return Local.get("themeConfig")?.globalComponentSize || themeConfig.value?.globalComponentSize;
|
|
50057
|
+
};
|
|
50058
|
+
function deepClone(obj) {
|
|
50059
|
+
let newObj;
|
|
50060
|
+
try {
|
|
50061
|
+
newObj = obj.push ? [] : {};
|
|
50062
|
+
} catch (error) {
|
|
50063
|
+
newObj = {};
|
|
50064
|
+
}
|
|
50065
|
+
for (let attr in obj) {
|
|
50066
|
+
if (obj[attr] && typeof obj[attr] === "object") {
|
|
50067
|
+
newObj[attr] = deepClone(obj[attr]);
|
|
50068
|
+
} else {
|
|
50069
|
+
newObj[attr] = obj[attr];
|
|
50070
|
+
}
|
|
50071
|
+
}
|
|
50072
|
+
return newObj;
|
|
50073
|
+
}
|
|
50074
|
+
function isMobile() {
|
|
50075
|
+
if (navigator.userAgent.match(/('phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone')/i)) {
|
|
50076
|
+
return true;
|
|
50077
|
+
} else {
|
|
50078
|
+
return false;
|
|
50079
|
+
}
|
|
50080
|
+
}
|
|
50081
|
+
function handleEmpty(list) {
|
|
50082
|
+
const arr = [];
|
|
50083
|
+
for (const i in list) {
|
|
50084
|
+
const d = [];
|
|
50085
|
+
for (const j in list[i]) {
|
|
50086
|
+
d.push(list[i][j]);
|
|
50087
|
+
}
|
|
50088
|
+
const leng = d.filter((item) => item === "").length;
|
|
50089
|
+
if (leng !== d.length) {
|
|
50090
|
+
arr.push(list[i]);
|
|
50091
|
+
}
|
|
50092
|
+
}
|
|
50093
|
+
return arr;
|
|
50094
|
+
}
|
|
50095
|
+
function handleOpenLink(val) {
|
|
50096
|
+
const { origin, pathname } = window.location;
|
|
50097
|
+
const router = useRouter();
|
|
50098
|
+
router.push(val.path);
|
|
50099
|
+
if (verifyUrl(val.meta?.isLink)) window.open(val.meta?.isLink);
|
|
50100
|
+
else window.open(`${origin}${pathname}#${val.meta?.isLink}`);
|
|
50101
|
+
}
|
|
50102
|
+
const other = {
|
|
50103
|
+
useTitle: () => {
|
|
50104
|
+
useTitle();
|
|
50105
|
+
},
|
|
50106
|
+
setTagsViewNameI18n(route) {
|
|
50107
|
+
return setTagsViewNameI18n(route);
|
|
50108
|
+
},
|
|
50109
|
+
lazyImg: (el, arr) => {
|
|
50110
|
+
lazyImg(el, arr);
|
|
50111
|
+
},
|
|
50112
|
+
globalComponentSize: () => {
|
|
50113
|
+
return globalComponentSize();
|
|
50114
|
+
},
|
|
50115
|
+
deepClone: (obj) => {
|
|
50116
|
+
return deepClone(obj);
|
|
50117
|
+
},
|
|
50118
|
+
isMobile: () => {
|
|
50119
|
+
return isMobile();
|
|
50120
|
+
},
|
|
50121
|
+
handleEmpty: (list) => {
|
|
50122
|
+
return handleEmpty(list);
|
|
50123
|
+
},
|
|
50124
|
+
handleOpenLink: (val) => {
|
|
50125
|
+
handleOpenLink(val);
|
|
50126
|
+
}
|
|
50127
|
+
};
|
|
50128
|
+
|
|
50129
|
+
const cssCdnUrlList = [
|
|
50130
|
+
// 调整为从本地引入,注释下面的 url
|
|
50131
|
+
// '//at.alicdn.com/t/c/font_2298093_rnp72ifj3ba.css',
|
|
50132
|
+
// '//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css',
|
|
50133
|
+
];
|
|
50134
|
+
const jsCdnUrlList = [];
|
|
50135
|
+
function setCssCdn() {
|
|
50136
|
+
if (cssCdnUrlList.length <= 0) return false;
|
|
50137
|
+
cssCdnUrlList.map((v) => {
|
|
50138
|
+
let link = document.createElement("link");
|
|
50139
|
+
link.rel = "stylesheet";
|
|
50140
|
+
link.href = v;
|
|
50141
|
+
link.crossOrigin = "anonymous";
|
|
50142
|
+
document.getElementsByTagName("head")[0].appendChild(link);
|
|
50143
|
+
});
|
|
50144
|
+
}
|
|
50145
|
+
function setJsCdn() {
|
|
50146
|
+
if (jsCdnUrlList.length <= 0) return false;
|
|
50147
|
+
jsCdnUrlList.map((v) => {
|
|
50148
|
+
let link = document.createElement("script");
|
|
50149
|
+
link.src = v;
|
|
50150
|
+
document.body.appendChild(link);
|
|
50151
|
+
});
|
|
50152
|
+
}
|
|
50153
|
+
const setIntroduction = {
|
|
50154
|
+
// 设置css
|
|
50155
|
+
cssCdn: () => {
|
|
50156
|
+
setCssCdn();
|
|
50157
|
+
},
|
|
50158
|
+
// 设置js
|
|
50159
|
+
jsCdn: () => {
|
|
50160
|
+
setJsCdn();
|
|
50161
|
+
}
|
|
50162
|
+
};
|
|
50163
|
+
|
|
50164
|
+
const NextLoading = {
|
|
50165
|
+
// 创建 loading
|
|
50166
|
+
start: () => {
|
|
50167
|
+
const bodys = document.body;
|
|
50168
|
+
const div = document.createElement("div");
|
|
50169
|
+
div.setAttribute("class", "loading-next");
|
|
50170
|
+
const htmls = `
|
|
50171
|
+
<div class="loading-next-box">
|
|
50172
|
+
<div class="loading-next-box-warp">
|
|
50173
|
+
<div class="loading-next-box-item"></div>
|
|
50174
|
+
<div class="loading-next-box-item"></div>
|
|
50175
|
+
<div class="loading-next-box-item"></div>
|
|
50176
|
+
<div class="loading-next-box-item"></div>
|
|
50177
|
+
<div class="loading-next-box-item"></div>
|
|
50178
|
+
<div class="loading-next-box-item"></div>
|
|
50179
|
+
<div class="loading-next-box-item"></div>
|
|
50180
|
+
<div class="loading-next-box-item"></div>
|
|
50181
|
+
<div class="loading-next-box-item"></div>
|
|
50182
|
+
</div>
|
|
50183
|
+
</div>
|
|
50184
|
+
`;
|
|
50185
|
+
div.innerHTML = htmls;
|
|
50186
|
+
bodys.insertBefore(div, bodys.childNodes[0]);
|
|
50187
|
+
window.nextLoading = true;
|
|
50188
|
+
},
|
|
50189
|
+
// 移除 loading
|
|
50190
|
+
done: (time = 0) => {
|
|
50191
|
+
nextTick(() => {
|
|
50192
|
+
setTimeout(() => {
|
|
50193
|
+
window.nextLoading = false;
|
|
50194
|
+
const el = document.querySelector(".loading-next");
|
|
50195
|
+
el?.parentNode?.removeChild(el);
|
|
50196
|
+
}, time);
|
|
50197
|
+
});
|
|
50198
|
+
}
|
|
50199
|
+
};
|
|
50200
|
+
|
|
50201
|
+
function authDirective(app) {
|
|
50202
|
+
app.directive("auth", {
|
|
50203
|
+
mounted(el, binding) {
|
|
50204
|
+
const stores = useUserInfo();
|
|
50205
|
+
if (!stores.userInfos.authApiList) {
|
|
50206
|
+
el.parentNode.removeChild(el);
|
|
50207
|
+
} else {
|
|
50208
|
+
if (!stores.userInfos.authApiList.some((v) => v === binding.value)) el.parentNode.removeChild(el);
|
|
50209
|
+
}
|
|
50210
|
+
}
|
|
50211
|
+
});
|
|
50212
|
+
app.directive("auths", {
|
|
50213
|
+
mounted(el, binding) {
|
|
50214
|
+
let flag = false;
|
|
50215
|
+
const stores = useUserInfo();
|
|
50216
|
+
stores.userInfos.authApiList.map((val) => {
|
|
50217
|
+
binding.value.map((v) => {
|
|
50218
|
+
if (val === v) flag = true;
|
|
50219
|
+
});
|
|
50220
|
+
});
|
|
50221
|
+
if (!flag) el.parentNode.removeChild(el);
|
|
50222
|
+
}
|
|
50223
|
+
});
|
|
50224
|
+
app.directive("auth-all", {
|
|
50225
|
+
mounted(el, binding) {
|
|
50226
|
+
const stores = useUserInfo();
|
|
50227
|
+
const flag = judgementSameArr(binding.value, stores.userInfos.authApiList);
|
|
50228
|
+
if (!flag) el.parentNode.removeChild(el);
|
|
50229
|
+
}
|
|
50230
|
+
});
|
|
50231
|
+
}
|
|
50232
|
+
|
|
50233
|
+
function wavesDirective(app) {
|
|
50234
|
+
app.directive("waves", {
|
|
50235
|
+
mounted(el, binding) {
|
|
50236
|
+
el.classList.add("waves-effect");
|
|
50237
|
+
binding.value && el.classList.add(`waves-${binding.value}`);
|
|
50238
|
+
function setConvertStyle(obj) {
|
|
50239
|
+
let style = "";
|
|
50240
|
+
for (let i in obj) {
|
|
50241
|
+
if (obj.hasOwnProperty(i)) style += `${i}:${obj[i]};`;
|
|
50242
|
+
}
|
|
50243
|
+
return style;
|
|
50244
|
+
}
|
|
50245
|
+
function onCurrentClick(e) {
|
|
50246
|
+
let elDiv = document.createElement("div");
|
|
50247
|
+
elDiv.classList.add("waves-ripple");
|
|
50248
|
+
el.appendChild(elDiv);
|
|
50249
|
+
let styles = {
|
|
50250
|
+
left: `${e.layerX}px`,
|
|
50251
|
+
top: `${e.layerY}px`,
|
|
50252
|
+
opacity: 1,
|
|
50253
|
+
transform: `scale(${el.clientWidth / 100 * 10})`,
|
|
50254
|
+
"transition-duration": `750ms`,
|
|
50255
|
+
"transition-timing-function": `cubic-bezier(0.250, 0.460, 0.450, 0.940)`
|
|
50256
|
+
};
|
|
50257
|
+
elDiv.setAttribute("style", setConvertStyle(styles));
|
|
50258
|
+
setTimeout(() => {
|
|
50259
|
+
elDiv.setAttribute(
|
|
50260
|
+
"style",
|
|
50261
|
+
setConvertStyle({
|
|
50262
|
+
opacity: 0,
|
|
50263
|
+
transform: styles.transform,
|
|
50264
|
+
left: styles.left,
|
|
50265
|
+
top: styles.top
|
|
50266
|
+
})
|
|
50267
|
+
);
|
|
50268
|
+
setTimeout(() => {
|
|
50269
|
+
elDiv && el.removeChild(elDiv);
|
|
50270
|
+
}, 750);
|
|
50271
|
+
}, 450);
|
|
50272
|
+
}
|
|
50273
|
+
el.addEventListener("mousedown", onCurrentClick, false);
|
|
50274
|
+
},
|
|
50275
|
+
unmounted(el) {
|
|
50276
|
+
el.addEventListener("mousedown", () => {
|
|
50277
|
+
});
|
|
50278
|
+
}
|
|
50279
|
+
});
|
|
50280
|
+
}
|
|
50281
|
+
function reclickDirective(app) {
|
|
50282
|
+
app.directive("reclick", {
|
|
50283
|
+
mounted(el, time) {
|
|
50284
|
+
el.addEventListener("click", () => {
|
|
50285
|
+
if (!el.disabled) {
|
|
50286
|
+
el.disabled = true;
|
|
50287
|
+
setTimeout(
|
|
50288
|
+
() => {
|
|
50289
|
+
el.disabled = false;
|
|
50290
|
+
},
|
|
50291
|
+
time.value === void 0 ? 500 : time.value
|
|
50292
|
+
);
|
|
50293
|
+
}
|
|
50294
|
+
});
|
|
50295
|
+
},
|
|
50296
|
+
unmounted(el) {
|
|
50297
|
+
el.disabled = false;
|
|
50298
|
+
}
|
|
50299
|
+
});
|
|
50300
|
+
}
|
|
50301
|
+
|
|
50302
|
+
function directive(app) {
|
|
50303
|
+
authDirective(app);
|
|
50304
|
+
wavesDirective(app);
|
|
50305
|
+
reclickDirective(app);
|
|
50306
|
+
}
|
|
50307
|
+
|
|
50309
50308
|
function auth(value) {
|
|
50310
50309
|
const stores = useUserInfo();
|
|
50311
50310
|
return stores.userInfos.authApiList.some((v) => v === value);
|
|
@@ -62990,6 +62989,8 @@ var _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
62990
62989
|
}
|
|
62991
62990
|
});
|
|
62992
62991
|
|
|
62992
|
+
var cmenum = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-9f2146b8"]]);
|
|
62993
|
+
|
|
62993
62994
|
const _hoisted_1$9 = ["data-url", "onContextmenu", "onMousedown", "onClick"];
|
|
62994
62995
|
const _hoisted_2$6 = {
|
|
62995
62996
|
key: 0,
|
|
@@ -62998,7 +62999,7 @@ const _hoisted_2$6 = {
|
|
|
62998
62999
|
var _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
62999
63000
|
__name: "tagsView",
|
|
63000
63001
|
setup(__props) {
|
|
63001
|
-
const Contextmenu =
|
|
63002
|
+
const Contextmenu = cmenum;
|
|
63002
63003
|
const tagsRefs = ref([]);
|
|
63003
63004
|
const scrollbarRef = ref();
|
|
63004
63005
|
const contextmenuRef = ref();
|