init
269
.vitepress/cache/deps/@theme_index.js
vendored
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
import {
|
||||||
|
useMediaQuery
|
||||||
|
} from "./chunk-A7UTJUSY.js";
|
||||||
|
import {
|
||||||
|
computed,
|
||||||
|
ref,
|
||||||
|
shallowRef,
|
||||||
|
watch
|
||||||
|
} from "./chunk-VJWGEPT5.js";
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/index.js
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/fonts.css";
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/without-fonts.js
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/vars.css";
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/base.css";
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/icons.css";
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/utils.css";
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css";
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css";
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css";
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css";
|
||||||
|
import "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css";
|
||||||
|
import VPBadge from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
|
||||||
|
import Layout from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/Layout.vue";
|
||||||
|
import { default as default2 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
|
||||||
|
import { default as default3 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPImage.vue";
|
||||||
|
import { default as default4 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPButton.vue";
|
||||||
|
import { default as default5 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPHomeContent.vue";
|
||||||
|
import { default as default6 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue";
|
||||||
|
import { default as default7 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue";
|
||||||
|
import { default as default8 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue";
|
||||||
|
import { default as default9 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPLink.vue";
|
||||||
|
import { default as default10 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue";
|
||||||
|
import { default as default11 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPSocialLink.vue";
|
||||||
|
import { default as default12 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPSocialLinks.vue";
|
||||||
|
import { default as default13 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPSponsors.vue";
|
||||||
|
import { default as default14 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue";
|
||||||
|
import { default as default15 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue";
|
||||||
|
import { default as default16 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue";
|
||||||
|
import { default as default17 } from "D:/Project/sif2doc/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue";
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/support/utils.js
|
||||||
|
import { withBase } from "vitepress";
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/composables/data.js
|
||||||
|
import { useData as useData$ } from "vitepress";
|
||||||
|
var useData = useData$;
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/support/utils.js
|
||||||
|
function ensureStartingSlash(path) {
|
||||||
|
return /^\//.test(path) ? path : `/${path}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/support/sidebar.js
|
||||||
|
function getSidebar(_sidebar, path) {
|
||||||
|
if (Array.isArray(_sidebar))
|
||||||
|
return addBase(_sidebar);
|
||||||
|
if (_sidebar == null)
|
||||||
|
return [];
|
||||||
|
path = ensureStartingSlash(path);
|
||||||
|
const dir = Object.keys(_sidebar).sort((a, b) => {
|
||||||
|
return b.split("/").length - a.split("/").length;
|
||||||
|
}).find((dir2) => {
|
||||||
|
return path.startsWith(ensureStartingSlash(dir2));
|
||||||
|
});
|
||||||
|
const sidebar = dir ? _sidebar[dir] : [];
|
||||||
|
return Array.isArray(sidebar) ? addBase(sidebar) : addBase(sidebar.items, sidebar.base);
|
||||||
|
}
|
||||||
|
function getSidebarGroups(sidebar) {
|
||||||
|
const groups = [];
|
||||||
|
let lastGroupIndex = 0;
|
||||||
|
for (const index in sidebar) {
|
||||||
|
const item = sidebar[index];
|
||||||
|
if (item.items) {
|
||||||
|
lastGroupIndex = groups.push(item);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!groups[lastGroupIndex]) {
|
||||||
|
groups.push({ items: [] });
|
||||||
|
}
|
||||||
|
groups[lastGroupIndex].items.push(item);
|
||||||
|
}
|
||||||
|
return groups;
|
||||||
|
}
|
||||||
|
function addBase(items, _base) {
|
||||||
|
return [...items].map((_item) => {
|
||||||
|
const item = { ..._item };
|
||||||
|
const base = item.base || _base;
|
||||||
|
if (base && item.link)
|
||||||
|
item.link = base + item.link;
|
||||||
|
if (item.items)
|
||||||
|
item.items = addBase(item.items, base);
|
||||||
|
return item;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/composables/sidebar.js
|
||||||
|
function useSidebar() {
|
||||||
|
const { frontmatter, page, theme: theme2 } = useData();
|
||||||
|
const is960 = useMediaQuery("(min-width: 960px)");
|
||||||
|
const isOpen = ref(false);
|
||||||
|
const _sidebar = computed(() => {
|
||||||
|
const sidebarConfig = theme2.value.sidebar;
|
||||||
|
const relativePath = page.value.relativePath;
|
||||||
|
return sidebarConfig ? getSidebar(sidebarConfig, relativePath) : [];
|
||||||
|
});
|
||||||
|
const sidebar = ref(_sidebar.value);
|
||||||
|
watch(_sidebar, (next, prev) => {
|
||||||
|
if (JSON.stringify(next) !== JSON.stringify(prev))
|
||||||
|
sidebar.value = _sidebar.value;
|
||||||
|
});
|
||||||
|
const hasSidebar = computed(() => {
|
||||||
|
return frontmatter.value.sidebar !== false && sidebar.value.length > 0 && frontmatter.value.layout !== "home";
|
||||||
|
});
|
||||||
|
const leftAside = computed(() => {
|
||||||
|
if (hasAside)
|
||||||
|
return frontmatter.value.aside == null ? theme2.value.aside === "left" : frontmatter.value.aside === "left";
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
const hasAside = computed(() => {
|
||||||
|
if (frontmatter.value.layout === "home")
|
||||||
|
return false;
|
||||||
|
if (frontmatter.value.aside != null)
|
||||||
|
return !!frontmatter.value.aside;
|
||||||
|
return theme2.value.aside !== false;
|
||||||
|
});
|
||||||
|
const isSidebarEnabled = computed(() => hasSidebar.value && is960.value);
|
||||||
|
const sidebarGroups = computed(() => {
|
||||||
|
return hasSidebar.value ? getSidebarGroups(sidebar.value) : [];
|
||||||
|
});
|
||||||
|
function open() {
|
||||||
|
isOpen.value = true;
|
||||||
|
}
|
||||||
|
function close() {
|
||||||
|
isOpen.value = false;
|
||||||
|
}
|
||||||
|
function toggle() {
|
||||||
|
isOpen.value ? close() : open();
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
isOpen,
|
||||||
|
sidebar,
|
||||||
|
sidebarGroups,
|
||||||
|
hasSidebar,
|
||||||
|
hasAside,
|
||||||
|
leftAside,
|
||||||
|
isSidebarEnabled,
|
||||||
|
open,
|
||||||
|
close,
|
||||||
|
toggle
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/composables/local-nav.js
|
||||||
|
import { onContentUpdated } from "vitepress";
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/composables/outline.js
|
||||||
|
import { getScrollOffset } from "vitepress";
|
||||||
|
var resolvedHeaders = [];
|
||||||
|
function getHeaders(range) {
|
||||||
|
const headers = [
|
||||||
|
...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")
|
||||||
|
].filter((el) => el.id && el.hasChildNodes()).map((el) => {
|
||||||
|
const level = Number(el.tagName[1]);
|
||||||
|
return {
|
||||||
|
element: el,
|
||||||
|
title: serializeHeader(el),
|
||||||
|
link: "#" + el.id,
|
||||||
|
level
|
||||||
|
};
|
||||||
|
});
|
||||||
|
return resolveHeaders(headers, range);
|
||||||
|
}
|
||||||
|
function serializeHeader(h) {
|
||||||
|
let ret = "";
|
||||||
|
for (const node of h.childNodes) {
|
||||||
|
if (node.nodeType === 1) {
|
||||||
|
if (node.classList.contains("VPBadge") || node.classList.contains("header-anchor") || node.classList.contains("ignore-header")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ret += node.textContent;
|
||||||
|
} else if (node.nodeType === 3) {
|
||||||
|
ret += node.textContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret.trim();
|
||||||
|
}
|
||||||
|
function resolveHeaders(headers, range) {
|
||||||
|
if (range === false) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const levelsRange = (typeof range === "object" && !Array.isArray(range) ? range.level : range) || 2;
|
||||||
|
const [high, low] = typeof levelsRange === "number" ? [levelsRange, levelsRange] : levelsRange === "deep" ? [2, 6] : levelsRange;
|
||||||
|
return buildTree(headers, high, low);
|
||||||
|
}
|
||||||
|
function buildTree(data, min, max) {
|
||||||
|
resolvedHeaders.length = 0;
|
||||||
|
const result = [];
|
||||||
|
const stack = [];
|
||||||
|
data.forEach((item) => {
|
||||||
|
const node = { ...item, children: [] };
|
||||||
|
let parent = stack[stack.length - 1];
|
||||||
|
while (parent && parent.level >= node.level) {
|
||||||
|
stack.pop();
|
||||||
|
parent = stack[stack.length - 1];
|
||||||
|
}
|
||||||
|
if (node.element.classList.contains("ignore-header") || parent && "shouldIgnore" in parent) {
|
||||||
|
stack.push({ level: node.level, shouldIgnore: true });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (node.level > max || node.level < min)
|
||||||
|
return;
|
||||||
|
resolvedHeaders.push({ element: node.element, link: node.link });
|
||||||
|
if (parent)
|
||||||
|
parent.children.push(node);
|
||||||
|
else
|
||||||
|
result.push(node);
|
||||||
|
stack.push(node);
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/composables/local-nav.js
|
||||||
|
function useLocalNav() {
|
||||||
|
const { theme: theme2, frontmatter } = useData();
|
||||||
|
const headers = shallowRef([]);
|
||||||
|
const hasLocalNav = computed(() => {
|
||||||
|
return headers.value.length > 0;
|
||||||
|
});
|
||||||
|
onContentUpdated(() => {
|
||||||
|
headers.value = getHeaders(frontmatter.value.outline ?? theme2.value.outline);
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
headers,
|
||||||
|
hasLocalNav
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// node_modules/vitepress/dist/client/theme-default/without-fonts.js
|
||||||
|
var theme = {
|
||||||
|
Layout,
|
||||||
|
enhanceApp: ({ app }) => {
|
||||||
|
app.component("Badge", VPBadge);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var without_fonts_default = theme;
|
||||||
|
export {
|
||||||
|
default2 as VPBadge,
|
||||||
|
default4 as VPButton,
|
||||||
|
default10 as VPDocAsideSponsors,
|
||||||
|
default5 as VPHomeContent,
|
||||||
|
default7 as VPHomeFeatures,
|
||||||
|
default6 as VPHomeHero,
|
||||||
|
default8 as VPHomeSponsors,
|
||||||
|
default3 as VPImage,
|
||||||
|
default9 as VPLink,
|
||||||
|
default11 as VPSocialLink,
|
||||||
|
default12 as VPSocialLinks,
|
||||||
|
default13 as VPSponsors,
|
||||||
|
default17 as VPTeamMembers,
|
||||||
|
default14 as VPTeamPage,
|
||||||
|
default16 as VPTeamPageSection,
|
||||||
|
default15 as VPTeamPageTitle,
|
||||||
|
without_fonts_default as default,
|
||||||
|
useLocalNav,
|
||||||
|
useSidebar
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=@theme_index.js.map
|
7
.vitepress/cache/deps/@theme_index.js.map
vendored
Normal file
40
.vitepress/cache/deps/_metadata.json
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"hash": "87f45689",
|
||||||
|
"configHash": "d481fe34",
|
||||||
|
"lockfileHash": "0b128aab",
|
||||||
|
"browserHash": "950dacc1",
|
||||||
|
"optimized": {
|
||||||
|
"vue": {
|
||||||
|
"src": "../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
||||||
|
"file": "vue.js",
|
||||||
|
"fileHash": "4c0be7ad",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"vitepress > @vue/devtools-api": {
|
||||||
|
"src": "../../../node_modules/@vue/devtools-api/dist/index.js",
|
||||||
|
"file": "vitepress___@vue_devtools-api.js",
|
||||||
|
"fileHash": "ec428db7",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"vitepress > @vueuse/core": {
|
||||||
|
"src": "../../../node_modules/@vueuse/core/index.mjs",
|
||||||
|
"file": "vitepress___@vueuse_core.js",
|
||||||
|
"fileHash": "7c1b63fa",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"@theme/index": {
|
||||||
|
"src": "../../../node_modules/vitepress/dist/client/theme-default/index.js",
|
||||||
|
"file": "@theme_index.js",
|
||||||
|
"fileHash": "663020ff",
|
||||||
|
"needsInterop": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chunks": {
|
||||||
|
"chunk-A7UTJUSY": {
|
||||||
|
"file": "chunk-A7UTJUSY.js"
|
||||||
|
},
|
||||||
|
"chunk-VJWGEPT5": {
|
||||||
|
"file": "chunk-VJWGEPT5.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
9358
.vitepress/cache/deps/chunk-A7UTJUSY.js
vendored
Normal file
7
.vitepress/cache/deps/chunk-A7UTJUSY.js.map
vendored
Normal file
12542
.vitepress/cache/deps/chunk-VJWGEPT5.js
vendored
Normal file
7
.vitepress/cache/deps/chunk-VJWGEPT5.js.map
vendored
Normal file
3
.vitepress/cache/deps/package.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"type": "module"
|
||||||
|
}
|
4504
.vitepress/cache/deps/vitepress___@vue_devtools-api.js
vendored
Normal file
7
.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map
vendored
Normal file
569
.vitepress/cache/deps/vitepress___@vueuse_core.js
vendored
Normal file
@ -0,0 +1,569 @@
|
|||||||
|
import {
|
||||||
|
DefaultMagicKeysAliasMap,
|
||||||
|
StorageSerializers,
|
||||||
|
TransitionPresets,
|
||||||
|
assert,
|
||||||
|
breakpointsAntDesign,
|
||||||
|
breakpointsBootstrapV5,
|
||||||
|
breakpointsElement,
|
||||||
|
breakpointsMasterCss,
|
||||||
|
breakpointsPrimeFlex,
|
||||||
|
breakpointsQuasar,
|
||||||
|
breakpointsSematic,
|
||||||
|
breakpointsTailwind,
|
||||||
|
breakpointsVuetify,
|
||||||
|
breakpointsVuetifyV2,
|
||||||
|
breakpointsVuetifyV3,
|
||||||
|
bypassFilter,
|
||||||
|
camelize,
|
||||||
|
clamp,
|
||||||
|
cloneFnJSON,
|
||||||
|
computedAsync,
|
||||||
|
computedEager,
|
||||||
|
computedInject,
|
||||||
|
computedWithControl,
|
||||||
|
containsProp,
|
||||||
|
controlledRef,
|
||||||
|
createEventHook,
|
||||||
|
createFetch,
|
||||||
|
createFilterWrapper,
|
||||||
|
createGlobalState,
|
||||||
|
createInjectionState,
|
||||||
|
createReusableTemplate,
|
||||||
|
createSharedComposable,
|
||||||
|
createSingletonPromise,
|
||||||
|
createTemplatePromise,
|
||||||
|
createUnrefFn,
|
||||||
|
customStorageEventName,
|
||||||
|
debounceFilter,
|
||||||
|
defaultDocument,
|
||||||
|
defaultLocation,
|
||||||
|
defaultNavigator,
|
||||||
|
defaultWindow,
|
||||||
|
directiveHooks,
|
||||||
|
executeTransition,
|
||||||
|
extendRef,
|
||||||
|
formatDate,
|
||||||
|
formatTimeAgo,
|
||||||
|
get,
|
||||||
|
getLifeCycleTarget,
|
||||||
|
getSSRHandler,
|
||||||
|
hasOwn,
|
||||||
|
hyphenate,
|
||||||
|
identity,
|
||||||
|
increaseWithUnit,
|
||||||
|
injectLocal,
|
||||||
|
invoke,
|
||||||
|
isClient,
|
||||||
|
isDef,
|
||||||
|
isDefined,
|
||||||
|
isIOS,
|
||||||
|
isObject,
|
||||||
|
isWorker,
|
||||||
|
makeDestructurable,
|
||||||
|
mapGamepadToXbox360Controller,
|
||||||
|
noop,
|
||||||
|
normalizeDate,
|
||||||
|
notNullish,
|
||||||
|
now,
|
||||||
|
objectEntries,
|
||||||
|
objectOmit,
|
||||||
|
objectPick,
|
||||||
|
onClickOutside,
|
||||||
|
onKeyDown,
|
||||||
|
onKeyPressed,
|
||||||
|
onKeyStroke,
|
||||||
|
onKeyUp,
|
||||||
|
onLongPress,
|
||||||
|
onStartTyping,
|
||||||
|
pausableFilter,
|
||||||
|
promiseTimeout,
|
||||||
|
provideLocal,
|
||||||
|
rand,
|
||||||
|
reactify,
|
||||||
|
reactifyObject,
|
||||||
|
reactiveComputed,
|
||||||
|
reactiveOmit,
|
||||||
|
reactivePick,
|
||||||
|
refAutoReset,
|
||||||
|
refDebounced,
|
||||||
|
refDefault,
|
||||||
|
refThrottled,
|
||||||
|
refWithControl,
|
||||||
|
resolveRef,
|
||||||
|
resolveUnref,
|
||||||
|
set,
|
||||||
|
setSSRHandler,
|
||||||
|
syncRef,
|
||||||
|
syncRefs,
|
||||||
|
templateRef,
|
||||||
|
throttleFilter,
|
||||||
|
timestamp,
|
||||||
|
toReactive,
|
||||||
|
toRef,
|
||||||
|
toRefs,
|
||||||
|
toValue,
|
||||||
|
tryOnBeforeMount,
|
||||||
|
tryOnBeforeUnmount,
|
||||||
|
tryOnMounted,
|
||||||
|
tryOnScopeDispose,
|
||||||
|
tryOnUnmounted,
|
||||||
|
unrefElement,
|
||||||
|
until,
|
||||||
|
useActiveElement,
|
||||||
|
useAnimate,
|
||||||
|
useArrayDifference,
|
||||||
|
useArrayEvery,
|
||||||
|
useArrayFilter,
|
||||||
|
useArrayFind,
|
||||||
|
useArrayFindIndex,
|
||||||
|
useArrayFindLast,
|
||||||
|
useArrayIncludes,
|
||||||
|
useArrayJoin,
|
||||||
|
useArrayMap,
|
||||||
|
useArrayReduce,
|
||||||
|
useArraySome,
|
||||||
|
useArrayUnique,
|
||||||
|
useAsyncQueue,
|
||||||
|
useAsyncState,
|
||||||
|
useBase64,
|
||||||
|
useBattery,
|
||||||
|
useBluetooth,
|
||||||
|
useBreakpoints,
|
||||||
|
useBroadcastChannel,
|
||||||
|
useBrowserLocation,
|
||||||
|
useCached,
|
||||||
|
useClipboard,
|
||||||
|
useClipboardItems,
|
||||||
|
useCloned,
|
||||||
|
useColorMode,
|
||||||
|
useConfirmDialog,
|
||||||
|
useCounter,
|
||||||
|
useCssVar,
|
||||||
|
useCurrentElement,
|
||||||
|
useCycleList,
|
||||||
|
useDark,
|
||||||
|
useDateFormat,
|
||||||
|
useDebounceFn,
|
||||||
|
useDebouncedRefHistory,
|
||||||
|
useDeviceMotion,
|
||||||
|
useDeviceOrientation,
|
||||||
|
useDevicePixelRatio,
|
||||||
|
useDevicesList,
|
||||||
|
useDisplayMedia,
|
||||||
|
useDocumentVisibility,
|
||||||
|
useDraggable,
|
||||||
|
useDropZone,
|
||||||
|
useElementBounding,
|
||||||
|
useElementByPoint,
|
||||||
|
useElementHover,
|
||||||
|
useElementSize,
|
||||||
|
useElementVisibility,
|
||||||
|
useEventBus,
|
||||||
|
useEventListener,
|
||||||
|
useEventSource,
|
||||||
|
useEyeDropper,
|
||||||
|
useFavicon,
|
||||||
|
useFetch,
|
||||||
|
useFileDialog,
|
||||||
|
useFileSystemAccess,
|
||||||
|
useFocus,
|
||||||
|
useFocusWithin,
|
||||||
|
useFps,
|
||||||
|
useFullscreen,
|
||||||
|
useGamepad,
|
||||||
|
useGeolocation,
|
||||||
|
useIdle,
|
||||||
|
useImage,
|
||||||
|
useInfiniteScroll,
|
||||||
|
useIntersectionObserver,
|
||||||
|
useInterval,
|
||||||
|
useIntervalFn,
|
||||||
|
useKeyModifier,
|
||||||
|
useLastChanged,
|
||||||
|
useLocalStorage,
|
||||||
|
useMagicKeys,
|
||||||
|
useManualRefHistory,
|
||||||
|
useMediaControls,
|
||||||
|
useMediaQuery,
|
||||||
|
useMemoize,
|
||||||
|
useMemory,
|
||||||
|
useMounted,
|
||||||
|
useMouse,
|
||||||
|
useMouseInElement,
|
||||||
|
useMousePressed,
|
||||||
|
useMutationObserver,
|
||||||
|
useNavigatorLanguage,
|
||||||
|
useNetwork,
|
||||||
|
useNow,
|
||||||
|
useObjectUrl,
|
||||||
|
useOffsetPagination,
|
||||||
|
useOnline,
|
||||||
|
usePageLeave,
|
||||||
|
useParallax,
|
||||||
|
useParentElement,
|
||||||
|
usePerformanceObserver,
|
||||||
|
usePermission,
|
||||||
|
usePointer,
|
||||||
|
usePointerLock,
|
||||||
|
usePointerSwipe,
|
||||||
|
usePreferredColorScheme,
|
||||||
|
usePreferredContrast,
|
||||||
|
usePreferredDark,
|
||||||
|
usePreferredLanguages,
|
||||||
|
usePreferredReducedMotion,
|
||||||
|
usePrevious,
|
||||||
|
useRafFn,
|
||||||
|
useRefHistory,
|
||||||
|
useResizeObserver,
|
||||||
|
useScreenOrientation,
|
||||||
|
useScreenSafeArea,
|
||||||
|
useScriptTag,
|
||||||
|
useScroll,
|
||||||
|
useScrollLock,
|
||||||
|
useSessionStorage,
|
||||||
|
useShare,
|
||||||
|
useSorted,
|
||||||
|
useSpeechRecognition,
|
||||||
|
useSpeechSynthesis,
|
||||||
|
useStepper,
|
||||||
|
useStorage,
|
||||||
|
useStorageAsync,
|
||||||
|
useStyleTag,
|
||||||
|
useSupported,
|
||||||
|
useSwipe,
|
||||||
|
useTemplateRefsList,
|
||||||
|
useTextDirection,
|
||||||
|
useTextSelection,
|
||||||
|
useTextareaAutosize,
|
||||||
|
useThrottleFn,
|
||||||
|
useThrottledRefHistory,
|
||||||
|
useTimeAgo,
|
||||||
|
useTimeout,
|
||||||
|
useTimeoutFn,
|
||||||
|
useTimeoutPoll,
|
||||||
|
useTimestamp,
|
||||||
|
useTitle,
|
||||||
|
useToNumber,
|
||||||
|
useToString,
|
||||||
|
useToggle,
|
||||||
|
useTransition,
|
||||||
|
useUrlSearchParams,
|
||||||
|
useUserMedia,
|
||||||
|
useVModel,
|
||||||
|
useVModels,
|
||||||
|
useVibrate,
|
||||||
|
useVirtualList,
|
||||||
|
useWakeLock,
|
||||||
|
useWebNotification,
|
||||||
|
useWebSocket,
|
||||||
|
useWebWorker,
|
||||||
|
useWebWorkerFn,
|
||||||
|
useWindowFocus,
|
||||||
|
useWindowScroll,
|
||||||
|
useWindowSize,
|
||||||
|
watchArray,
|
||||||
|
watchAtMost,
|
||||||
|
watchDebounced,
|
||||||
|
watchDeep,
|
||||||
|
watchIgnorable,
|
||||||
|
watchImmediate,
|
||||||
|
watchOnce,
|
||||||
|
watchPausable,
|
||||||
|
watchThrottled,
|
||||||
|
watchTriggerable,
|
||||||
|
watchWithFilter,
|
||||||
|
whenever
|
||||||
|
} from "./chunk-A7UTJUSY.js";
|
||||||
|
import "./chunk-VJWGEPT5.js";
|
||||||
|
export {
|
||||||
|
DefaultMagicKeysAliasMap,
|
||||||
|
StorageSerializers,
|
||||||
|
TransitionPresets,
|
||||||
|
assert,
|
||||||
|
computedAsync as asyncComputed,
|
||||||
|
refAutoReset as autoResetRef,
|
||||||
|
breakpointsAntDesign,
|
||||||
|
breakpointsBootstrapV5,
|
||||||
|
breakpointsElement,
|
||||||
|
breakpointsMasterCss,
|
||||||
|
breakpointsPrimeFlex,
|
||||||
|
breakpointsQuasar,
|
||||||
|
breakpointsSematic,
|
||||||
|
breakpointsTailwind,
|
||||||
|
breakpointsVuetify,
|
||||||
|
breakpointsVuetifyV2,
|
||||||
|
breakpointsVuetifyV3,
|
||||||
|
bypassFilter,
|
||||||
|
camelize,
|
||||||
|
clamp,
|
||||||
|
cloneFnJSON,
|
||||||
|
computedAsync,
|
||||||
|
computedEager,
|
||||||
|
computedInject,
|
||||||
|
computedWithControl,
|
||||||
|
containsProp,
|
||||||
|
computedWithControl as controlledComputed,
|
||||||
|
controlledRef,
|
||||||
|
createEventHook,
|
||||||
|
createFetch,
|
||||||
|
createFilterWrapper,
|
||||||
|
createGlobalState,
|
||||||
|
createInjectionState,
|
||||||
|
reactify as createReactiveFn,
|
||||||
|
createReusableTemplate,
|
||||||
|
createSharedComposable,
|
||||||
|
createSingletonPromise,
|
||||||
|
createTemplatePromise,
|
||||||
|
createUnrefFn,
|
||||||
|
customStorageEventName,
|
||||||
|
debounceFilter,
|
||||||
|
refDebounced as debouncedRef,
|
||||||
|
watchDebounced as debouncedWatch,
|
||||||
|
defaultDocument,
|
||||||
|
defaultLocation,
|
||||||
|
defaultNavigator,
|
||||||
|
defaultWindow,
|
||||||
|
directiveHooks,
|
||||||
|
computedEager as eagerComputed,
|
||||||
|
executeTransition,
|
||||||
|
extendRef,
|
||||||
|
formatDate,
|
||||||
|
formatTimeAgo,
|
||||||
|
get,
|
||||||
|
getLifeCycleTarget,
|
||||||
|
getSSRHandler,
|
||||||
|
hasOwn,
|
||||||
|
hyphenate,
|
||||||
|
identity,
|
||||||
|
watchIgnorable as ignorableWatch,
|
||||||
|
increaseWithUnit,
|
||||||
|
injectLocal,
|
||||||
|
invoke,
|
||||||
|
isClient,
|
||||||
|
isDef,
|
||||||
|
isDefined,
|
||||||
|
isIOS,
|
||||||
|
isObject,
|
||||||
|
isWorker,
|
||||||
|
makeDestructurable,
|
||||||
|
mapGamepadToXbox360Controller,
|
||||||
|
noop,
|
||||||
|
normalizeDate,
|
||||||
|
notNullish,
|
||||||
|
now,
|
||||||
|
objectEntries,
|
||||||
|
objectOmit,
|
||||||
|
objectPick,
|
||||||
|
onClickOutside,
|
||||||
|
onKeyDown,
|
||||||
|
onKeyPressed,
|
||||||
|
onKeyStroke,
|
||||||
|
onKeyUp,
|
||||||
|
onLongPress,
|
||||||
|
onStartTyping,
|
||||||
|
pausableFilter,
|
||||||
|
watchPausable as pausableWatch,
|
||||||
|
promiseTimeout,
|
||||||
|
provideLocal,
|
||||||
|
rand,
|
||||||
|
reactify,
|
||||||
|
reactifyObject,
|
||||||
|
reactiveComputed,
|
||||||
|
reactiveOmit,
|
||||||
|
reactivePick,
|
||||||
|
refAutoReset,
|
||||||
|
refDebounced,
|
||||||
|
refDefault,
|
||||||
|
refThrottled,
|
||||||
|
refWithControl,
|
||||||
|
resolveRef,
|
||||||
|
resolveUnref,
|
||||||
|
set,
|
||||||
|
setSSRHandler,
|
||||||
|
syncRef,
|
||||||
|
syncRefs,
|
||||||
|
templateRef,
|
||||||
|
throttleFilter,
|
||||||
|
refThrottled as throttledRef,
|
||||||
|
watchThrottled as throttledWatch,
|
||||||
|
timestamp,
|
||||||
|
toReactive,
|
||||||
|
toRef,
|
||||||
|
toRefs,
|
||||||
|
toValue,
|
||||||
|
tryOnBeforeMount,
|
||||||
|
tryOnBeforeUnmount,
|
||||||
|
tryOnMounted,
|
||||||
|
tryOnScopeDispose,
|
||||||
|
tryOnUnmounted,
|
||||||
|
unrefElement,
|
||||||
|
until,
|
||||||
|
useActiveElement,
|
||||||
|
useAnimate,
|
||||||
|
useArrayDifference,
|
||||||
|
useArrayEvery,
|
||||||
|
useArrayFilter,
|
||||||
|
useArrayFind,
|
||||||
|
useArrayFindIndex,
|
||||||
|
useArrayFindLast,
|
||||||
|
useArrayIncludes,
|
||||||
|
useArrayJoin,
|
||||||
|
useArrayMap,
|
||||||
|
useArrayReduce,
|
||||||
|
useArraySome,
|
||||||
|
useArrayUnique,
|
||||||
|
useAsyncQueue,
|
||||||
|
useAsyncState,
|
||||||
|
useBase64,
|
||||||
|
useBattery,
|
||||||
|
useBluetooth,
|
||||||
|
useBreakpoints,
|
||||||
|
useBroadcastChannel,
|
||||||
|
useBrowserLocation,
|
||||||
|
useCached,
|
||||||
|
useClipboard,
|
||||||
|
useClipboardItems,
|
||||||
|
useCloned,
|
||||||
|
useColorMode,
|
||||||
|
useConfirmDialog,
|
||||||
|
useCounter,
|
||||||
|
useCssVar,
|
||||||
|
useCurrentElement,
|
||||||
|
useCycleList,
|
||||||
|
useDark,
|
||||||
|
useDateFormat,
|
||||||
|
refDebounced as useDebounce,
|
||||||
|
useDebounceFn,
|
||||||
|
useDebouncedRefHistory,
|
||||||
|
useDeviceMotion,
|
||||||
|
useDeviceOrientation,
|
||||||
|
useDevicePixelRatio,
|
||||||
|
useDevicesList,
|
||||||
|
useDisplayMedia,
|
||||||
|
useDocumentVisibility,
|
||||||
|
useDraggable,
|
||||||
|
useDropZone,
|
||||||
|
useElementBounding,
|
||||||
|
useElementByPoint,
|
||||||
|
useElementHover,
|
||||||
|
useElementSize,
|
||||||
|
useElementVisibility,
|
||||||
|
useEventBus,
|
||||||
|
useEventListener,
|
||||||
|
useEventSource,
|
||||||
|
useEyeDropper,
|
||||||
|
useFavicon,
|
||||||
|
useFetch,
|
||||||
|
useFileDialog,
|
||||||
|
useFileSystemAccess,
|
||||||
|
useFocus,
|
||||||
|
useFocusWithin,
|
||||||
|
useFps,
|
||||||
|
useFullscreen,
|
||||||
|
useGamepad,
|
||||||
|
useGeolocation,
|
||||||
|
useIdle,
|
||||||
|
useImage,
|
||||||
|
useInfiniteScroll,
|
||||||
|
useIntersectionObserver,
|
||||||
|
useInterval,
|
||||||
|
useIntervalFn,
|
||||||
|
useKeyModifier,
|
||||||
|
useLastChanged,
|
||||||
|
useLocalStorage,
|
||||||
|
useMagicKeys,
|
||||||
|
useManualRefHistory,
|
||||||
|
useMediaControls,
|
||||||
|
useMediaQuery,
|
||||||
|
useMemoize,
|
||||||
|
useMemory,
|
||||||
|
useMounted,
|
||||||
|
useMouse,
|
||||||
|
useMouseInElement,
|
||||||
|
useMousePressed,
|
||||||
|
useMutationObserver,
|
||||||
|
useNavigatorLanguage,
|
||||||
|
useNetwork,
|
||||||
|
useNow,
|
||||||
|
useObjectUrl,
|
||||||
|
useOffsetPagination,
|
||||||
|
useOnline,
|
||||||
|
usePageLeave,
|
||||||
|
useParallax,
|
||||||
|
useParentElement,
|
||||||
|
usePerformanceObserver,
|
||||||
|
usePermission,
|
||||||
|
usePointer,
|
||||||
|
usePointerLock,
|
||||||
|
usePointerSwipe,
|
||||||
|
usePreferredColorScheme,
|
||||||
|
usePreferredContrast,
|
||||||
|
usePreferredDark,
|
||||||
|
usePreferredLanguages,
|
||||||
|
usePreferredReducedMotion,
|
||||||
|
usePrevious,
|
||||||
|
useRafFn,
|
||||||
|
useRefHistory,
|
||||||
|
useResizeObserver,
|
||||||
|
useScreenOrientation,
|
||||||
|
useScreenSafeArea,
|
||||||
|
useScriptTag,
|
||||||
|
useScroll,
|
||||||
|
useScrollLock,
|
||||||
|
useSessionStorage,
|
||||||
|
useShare,
|
||||||
|
useSorted,
|
||||||
|
useSpeechRecognition,
|
||||||
|
useSpeechSynthesis,
|
||||||
|
useStepper,
|
||||||
|
useStorage,
|
||||||
|
useStorageAsync,
|
||||||
|
useStyleTag,
|
||||||
|
useSupported,
|
||||||
|
useSwipe,
|
||||||
|
useTemplateRefsList,
|
||||||
|
useTextDirection,
|
||||||
|
useTextSelection,
|
||||||
|
useTextareaAutosize,
|
||||||
|
refThrottled as useThrottle,
|
||||||
|
useThrottleFn,
|
||||||
|
useThrottledRefHistory,
|
||||||
|
useTimeAgo,
|
||||||
|
useTimeout,
|
||||||
|
useTimeoutFn,
|
||||||
|
useTimeoutPoll,
|
||||||
|
useTimestamp,
|
||||||
|
useTitle,
|
||||||
|
useToNumber,
|
||||||
|
useToString,
|
||||||
|
useToggle,
|
||||||
|
useTransition,
|
||||||
|
useUrlSearchParams,
|
||||||
|
useUserMedia,
|
||||||
|
useVModel,
|
||||||
|
useVModels,
|
||||||
|
useVibrate,
|
||||||
|
useVirtualList,
|
||||||
|
useWakeLock,
|
||||||
|
useWebNotification,
|
||||||
|
useWebSocket,
|
||||||
|
useWebWorker,
|
||||||
|
useWebWorkerFn,
|
||||||
|
useWindowFocus,
|
||||||
|
useWindowScroll,
|
||||||
|
useWindowSize,
|
||||||
|
watchArray,
|
||||||
|
watchAtMost,
|
||||||
|
watchDebounced,
|
||||||
|
watchDeep,
|
||||||
|
watchIgnorable,
|
||||||
|
watchImmediate,
|
||||||
|
watchOnce,
|
||||||
|
watchPausable,
|
||||||
|
watchThrottled,
|
||||||
|
watchTriggerable,
|
||||||
|
watchWithFilter,
|
||||||
|
whenever
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=vitepress___@vueuse_core.js.map
|
7
.vitepress/cache/deps/vitepress___@vueuse_core.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
343
.vitepress/cache/deps/vue.js
vendored
Normal file
@ -0,0 +1,343 @@
|
|||||||
|
import {
|
||||||
|
BaseTransition,
|
||||||
|
BaseTransitionPropsValidators,
|
||||||
|
Comment,
|
||||||
|
DeprecationTypes,
|
||||||
|
EffectScope,
|
||||||
|
ErrorCodes,
|
||||||
|
ErrorTypeStrings,
|
||||||
|
Fragment,
|
||||||
|
KeepAlive,
|
||||||
|
ReactiveEffect,
|
||||||
|
Static,
|
||||||
|
Suspense,
|
||||||
|
Teleport,
|
||||||
|
Text,
|
||||||
|
TrackOpTypes,
|
||||||
|
Transition,
|
||||||
|
TransitionGroup,
|
||||||
|
TriggerOpTypes,
|
||||||
|
VueElement,
|
||||||
|
assertNumber,
|
||||||
|
callWithAsyncErrorHandling,
|
||||||
|
callWithErrorHandling,
|
||||||
|
camelize,
|
||||||
|
capitalize,
|
||||||
|
cloneVNode,
|
||||||
|
compatUtils,
|
||||||
|
compile,
|
||||||
|
computed,
|
||||||
|
createApp,
|
||||||
|
createBaseVNode,
|
||||||
|
createBlock,
|
||||||
|
createCommentVNode,
|
||||||
|
createElementBlock,
|
||||||
|
createHydrationRenderer,
|
||||||
|
createPropsRestProxy,
|
||||||
|
createRenderer,
|
||||||
|
createSSRApp,
|
||||||
|
createSlots,
|
||||||
|
createStaticVNode,
|
||||||
|
createTextVNode,
|
||||||
|
createVNode,
|
||||||
|
customRef,
|
||||||
|
defineAsyncComponent,
|
||||||
|
defineComponent,
|
||||||
|
defineCustomElement,
|
||||||
|
defineEmits,
|
||||||
|
defineExpose,
|
||||||
|
defineModel,
|
||||||
|
defineOptions,
|
||||||
|
defineProps,
|
||||||
|
defineSSRCustomElement,
|
||||||
|
defineSlots,
|
||||||
|
devtools,
|
||||||
|
effect,
|
||||||
|
effectScope,
|
||||||
|
getCurrentInstance,
|
||||||
|
getCurrentScope,
|
||||||
|
getCurrentWatcher,
|
||||||
|
getTransitionRawChildren,
|
||||||
|
guardReactiveProps,
|
||||||
|
h,
|
||||||
|
handleError,
|
||||||
|
hasInjectionContext,
|
||||||
|
hydrate,
|
||||||
|
hydrateOnIdle,
|
||||||
|
hydrateOnInteraction,
|
||||||
|
hydrateOnMediaQuery,
|
||||||
|
hydrateOnVisible,
|
||||||
|
initCustomFormatter,
|
||||||
|
initDirectivesForSSR,
|
||||||
|
inject,
|
||||||
|
isMemoSame,
|
||||||
|
isProxy,
|
||||||
|
isReactive,
|
||||||
|
isReadonly,
|
||||||
|
isRef,
|
||||||
|
isRuntimeOnly,
|
||||||
|
isShallow,
|
||||||
|
isVNode,
|
||||||
|
markRaw,
|
||||||
|
mergeDefaults,
|
||||||
|
mergeModels,
|
||||||
|
mergeProps,
|
||||||
|
nextTick,
|
||||||
|
normalizeClass,
|
||||||
|
normalizeProps,
|
||||||
|
normalizeStyle,
|
||||||
|
onActivated,
|
||||||
|
onBeforeMount,
|
||||||
|
onBeforeUnmount,
|
||||||
|
onBeforeUpdate,
|
||||||
|
onDeactivated,
|
||||||
|
onErrorCaptured,
|
||||||
|
onMounted,
|
||||||
|
onRenderTracked,
|
||||||
|
onRenderTriggered,
|
||||||
|
onScopeDispose,
|
||||||
|
onServerPrefetch,
|
||||||
|
onUnmounted,
|
||||||
|
onUpdated,
|
||||||
|
onWatcherCleanup,
|
||||||
|
openBlock,
|
||||||
|
popScopeId,
|
||||||
|
provide,
|
||||||
|
proxyRefs,
|
||||||
|
pushScopeId,
|
||||||
|
queuePostFlushCb,
|
||||||
|
reactive,
|
||||||
|
readonly,
|
||||||
|
ref,
|
||||||
|
registerRuntimeCompiler,
|
||||||
|
render,
|
||||||
|
renderList,
|
||||||
|
renderSlot,
|
||||||
|
resolveComponent,
|
||||||
|
resolveDirective,
|
||||||
|
resolveDynamicComponent,
|
||||||
|
resolveFilter,
|
||||||
|
resolveTransitionHooks,
|
||||||
|
setBlockTracking,
|
||||||
|
setDevtoolsHook,
|
||||||
|
setTransitionHooks,
|
||||||
|
shallowReactive,
|
||||||
|
shallowReadonly,
|
||||||
|
shallowRef,
|
||||||
|
ssrContextKey,
|
||||||
|
ssrUtils,
|
||||||
|
stop,
|
||||||
|
toDisplayString,
|
||||||
|
toHandlerKey,
|
||||||
|
toHandlers,
|
||||||
|
toRaw,
|
||||||
|
toRef,
|
||||||
|
toRefs,
|
||||||
|
toValue,
|
||||||
|
transformVNodeArgs,
|
||||||
|
triggerRef,
|
||||||
|
unref,
|
||||||
|
useAttrs,
|
||||||
|
useCssModule,
|
||||||
|
useCssVars,
|
||||||
|
useHost,
|
||||||
|
useId,
|
||||||
|
useModel,
|
||||||
|
useSSRContext,
|
||||||
|
useShadowRoot,
|
||||||
|
useSlots,
|
||||||
|
useTemplateRef,
|
||||||
|
useTransitionState,
|
||||||
|
vModelCheckbox,
|
||||||
|
vModelDynamic,
|
||||||
|
vModelRadio,
|
||||||
|
vModelSelect,
|
||||||
|
vModelText,
|
||||||
|
vShow,
|
||||||
|
version,
|
||||||
|
warn,
|
||||||
|
watch,
|
||||||
|
watchEffect,
|
||||||
|
watchPostEffect,
|
||||||
|
watchSyncEffect,
|
||||||
|
withAsyncContext,
|
||||||
|
withCtx,
|
||||||
|
withDefaults,
|
||||||
|
withDirectives,
|
||||||
|
withKeys,
|
||||||
|
withMemo,
|
||||||
|
withModifiers,
|
||||||
|
withScopeId
|
||||||
|
} from "./chunk-VJWGEPT5.js";
|
||||||
|
export {
|
||||||
|
BaseTransition,
|
||||||
|
BaseTransitionPropsValidators,
|
||||||
|
Comment,
|
||||||
|
DeprecationTypes,
|
||||||
|
EffectScope,
|
||||||
|
ErrorCodes,
|
||||||
|
ErrorTypeStrings,
|
||||||
|
Fragment,
|
||||||
|
KeepAlive,
|
||||||
|
ReactiveEffect,
|
||||||
|
Static,
|
||||||
|
Suspense,
|
||||||
|
Teleport,
|
||||||
|
Text,
|
||||||
|
TrackOpTypes,
|
||||||
|
Transition,
|
||||||
|
TransitionGroup,
|
||||||
|
TriggerOpTypes,
|
||||||
|
VueElement,
|
||||||
|
assertNumber,
|
||||||
|
callWithAsyncErrorHandling,
|
||||||
|
callWithErrorHandling,
|
||||||
|
camelize,
|
||||||
|
capitalize,
|
||||||
|
cloneVNode,
|
||||||
|
compatUtils,
|
||||||
|
compile,
|
||||||
|
computed,
|
||||||
|
createApp,
|
||||||
|
createBlock,
|
||||||
|
createCommentVNode,
|
||||||
|
createElementBlock,
|
||||||
|
createBaseVNode as createElementVNode,
|
||||||
|
createHydrationRenderer,
|
||||||
|
createPropsRestProxy,
|
||||||
|
createRenderer,
|
||||||
|
createSSRApp,
|
||||||
|
createSlots,
|
||||||
|
createStaticVNode,
|
||||||
|
createTextVNode,
|
||||||
|
createVNode,
|
||||||
|
customRef,
|
||||||
|
defineAsyncComponent,
|
||||||
|
defineComponent,
|
||||||
|
defineCustomElement,
|
||||||
|
defineEmits,
|
||||||
|
defineExpose,
|
||||||
|
defineModel,
|
||||||
|
defineOptions,
|
||||||
|
defineProps,
|
||||||
|
defineSSRCustomElement,
|
||||||
|
defineSlots,
|
||||||
|
devtools,
|
||||||
|
effect,
|
||||||
|
effectScope,
|
||||||
|
getCurrentInstance,
|
||||||
|
getCurrentScope,
|
||||||
|
getCurrentWatcher,
|
||||||
|
getTransitionRawChildren,
|
||||||
|
guardReactiveProps,
|
||||||
|
h,
|
||||||
|
handleError,
|
||||||
|
hasInjectionContext,
|
||||||
|
hydrate,
|
||||||
|
hydrateOnIdle,
|
||||||
|
hydrateOnInteraction,
|
||||||
|
hydrateOnMediaQuery,
|
||||||
|
hydrateOnVisible,
|
||||||
|
initCustomFormatter,
|
||||||
|
initDirectivesForSSR,
|
||||||
|
inject,
|
||||||
|
isMemoSame,
|
||||||
|
isProxy,
|
||||||
|
isReactive,
|
||||||
|
isReadonly,
|
||||||
|
isRef,
|
||||||
|
isRuntimeOnly,
|
||||||
|
isShallow,
|
||||||
|
isVNode,
|
||||||
|
markRaw,
|
||||||
|
mergeDefaults,
|
||||||
|
mergeModels,
|
||||||
|
mergeProps,
|
||||||
|
nextTick,
|
||||||
|
normalizeClass,
|
||||||
|
normalizeProps,
|
||||||
|
normalizeStyle,
|
||||||
|
onActivated,
|
||||||
|
onBeforeMount,
|
||||||
|
onBeforeUnmount,
|
||||||
|
onBeforeUpdate,
|
||||||
|
onDeactivated,
|
||||||
|
onErrorCaptured,
|
||||||
|
onMounted,
|
||||||
|
onRenderTracked,
|
||||||
|
onRenderTriggered,
|
||||||
|
onScopeDispose,
|
||||||
|
onServerPrefetch,
|
||||||
|
onUnmounted,
|
||||||
|
onUpdated,
|
||||||
|
onWatcherCleanup,
|
||||||
|
openBlock,
|
||||||
|
popScopeId,
|
||||||
|
provide,
|
||||||
|
proxyRefs,
|
||||||
|
pushScopeId,
|
||||||
|
queuePostFlushCb,
|
||||||
|
reactive,
|
||||||
|
readonly,
|
||||||
|
ref,
|
||||||
|
registerRuntimeCompiler,
|
||||||
|
render,
|
||||||
|
renderList,
|
||||||
|
renderSlot,
|
||||||
|
resolveComponent,
|
||||||
|
resolveDirective,
|
||||||
|
resolveDynamicComponent,
|
||||||
|
resolveFilter,
|
||||||
|
resolveTransitionHooks,
|
||||||
|
setBlockTracking,
|
||||||
|
setDevtoolsHook,
|
||||||
|
setTransitionHooks,
|
||||||
|
shallowReactive,
|
||||||
|
shallowReadonly,
|
||||||
|
shallowRef,
|
||||||
|
ssrContextKey,
|
||||||
|
ssrUtils,
|
||||||
|
stop,
|
||||||
|
toDisplayString,
|
||||||
|
toHandlerKey,
|
||||||
|
toHandlers,
|
||||||
|
toRaw,
|
||||||
|
toRef,
|
||||||
|
toRefs,
|
||||||
|
toValue,
|
||||||
|
transformVNodeArgs,
|
||||||
|
triggerRef,
|
||||||
|
unref,
|
||||||
|
useAttrs,
|
||||||
|
useCssModule,
|
||||||
|
useCssVars,
|
||||||
|
useHost,
|
||||||
|
useId,
|
||||||
|
useModel,
|
||||||
|
useSSRContext,
|
||||||
|
useShadowRoot,
|
||||||
|
useSlots,
|
||||||
|
useTemplateRef,
|
||||||
|
useTransitionState,
|
||||||
|
vModelCheckbox,
|
||||||
|
vModelDynamic,
|
||||||
|
vModelRadio,
|
||||||
|
vModelSelect,
|
||||||
|
vModelText,
|
||||||
|
vShow,
|
||||||
|
version,
|
||||||
|
warn,
|
||||||
|
watch,
|
||||||
|
watchEffect,
|
||||||
|
watchPostEffect,
|
||||||
|
watchSyncEffect,
|
||||||
|
withAsyncContext,
|
||||||
|
withCtx,
|
||||||
|
withDefaults,
|
||||||
|
withDirectives,
|
||||||
|
withKeys,
|
||||||
|
withMemo,
|
||||||
|
withModifiers,
|
||||||
|
withScopeId
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=vue.js.map
|
7
.vitepress/cache/deps/vue.js.map
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": [],
|
||||||
|
"sourcesContent": [],
|
||||||
|
"mappings": "",
|
||||||
|
"names": []
|
||||||
|
}
|
45
.vitepress/config.mts
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
import { defineConfig } from 'vitepress'
|
||||||
|
|
||||||
|
// https://vitepress.dev/reference/site-config
|
||||||
|
export default defineConfig({
|
||||||
|
title: "Sif 2",
|
||||||
|
description: "A Sif2 Server and Client Documents",
|
||||||
|
themeConfig: {
|
||||||
|
// https://vitepress.dev/reference/default-theme-config
|
||||||
|
nav: [
|
||||||
|
{ text: '用户指南', link: '/docs/user_guide/client_docs' },
|
||||||
|
{ text: '服务器指南', link: '/docs/dev_guide/introduction' }
|
||||||
|
],
|
||||||
|
|
||||||
|
sidebar: {
|
||||||
|
'/docs/user_guide/': [
|
||||||
|
{
|
||||||
|
text: '游戏用户指南',
|
||||||
|
items: [
|
||||||
|
{ text: '游戏内使用说明', link: '/docs/user_guide/client_docs' },
|
||||||
|
{ text: 'WebUI使用说明', link: '/docs/user_guide/user_webui' },
|
||||||
|
{ text: '游戏相关信息', link: '/docs/user_guide/game_info' },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'/docs/dev_guide/': [
|
||||||
|
{
|
||||||
|
text: '服务器指南',
|
||||||
|
items: [
|
||||||
|
{ text: '介绍', link: '/docs/dev_guide/introduction' },
|
||||||
|
{
|
||||||
|
text: '安装',
|
||||||
|
items: [
|
||||||
|
{ text: 'Windows', link: '/docs/dev_guide/installation/windows' },
|
||||||
|
{ text: 'Linux', link: '/docs/dev_guide/installation/linux' },
|
||||||
|
{ text: 'docker', link: '/docs/dev_guide/installation/docker' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{ text: 'WebUI', link: '/docs/dev_guide/WebUI' },
|
||||||
|
{ text: '环境变量和命令行参数', link: '/docs/dev_guide/variable-argument' },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
118
docs/dev_guide/WebUI.md
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
# WebUI
|
||||||
|
|
||||||
|
本节对服务器的WebUI进行介绍。
|
||||||
|
|
||||||
|
## 启用和禁用WebUI
|
||||||
|
|
||||||
|
如需禁用WebUI,请在服务器启动时添加如下参数:
|
||||||
|
|
||||||
|
- Windows在命令行启动时使用`--hidden`,如下所示:
|
||||||
|
```
|
||||||
|
ew.exe --port 8080 --path ./data/ --hidden
|
||||||
|
```
|
||||||
|
- Linux在命令行启动时使用`--hidden`,如下所示:
|
||||||
|
```
|
||||||
|
ew --port 8080 --path ./data/ --hidden
|
||||||
|
```
|
||||||
|
|
||||||
|
- Docker在启动时将`HIDDEN`环境变量设置为`true`,如下所示:
|
||||||
|
```
|
||||||
|
docker run -d \
|
||||||
|
--name sif2 \
|
||||||
|
-p 8080:8080 \
|
||||||
|
-p 8000:8000 \
|
||||||
|
-e HIDDEN=true \
|
||||||
|
-v ./data:/data \
|
||||||
|
-v ./asset:/asset \
|
||||||
|
zhushenwudi/lovelive-sif2:1.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
## WebUI的使用
|
||||||
|
|
||||||
|
### 端口号
|
||||||
|
WebUI的默认端口号为`8080`。
|
||||||
|
|
||||||
|
如需更改其端口号,请在服务器启动时使用如下参数。
|
||||||
|
|
||||||
|
- Windows在命令行启动时使用`--port <PORT>`,如将端口号改为`12345`,如下所示:
|
||||||
|
```
|
||||||
|
ew.exe --port 12345 --path ./data/
|
||||||
|
```
|
||||||
|
- Linux在命令行启动时使用`--port <PORT>`,如将端口号改为`12345`,如下所示:
|
||||||
|
```
|
||||||
|
ew --port 12345 --path ./data/
|
||||||
|
```
|
||||||
|
|
||||||
|
- Docker在启动时将端口映射修改为所需端口号,如将端口号改为`12345`,如下所示:
|
||||||
|
```
|
||||||
|
docker run \
|
||||||
|
--name sif2 \
|
||||||
|
-p 12345:8080 \
|
||||||
|
-p 8000:8000 \
|
||||||
|
-v ./data:/data \
|
||||||
|
-v ./asset:/asset \
|
||||||
|
zhushenwudi/lovelive-sif2:1.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
### 主界面
|
||||||
|
|
||||||
|
WebUI的界面如下图所示:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
其中包括个人账户登录和导入用户数据和查看帮助等相关信息。
|
||||||
|
|
||||||
|
|
||||||
|
### 个人账户登录及其设置
|
||||||
|
|
||||||
|
在主页面输入SIF2 ID和数据迁移密钥即可登录到个人账户设置页面。界面如下图所示:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
其中包括导出用户数据,登出,设置登录奖励列表和设置服务器时间。
|
||||||
|
|
||||||
|
#### 导出用户数据
|
||||||
|
点击导出用户数据,会下载四个文件,这四个文件保存着用户数据,可以在导入用户数据时使用。
|
||||||
|
|
||||||
|
#### 登出
|
||||||
|
点击登出按钮,即可返回登录界面
|
||||||
|
|
||||||
|
#### 设置登录奖励列表
|
||||||
|
你可以增加登录奖励或删除登录奖励。
|
||||||
|
|
||||||
|
登录奖励的id的列表请自行查阅。
|
||||||
|
|
||||||
|
#### 设置服务器时间
|
||||||
|
该服务器时间只适用于当前登录账户,你可以更改服务器时间以更改当前卡池和当前活动。
|
||||||
|
|
||||||
|
服务器时间的输入可以使用`YYYY/MM/DD`形式,假如你想将时间修改为2023年11月1日,则输入`2023/11/01`即可。
|
||||||
|
|
||||||
|
:::tip 参考
|
||||||
|
1. 可以使用命令行参数`--disable-exports`或环境变量`DISABLE_EXPORTS`禁止服务器导出数据。
|
||||||
|
2. SIF2 ID和数据迁移密钥的获取请参考[XX](https://example.com)。
|
||||||
|
:::
|
||||||
|
### 导入用户数据
|
||||||
|
导入用户数据为在新的服务器上导入其他服务器的数据。界面如下图所示:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
选择服务器到处的四个文件和输入对应的数据迁移密钥,点击提交后即可将其他服务器的数据导入到新的服务器。
|
||||||
|
|
||||||
|
::: tip 参考
|
||||||
|
1. 可以使用命令行参数`--disable-imports`或环境变量`DISABLE_IMPORTS`禁止服务器导入数据。
|
||||||
|
2. 数据迁移密钥的获取可以参考[XX](https://example.com)。
|
||||||
|
:::
|
||||||
|
|
||||||
|
### 帮助页面
|
||||||
|
帮助页面如下图所示:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
帮助页面包括服务器的相关介绍和应用的下载和相关配置。
|
||||||
|
|
||||||
|
::: tip 参考
|
||||||
|
1. 使用命令行参数`--global-android <GLOBAL_ANDROID>`、`--japan-android <JAPAN_ANDROID>`、`--global-ios <GLOBAL_IOS>`、`--japan-ios <JAPAN_IOS>`或环境变量`ANDROID_GLOABL`、`ANDROID_JAPAN`、`IOS_GLOBAL`、`IOS_JAPAN`设置帮助界面中的应用下载地址。
|
||||||
|
2. 使用命令行参数`--assets-url <ASSETS_URL>`或环境变量`ASSET_URL`设置帮助页面中显示的“Assets URL”。
|
||||||
|

|
||||||
|
3. 如何获取预打补丁的apk安装包和ios安装包,请参考[XX](https://example.com)
|
||||||
|
:::
|
1
docs/dev_guide/assets_docs.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# 游戏资源服务器配置
|
40
docs/dev_guide/installation/docker.md
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# Docker
|
||||||
|
Docker镜像中继承了ew服务器,因此无需额外安装ew服务器。
|
||||||
|
::: tip 注意
|
||||||
|
Docker 是一个开源的平台,用于开发、交付和运行应用程序。在使用Docker部署时,以假定使用者已经掌握如何运维一台服务器,同时对容器化的概念和Docker的基础操作有一定了解。否则,请使用其他更加简单的部署方式。
|
||||||
|
:::
|
||||||
|
:::tip 注意
|
||||||
|
本节并未提及如何配置游戏资源服务器,如需配置资源服务器请参考[XX](https://example.com)。
|
||||||
|
:::
|
||||||
|
|
||||||
|
## 获取镜像
|
||||||
|
```
|
||||||
|
docker pull zhushenwudi/lovelive-sif2:1.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
## 运行ew服务器
|
||||||
|
|
||||||
|
::: tip 注意
|
||||||
|
1. ew服务器的游戏端口默认为`8080`,资源服务器端口默认为`8000`。
|
||||||
|
2. ew服务器的数据存储位置默认为`/data`,本地路径默认为`./data`。
|
||||||
|
3. ew服务器的游戏资源存储位置默认为`/asset`,本地路径默认为`./asset`。
|
||||||
|
:::
|
||||||
|
使用docker运行ew服务器,以下是一个典型的示例:
|
||||||
|
```
|
||||||
|
docker run -d \
|
||||||
|
--name sif2 \
|
||||||
|
-p 8080:8080 \
|
||||||
|
-p 8000:8000 \
|
||||||
|
-v ./data:/data \
|
||||||
|
-v ./asset:/asset \
|
||||||
|
zhushenwudi/lovelive-sif2:1.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
查看状态:
|
||||||
|
```
|
||||||
|
docker container stats sif2
|
||||||
|
```
|
||||||
|
|
||||||
|
::: tip 参考
|
||||||
|
docker的环境变量请参考[环境变量和命令行参数](../variable-argument.md)
|
||||||
|
:::
|
74
docs/dev_guide/installation/linux.md
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# Linux
|
||||||
|
本节介绍如何在Linux上安装ew。
|
||||||
|
|
||||||
|
:::tip 注意
|
||||||
|
本节并未提及如何配置游戏资源服务器,如需配置资源服务器请参考[XX](https://example.com)。
|
||||||
|
:::
|
||||||
|
|
||||||
|
## 方式一:使用二进制程序
|
||||||
|
|
||||||
|
### 下载二进制程序
|
||||||
|
从[XX](https://example.com)下载适用于Linux的二进制文件。
|
||||||
|
|
||||||
|
### 运行ew
|
||||||
|
在当前目录下使用命令行,以下是一个典型的运行示例:
|
||||||
|
```
|
||||||
|
./ew --port 8080 --path ./data/ --max_time 1736076211
|
||||||
|
```
|
||||||
|
::: tip 注意
|
||||||
|
具体的命令行参数可以在[环境变量和命令行参数](../variable-argument.md)或者使用
|
||||||
|
```
|
||||||
|
./ew --help
|
||||||
|
```
|
||||||
|
查看。
|
||||||
|
:::
|
||||||
|
|
||||||
|
## 方式二:从源代码编译
|
||||||
|
|
||||||
|
### 下载源代码
|
||||||
|
从[XX](https://example.com)下载或git克隆源代码。
|
||||||
|
|
||||||
|
### 编译源代码
|
||||||
|
#### 构建说明
|
||||||
|
1. 安装以下依赖
|
||||||
|
- [Perl](https://www.perl.org/)
|
||||||
|
- [Rust](https://www.rust-lang.org/)
|
||||||
|
- [Node.js](https://nodejs.org/)
|
||||||
|
- libssl-dev
|
||||||
|
|
||||||
|
:::tip 注意
|
||||||
|
在Ubuntu发行版中安装 **Perl** 和 **libssl-dev** 可以使用以下命令安装:
|
||||||
|
```
|
||||||
|
apt install -y perl libssl-dev
|
||||||
|
```
|
||||||
|
其他的Linux发行版请参照其包管理说明或者自行编译安装。
|
||||||
|
:::
|
||||||
|
1. 构建WebUI
|
||||||
|
```
|
||||||
|
cd webui
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
1. 构建ew服务器
|
||||||
|
- Debug模式
|
||||||
|
```
|
||||||
|
cargo build
|
||||||
|
```
|
||||||
|
- Release模式
|
||||||
|
```
|
||||||
|
cargo build --release
|
||||||
|
```
|
||||||
|
构建完成的二进制文件`ew`在源代码根目录下的`target/debug`或`target/release`中。可以将其移动到你想存储的位置。
|
||||||
|
### 运行ew
|
||||||
|
在当前目录下使用命令行,以下是一个典型的运行示例:
|
||||||
|
```
|
||||||
|
./ew --port 8080 --path ./data/ --max_time 1736076211
|
||||||
|
```
|
||||||
|
::: tip 注意
|
||||||
|
具体的命令行参数可以在[环境变量和命令行参数](../variable-argument.md)或者使用
|
||||||
|
```
|
||||||
|
./ew --help
|
||||||
|
```
|
||||||
|
查看。
|
||||||
|
:::
|
66
docs/dev_guide/installation/windows.md
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# Windows
|
||||||
|
本节介绍如何在Windows上安装ew。
|
||||||
|
|
||||||
|
:::tip 注意
|
||||||
|
本节并未提及如何配置游戏资源服务器,如需配置资源服务器请参考[XX](https://example.com)。
|
||||||
|
:::
|
||||||
|
|
||||||
|
## 方式一:使用二进制程序
|
||||||
|
|
||||||
|
### 下载二进制程序
|
||||||
|
从[XX](https://example.com)下载适用于Windows的二进制文件。
|
||||||
|
|
||||||
|
### 运行ew
|
||||||
|
在当前目录下打开CMD或者PowerShell,以下是一个典型的运行示例:
|
||||||
|
```
|
||||||
|
ew.exe --port 8080 --path ./data/ --max_time 1736076211
|
||||||
|
```
|
||||||
|
::: tip 注意
|
||||||
|
具体的命令行参数可以在[环境变量和命令行参数](https://example.com)或者使用
|
||||||
|
```
|
||||||
|
ew.exe --help
|
||||||
|
```
|
||||||
|
查看。
|
||||||
|
:::
|
||||||
|
|
||||||
|
## 方式二:从源代码编译
|
||||||
|
|
||||||
|
### 下载源代码
|
||||||
|
从[XX](https://example.com)下载或git克隆源代码。
|
||||||
|
|
||||||
|
### 编译源代码
|
||||||
|
#### 构建说明
|
||||||
|
1. 安装以下依赖
|
||||||
|
- [Perl (StrawberryPerl)](https://strawberryperl.com/)
|
||||||
|
- [Rust](https://www.rust-lang.org/)
|
||||||
|
- [Node.js](https://nodejs.org/)
|
||||||
|
|
||||||
|
1. 构建WebUI
|
||||||
|
```
|
||||||
|
cd webui
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
1. 构建ew服务器
|
||||||
|
- Debug模式
|
||||||
|
```
|
||||||
|
cargo build
|
||||||
|
```
|
||||||
|
- Release模式
|
||||||
|
```
|
||||||
|
cargo build --release
|
||||||
|
```
|
||||||
|
构建完成的二进制文件`ew.exe`在源代码根目录下的`target/debug`或`target/release`中。可以将其移动到你想存储的位置。
|
||||||
|
### 运行ew
|
||||||
|
在当前目录下打开CMD或者PowerShell,以下是一个典型的运行示例:
|
||||||
|
```
|
||||||
|
ew.exe --port 8080 --path ./data/ --max_time 1736076211
|
||||||
|
```
|
||||||
|
::: tip 注意
|
||||||
|
具体的命令行参数可以在[环境变量和命令行参数](../variable-argument.md)或者使用
|
||||||
|
```
|
||||||
|
ew.exe --help
|
||||||
|
```
|
||||||
|
查看。
|
||||||
|
:::
|
16
docs/dev_guide/introduction.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# 介绍
|
||||||
|
本用户文档对如何搭建和使用 **Love Live! 学园偶像祭2 MIRACLE LIVE!** 的服务器,以及对如何使用其客户端进行说明。
|
||||||
|
|
||||||
|
你可以通过本节对该用户文档的内容进行快速浏览。
|
||||||
|
|
||||||
|
## 起步
|
||||||
|
|
||||||
|
本章对服务器的下载和安装进行介绍。
|
||||||
|
|
||||||
|
### 下载和安装
|
||||||
|
|
||||||
|
该节介绍了如何在Windows、Linux以及Docker中安装和运行ew服务器。
|
||||||
|
|
||||||
|
## 使用说明
|
||||||
|
|
||||||
|
这一章对服务器和客户端的详细使用进行了介绍,大部分遇到的问题都可以在本章中获得解答。
|
18
docs/dev_guide/patch_client.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# 获取和安装预打补丁的游戏安装包
|
||||||
|
|
||||||
|
## iOS
|
||||||
|
得益于Discord的Triangle,你只需下载对应的ipa文件即可。然后将该ipa文件侧载安装手机上即可。
|
||||||
|
- [国际服](https://arasfon.ru/direct/lovelive/sif2/patched-clients/ios/sif2_gl.ipa)
|
||||||
|
- [日服](https://arasfon.ru/direct/lovelive/sif2/patched-clients/ios/sif2_jp.ipa)
|
||||||
|
|
||||||
|
## Android
|
||||||
|
获取Android的预打补丁的游戏安装包较为麻烦,下面将详细介绍如何获取游戏安装包。
|
||||||
|
|
||||||
|
### 获取原版游戏安装包
|
||||||
|
|
||||||
|
你需要先获取原版的游戏安装包,你可以从下面的链接中获取原版的游戏安装包。
|
||||||
|
- [国际服](https://example.com)
|
||||||
|
- [日服](https://example.com)
|
||||||
|
|
||||||
|
### 给原版安装包打补丁
|
||||||
|
|
92
docs/dev_guide/variable-argument.md
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
# 环境变量和命令行参数
|
||||||
|
|
||||||
|
## 介绍
|
||||||
|
|
||||||
|
### Docker环境变量
|
||||||
|
|
||||||
|
`HTTPS`:是否开启https(默认: false)。
|
||||||
|
|
||||||
|
`ENABLE_ASSET_SERVER`:是否开启资源服务器。
|
||||||
|
|
||||||
|
`NPPS4_ADDRESS`:Sif NPPS4服务器地址(默认: “127.0.0.1:51376”)。
|
||||||
|
|
||||||
|
`MAXTIME`:服务器默认时间(默认: 1736076211),(该时间最大不可超过官方停服时间)。
|
||||||
|
|
||||||
|
`HIDDEN`:隐藏WeiUI(默认: false)。
|
||||||
|
|
||||||
|
`DISABLE_IMPORTS`:禁止导入账户(默认:false)。
|
||||||
|
|
||||||
|
`DISABLE_EXPORTS`:禁止导出账户(默认:false)。
|
||||||
|
|
||||||
|
`ANDROID_JAPAN`:帮助页面显示链接到该服务器的日服android应用下载地址。
|
||||||
|
|
||||||
|
`ANDROID_GLOABL`:帮助页面显示链接到该服务器的国际服android应用下载地址。
|
||||||
|
|
||||||
|
`IOS_JAPAN`:帮助页面显示链接到该服务器的的日服ios应用下载地址。
|
||||||
|
|
||||||
|
`IOS_GLOBAL`:帮助页面显示链接到该服务器的国际服ios应用下载地址。
|
||||||
|
|
||||||
|
`ASSET_URL`:帮助页面显示的游戏资源下载地址。
|
||||||
|
|
||||||
|
### 命令行参数
|
||||||
|
::: tip 注意
|
||||||
|
本节所列的变量有可能已经过时,可以通过`ew --help`查看所支持的参数,环境变量与之对应。
|
||||||
|
:::
|
||||||
|
|
||||||
|
`--port <PORT>`: 服务器监听端口(默认: 8080)
|
||||||
|
|
||||||
|
`--asset-port <ASSET_PORT>`: 资源服务器监听端口(默认: 8000)
|
||||||
|
|
||||||
|
`--path <PATH>`: 数据库存放位置(默认: "./data/")
|
||||||
|
|
||||||
|
`--asset-path <ASSET_PATH>`: 游戏资源存放位置(默认: "./asset/")
|
||||||
|
|
||||||
|
`--enable-asset-server`: 开启资源服务器。
|
||||||
|
|
||||||
|
`--https`: 开启https。
|
||||||
|
|
||||||
|
`--npps4 <NPPS4>`: Sif NPPS4服务器地址,用于sif的账户连接(默认:"127.0.0.1:51376")
|
||||||
|
|
||||||
|
`--global-android <GLOBAL_ANDROID>`: 帮助页面显示链接到该服务器的国际服android应用下载地址。
|
||||||
|
|
||||||
|
`--japan-android <JAPAN_ANDROID>`: 帮助页面显示链接到该服务器的日服android应用下载地址。
|
||||||
|
|
||||||
|
`--global-ios <GLOBAL_IOS>`: 帮助页面显示链接到该服务器的国际服ios应用下载地址。
|
||||||
|
|
||||||
|
`--japan-ios <JAPAN_IOS>`: 帮助页面显示链接到该服务器的的日服ios应用下载地址。
|
||||||
|
|
||||||
|
`--assets-url <ASSETS_URL>`: 帮助页面显示的游戏资源下载地址。
|
||||||
|
|
||||||
|
`--max-time <MAX_TIME>`: 服务器默认的初始时间,以时间戳形式返回。(该时间最大不可超过官方停服时间)
|
||||||
|
|
||||||
|
`--hidden`: 隐藏Web界面。
|
||||||
|
|
||||||
|
`--purge`: 在启动服务器时,清理死亡账户。(死亡账户为账户中无任何卡片)
|
||||||
|
|
||||||
|
`--disable-imports`: 禁止账户导入功能。
|
||||||
|
|
||||||
|
`--disable-exports`: 禁止账户导出功能。
|
||||||
|
|
||||||
|
`--en-ios-asset-hash <EN_IOS_ASSET_HASH>`: 国际服ios客户端资源的hash。
|
||||||
|
|
||||||
|
`--jp-ios-asset-hash <JP_IOS_ASSET_HASH>`: 日服ios客户端资源的hash。
|
||||||
|
|
||||||
|
`--en-android-asset-hash <EN_ANDROID_ASSET_HASH>`: 国际服android客户端资源的hash。
|
||||||
|
|
||||||
|
`--jp-android-asset-hash <JP_ANDROID_ASSET_HASH>`: 日服android客户端资源的hash。
|
||||||
|
|
||||||
|
|
||||||
|
## 如何设置
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
使用`-e`指定环境变量,下例为设置服务器默认时间为1736076200:
|
||||||
|
```
|
||||||
|
docker run -d \
|
||||||
|
--name sif2 \
|
||||||
|
-p 8080:8080 \
|
||||||
|
-p 8000:8000 \
|
||||||
|
-e MAXTIME=1736076200 \
|
||||||
|
-v ./data:/data \
|
||||||
|
-v ./asset:/asset \
|
||||||
|
zhushenwudi/lovelive-sif2:1.0.1
|
||||||
|
```
|
BIN
docs/image/1.png
Normal file
After Width: | Height: | Size: 3.9 MiB |
BIN
docs/image/10.png
Normal file
After Width: | Height: | Size: 172 KiB |
BIN
docs/image/11.png
Normal file
After Width: | Height: | Size: 205 KiB |
BIN
docs/image/12.png
Normal file
After Width: | Height: | Size: 195 KiB |
BIN
docs/image/13.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
docs/image/14.png
Normal file
After Width: | Height: | Size: 737 KiB |
BIN
docs/image/15.png
Normal file
After Width: | Height: | Size: 718 KiB |
BIN
docs/image/16.png
Normal file
After Width: | Height: | Size: 726 KiB |
BIN
docs/image/17.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
docs/image/18.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
docs/image/19.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
docs/image/2.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
docs/image/20.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
docs/image/21.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
docs/image/22.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
docs/image/23.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
docs/image/24.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
docs/image/3.png
Normal file
After Width: | Height: | Size: 2.8 MiB |
BIN
docs/image/4.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
docs/image/5.png
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
docs/image/6.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
docs/image/7.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
docs/image/8.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
docs/image/9.png
Normal file
After Width: | Height: | Size: 922 KiB |
BIN
docs/image/webui_help.jpeg
Normal file
After Width: | Height: | Size: 200 KiB |
BIN
docs/image/webui_help_info.png
Normal file
After Width: | Height: | Size: 135 KiB |
BIN
docs/image/webui_import_user_data.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
docs/image/webui_login_setting.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
docs/image/webui_mainwindows.png
Normal file
After Width: | Height: | Size: 15 KiB |
84
docs/user_guide/client_docs.md
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
---
|
||||||
|
outline: deep
|
||||||
|
---
|
||||||
|
# 游戏内使用说明
|
||||||
|
|
||||||
|
## iOS准备工作
|
||||||
|
安装应用后需要进行一定的设置才可以进入游戏。
|
||||||
|
|
||||||
|
1. 打开手机设置,下滑找到APP。
|
||||||
|

|
||||||
|
2. 进入APP,下滑找到スクフェス2。
|
||||||
|

|
||||||
|
3. 进入スクフェス2,下滑找到Server URL和Assets URL。
|
||||||
|

|
||||||
|
4. 填入服务器网址和资源服务器网址。
|
||||||
|
|
||||||
|
## 通用操作
|
||||||
|
|
||||||
|
### 查看Sif2 ID
|
||||||
|
1. 在游戏主界面,点击右上角的菜单。
|
||||||
|

|
||||||
|
2. 点击 **プロフィール** 。
|
||||||
|

|
||||||
|
3. 页面下方的即为Sif2 ID。
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
### 设置数据迁移密钥
|
||||||
|
|
||||||
|
1. 在游戏主界面,点击右上角的菜单。
|
||||||
|

|
||||||
|
2. 点击 **データ引き継ぎ** 。
|
||||||
|

|
||||||
|
3. 点击 **データ引き継ぎ** 。
|
||||||
|

|
||||||
|
4. 上面的 **引き継ぎID** 为数据迁移ID,下面的 **パスワード** 即为需要设置的数据迁移密钥。
|
||||||
|

|
||||||
|
5. 点击 **次へ** 确定。
|
||||||
|
|
||||||
|
### 迁移数据
|
||||||
|
|
||||||
|
#### 同一服务器不同设备迁移数据
|
||||||
|
|
||||||
|
1. 确保不同设备使用的服务器为同一服务器。
|
||||||
|
2. 打开游戏,点击右上角的菜单。
|
||||||
|

|
||||||
|
3. 点击 **データ引き継ぎ** 。
|
||||||
|

|
||||||
|
4. 点击 **データ引き継ぎ** 。
|
||||||
|

|
||||||
|
5. 在上面的 **引き継ぎID** 输入数据迁移ID,在下面的 **パスワード** 输入数据迁移密钥。
|
||||||
|

|
||||||
|
6. 点击 **次へ** 确定。
|
||||||
|
|
||||||
|
#### 跨服迁移数据
|
||||||
|
跨服迁移数据需要原服务器开启导出用户数据,目标服务器开启导入用户数据。具体操作如下:
|
||||||
|
[跨服迁移数据](./user_webui#跨服迁移数据)
|
||||||
|
|
||||||
|
### 获得Loveca、金币等道具的方式
|
||||||
|
|
||||||
|
1. 在游戏主界面,点击右上角的菜单。
|
||||||
|

|
||||||
|
2. 点击 **シリアルコード** 。
|
||||||
|

|
||||||
|
3. 点击 **シリアルコード入力** 。
|
||||||
|

|
||||||
|
4. 输入兑换码点击OK即可兑换。
|
||||||
|

|
||||||
|
::: tip 注意
|
||||||
|
兑换码格式为兑换码种类+数量,例如:
|
||||||
|
|
||||||
|
coins5000:表示兑换5000金币。
|
||||||
|
:::
|
||||||
|
::: danger 注意
|
||||||
|
输入任何兑换码后,兑换完成显示的图标均为金币图标。
|
||||||
|
:::
|
||||||
|
|
||||||
|
#### 兑换码详情
|
||||||
|
- coins:金币。
|
||||||
|
- gems:Loveca。
|
||||||
|
- training:课程笔记(大)和技能书(大)。
|
||||||
|
- UR:活动UR。
|
||||||
|
- PT:招募pt。
|
||||||
|
|
24
docs/user_guide/game_info.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
outline: deep
|
||||||
|
---
|
||||||
|
# 游戏相关信息
|
||||||
|
|
||||||
|
本页面提供了游戏的相关信息,以供参考。
|
||||||
|
|
||||||
|
## 游戏开服时间和停服时间
|
||||||
|
- 日服:
|
||||||
|
|
||||||
|
**开服时间** :2023年4月15日
|
||||||
|
|
||||||
|
**停服时间** :2024年3月31日
|
||||||
|
|
||||||
|
- 国际服:
|
||||||
|
|
||||||
|
**开服时间** :2024年2月1日
|
||||||
|
|
||||||
|
**停服时间** :2024年5月31日
|
||||||
|
|
||||||
|
## 游戏活动列表
|
||||||
|
|
||||||
|
游戏活动的开始和结束时间可以参考[LLwiki](https://llwiki.org/zh/LoveLive!%E5%AD%A6%E5%9B%AD%E5%81%B6%E5%83%8F%E7%A5%AD2_MIRACLE_LIVE!%E6%B4%BB%E5%8A%A8%E5%88%97%E8%A1%A8)。
|
||||||
|
|
51
docs/user_guide/user_webui.md
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
outline: deep
|
||||||
|
---
|
||||||
|
# WebUI使用说明
|
||||||
|
|
||||||
|
## 进入WebUI
|
||||||
|
1. 确保服务器已开启WebUI(是否开启可询问服主)。
|
||||||
|
2. 使用服主提供的服务器网址即可进入WebUI。
|
||||||
|
|
||||||
|
## WebUI使用
|
||||||
|
|
||||||
|
### 主界面
|
||||||
|
WebUI的界面如下图所示:
|
||||||
|

|
||||||
|
其中包括个人账户登录和导入用户数据和查看帮助等相关信息。
|
||||||
|
|
||||||
|
### 个人账户登录
|
||||||
|
在主页面输入SIF2 ID和数据迁移密钥即可登录到个人账户设置页面。界面如下图所示:
|
||||||
|

|
||||||
|
|
||||||
|
### 更改登录奖励
|
||||||
|
在WebUI个人设置界面的 **当前登录奖励列表** 中添加登录奖励的id即可,登录奖励id的信息请自行查阅。
|
||||||
|

|
||||||
|
|
||||||
|
### 更改游戏服务器时间
|
||||||
|
在WebUI个人设置界面的 **服务器时间** 中输入时间,即可更改服务器时间,跳转到指定活动或卡池。
|
||||||
|

|
||||||
|
服务器时间的格式为yyyy/MM/dd HH:mm:ss。
|
||||||
|
|
||||||
|
例如输入2023/12/01 22:30:30,表示服务器时间更改为2023年12月1日23时30分30秒。
|
||||||
|
|
||||||
|
::: tip 注意
|
||||||
|
服务器时间可以只输入到日期,这时默认为该日期0时0分0秒。
|
||||||
|
|
||||||
|
时间的输入请使用24小时制。
|
||||||
|
|
||||||
|
活动及卡池信息请自行在wiki查找。
|
||||||
|
:::
|
||||||
|
|
||||||
|
### 跨服迁移数据
|
||||||
|
1. 确保服务器开启了 **WebUI**、**导出用户数据** 和 **导入用户数据**。
|
||||||
|
2. 在导出服务器上进入个人账户设置界面。
|
||||||
|
3. 在导出服务器上的个人账户设置界面点击右上角的 **导出用户数据**。
|
||||||
|

|
||||||
|
4. 你会获得四个文件,这四个文件即为用户数据文件。
|
||||||
|

|
||||||
|
5. 在导入服务器的WebUI主页面点击 **导入用户数据**。
|
||||||
|

|
||||||
|
6. 选择导出的四个文件,输入数据迁移密钥,点击提交,即可导入用户数据。
|
||||||
|

|
||||||
|
1. 在游戏中进行数据迁移,方法为[同一服务器不同设备迁移数据](./client_docs#同一服务器不同设备迁移数据)。
|
18
index.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
# https://vitepress.dev/reference/default-theme-home-page
|
||||||
|
layout: home
|
||||||
|
|
||||||
|
hero:
|
||||||
|
name: "Love Live! 学园偶像祭2 MIRACLE LIVE!"
|
||||||
|
text: "用户指南和服务器指南"
|
||||||
|
tagline:
|
||||||
|
actions:
|
||||||
|
- theme: brand
|
||||||
|
text: 用户指南
|
||||||
|
link: /docs/user_guide/client_docs
|
||||||
|
- theme: alt
|
||||||
|
text: 服务器指南
|
||||||
|
link: /docs/dev_guide/introduction
|
||||||
|
|
||||||
|
|
||||||
|
|
2484
package-lock.json
generated
Normal file
10
package.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"scripts": {
|
||||||
|
"docs:dev": "vitepress dev",
|
||||||
|
"docs:build": "vitepress build",
|
||||||
|
"docs:preview": "vitepress preview"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"vitepress": "^1.5.0"
|
||||||
|
}
|
||||||
|
}
|