vue-layout-gitcode 1.8.20 → 1.8.21
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/{GloabarSearch-CsfaqmkP.js → GloabarSearch-DWutXBZ0.js} +3 -3
- package/{MenuItem-BHtAosV9.js → MenuItem-B48J7_bH.js} +1 -1
- package/{ProjectMenuList-CU5JF-qf.js → ProjectMenuList-eMPknWyF.js} +3 -3
- package/{ProjectMenuListV2-CQLWeHkd.js → ProjectMenuListV2-BDrzG4ue.js} +3 -3
- package/{ProjectSearch-Bx_yKm0s.js → ProjectSearch-CSK6qeey.js} +1 -1
- package/{SearchHistoryList-B3c_il4L.js → SearchHistoryList-j9cRlcCi.js} +1 -1
- package/{SearchPrefixTag-B55uF6lG.js → SearchPrefixTag-xrGOwpv6.js} +1 -1
- package/{SearchRecommed-Bz1a-RJg.js → SearchRecommed-BrPLs0fF.js} +2 -2
- package/{SearchScopeList-CkXrQ6Hi.js → SearchScopeList-CuNgQw8w.js} +1 -1
- package/{UserSearch-CThRm6FU.js → UserSearch-C69mULge.js} +1 -1
- package/{index-Bmj0DI0l.js → index-CQGXV6Ps.js} +9 -1
- package/{index-CZiUhHzE.js → index-C_yAfSqS.js} +2 -2
- package/{index-CYat2b__.js → index-DXolqsNi.js} +351 -224
- package/{index-CjlFh9gp.js → index-bBRwqaOi.js} +44 -3
- package/index.js +10 -10
- package/{notice-Dnq7xTYo.js → notice-B8DH0Zm_.js} +1 -1
- package/package.json +2 -2
- package/style.css +1 -1
- package/{transWebUrl-lnkID7Kl.js → transWebUrl-BN2jSeBd.js} +1 -1
|
@@ -9,12 +9,12 @@ import "vue-devui-lal/tooltip/style.css";
|
|
|
9
9
|
import "vue-devui-lal/textarea/style.css";
|
|
10
10
|
import { Icon } from "vue-devui-lal/icon";
|
|
11
11
|
import "vue-devui-lal/icon/style.css";
|
|
12
|
+
import cloneDeep from "lodash/cloneDeep";
|
|
12
13
|
import { useRouter, useRoute, createRouter, createWebHistory, createMemoryHistory } from "vue-router";
|
|
13
14
|
import { useLocalStorage, useWindowSize, useEventListener, useElementSize, useStorage, useDebounceFn } from "@vueuse/core";
|
|
14
15
|
import { Avatar } from "vue-devui-lal/avatar";
|
|
15
16
|
import "vue-devui-lal/avatar/style.css";
|
|
16
17
|
import "lodash/last";
|
|
17
|
-
import cloneDeep from "lodash/cloneDeep";
|
|
18
18
|
import dayjs$1 from "dayjs";
|
|
19
19
|
import isDate$2 from "lodash/isDate";
|
|
20
20
|
import { Skeleton, SkeletonItem } from "vue-devui-lal/skeleton";
|
|
@@ -105,29 +105,12 @@ const _export_sfc = (sfc, props) => {
|
|
|
105
105
|
return target;
|
|
106
106
|
};
|
|
107
107
|
const GIcon = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-vue-layout-gitcode"]]);
|
|
108
|
-
const transformUrl$1 = (url) => {
|
|
109
|
-
var _a;
|
|
110
|
-
if (typeof window !== "undefined" && typeof location !== "undefined") {
|
|
111
|
-
const host = (_a = location.host) == null ? void 0 : _a.replace(/^ai\./, "");
|
|
112
|
-
if (host.includes("gitcode.host")) {
|
|
113
|
-
return url == null ? void 0 : url.replace(/gitcode\.com/g, host);
|
|
114
|
-
}
|
|
115
|
-
if (host.includes("test.gitcode.net")) {
|
|
116
|
-
return url == null ? void 0 : url.replace(/test\.gitcode\.net/g, host);
|
|
117
|
-
}
|
|
118
|
-
if (url == null ? void 0 : url.startsWith("https://cdn-")) {
|
|
119
|
-
return url;
|
|
120
|
-
}
|
|
121
|
-
return url == null ? void 0 : url.replace(/gitcode\.com/g, host);
|
|
122
|
-
}
|
|
123
|
-
return url;
|
|
124
|
-
};
|
|
125
108
|
const defaultConfig = {
|
|
126
109
|
VITE_ENV: "production",
|
|
127
110
|
VITE_HOST: "https://gitcode.com",
|
|
128
111
|
VITE_HOST_TIANQI: "https://tianqi.gitcode.com",
|
|
129
112
|
VITE_API_HOST: "https://web-api.gitcode.com",
|
|
130
|
-
VITE_AD_LINK: "https://cdn-static.gitcode.
|
|
113
|
+
VITE_AD_LINK: "https://cdn-static.gitcode.com/adList/active.json",
|
|
131
114
|
VITE_NEWS_HOST: "https://news.gitcode.com",
|
|
132
115
|
VITE_AI_HOST: "https://ai.gitcode.com",
|
|
133
116
|
VITE_INCUBATION_TOPIC: "6656c64efd46e722f6299761",
|
|
@@ -137,12 +120,12 @@ const defaultConfig = {
|
|
|
137
120
|
VITE_SECRET_KEY: "SA!nUNPZ5o!OSV&B",
|
|
138
121
|
VITE_SECRET_IV: "SA!nwwwZ5o!OSV&B"
|
|
139
122
|
};
|
|
140
|
-
const layoutConfig$
|
|
123
|
+
const layoutConfig$6 = reactive({ ...defaultConfig });
|
|
141
124
|
function setLayoutConfig(customConfig) {
|
|
142
|
-
Object.assign(layoutConfig$
|
|
125
|
+
Object.assign(layoutConfig$6, customConfig);
|
|
143
126
|
}
|
|
144
127
|
function useLayoutConfig() {
|
|
145
|
-
return readonly(layoutConfig$
|
|
128
|
+
return readonly(layoutConfig$6);
|
|
146
129
|
}
|
|
147
130
|
async function reqCatch(req, params) {
|
|
148
131
|
try {
|
|
@@ -268,6 +251,20 @@ const useRequestReport = (request, globalStore) => {
|
|
|
268
251
|
useReport: useReport2
|
|
269
252
|
};
|
|
270
253
|
};
|
|
254
|
+
const handleReportParamsByDomain = (reportString) => {
|
|
255
|
+
var _a;
|
|
256
|
+
const domainMap = {
|
|
257
|
+
blog: "blog_"
|
|
258
|
+
};
|
|
259
|
+
const domain = ((_a = window == null ? void 0 : window.location) == null ? void 0 : _a.hostname) || "";
|
|
260
|
+
for (const key in domainMap) {
|
|
261
|
+
if (domain.includes(key)) {
|
|
262
|
+
reportString = domainMap[key] + reportString;
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
return reportString;
|
|
267
|
+
};
|
|
271
268
|
const isBrowser$1 = typeof window !== "undefined" && typeof window.localStorage !== "undefined";
|
|
272
269
|
let localStorage$1;
|
|
273
270
|
if (isBrowser$1) {
|
|
@@ -391,7 +388,7 @@ function udeskInit(config = {}, open = false) {
|
|
|
391
388
|
g.src = b;
|
|
392
389
|
c = h2.getElementsByTagName(c)[0];
|
|
393
390
|
c.parentNode.insertBefore(g, c);
|
|
394
|
-
})(window, document, "script", "https://cdn-static.gitcode.
|
|
391
|
+
})(window, document, "script", "https://cdn-static.gitcode.com/static/js/udeskApi.js", "ud");
|
|
395
392
|
ud({
|
|
396
393
|
code: "24581k88",
|
|
397
394
|
link: "https://gitcode.s2.udesk.cn/im_client/?web_plugin_id=57707",
|
|
@@ -494,7 +491,7 @@ const OSS_IMAGES = {
|
|
|
494
491
|
};
|
|
495
492
|
const GOTO_QUICK_LOGIN = "gotoQuickLogin";
|
|
496
493
|
const DEFAULT_COUNTRY = "CN_0086";
|
|
497
|
-
const IMAGE_CDN_PREFIX = "https://cdn-static.gitcode.
|
|
494
|
+
const IMAGE_CDN_PREFIX = "https://cdn-static.gitcode.com";
|
|
498
495
|
const HARMONY_VISITED_DATE = "harmony-visitedDate";
|
|
499
496
|
const HARMONY_SURVEY_DELAY = "harmony-survey-delay";
|
|
500
497
|
const UTM_SOURCE = "utm_source";
|
|
@@ -515,7 +512,23 @@ const TOOLS_FLOAT_COLLAPSE_STATUS_KEY_FOR_REPO = "asideTool_collapse_status_repo
|
|
|
515
512
|
const TOOLS_FLOAT_COLLAPSE_STATUS_KEY = "asideTool_collapse_status";
|
|
516
513
|
const TOOLS_FLOAT_COLLAPSE_DATE_KEY = "asideTool_collapse_date";
|
|
517
514
|
const GUI_YANG_GITCODE_HOST = "gitcode.host";
|
|
518
|
-
|
|
515
|
+
const LOGO_MAP = {
|
|
516
|
+
gitcode: {
|
|
517
|
+
favicon: "https://cdn-static.gitcode.com/static/images/logo-favicon.png",
|
|
518
|
+
siteLogoDark: "https://cdn-static.gitcode.com/static/images/gitcode-logo-dark.png",
|
|
519
|
+
siteLogoWhite: "https://cdn-static.gitcode.com/static/images/gitcode-logo-white.png",
|
|
520
|
+
tianqiLogoLocalWhite: "https://cdn-static.gitcode.com/static/images/tianqi-white-gitcode.png",
|
|
521
|
+
tianqiLogoLocalDark: "https://cdn-static.gitcode.com/static/images/tianqi-black-gitcode.png"
|
|
522
|
+
},
|
|
523
|
+
atomgit: {
|
|
524
|
+
favicon: "https://cdn-static.gitcode.com/static/images/logo-favicon-atomgit.png",
|
|
525
|
+
siteLogoDark: "https://cdn-static.gitcode.com/static/images/atomgit-logo-dark.png",
|
|
526
|
+
siteLogoWhite: "https://cdn-static.gitcode.com/static/images/atomgit-logo-white.png",
|
|
527
|
+
tianqiLogoLocalWhite: "https://cdn-static.gitcode.com/static/images/tianqi-white-atomgit.png",
|
|
528
|
+
tianqiLogoLocalDark: "https://cdn-static.gitcode.com/static/images/tianqi-black-atomgit.png"
|
|
529
|
+
}
|
|
530
|
+
};
|
|
531
|
+
/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */
|
|
519
532
|
const {
|
|
520
533
|
entries,
|
|
521
534
|
setPrototypeOf,
|
|
@@ -543,18 +556,12 @@ if (!seal) {
|
|
|
543
556
|
};
|
|
544
557
|
}
|
|
545
558
|
if (!apply$1) {
|
|
546
|
-
apply$1 = function apply2(
|
|
547
|
-
|
|
548
|
-
args[_key - 2] = arguments[_key];
|
|
549
|
-
}
|
|
550
|
-
return func.apply(thisArg, args);
|
|
559
|
+
apply$1 = function apply2(fun, thisValue, args) {
|
|
560
|
+
return fun.apply(thisValue, args);
|
|
551
561
|
};
|
|
552
562
|
}
|
|
553
563
|
if (!construct) {
|
|
554
|
-
construct = function construct2(Func) {
|
|
555
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
556
|
-
args[_key2 - 1] = arguments[_key2];
|
|
557
|
-
}
|
|
564
|
+
construct = function construct2(Func, args) {
|
|
558
565
|
return new Func(...args);
|
|
559
566
|
};
|
|
560
567
|
}
|
|
@@ -577,18 +584,18 @@ function unapply(func) {
|
|
|
577
584
|
if (thisArg instanceof RegExp) {
|
|
578
585
|
thisArg.lastIndex = 0;
|
|
579
586
|
}
|
|
580
|
-
for (var
|
|
581
|
-
args[
|
|
587
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
588
|
+
args[_key - 1] = arguments[_key];
|
|
582
589
|
}
|
|
583
590
|
return apply$1(func, thisArg, args);
|
|
584
591
|
};
|
|
585
592
|
}
|
|
586
|
-
function unconstruct(
|
|
593
|
+
function unconstruct(func) {
|
|
587
594
|
return function() {
|
|
588
|
-
for (var
|
|
589
|
-
args[
|
|
595
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
596
|
+
args[_key2] = arguments[_key2];
|
|
590
597
|
}
|
|
591
|
-
return construct(
|
|
598
|
+
return construct(func, args);
|
|
592
599
|
};
|
|
593
600
|
}
|
|
594
601
|
function addToSet(set, array) {
|
|
@@ -655,15 +662,15 @@ function lookupGetter(object, prop) {
|
|
|
655
662
|
}
|
|
656
663
|
return fallbackValue;
|
|
657
664
|
}
|
|
658
|
-
const html$1 = freeze(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "
|
|
659
|
-
const svg$1 = freeze(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "
|
|
665
|
+
const html$1 = freeze(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]);
|
|
666
|
+
const svg$1 = freeze(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]);
|
|
660
667
|
const svgFilters = freeze(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]);
|
|
661
668
|
const svgDisallowed = freeze(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]);
|
|
662
669
|
const mathMl$1 = freeze(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]);
|
|
663
670
|
const mathMlDisallowed = freeze(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]);
|
|
664
671
|
const text = freeze(["#text"]);
|
|
665
|
-
const html = freeze(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "
|
|
666
|
-
const svg = freeze(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "
|
|
672
|
+
const html = freeze(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns", "slot"]);
|
|
673
|
+
const svg = freeze(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]);
|
|
667
674
|
const mathMl = freeze(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]);
|
|
668
675
|
const xml = freeze(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]);
|
|
669
676
|
const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm);
|
|
@@ -672,7 +679,7 @@ const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm);
|
|
|
672
679
|
const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);
|
|
673
680
|
const ARIA_ATTR = seal(/^aria-[\-\w]+$/);
|
|
674
681
|
const IS_ALLOWED_URI = seal(
|
|
675
|
-
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp
|
|
682
|
+
/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
|
|
676
683
|
// eslint-disable-line no-useless-escape
|
|
677
684
|
);
|
|
678
685
|
const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
|
|
@@ -746,7 +753,7 @@ const _createHooksMap = function _createHooksMap2() {
|
|
|
746
753
|
function createDOMPurify() {
|
|
747
754
|
let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
|
|
748
755
|
const DOMPurify = (root) => createDOMPurify(root);
|
|
749
|
-
DOMPurify.version = "3.
|
|
756
|
+
DOMPurify.version = "3.2.5";
|
|
750
757
|
DOMPurify.removed = [];
|
|
751
758
|
if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
|
|
752
759
|
DOMPurify.isSupported = false;
|
|
@@ -832,20 +839,6 @@ function createDOMPurify() {
|
|
|
832
839
|
}));
|
|
833
840
|
let FORBID_TAGS = null;
|
|
834
841
|
let FORBID_ATTR = null;
|
|
835
|
-
const EXTRA_ELEMENT_HANDLING = Object.seal(create$1(null, {
|
|
836
|
-
tagCheck: {
|
|
837
|
-
writable: true,
|
|
838
|
-
configurable: false,
|
|
839
|
-
enumerable: true,
|
|
840
|
-
value: null
|
|
841
|
-
},
|
|
842
|
-
attributeCheck: {
|
|
843
|
-
writable: true,
|
|
844
|
-
configurable: false,
|
|
845
|
-
enumerable: true,
|
|
846
|
-
value: null
|
|
847
|
-
}
|
|
848
|
-
}));
|
|
849
842
|
let ALLOW_ARIA_ATTR = true;
|
|
850
843
|
let ALLOW_DATA_ATTR = true;
|
|
851
844
|
let ALLOW_UNKNOWN_PROTOCOLS = false;
|
|
@@ -907,8 +900,8 @@ function createDOMPurify() {
|
|
|
907
900
|
URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, "ADD_URI_SAFE_ATTR") ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
|
|
908
901
|
DATA_URI_TAGS = objectHasOwnProperty(cfg, "ADD_DATA_URI_TAGS") ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
|
|
909
902
|
FORBID_CONTENTS = objectHasOwnProperty(cfg, "FORBID_CONTENTS") ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
|
|
910
|
-
FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) :
|
|
911
|
-
FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) :
|
|
903
|
+
FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};
|
|
904
|
+
FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};
|
|
912
905
|
USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES : false;
|
|
913
906
|
ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;
|
|
914
907
|
ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;
|
|
@@ -969,24 +962,16 @@ function createDOMPurify() {
|
|
|
969
962
|
}
|
|
970
963
|
}
|
|
971
964
|
if (cfg.ADD_TAGS) {
|
|
972
|
-
if (
|
|
973
|
-
|
|
974
|
-
} else {
|
|
975
|
-
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
976
|
-
ALLOWED_TAGS = clone(ALLOWED_TAGS);
|
|
977
|
-
}
|
|
978
|
-
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
965
|
+
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
966
|
+
ALLOWED_TAGS = clone(ALLOWED_TAGS);
|
|
979
967
|
}
|
|
968
|
+
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
980
969
|
}
|
|
981
970
|
if (cfg.ADD_ATTR) {
|
|
982
|
-
if (
|
|
983
|
-
|
|
984
|
-
} else {
|
|
985
|
-
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
986
|
-
ALLOWED_ATTR = clone(ALLOWED_ATTR);
|
|
987
|
-
}
|
|
988
|
-
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
971
|
+
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
972
|
+
ALLOWED_ATTR = clone(ALLOWED_ATTR);
|
|
989
973
|
}
|
|
974
|
+
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
990
975
|
}
|
|
991
976
|
if (cfg.ADD_URI_SAFE_ATTR) {
|
|
992
977
|
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
@@ -1180,7 +1165,7 @@ function createDOMPurify() {
|
|
|
1180
1165
|
tagName,
|
|
1181
1166
|
allowedTags: ALLOWED_TAGS
|
|
1182
1167
|
});
|
|
1183
|
-
if (
|
|
1168
|
+
if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
|
|
1184
1169
|
_forceRemove(currentNode);
|
|
1185
1170
|
return true;
|
|
1186
1171
|
}
|
|
@@ -1192,7 +1177,7 @@ function createDOMPurify() {
|
|
|
1192
1177
|
_forceRemove(currentNode);
|
|
1193
1178
|
return true;
|
|
1194
1179
|
}
|
|
1195
|
-
if (!
|
|
1180
|
+
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
1196
1181
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
1197
1182
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
1198
1183
|
return false;
|
|
@@ -1245,13 +1230,12 @@ function createDOMPurify() {
|
|
|
1245
1230
|
}
|
|
1246
1231
|
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR2, lcName)) ;
|
|
1247
1232
|
else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR2, lcName)) ;
|
|
1248
|
-
else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ;
|
|
1249
1233
|
else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
1250
1234
|
if (
|
|
1251
1235
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
1252
1236
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
1253
1237
|
// and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
|
|
1254
|
-
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName
|
|
1238
|
+
_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND
|
|
1255
1239
|
// the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
1256
1240
|
lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))
|
|
1257
1241
|
) ;
|
|
@@ -1294,8 +1278,7 @@ function createDOMPurify() {
|
|
|
1294
1278
|
value: attrValue
|
|
1295
1279
|
} = attr;
|
|
1296
1280
|
const lcName = transformCaseFunc(name);
|
|
1297
|
-
|
|
1298
|
-
let value = name === "value" ? initValue : stringTrim(initValue);
|
|
1281
|
+
let value = name === "value" ? attrValue : stringTrim(attrValue);
|
|
1299
1282
|
hookEvent.attrName = lcName;
|
|
1300
1283
|
hookEvent.attrValue = value;
|
|
1301
1284
|
hookEvent.keepAttr = true;
|
|
@@ -1306,19 +1289,15 @@ function createDOMPurify() {
|
|
|
1306
1289
|
_removeAttribute(name, currentNode);
|
|
1307
1290
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
1308
1291
|
}
|
|
1309
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title
|
|
1310
|
-
_removeAttribute(name, currentNode);
|
|
1311
|
-
continue;
|
|
1312
|
-
}
|
|
1313
|
-
if (lcName === "attributename" && stringMatch(value, "href")) {
|
|
1292
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
1314
1293
|
_removeAttribute(name, currentNode);
|
|
1315
1294
|
continue;
|
|
1316
1295
|
}
|
|
1317
1296
|
if (hookEvent.forceKeepAttr) {
|
|
1318
1297
|
continue;
|
|
1319
1298
|
}
|
|
1299
|
+
_removeAttribute(name, currentNode);
|
|
1320
1300
|
if (!hookEvent.keepAttr) {
|
|
1321
|
-
_removeAttribute(name, currentNode);
|
|
1322
1301
|
continue;
|
|
1323
1302
|
}
|
|
1324
1303
|
if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
|
|
@@ -1332,7 +1311,6 @@ function createDOMPurify() {
|
|
|
1332
1311
|
}
|
|
1333
1312
|
const lcTag = transformCaseFunc(currentNode.nodeName);
|
|
1334
1313
|
if (!_isValidAttribute(lcTag, lcName, value)) {
|
|
1335
|
-
_removeAttribute(name, currentNode);
|
|
1336
1314
|
continue;
|
|
1337
1315
|
}
|
|
1338
1316
|
if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") {
|
|
@@ -1350,21 +1328,18 @@ function createDOMPurify() {
|
|
|
1350
1328
|
}
|
|
1351
1329
|
}
|
|
1352
1330
|
}
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
arrayPop(DOMPurify.removed);
|
|
1364
|
-
}
|
|
1365
|
-
} catch (_) {
|
|
1366
|
-
_removeAttribute(name, currentNode);
|
|
1331
|
+
try {
|
|
1332
|
+
if (namespaceURI) {
|
|
1333
|
+
currentNode.setAttributeNS(namespaceURI, name, value);
|
|
1334
|
+
} else {
|
|
1335
|
+
currentNode.setAttribute(name, value);
|
|
1336
|
+
}
|
|
1337
|
+
if (_isClobbered(currentNode)) {
|
|
1338
|
+
_forceRemove(currentNode);
|
|
1339
|
+
} else {
|
|
1340
|
+
arrayPop(DOMPurify.removed);
|
|
1367
1341
|
}
|
|
1342
|
+
} catch (_) {
|
|
1368
1343
|
}
|
|
1369
1344
|
}
|
|
1370
1345
|
_executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
|
|
@@ -7640,7 +7615,7 @@ const gitCodeLayout$1 = {
|
|
|
7640
7615
|
searchPlaceholder: "「开搜」:一搜即达",
|
|
7641
7616
|
searchPlaceholder2: "按下<kbd>/</kbd>快速开启搜索",
|
|
7642
7617
|
surveyTipsTitle: "填问卷必得200积分+抽取限量周边",
|
|
7643
|
-
slogon: "共创
|
|
7618
|
+
slogon: "共创AtomGit,开发者的代码家园",
|
|
7644
7619
|
digest: "重庆开源共创科技有限公司版权所有",
|
|
7645
7620
|
shotName: {},
|
|
7646
7621
|
competition: "大赛平台",
|
|
@@ -7745,11 +7720,11 @@ const gitCodeLayout$1 = {
|
|
|
7745
7720
|
attention: "关注"
|
|
7746
7721
|
},
|
|
7747
7722
|
tips: {
|
|
7748
|
-
notcieTitle: "
|
|
7723
|
+
notcieTitle: "AtomGit 提示",
|
|
7749
7724
|
notcie1: "你的登录信息已过期,请重新登录!",
|
|
7750
7725
|
notcie2: "登录之后才能开启全新体验哦",
|
|
7751
7726
|
readPrivacyPolicy: "请阅读并同意用户协议以及其隐私政策",
|
|
7752
|
-
welcome: "欢迎来到
|
|
7727
|
+
welcome: "欢迎来到 AtomGit"
|
|
7753
7728
|
},
|
|
7754
7729
|
foldup: "收起",
|
|
7755
7730
|
iCreated: "我创建的",
|
|
@@ -7795,7 +7770,7 @@ const gitCodeLayout$1 = {
|
|
|
7795
7770
|
},
|
|
7796
7771
|
LoginModal: {
|
|
7797
7772
|
title: {
|
|
7798
|
-
login: "欢迎登录你的
|
|
7773
|
+
login: "欢迎登录你的 AtomGit 账号",
|
|
7799
7774
|
register: "欢迎注册"
|
|
7800
7775
|
},
|
|
7801
7776
|
subtitle: {
|
|
@@ -7844,7 +7819,7 @@ const gitCodeLayout$1 = {
|
|
|
7844
7819
|
SMSVerificationCode: "请输入{count}位有效的短信验证码",
|
|
7845
7820
|
fillNecessaryInfo: "请输入有效的手机号码",
|
|
7846
7821
|
youNeeToAgr: "您需要同意",
|
|
7847
|
-
toUseGit: "才能使用
|
|
7822
|
+
toUseGit: "才能使用 AtomGit。",
|
|
7848
7823
|
ifYouDoNotAgrWe: "如果您不同意,很遗憾我们无法为您提供服务。",
|
|
7849
7824
|
disAndQui: "不同意并退出",
|
|
7850
7825
|
agrAndSigIn: "同意并登录",
|
|
@@ -7858,7 +7833,7 @@ const gitCodeLayout$1 = {
|
|
|
7858
7833
|
huaweiCloudAgreement: "华为云用户协议",
|
|
7859
7834
|
agreementPrivacy: "华为云隐私政策声明"
|
|
7860
7835
|
},
|
|
7861
|
-
registerDesc: "
|
|
7836
|
+
registerDesc: "AtomGit 与华为云共同为用户提供代码托管服务,在使用代码托管相关服务时,将同步授权并开通华为云服务,并与重庆开源共创科技有限公司(AtomGit的运营主体)关联及共享。",
|
|
7862
7837
|
rule: {
|
|
7863
7838
|
username: "以字母开头,3-50个字符,仅含字母、数字、下划线(_)或中划线(-)",
|
|
7864
7839
|
pleaseFill: "请填写{label}",
|
|
@@ -7938,7 +7913,7 @@ const gitCodeLayout = {
|
|
|
7938
7913
|
shotName: {},
|
|
7939
7914
|
informationCenter: "News",
|
|
7940
7915
|
competition: "Competition",
|
|
7941
|
-
slogon: "Co-create
|
|
7916
|
+
slogon: "Co-create AtomGit, the Code Home for Developers",
|
|
7942
7917
|
digest: "ChongQingKaiYuanGongChuang Technology Co., Ltd. All Rights Reserved",
|
|
7943
7918
|
companyInformation: "ChongQingKaiYuanGongChuang",
|
|
7944
7919
|
recordInformation: "Yu ICP No. 2023009037-3",
|
|
@@ -7974,7 +7949,7 @@ const gitCodeLayout = {
|
|
|
7974
7949
|
myRepo: "Your repositories",
|
|
7975
7950
|
myStar: "Your stars",
|
|
7976
7951
|
personSetting: "Settings",
|
|
7977
|
-
helpDocument: "
|
|
7952
|
+
helpDocument: "AtomGit Docs",
|
|
7978
7953
|
logout: "Logout",
|
|
7979
7954
|
openSourceExplorer: "Open Source Explorer",
|
|
7980
7955
|
openSourcePioneer: "Open Source Pioneer",
|
|
@@ -8047,11 +8022,11 @@ const gitCodeLayout = {
|
|
|
8047
8022
|
attention: "Follow"
|
|
8048
8023
|
},
|
|
8049
8024
|
tips: {
|
|
8050
|
-
notcieTitle: "
|
|
8025
|
+
notcieTitle: "AtomGit Tips",
|
|
8051
8026
|
notcie1: "Login has expired, please log in again!",
|
|
8052
8027
|
notcie2: "Log in to unlock a brand new experience!",
|
|
8053
8028
|
readPrivacyPolicy: "Please Read and Agree to the User Agreement and Privacy Policy",
|
|
8054
|
-
welcome: "Welcome to
|
|
8029
|
+
welcome: "Welcome to AtomGit"
|
|
8055
8030
|
},
|
|
8056
8031
|
foldup: "Collapse",
|
|
8057
8032
|
iCreated: "Yours",
|
|
@@ -8097,7 +8072,7 @@ const gitCodeLayout = {
|
|
|
8097
8072
|
},
|
|
8098
8073
|
LoginModal: {
|
|
8099
8074
|
title: {
|
|
8100
|
-
login: "Welcome to
|
|
8075
|
+
login: "Welcome to AtomGit ",
|
|
8101
8076
|
register: "Welcome to register"
|
|
8102
8077
|
},
|
|
8103
8078
|
subtitle: {
|
|
@@ -8146,7 +8121,7 @@ const gitCodeLayout = {
|
|
|
8146
8121
|
SMSVerificationCode: "Please enter a valid SMS verification code with {count} digits",
|
|
8147
8122
|
fillNecessaryInfo: "Please enter a valid mobile number",
|
|
8148
8123
|
youNeeToAgr: "You need to agree",
|
|
8149
|
-
toUseGit: "to use
|
|
8124
|
+
toUseGit: "to use AtomGit.",
|
|
8150
8125
|
ifYouDoNotAgrWe: "If you do not agree, unfortunately, we cannot provide you with services.",
|
|
8151
8126
|
disAndQui: "Disagree and Exit",
|
|
8152
8127
|
agrAndSigIn: "Agree and Login",
|
|
@@ -8160,7 +8135,7 @@ const gitCodeLayout = {
|
|
|
8160
8135
|
huaweiCloudAgreement: "Huawei Cloud User Agreement",
|
|
8161
8136
|
agreementPrivacy: "Huawei Cloud Privacy Policy Statement"
|
|
8162
8137
|
},
|
|
8163
|
-
registerDesc: "
|
|
8138
|
+
registerDesc: "AtomGit and Huawei Cloud jointly provide code hosting services for users. When using code hosting services, you will synchronize authorization and activate Huawei Cloud services, and share information with Chongqing Open Source Co-Creation Technology Co., Ltd. (the operator of AtomGit).",
|
|
8164
8139
|
rule: {
|
|
8165
8140
|
username: "Only letters, numbers, underscores (_), hyphens (-) are allowed, 3 to 50 characters, must start with a letter.",
|
|
8166
8141
|
pleaseFill: "Please fill in {label}",
|
|
@@ -8222,6 +8197,59 @@ const LANGUAGE = [
|
|
|
8222
8197
|
{ label: "English", value: LANG_EN, language: LANGUAGE_EN, icon: "gt-line-English1" }
|
|
8223
8198
|
];
|
|
8224
8199
|
const LANG_KEY = "gitcode_lang";
|
|
8200
|
+
const isAtomGitDomain = () => {
|
|
8201
|
+
if (typeof window === "undefined" || typeof window.location === "undefined") {
|
|
8202
|
+
return false;
|
|
8203
|
+
}
|
|
8204
|
+
return window.location.hostname.includes("atomgit.com");
|
|
8205
|
+
};
|
|
8206
|
+
const reverseGitcodeToAtomgit = (messages) => {
|
|
8207
|
+
if (!messages) return messages;
|
|
8208
|
+
const _messages = cloneDeep(messages);
|
|
8209
|
+
const isAtomGit = isAtomGitDomain();
|
|
8210
|
+
const protectedPlaceholders = ["{notGitCodeUsers}", "{gitCodeUserName}"];
|
|
8211
|
+
const uniquePrefix = `__I18N_PROTECTED_${Date.now()}_`;
|
|
8212
|
+
const traverseMessages = (messages2) => {
|
|
8213
|
+
if (!messages2 || typeof messages2 !== "object") return;
|
|
8214
|
+
Object.keys(messages2).forEach((key) => {
|
|
8215
|
+
const value = messages2[key];
|
|
8216
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
8217
|
+
traverseMessages(value);
|
|
8218
|
+
return;
|
|
8219
|
+
}
|
|
8220
|
+
if (typeof value !== "string") return;
|
|
8221
|
+
const hasProtectedPlaceholder = protectedPlaceholders.some(
|
|
8222
|
+
(placeholder) => value.includes(placeholder)
|
|
8223
|
+
);
|
|
8224
|
+
if (hasProtectedPlaceholder) {
|
|
8225
|
+
let temp = value;
|
|
8226
|
+
const placeholderMap = {};
|
|
8227
|
+
protectedPlaceholders.forEach((placeholder, index2) => {
|
|
8228
|
+
const tempMark = `${uniquePrefix}${index2}__`;
|
|
8229
|
+
placeholderMap[tempMark] = placeholder;
|
|
8230
|
+
temp = temp.replace(new RegExp(placeholder.replace(/[{}]/g, "\\$&"), "g"), tempMark);
|
|
8231
|
+
});
|
|
8232
|
+
if (isAtomGit) {
|
|
8233
|
+
temp = temp.replace(/GitCode/g, "AtomGit").replace(/gitcode/g, "atomgit");
|
|
8234
|
+
} else {
|
|
8235
|
+
temp = temp.replace(/AtomGit/g, "GitCode").replace(/atomgit/g, "gitcode");
|
|
8236
|
+
}
|
|
8237
|
+
Object.keys(placeholderMap).forEach((tempMark) => {
|
|
8238
|
+
temp = temp.replace(new RegExp(tempMark, "g"), placeholderMap[tempMark]);
|
|
8239
|
+
});
|
|
8240
|
+
messages2[key] = temp;
|
|
8241
|
+
} else {
|
|
8242
|
+
if (isAtomGit) {
|
|
8243
|
+
messages2[key] = value.replace(/GitCode/g, "AtomGit").replace(/gitcode/g, "atomgit");
|
|
8244
|
+
} else {
|
|
8245
|
+
messages2[key] = value.replace(/AtomGit/g, "GitCode").replace(/atomgit/g, "gitcode");
|
|
8246
|
+
}
|
|
8247
|
+
}
|
|
8248
|
+
});
|
|
8249
|
+
};
|
|
8250
|
+
traverseMessages(_messages);
|
|
8251
|
+
return _messages;
|
|
8252
|
+
};
|
|
8225
8253
|
function isComposer(instance, mode) {
|
|
8226
8254
|
return mode === "composition" && isRef(instance.locale);
|
|
8227
8255
|
}
|
|
@@ -8236,7 +8264,7 @@ function setupI18n(options = { locale: LANG_EN }) {
|
|
|
8236
8264
|
if (typeof document !== "undefined" && document.documentElement) {
|
|
8237
8265
|
document.documentElement.lang = options.locale;
|
|
8238
8266
|
}
|
|
8239
|
-
const i18n2 = createI18n(options);
|
|
8267
|
+
const i18n2 = createI18n({ ...options });
|
|
8240
8268
|
setI18nLanguage(i18n2, options.locale);
|
|
8241
8269
|
return i18n2;
|
|
8242
8270
|
}
|
|
@@ -8256,17 +8284,19 @@ const getLocaleLang = () => {
|
|
|
8256
8284
|
return lang;
|
|
8257
8285
|
};
|
|
8258
8286
|
const local = getLocaleLang();
|
|
8287
|
+
const _zh = reverseGitcodeToAtomgit(zh);
|
|
8288
|
+
const _en = reverseGitcodeToAtomgit(en$1);
|
|
8259
8289
|
const $i18n = setupI18n({
|
|
8260
8290
|
legacy: false,
|
|
8261
8291
|
locale: local,
|
|
8262
8292
|
fallbackLocale: local,
|
|
8263
8293
|
messages: {
|
|
8264
|
-
zh,
|
|
8265
|
-
en:
|
|
8294
|
+
zh: _zh,
|
|
8295
|
+
en: _en
|
|
8266
8296
|
}
|
|
8267
8297
|
});
|
|
8268
8298
|
const i18n = $i18n;
|
|
8269
|
-
const layoutConfig$
|
|
8299
|
+
const layoutConfig$5 = useLayoutConfig();
|
|
8270
8300
|
function scrollToTop() {
|
|
8271
8301
|
if (typeof window !== "undefined" && window.pageYOffset) {
|
|
8272
8302
|
const c = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
|
|
@@ -8295,7 +8325,7 @@ function extractRepoInfoWithURL(repoUrl) {
|
|
|
8295
8325
|
return parts.join("/");
|
|
8296
8326
|
}
|
|
8297
8327
|
const isGstarRepo = (topics) => {
|
|
8298
|
-
const gstarTopicIds = layoutConfig$
|
|
8328
|
+
const gstarTopicIds = layoutConfig$5.VITE_GSTAR_TOPIC.split(",");
|
|
8299
8329
|
let isGstar = false;
|
|
8300
8330
|
topics && topics.forEach((item) => {
|
|
8301
8331
|
if (gstarTopicIds.includes(item.topic_id || item.id)) {
|
|
@@ -8305,7 +8335,7 @@ const isGstarRepo = (topics) => {
|
|
|
8305
8335
|
return isGstar;
|
|
8306
8336
|
};
|
|
8307
8337
|
const isTrustedRepo = (topics) => {
|
|
8308
|
-
const trustedTopicIds = layoutConfig$
|
|
8338
|
+
const trustedTopicIds = layoutConfig$5.VITE_TRUSTED_TOPIC.split(",");
|
|
8309
8339
|
let isTrusted = false;
|
|
8310
8340
|
topics && topics.forEach((item) => {
|
|
8311
8341
|
if (trustedTopicIds.includes(item.topic_id || item.id)) {
|
|
@@ -8314,7 +8344,7 @@ const isTrustedRepo = (topics) => {
|
|
|
8314
8344
|
});
|
|
8315
8345
|
return isTrusted;
|
|
8316
8346
|
};
|
|
8317
|
-
const INCUBATION_TOPICS = layoutConfig$
|
|
8347
|
+
const INCUBATION_TOPICS = layoutConfig$5.VITE_INCUBATION_TOPIC || "";
|
|
8318
8348
|
const isIncubationRepo = (topics = []) => {
|
|
8319
8349
|
if (!topics) return false;
|
|
8320
8350
|
const incubationIds = INCUBATION_TOPICS.split(",");
|
|
@@ -8357,7 +8387,7 @@ const getLastTimeRepoId = () => {
|
|
|
8357
8387
|
};
|
|
8358
8388
|
const setUtmSourceSign = (utm_source) => {
|
|
8359
8389
|
const time = new Date((/* @__PURE__ */ new Date()).getTime() + 60 * 60 * 1e3);
|
|
8360
|
-
return api.set("utm_source_sign", utm_source, { expires: time, domain: layoutConfig$
|
|
8390
|
+
return api.set("utm_source_sign", utm_source, { expires: time, domain: layoutConfig$5.VITE_COOKIE_DOMAIN });
|
|
8361
8391
|
};
|
|
8362
8392
|
const getUtmSourceSign = () => {
|
|
8363
8393
|
return api.get("utm_source_sign") || "";
|
|
@@ -10917,7 +10947,7 @@ const getCommonHeadInfo = (isAiHub) => {
|
|
|
10917
10947
|
"X-Device-ID": "unknown"
|
|
10918
10948
|
};
|
|
10919
10949
|
};
|
|
10920
|
-
const layoutConfig$
|
|
10950
|
+
const layoutConfig$4 = useLayoutConfig();
|
|
10921
10951
|
const setPassportPrefix = (url, method) => {
|
|
10922
10952
|
const prefix = "/uc";
|
|
10923
10953
|
{
|
|
@@ -10941,7 +10971,7 @@ const setPassportPrefix = (url, method) => {
|
|
|
10941
10971
|
};
|
|
10942
10972
|
const proxyService = (params, customConfigs) => {
|
|
10943
10973
|
const service = axios.create({
|
|
10944
|
-
baseURL: layoutConfig$
|
|
10974
|
+
baseURL: layoutConfig$4.VITE_API_HOST,
|
|
10945
10975
|
timeout: (customConfigs == null ? void 0 : customConfigs.customTimeout) || 3e4,
|
|
10946
10976
|
withCredentials: true
|
|
10947
10977
|
});
|
|
@@ -11090,7 +11120,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
11090
11120
|
const emits = __emit;
|
|
11091
11121
|
const toggleGrowthCenter = () => {
|
|
11092
11122
|
if (!props.isLogin) {
|
|
11093
|
-
|
|
11123
|
+
const reportGrowthCenterString = handleReportParamsByDomain("toolsFloat_growthCenter");
|
|
11124
|
+
emitEvent("login", { loginTriggerSource: reportGrowthCenterString });
|
|
11094
11125
|
return;
|
|
11095
11126
|
}
|
|
11096
11127
|
emits("toggle-growth-center");
|
|
@@ -11291,7 +11322,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
11291
11322
|
createElementVNode("div", _hoisted_2$k, [
|
|
11292
11323
|
_cache[5] || (_cache[5] = createElementVNode("img", {
|
|
11293
11324
|
class: "common-icon inline-block h-[20px] w-[20px]",
|
|
11294
|
-
src: "https://cdn-static.gitcode.
|
|
11325
|
+
src: "https://cdn-static.gitcode.com/static/images/homeweb/czzx.svg",
|
|
11295
11326
|
alt: ""
|
|
11296
11327
|
}, null, -1)),
|
|
11297
11328
|
!_ctx.isLogin || !isSignIn.value ? (openBlock(), createElementBlock("div", _hoisted_3$h, toDisplayString$1(!_ctx.isLogin ? unref(t2)("gitCodeLayout.growthCenter.receive") : unref(t2)("gitCodeLayout.growthCenter.signIn")), 1)) : createCommentVNode("", true)
|
|
@@ -11322,7 +11353,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
11322
11353
|
}, _cache[6] || (_cache[6] = [
|
|
11323
11354
|
createElementVNode("img", {
|
|
11324
11355
|
class: "inline-block h-[20px] w-[20px]",
|
|
11325
|
-
src: "https://cdn-static.gitcode.
|
|
11356
|
+
src: "https://cdn-static.gitcode.com/static/images/desk/kefu.png",
|
|
11326
11357
|
alt: ""
|
|
11327
11358
|
}, null, -1),
|
|
11328
11359
|
createElementVNode("div", null, [
|
|
@@ -11343,7 +11374,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
11343
11374
|
createElementVNode("div", _hoisted_11$4, toDisplayString$1(unref(t2)("gitCodeLayout.home.followUs")), 1),
|
|
11344
11375
|
_cache[7] || (_cache[7] = createElementVNode("img", {
|
|
11345
11376
|
class: "qrcode",
|
|
11346
|
-
src: "https://cdn-static.gitcode.
|
|
11377
|
+
src: "https://cdn-static.gitcode.com/static/images/points/wx_gitcode.png"
|
|
11347
11378
|
}, null, -1))
|
|
11348
11379
|
])
|
|
11349
11380
|
]),
|
|
@@ -11352,12 +11383,12 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
11352
11383
|
createElementVNode("div", { class: "home-nav-item" }, [
|
|
11353
11384
|
createElementVNode("img", {
|
|
11354
11385
|
class: "common-icon inline-block h-[20px] w-[20px]",
|
|
11355
|
-
src: "https://cdn-static.gitcode.
|
|
11386
|
+
src: "https://cdn-static.gitcode.com/static/images/desk/follow-us.svg",
|
|
11356
11387
|
alt: ""
|
|
11357
11388
|
}),
|
|
11358
11389
|
createElementVNode("img", {
|
|
11359
11390
|
class: "active-icon inline-block h-[20px] w-[20px]",
|
|
11360
|
-
src: "https://cdn-static.gitcode.
|
|
11391
|
+
src: "https://cdn-static.gitcode.com/static/images/desk/follow-us-hover.svg",
|
|
11361
11392
|
alt: ""
|
|
11362
11393
|
})
|
|
11363
11394
|
])
|
|
@@ -11470,12 +11501,12 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
11470
11501
|
createElementVNode("div", { class: "home-nav-item" }, [
|
|
11471
11502
|
createElementVNode("img", {
|
|
11472
11503
|
class: "common-icon inline-block h-[20px] w-[20px]",
|
|
11473
|
-
src: "https://cdn-static.gitcode.
|
|
11504
|
+
src: "https://cdn-static.gitcode.com/static/images/desk/plane-smile.png",
|
|
11474
11505
|
alt: ""
|
|
11475
11506
|
}),
|
|
11476
11507
|
createElementVNode("img", {
|
|
11477
11508
|
class: "active-icon inline-block h-[20px] w-[20px]",
|
|
11478
|
-
src: "https://cdn-static.gitcode.
|
|
11509
|
+
src: "https://cdn-static.gitcode.com/static/images/desk/plane-smile-hover.png",
|
|
11479
11510
|
alt: ""
|
|
11480
11511
|
})
|
|
11481
11512
|
], -1)
|
|
@@ -11644,7 +11675,7 @@ var REPO_TYPE = /* @__PURE__ */ ((REPO_TYPE2) => {
|
|
|
11644
11675
|
REPO_TYPE2[REPO_TYPE2["HUGGINGFACE_MIRRORS"] = 2] = "HUGGINGFACE_MIRRORS";
|
|
11645
11676
|
return REPO_TYPE2;
|
|
11646
11677
|
})(REPO_TYPE || {});
|
|
11647
|
-
const layoutConfig$
|
|
11678
|
+
const layoutConfig$3 = useLayoutConfig();
|
|
11648
11679
|
const registerLoginMethodMap = {
|
|
11649
11680
|
[LoginMethodEnum.PHONE]: "短信",
|
|
11650
11681
|
[LoginMethodEnum.PASSWORD]: "密码",
|
|
@@ -11678,7 +11709,7 @@ const collectRegisterLoginEvent = ({ isRegister, registerLoginMethod, success, e
|
|
|
11678
11709
|
userid_fast_application: searchParams["uuid_tt_dd"] || "",
|
|
11679
11710
|
gitcode_utm_source: searchParams["utm_source"] || "",
|
|
11680
11711
|
page_url: location.href || "",
|
|
11681
|
-
env: layoutConfig$
|
|
11712
|
+
env: layoutConfig$3.VITE_ENV,
|
|
11682
11713
|
namespace: extraData.namespace || "",
|
|
11683
11714
|
...extraData,
|
|
11684
11715
|
...searchParams
|
|
@@ -12274,21 +12305,73 @@ const sessionStorage$1 = sessionStorage;
|
|
|
12274
12305
|
const _imports_0 = "data:image/png;base64,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";
|
|
12275
12306
|
const transformUrl = (url) => {
|
|
12276
12307
|
var _a;
|
|
12308
|
+
if (!url) return url;
|
|
12277
12309
|
if (typeof window !== "undefined" && typeof location !== "undefined") {
|
|
12310
|
+
if (url == null ? void 0 : url.startsWith("https://cdn-")) {
|
|
12311
|
+
return url;
|
|
12312
|
+
}
|
|
12313
|
+
if (url == null ? void 0 : url.includes("myhuaweicloud.com")) {
|
|
12314
|
+
return url;
|
|
12315
|
+
}
|
|
12278
12316
|
const host = (_a = location.host) == null ? void 0 : _a.replace(/^ai\./, "");
|
|
12279
12317
|
if (host.includes("gitcode.host")) {
|
|
12280
12318
|
return url == null ? void 0 : url.replace(/gitcode\.com/g, host);
|
|
12281
12319
|
}
|
|
12282
|
-
if (
|
|
12320
|
+
if (url == null ? void 0 : url.includes("test.gitcode.net")) {
|
|
12283
12321
|
return url == null ? void 0 : url.replace(/test\.gitcode\.net/g, host);
|
|
12284
12322
|
}
|
|
12285
|
-
|
|
12286
|
-
|
|
12287
|
-
|
|
12323
|
+
return transformUrlWithSpecialPrefix({ url, host });
|
|
12324
|
+
}
|
|
12325
|
+
return url;
|
|
12326
|
+
};
|
|
12327
|
+
const transformUrlWithSpecialPrefix = ({ url, host }) => {
|
|
12328
|
+
const specialPrefix = ["-tianqi", "-ai", "-news", "-competition"];
|
|
12329
|
+
const isTestEnv = /^(test|local)\./i.test(host);
|
|
12330
|
+
const isPreEnv = /^(pre|loc-pre)\./i.test(host);
|
|
12331
|
+
const isNonProdEnv = isTestEnv || isPreEnv;
|
|
12332
|
+
if (!isNonProdEnv) {
|
|
12288
12333
|
return url == null ? void 0 : url.replace(/gitcode\.com/g, host);
|
|
12289
12334
|
}
|
|
12335
|
+
if (specialPrefix.some((prefix) => url == null ? void 0 : url.includes(prefix))) {
|
|
12336
|
+
try {
|
|
12337
|
+
const urlObj = new URL(url);
|
|
12338
|
+
const urlHost = urlObj.host;
|
|
12339
|
+
const specialPrefixMatch = specialPrefix.find((prefix) => urlHost.includes(prefix));
|
|
12340
|
+
if (specialPrefixMatch) {
|
|
12341
|
+
const prefixPart = urlHost.split(".")[0];
|
|
12342
|
+
const mainDomain = host.replace(/^(test|pre|local|loc-pre)\./, "");
|
|
12343
|
+
urlObj.host = `${prefixPart}.${mainDomain}`;
|
|
12344
|
+
return urlObj.toString();
|
|
12345
|
+
}
|
|
12346
|
+
} catch (error) {
|
|
12347
|
+
return url == null ? void 0 : url.replace(/gitcode\.net/g, host);
|
|
12348
|
+
}
|
|
12349
|
+
}
|
|
12290
12350
|
return url;
|
|
12291
12351
|
};
|
|
12352
|
+
const replaceHost = ({ url, customHost }) => {
|
|
12353
|
+
if (!url || !customHost) return url;
|
|
12354
|
+
try {
|
|
12355
|
+
const urlObj = new URL(url);
|
|
12356
|
+
let pureHost = customHost;
|
|
12357
|
+
if (customHost.includes("://")) {
|
|
12358
|
+
const customUrlObj = new URL(customHost);
|
|
12359
|
+
pureHost = customUrlObj.host;
|
|
12360
|
+
}
|
|
12361
|
+
urlObj.host = pureHost;
|
|
12362
|
+
return urlObj.toString();
|
|
12363
|
+
} catch (error) {
|
|
12364
|
+
return url;
|
|
12365
|
+
}
|
|
12366
|
+
};
|
|
12367
|
+
const getCurrentLogoMap = () => {
|
|
12368
|
+
if (typeof window === "undefined" || typeof location === "undefined") {
|
|
12369
|
+
console.warn("[getCurrentLogoMap] 在 SSR 环境中被调用,返回默认配置");
|
|
12370
|
+
return LOGO_MAP.gitcode;
|
|
12371
|
+
}
|
|
12372
|
+
const siteType = location.host.includes("atomgit") ? "atomgit" : "gitcode";
|
|
12373
|
+
return LOGO_MAP[siteType];
|
|
12374
|
+
};
|
|
12292
12375
|
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
12293
12376
|
...{
|
|
12294
12377
|
name: "GAvatar"
|
|
@@ -13201,7 +13284,7 @@ const _hoisted_6$8 = {
|
|
|
13201
13284
|
};
|
|
13202
13285
|
const _hoisted_7$5 = {
|
|
13203
13286
|
key: 1,
|
|
13204
|
-
src: "https://cdn-static.gitcode.
|
|
13287
|
+
src: "https://cdn-static.gitcode.com/static/images/mirrors-avata_20250411.gif",
|
|
13205
13288
|
alt: "mirrors-avatar",
|
|
13206
13289
|
class: "h-[24px]"
|
|
13207
13290
|
};
|
|
@@ -13592,8 +13675,6 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
13592
13675
|
}
|
|
13593
13676
|
});
|
|
13594
13677
|
const HeaderCustom = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-vue-layout-gitcode"]]);
|
|
13595
|
-
const logoWhite = "data:image/png;base64,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";
|
|
13596
|
-
const logoBlack = "data:image/png;base64,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";
|
|
13597
13678
|
const vElementExposure = {
|
|
13598
13679
|
mounted(el, binding) {
|
|
13599
13680
|
let observer = new IntersectionObserver(function(entries2, observer2) {
|
|
@@ -13650,11 +13731,15 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
13650
13731
|
}
|
|
13651
13732
|
};
|
|
13652
13733
|
getTianqiRouteConfig();
|
|
13734
|
+
const logoConfig = getCurrentLogoMap();
|
|
13735
|
+
const TIANQI_LOGO_WHITE = logoConfig.tianqiLogoLocalWhite;
|
|
13736
|
+
const TIANQI_LOGO_BLACK = logoConfig.tianqiLogoLocalDark;
|
|
13653
13737
|
const logo = computed(() => {
|
|
13654
|
-
|
|
13738
|
+
var _a, _b;
|
|
13739
|
+
if (tianqiButtonConfig.value.img && ((_b = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a.host) == null ? void 0 : _b.includes("gitcode"))) {
|
|
13655
13740
|
return currentTheme.value === ThemeType.BLACK ? tianqiButtonConfig.value.img_black : tianqiButtonConfig.value.img;
|
|
13656
13741
|
}
|
|
13657
|
-
return currentTheme.value === ThemeType.BLACK ?
|
|
13742
|
+
return currentTheme.value === ThemeType.BLACK ? TIANQI_LOGO_BLACK : TIANQI_LOGO_WHITE;
|
|
13658
13743
|
});
|
|
13659
13744
|
const customClass = computed(() => {
|
|
13660
13745
|
return {
|
|
@@ -13662,7 +13747,12 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
13662
13747
|
};
|
|
13663
13748
|
});
|
|
13664
13749
|
function goPage() {
|
|
13665
|
-
|
|
13750
|
+
let url = "";
|
|
13751
|
+
if (!tianqiButtonConfig.value.url) {
|
|
13752
|
+
url = transformUrlWithSpecialPrefix({ url: layoutConfig2.VITE_HOST_TIANQI, host: window.location.host }) + "?utm_source=toolbar";
|
|
13753
|
+
} else {
|
|
13754
|
+
url = transformUrl(tianqiButtonConfig.value.url) + "?utm_source=toolbar";
|
|
13755
|
+
}
|
|
13666
13756
|
useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.CHATBOTCLICK });
|
|
13667
13757
|
window.open(url);
|
|
13668
13758
|
}
|
|
@@ -15467,11 +15557,15 @@ function requireCipherCore() {
|
|
|
15467
15557
|
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
|
|
15468
15558
|
* var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
|
|
15469
15559
|
*/
|
|
15470
|
-
execute: function(password, keySize, ivSize, salt) {
|
|
15560
|
+
execute: function(password, keySize, ivSize, salt, hasher) {
|
|
15471
15561
|
if (!salt) {
|
|
15472
15562
|
salt = WordArray.random(64 / 8);
|
|
15473
15563
|
}
|
|
15474
|
-
|
|
15564
|
+
if (!hasher) {
|
|
15565
|
+
var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
|
|
15566
|
+
} else {
|
|
15567
|
+
var key = EvpKDF.create({ keySize: keySize + ivSize, hasher }).compute(password, salt);
|
|
15568
|
+
}
|
|
15475
15569
|
var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
|
|
15476
15570
|
key.sigBytes = keySize * 4;
|
|
15477
15571
|
return CipherParams.create({ key, iv, salt });
|
|
@@ -15505,7 +15599,7 @@ function requireCipherCore() {
|
|
|
15505
15599
|
*/
|
|
15506
15600
|
encrypt: function(cipher, message, password, cfg) {
|
|
15507
15601
|
cfg = this.cfg.extend(cfg);
|
|
15508
|
-
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);
|
|
15602
|
+
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);
|
|
15509
15603
|
cfg.iv = derivedParams.iv;
|
|
15510
15604
|
var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
|
|
15511
15605
|
ciphertext.mixIn(derivedParams);
|
|
@@ -15531,7 +15625,7 @@ function requireCipherCore() {
|
|
|
15531
15625
|
decrypt: function(cipher, ciphertext, password, cfg) {
|
|
15532
15626
|
cfg = this.cfg.extend(cfg);
|
|
15533
15627
|
ciphertext = this._parse(ciphertext, cfg.format);
|
|
15534
|
-
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);
|
|
15628
|
+
var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);
|
|
15535
15629
|
cfg.iv = derivedParams.iv;
|
|
15536
15630
|
var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
|
|
15537
15631
|
return plaintext;
|
|
@@ -15714,7 +15808,7 @@ var encUtf8 = { exports: {} };
|
|
|
15714
15808
|
})(encUtf8);
|
|
15715
15809
|
var encUtf8Exports = encUtf8.exports;
|
|
15716
15810
|
const Utf8 = /* @__PURE__ */ getDefaultExportFromCjs(encUtf8Exports);
|
|
15717
|
-
const layoutConfig$
|
|
15811
|
+
const layoutConfig$2 = useLayoutConfig();
|
|
15718
15812
|
function headRequest(request) {
|
|
15719
15813
|
return {
|
|
15720
15814
|
getSearchHot() {
|
|
@@ -15954,8 +16048,8 @@ function headRequest(request) {
|
|
|
15954
16048
|
},
|
|
15955
16049
|
// 密码登录
|
|
15956
16050
|
toLogin(data) {
|
|
15957
|
-
const key = Utf8.parse(layoutConfig$
|
|
15958
|
-
const iv = Utf8.parse(layoutConfig$
|
|
16051
|
+
const key = Utf8.parse(layoutConfig$2.VITE_SECRET_KEY);
|
|
16052
|
+
const iv = Utf8.parse(layoutConfig$2.VITE_SECRET_IV);
|
|
15959
16053
|
const cryptoCode = AES.encrypt(data.password, key, {
|
|
15960
16054
|
iv,
|
|
15961
16055
|
padding: Pkcs7
|
|
@@ -16237,7 +16331,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
|
16237
16331
|
});
|
|
16238
16332
|
return (_ctx, _cache) => {
|
|
16239
16333
|
return openBlock(), createBlock(GLink, {
|
|
16240
|
-
href: `${unref(layoutConfig2).VITE_HOST}/notice?message_sate=countNotRead`
|
|
16334
|
+
href: `${unref(transformUrl)(unref(layoutConfig2).VITE_HOST)}/notice?message_sate=countNotRead`
|
|
16241
16335
|
}, {
|
|
16242
16336
|
default: withCtx(() => [
|
|
16243
16337
|
createVNode(unref(Badge), {
|
|
@@ -16286,18 +16380,18 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
16286
16380
|
const levelMap = {
|
|
16287
16381
|
v1: {
|
|
16288
16382
|
name: t2("gitCodeLayout.header.openSourceExplorer"),
|
|
16289
|
-
avatar: "https://cdn-static.gitcode.
|
|
16290
|
-
level: "https://cdn-static.gitcode.
|
|
16383
|
+
avatar: "https://cdn-static.gitcode.com/static/images/points/ava-v1.png",
|
|
16384
|
+
level: "https://cdn-static.gitcode.com/static/images/points/l-v1.png"
|
|
16291
16385
|
},
|
|
16292
16386
|
v2: {
|
|
16293
16387
|
name: t2("gitCodeLayout.header.openSourcePioneer"),
|
|
16294
|
-
avatar: "https://cdn-static.gitcode.
|
|
16295
|
-
level: "https://cdn-static.gitcode.
|
|
16388
|
+
avatar: "https://cdn-static.gitcode.com/static/images/points/ava-v2.png",
|
|
16389
|
+
level: "https://cdn-static.gitcode.com/static/images/points/l-v2.png"
|
|
16296
16390
|
},
|
|
16297
16391
|
v3: {
|
|
16298
16392
|
name: t2("gitCodeLayout.header.contributingStar"),
|
|
16299
|
-
avatar: "https://cdn-static.gitcode.
|
|
16300
|
-
level: "https://cdn-static.gitcode.
|
|
16393
|
+
avatar: "https://cdn-static.gitcode.com/static/images/points/ava-v3.png",
|
|
16394
|
+
level: "https://cdn-static.gitcode.com/static/images/points/l-v3.png"
|
|
16301
16395
|
}
|
|
16302
16396
|
};
|
|
16303
16397
|
const useReport2 = inject("useReport");
|
|
@@ -16311,7 +16405,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
16311
16405
|
if (router2.hasRoute("settingPoints")) {
|
|
16312
16406
|
router2.push("/setting/points");
|
|
16313
16407
|
} else {
|
|
16314
|
-
location.href = `${layoutConfig2.VITE_HOST}/setting/points`;
|
|
16408
|
+
location.href = `${transformUrl(layoutConfig2.VITE_HOST)}/setting/points`;
|
|
16315
16409
|
}
|
|
16316
16410
|
};
|
|
16317
16411
|
const levelInfo = computed(() => {
|
|
@@ -16491,7 +16585,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
16491
16585
|
item.action();
|
|
16492
16586
|
}
|
|
16493
16587
|
if (item == null ? void 0 : item.link) {
|
|
16494
|
-
const link = `${layoutConfig2.VITE_HOST}${item.link}`;
|
|
16588
|
+
const link = `${transformUrl(layoutConfig2.VITE_HOST)}${item.link}`;
|
|
16495
16589
|
window.open(link, "_self");
|
|
16496
16590
|
}
|
|
16497
16591
|
}
|
|
@@ -16508,7 +16602,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
16508
16602
|
return openBlock(), createElementBlock("div", null, [
|
|
16509
16603
|
createVNode(GLink, {
|
|
16510
16604
|
class: "g-user-drawer-info pl-[32px] pr-[16px] cursor-pointer",
|
|
16511
|
-
href: `${unref(layoutConfig2).VITE_HOST}/${__props.accountInfo.username}`,
|
|
16605
|
+
href: `${unref(transformUrl)(unref(layoutConfig2).VITE_HOST)}/${__props.accountInfo.username}`,
|
|
16512
16606
|
key: "myPage",
|
|
16513
16607
|
target: __props.isChatBot ? "_blank" : ""
|
|
16514
16608
|
}, {
|
|
@@ -16854,13 +16948,13 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
16854
16948
|
var _a;
|
|
16855
16949
|
const layoutConfig2 = useLayoutConfig();
|
|
16856
16950
|
const { t: $t } = i18n.global;
|
|
16857
|
-
const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-
|
|
16858
|
-
const UserSearch = defineAsyncComponent(() => import("./UserSearch-
|
|
16859
|
-
const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-
|
|
16860
|
-
const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-
|
|
16861
|
-
const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-
|
|
16862
|
-
const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-
|
|
16863
|
-
const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-
|
|
16951
|
+
const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-CSK6qeey.js"));
|
|
16952
|
+
const UserSearch = defineAsyncComponent(() => import("./UserSearch-C69mULge.js"));
|
|
16953
|
+
const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-DWutXBZ0.js"));
|
|
16954
|
+
const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-j9cRlcCi.js"));
|
|
16955
|
+
const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CuNgQw8w.js"));
|
|
16956
|
+
const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-xrGOwpv6.js"));
|
|
16957
|
+
const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-BrPLs0fF.js"));
|
|
16864
16958
|
const props = __props;
|
|
16865
16959
|
const repoInfo = inject("repoInfo");
|
|
16866
16960
|
const orgInfo = inject("orgInfo");
|
|
@@ -17098,7 +17192,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
17098
17192
|
} else {
|
|
17099
17193
|
hotUrl = `${hotUrl}?source_module=search_box_hot_word`;
|
|
17100
17194
|
}
|
|
17101
|
-
window.open(transformUrl
|
|
17195
|
+
window.open(transformUrl(hotUrl), "_blank");
|
|
17102
17196
|
return;
|
|
17103
17197
|
}
|
|
17104
17198
|
isSearchHistory.value = false;
|
|
@@ -17514,7 +17608,7 @@ const autoAvokeLogin = ({ isLogin, loginFunc, openHarmonyGuide, loginSuccess, lo
|
|
|
17514
17608
|
loginFunc({ type: "login", triggerType: "", loginTriggerSource: "router_login_auth", ...loginFuncOpts }, loginSuccess, openHarmonyGuide);
|
|
17515
17609
|
}
|
|
17516
17610
|
};
|
|
17517
|
-
const NoticeModal = defineAsyncComponent(() => import("./notice-
|
|
17611
|
+
const NoticeModal = defineAsyncComponent(() => import("./notice-B8DH0Zm_.js"));
|
|
17518
17612
|
function clearNotice() {
|
|
17519
17613
|
if (localStorage$2.getItem("validator_email")) {
|
|
17520
17614
|
localStorage$2.removeItem("validator_email");
|
|
@@ -17693,13 +17787,15 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
17693
17787
|
useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.ASIDEBTNCLICK });
|
|
17694
17788
|
};
|
|
17695
17789
|
const handleLogin = (type) => {
|
|
17790
|
+
const reportLoginString = handleReportParamsByDomain("toolbar_login");
|
|
17696
17791
|
emitEvent("login", {
|
|
17697
17792
|
type,
|
|
17698
17793
|
triggerType: "主动注册",
|
|
17699
|
-
loginTriggerSource: type === "login" ?
|
|
17794
|
+
loginTriggerSource: type === "login" ? reportLoginString : ""
|
|
17700
17795
|
});
|
|
17701
17796
|
if (type === "register") {
|
|
17702
|
-
|
|
17797
|
+
const reportRegisterString = handleReportParamsByDomain("toolbar_register");
|
|
17798
|
+
sessionStorage$1.setItem(REGISTER_SOURCE_TAB, reportRegisterString);
|
|
17703
17799
|
sessionStorage$1.removeItem(LOGIN_MODAL_TRIGGER_SOURCE);
|
|
17704
17800
|
}
|
|
17705
17801
|
localStorage$2.setItem("sign_path", (window == null ? void 0 : window.location.href) || "");
|
|
@@ -17904,6 +18000,17 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
17904
18000
|
const handleCloseStickyNotice = () => {
|
|
17905
18001
|
closeStickyNotice.value = true;
|
|
17906
18002
|
};
|
|
18003
|
+
const logoConfig = getCurrentLogoMap();
|
|
18004
|
+
const logoStyle = computed(() => {
|
|
18005
|
+
const isBlackTheme = currentTheme.value === "black";
|
|
18006
|
+
const logoUrl = isBlackTheme ? logoConfig.siteLogoWhite : logoConfig.siteLogoDark;
|
|
18007
|
+
return {
|
|
18008
|
+
backgroundImage: `url(${logoUrl})`,
|
|
18009
|
+
backgroundRepeat: "no-repeat",
|
|
18010
|
+
backgroundPosition: "0 center",
|
|
18011
|
+
backgroundSize: "contain"
|
|
18012
|
+
};
|
|
18013
|
+
});
|
|
17907
18014
|
return (_ctx, _cache) => {
|
|
17908
18015
|
var _a2, _b, _c, _d;
|
|
17909
18016
|
return openBlock(), createElementBlock("div", {
|
|
@@ -17951,14 +18058,16 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
17951
18058
|
})) : createCommentVNode("", true),
|
|
17952
18059
|
showNameAndIcon.value && _ctx.independence || inAIHub.value ? (openBlock(), createBlock(GLink, {
|
|
17953
18060
|
key: 1,
|
|
17954
|
-
class:
|
|
18061
|
+
class: "g-toolbar-left-logo",
|
|
18062
|
+
style: normalizeStyle(logoStyle.value),
|
|
17955
18063
|
href: inAIHub.value ? `${unref(layoutConfig2).VITE_AI_HOST}` : `${unref(layoutConfig2).VITE_HOST}?p=seo`
|
|
17956
|
-
}, null, 8, ["
|
|
18064
|
+
}, null, 8, ["style", "href"])) : createCommentVNode("", true),
|
|
17957
18065
|
showNameAndIcon.value && !_ctx.independence ? (openBlock(), createBlock(GLink, {
|
|
17958
18066
|
key: 2,
|
|
17959
|
-
class:
|
|
18067
|
+
class: "g-toolbar-left-logo",
|
|
18068
|
+
style: normalizeStyle(logoStyle.value),
|
|
17960
18069
|
to: { name: "home" }
|
|
17961
|
-
}, null, 8, ["
|
|
18070
|
+
}, null, 8, ["style"])) : createCommentVNode("", true)
|
|
17962
18071
|
]),
|
|
17963
18072
|
isModuleVisible(unref(HeaderDisplayItem).CUSTOM_CONTENT) ? (openBlock(), createElementBlock("div", {
|
|
17964
18073
|
key: 0,
|
|
@@ -18078,6 +18187,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
18078
18187
|
}
|
|
18079
18188
|
});
|
|
18080
18189
|
const GitCodeHeader = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-vue-layout-gitcode"]]);
|
|
18190
|
+
const layoutConfig$1 = useLayoutConfig();
|
|
18081
18191
|
const useConfigSide = (request, sceneValue) => {
|
|
18082
18192
|
const API = asideRequest(request);
|
|
18083
18193
|
const route = useRoute();
|
|
@@ -18138,13 +18248,21 @@ const useConfigSide = (request, sceneValue) => {
|
|
|
18138
18248
|
sideLoading.value = true;
|
|
18139
18249
|
const res = await API.getAsideConfig();
|
|
18140
18250
|
let asideList = (((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.data) || []).map((item) => {
|
|
18251
|
+
let processedUrl = item.left_menu_url;
|
|
18252
|
+
if (processedUrl == null ? void 0 : processedUrl.startsWith("https://competition.")) {
|
|
18253
|
+
processedUrl = replaceHost({ url: processedUrl, customHost: transformUrl(layoutConfig$1.VITE_COMPETITION_HOST) });
|
|
18254
|
+
} else if (processedUrl == null ? void 0 : processedUrl.startsWith("https://ai.")) {
|
|
18255
|
+
processedUrl = replaceHost({ url: processedUrl, customHost: transformUrl(layoutConfig$1.VITE_AI_HOST) });
|
|
18256
|
+
} else {
|
|
18257
|
+
processedUrl = transformUrl(processedUrl);
|
|
18258
|
+
}
|
|
18141
18259
|
return {
|
|
18142
18260
|
...item,
|
|
18143
|
-
left_menu_url:
|
|
18144
|
-
left_menu_logo: transformUrl
|
|
18145
|
-
left_menu_logo_black: transformUrl
|
|
18146
|
-
left_menu_logo_hover: transformUrl
|
|
18147
|
-
left_menu_logo_hover_black: transformUrl
|
|
18261
|
+
left_menu_url: processedUrl,
|
|
18262
|
+
left_menu_logo: transformUrl(item.left_menu_logo),
|
|
18263
|
+
left_menu_logo_black: transformUrl(item.left_menu_logo_black),
|
|
18264
|
+
left_menu_logo_hover: transformUrl(item.left_menu_logo_hover),
|
|
18265
|
+
left_menu_logo_hover_black: transformUrl(item.left_menu_logo_hover_black)
|
|
18148
18266
|
};
|
|
18149
18267
|
});
|
|
18150
18268
|
if (typeof window !== "undefined" && GUI_YANG_GITCODE_HOST && ((_b = window.location) == null ? void 0 : _b.origin.includes(GUI_YANG_GITCODE_HOST))) {
|
|
@@ -18219,8 +18337,8 @@ const loadUserProjectsInvolved = async (requestFn, params = {}) => {
|
|
|
18219
18337
|
var _a;
|
|
18220
18338
|
return {
|
|
18221
18339
|
key: item.name,
|
|
18222
|
-
web_url: transformUrl
|
|
18223
|
-
avatar: transformUrl
|
|
18340
|
+
web_url: transformUrl(item.web_url),
|
|
18341
|
+
avatar: transformUrl(item.avatar),
|
|
18224
18342
|
id: item.id,
|
|
18225
18343
|
label: item.name,
|
|
18226
18344
|
namespace: (_a = item.namespace_info) == null ? void 0 : _a.name
|
|
@@ -18271,9 +18389,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
18271
18389
|
const layoutConfig2 = useLayoutConfig();
|
|
18272
18390
|
const { t: t2 } = i18n.global;
|
|
18273
18391
|
const route = useRoute();
|
|
18274
|
-
const MenuItem = defineAsyncComponent(() => import("./MenuItem-
|
|
18275
|
-
const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-
|
|
18276
|
-
const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-
|
|
18392
|
+
const MenuItem = defineAsyncComponent(() => import("./MenuItem-B48J7_bH.js"));
|
|
18393
|
+
const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-BDrzG4ue.js"));
|
|
18394
|
+
const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-eMPknWyF.js"));
|
|
18277
18395
|
const props = __props;
|
|
18278
18396
|
console.log("slotKeys", props.slotKeys);
|
|
18279
18397
|
console.log("props", props);
|
|
@@ -18641,6 +18759,7 @@ const FEEDBACK_CENTER_URL = "https://gitcode.com/Gitcode-offical-team/GitCode-Do
|
|
|
18641
18759
|
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
18642
18760
|
__name: "SubMenuList",
|
|
18643
18761
|
setup(__props) {
|
|
18762
|
+
const layoutConfig2 = useLayoutConfig();
|
|
18644
18763
|
const { t: t2 } = i18n.global;
|
|
18645
18764
|
const isEn = computed(() => {
|
|
18646
18765
|
return getLocaleLang() === LANG_EN;
|
|
@@ -18650,13 +18769,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
18650
18769
|
{
|
|
18651
18770
|
name: t2("gitCodeLayout.header.helpDocument"),
|
|
18652
18771
|
icon: "gt-line-file",
|
|
18653
|
-
url: HELP_DOCS_URL,
|
|
18772
|
+
url: transformUrl(HELP_DOCS_URL),
|
|
18654
18773
|
target: "_blank"
|
|
18655
18774
|
},
|
|
18656
18775
|
{
|
|
18657
18776
|
name: t2("gitCodeLayout.home.feedbackCenter"),
|
|
18658
18777
|
icon: "gt-line-Checks",
|
|
18659
|
-
url: FEEDBACK_CENTER_URL,
|
|
18778
|
+
url: replaceHost({ url: FEEDBACK_CENTER_URL, customHost: layoutConfig2.VITE_HOST }),
|
|
18660
18779
|
target: "_self"
|
|
18661
18780
|
}
|
|
18662
18781
|
];
|
|
@@ -19023,6 +19142,17 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
19023
19142
|
if (route.meta.showBgColor) return true;
|
|
19024
19143
|
return false;
|
|
19025
19144
|
});
|
|
19145
|
+
const logoConfig = getCurrentLogoMap();
|
|
19146
|
+
const logoStyle = computed(() => {
|
|
19147
|
+
const isBlackTheme = currentTheme.value === "black";
|
|
19148
|
+
const logoUrl = isBlackTheme ? logoConfig.siteLogoWhite : logoConfig.siteLogoDark;
|
|
19149
|
+
return {
|
|
19150
|
+
backgroundImage: `url(${logoUrl})`,
|
|
19151
|
+
backgroundRepeat: "no-repeat",
|
|
19152
|
+
backgroundPosition: "0 center",
|
|
19153
|
+
backgroundSize: "contain"
|
|
19154
|
+
};
|
|
19155
|
+
});
|
|
19026
19156
|
const sizeStore = usePageResize();
|
|
19027
19157
|
const asideSetShow = computed(() => {
|
|
19028
19158
|
return (props.sceneValue === SceneValue.home && !sizeStore.isMobile.value || props.collapseMode) && !props.disableFlatMode;
|
|
@@ -19135,10 +19265,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
19135
19265
|
default: withCtx(() => [
|
|
19136
19266
|
createElementVNode("div", _hoisted_1$d, [
|
|
19137
19267
|
createVNode(GLink, {
|
|
19138
|
-
class:
|
|
19268
|
+
class: "g-toolbar-left-logo",
|
|
19269
|
+
style: normalizeStyle(logoStyle.value),
|
|
19139
19270
|
to: _ctx.independence ? "" : { name: "home" },
|
|
19140
|
-
href: _ctx.independence ? unref(layoutConfig2).VITE_HOST : ""
|
|
19141
|
-
}, null, 8, ["
|
|
19271
|
+
href: _ctx.independence ? unref(transformUrl)(unref(layoutConfig2).VITE_HOST) : ""
|
|
19272
|
+
}, null, 8, ["style", "to", "href"]),
|
|
19142
19273
|
createVNode(unref(Button), {
|
|
19143
19274
|
class: "cursor-pointer draw-side-bar-close",
|
|
19144
19275
|
icon: "close",
|
|
@@ -20283,7 +20414,7 @@ async function successResolve(params, API, isRegister = false) {
|
|
|
20283
20414
|
const { path, userInfo, type, loginMethod } = params;
|
|
20284
20415
|
const transformUserInfo = {
|
|
20285
20416
|
...userInfo,
|
|
20286
|
-
avatar: transformUrl
|
|
20417
|
+
avatar: transformUrl(userInfo == null ? void 0 : userInfo.avatar)
|
|
20287
20418
|
};
|
|
20288
20419
|
if (userInfo) {
|
|
20289
20420
|
emitEvent("updateUserInfo", transformUserInfo);
|
|
@@ -23724,7 +23855,6 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
23724
23855
|
};
|
|
23725
23856
|
}
|
|
23726
23857
|
});
|
|
23727
|
-
const GIT_CODE_LOGO_WHITE = "data:image/png;base64,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";
|
|
23728
23858
|
const _hoisted_1$3 = { class: "mfa" };
|
|
23729
23859
|
const _hoisted_2$1 = ["src"];
|
|
23730
23860
|
const _hoisted_3$1 = { class: "text-[20px] font-[600] mb-[8px]" };
|
|
@@ -23752,7 +23882,6 @@ const _hoisted_9$1 = {
|
|
|
23752
23882
|
const _hoisted_10$1 = { class: "my-[32px]" };
|
|
23753
23883
|
const _hoisted_11$1 = { class: "flex items-center justify-between" };
|
|
23754
23884
|
const _hoisted_12$1 = { class: "cursor-pointer" };
|
|
23755
|
-
const GIT_CODE_LOGO_BLACK = "https://cdn-static.gitcode.host/static/images/gitcode-logo-dark.png";
|
|
23756
23885
|
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
23757
23886
|
__name: "MFA",
|
|
23758
23887
|
props: {
|
|
@@ -23762,11 +23891,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
23762
23891
|
},
|
|
23763
23892
|
emits: ["success", "back", "fail"],
|
|
23764
23893
|
setup(__props, { emit: __emit }) {
|
|
23894
|
+
const logoConfig = getCurrentLogoMap();
|
|
23765
23895
|
const currentLogo = computed(() => {
|
|
23766
|
-
|
|
23767
|
-
return GIT_CODE_LOGO_WHITE;
|
|
23768
|
-
}
|
|
23769
|
-
return GIT_CODE_LOGO_BLACK;
|
|
23896
|
+
return currentTheme.value === ThemeType.BLACK ? logoConfig.siteLogoWhite : logoConfig.siteLogoDark;
|
|
23770
23897
|
});
|
|
23771
23898
|
const { t: t2 } = i18n.global;
|
|
23772
23899
|
const emits = __emit;
|
|
@@ -23985,7 +24112,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
23985
24112
|
}
|
|
23986
24113
|
});
|
|
23987
24114
|
const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-vue-layout-gitcode"]]);
|
|
23988
|
-
const SlidCaptcha = defineAsyncComponent(() => import("./index-
|
|
24115
|
+
const SlidCaptcha = defineAsyncComponent(() => import("./index-bBRwqaOi.js"));
|
|
23989
24116
|
const useSlidCaptcha = () => {
|
|
23990
24117
|
const { mount, unMount } = usePopup("slid-captcha-popup");
|
|
23991
24118
|
const open = (config) => {
|
|
@@ -24004,7 +24131,7 @@ const useSlidCaptcha = () => {
|
|
|
24004
24131
|
close: unMount
|
|
24005
24132
|
};
|
|
24006
24133
|
};
|
|
24007
|
-
const YunpianCaptcha = defineAsyncComponent(() => import("./index-
|
|
24134
|
+
const YunpianCaptcha = defineAsyncComponent(() => import("./index-CQGXV6Ps.js"));
|
|
24008
24135
|
const useYunpianCaptcha = () => {
|
|
24009
24136
|
const { mount, unMount } = usePopup("yunpian-captcha-popup");
|
|
24010
24137
|
const open = (config) => {
|
|
@@ -24038,7 +24165,7 @@ function _sfc_render(_ctx, _cache) {
|
|
|
24038
24165
|
createElementVNode("div", { class: "w-full flex-center" }, [
|
|
24039
24166
|
createElementVNode("img", {
|
|
24040
24167
|
class: "w-[60px] h-[60px]",
|
|
24041
|
-
src: "https://cdn-static.gitcode.
|
|
24168
|
+
src: "https://cdn-static.gitcode.com/static/images/common/loading.gif",
|
|
24042
24169
|
alt: "loading"
|
|
24043
24170
|
})
|
|
24044
24171
|
]),
|
|
@@ -24258,9 +24385,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
24258
24385
|
const IconW = TransAssetsUrl(IconSource, "logo-wechat");
|
|
24259
24386
|
const IconHb = TransAssetsUrl(IconSource, "logo-hb");
|
|
24260
24387
|
const IconHW = TransAssetsUrl(IconSource, "logo-huawei");
|
|
24388
|
+
const logoConfig = getCurrentLogoMap();
|
|
24261
24389
|
const logoType = {
|
|
24262
|
-
black:
|
|
24263
|
-
white:
|
|
24390
|
+
black: logoConfig.siteLogoWhite,
|
|
24391
|
+
white: logoConfig.siteLogoDark
|
|
24264
24392
|
};
|
|
24265
24393
|
const formErrors = reactive({});
|
|
24266
24394
|
const extraErrors = reactive({
|
|
@@ -25659,7 +25787,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
25659
25787
|
}, [
|
|
25660
25788
|
createElementVNode("div", _hoisted_42, [
|
|
25661
25789
|
_cache[15] || (_cache[15] = createElementVNode("img", {
|
|
25662
|
-
src: "https://cdn-static.gitcode.
|
|
25790
|
+
src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
|
|
25663
25791
|
alt: "",
|
|
25664
25792
|
class: "w-[32px] h-[32px] inline-block harmony-icon-img"
|
|
25665
25793
|
}, null, -1)),
|
|
@@ -25700,8 +25828,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
25700
25828
|
modelValue: status.value,
|
|
25701
25829
|
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => status.value = $event),
|
|
25702
25830
|
onDeclares: _cache[10] || (_cache[10] = (typ) => handleDisplay(typ)),
|
|
25703
|
-
"agreement-text": `《
|
|
25704
|
-
"privacy-text": `《
|
|
25831
|
+
"agreement-text": `《AtomGit ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
|
|
25832
|
+
"privacy-text": `《AtomGit ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
|
|
25705
25833
|
onClick: _cache[11] || (_cache[11] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
|
|
25706
25834
|
}, null, 8, ["modelValue", "agreement-text", "privacy-text"])
|
|
25707
25835
|
], 2),
|
|
@@ -26011,25 +26139,24 @@ export {
|
|
|
26011
26139
|
LANG_EN as A,
|
|
26012
26140
|
emitEvent as B,
|
|
26013
26141
|
isHttps as C,
|
|
26014
|
-
|
|
26142
|
+
_sfc_main$z as D,
|
|
26015
26143
|
EVENT_NAME as E,
|
|
26016
|
-
|
|
26144
|
+
loadAsideData as F,
|
|
26017
26145
|
GIcon as G,
|
|
26018
|
-
|
|
26019
|
-
|
|
26020
|
-
|
|
26021
|
-
|
|
26146
|
+
asideRequest as H,
|
|
26147
|
+
ToolsFloat as I,
|
|
26148
|
+
_sfc_main as J,
|
|
26149
|
+
GitCodeAside as K,
|
|
26022
26150
|
LANG_KEY as L,
|
|
26023
|
-
|
|
26024
|
-
|
|
26025
|
-
|
|
26026
|
-
|
|
26027
|
-
|
|
26151
|
+
GitCodeHeader as M,
|
|
26152
|
+
useLogin as N,
|
|
26153
|
+
setLayoutConfig as O,
|
|
26154
|
+
GitCodeLayoutEmitter as P,
|
|
26155
|
+
setTheme as Q,
|
|
26028
26156
|
REPO_MODULE as R,
|
|
26029
26157
|
SceneValue as S,
|
|
26030
26158
|
TOPIC_TYPE as T,
|
|
26031
|
-
|
|
26032
|
-
index as V,
|
|
26159
|
+
index as U,
|
|
26033
26160
|
_export_sfc as _,
|
|
26034
26161
|
i18n as a,
|
|
26035
26162
|
REPO_EVENT as b,
|
|
@@ -26050,11 +26177,11 @@ export {
|
|
|
26050
26177
|
_frEventTrack as q,
|
|
26051
26178
|
reqCatch as r,
|
|
26052
26179
|
setLoginTriggerSource as s,
|
|
26053
|
-
transformUrl
|
|
26180
|
+
transformUrl as t,
|
|
26054
26181
|
useModel as u,
|
|
26055
26182
|
vElementExposure as v,
|
|
26056
|
-
|
|
26057
|
-
|
|
26183
|
+
getLocaleLang as w,
|
|
26184
|
+
useLayoutConfig as x,
|
|
26058
26185
|
ThemeType as y,
|
|
26059
26186
|
currentTheme as z
|
|
26060
26187
|
};
|