Merge branch 'psh-11-22-add_jhrcw_tables_analyse'

This commit is contained in:
2025-11-29 20:38:33 +08:00
24 changed files with 27703 additions and 252 deletions

78
auto-imports.d.ts vendored
View File

@@ -1,78 +0,0 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
// biome-ignore lint: disable
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
const computed: typeof import('vue')['computed']
const createApp: typeof import('vue')['createApp']
const customRef: typeof import('vue')['customRef']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const effectScope: typeof import('vue')['effectScope']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const getCurrentWatcher: typeof import('vue')['getCurrentWatcher']
const h: typeof import('vue')['h']
const inject: typeof import('vue')['inject']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
const isReadonly: typeof import('vue')['isReadonly']
const isRef: typeof import('vue')['isRef']
const isShallow: typeof import('vue')['isShallow']
const markRaw: typeof import('vue')['markRaw']
const nextTick: typeof import('vue')['nextTick']
const onActivated: typeof import('vue')['onActivated']
const onBeforeMount: typeof import('vue')['onBeforeMount']
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
const onDeactivated: typeof import('vue')['onDeactivated']
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
const onMounted: typeof import('vue')['onMounted']
const onRenderTracked: typeof import('vue')['onRenderTracked']
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
const onScopeDispose: typeof import('vue')['onScopeDispose']
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
const onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
const provide: typeof import('vue')['provide']
const reactive: typeof import('vue')['reactive']
const readonly: typeof import('vue')['readonly']
const ref: typeof import('vue')['ref']
const resolveComponent: typeof import('vue')['resolveComponent']
const shallowReactive: typeof import('vue')['shallowReactive']
const shallowReadonly: typeof import('vue')['shallowReadonly']
const shallowRef: typeof import('vue')['shallowRef']
const toRaw: typeof import('vue')['toRaw']
const toRef: typeof import('vue')['toRef']
const toRefs: typeof import('vue')['toRefs']
const toValue: typeof import('vue')['toValue']
const triggerRef: typeof import('vue')['triggerRef']
const unref: typeof import('vue')['unref']
const useAttrs: typeof import('vue')['useAttrs']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVars: typeof import('vue')['useCssVars']
const useId: typeof import('vue')['useId']
const useLink: typeof import('vue-router')['useLink']
const useModel: typeof import('vue')['useModel']
const useRoute: typeof import('vue-router')['useRoute']
const useRouter: typeof import('vue-router')['useRouter']
const useSlots: typeof import('vue')['useSlots']
const useTemplateRef: typeof import('vue')['useTemplateRef']
const watch: typeof import('vue')['watch']
const watchEffect: typeof import('vue')['watchEffect']
const watchPostEffect: typeof import('vue')['watchPostEffect']
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
}
// for type re-export
declare global {
// @ts-ignore
export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, ShallowRef, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue')
}

View File

@@ -1,46 +1,46 @@
import {
useMediaQuery
} from "./chunk-AAVY4YN3.js";
} from "./chunk-SMHOW2GZ.js";
import {
computed,
ref,
shallowRef,
watch
} from "./chunk-JD3CXNQ6.js";
} from "./chunk-SFNBNC2X.js";
// node_modules/vitepress/dist/client/theme-default/index.js
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/fonts.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/fonts.css";
// node_modules/vitepress/dist/client/theme-default/without-fonts.js
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/vars.css";
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/base.css";
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/icons.css";
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/utils.css";
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css";
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css";
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css";
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css";
import "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css";
import VPBadge from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
import Layout from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/Layout.vue";
import { default as default2 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
import { default as default3 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPButton.vue";
import { default as default4 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue";
import { default as default5 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPFeatures.vue";
import { default as default6 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPHomeContent.vue";
import { default as default7 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue";
import { default as default8 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue";
import { default as default9 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue";
import { default as default10 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPImage.vue";
import { default as default11 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPLink.vue";
import { default as default12 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPNavBarSearch.vue";
import { default as default13 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPSocialLink.vue";
import { default as default14 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPSocialLinks.vue";
import { default as default15 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPSponsors.vue";
import { default as default16 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue";
import { default as default17 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue";
import { default as default18 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue";
import { default as default19 } from "D:/Project/flower-rain-2/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/vars.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/base.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/icons.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/utils.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css";
import "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css";
import VPBadge from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
import Layout from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/Layout.vue";
import { default as default2 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
import { default as default3 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPButton.vue";
import { default as default4 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue";
import { default as default5 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPFeatures.vue";
import { default as default6 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPHomeContent.vue";
import { default as default7 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue";
import { default as default8 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue";
import { default as default9 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue";
import { default as default10 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPImage.vue";
import { default as default11 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPLink.vue";
import { default as default12 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPNavBarSearch.vue";
import { default as default13 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPSocialLink.vue";
import { default as default14 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPSocialLinks.vue";
import { default as default15 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPSponsors.vue";
import { default as default16 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue";
import { default as default17 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue";
import { default as default18 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue";
import { default as default19 } from "C:/Users/Lenovo/Desktop/coding库/flower-rain/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue";
// node_modules/vitepress/dist/client/theme-default/composables/local-nav.js
import { onContentUpdated } from "vitepress";

View File

@@ -1,40 +1,40 @@
{
"hash": "df267ad5",
"configHash": "0c90fa38",
"hash": "5e89be5d",
"configHash": "296343fe",
"lockfileHash": "d0a71e3e",
"browserHash": "7f364bcc",
"browserHash": "51bc0564",
"optimized": {
"vue": {
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "e56b0178",
"fileHash": "a8d2aada",
"needsInterop": false
},
"vitepress > @vue/devtools-api": {
"src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
"file": "vitepress___@vue_devtools-api.js",
"fileHash": "42feb032",
"fileHash": "0e97b6c5",
"needsInterop": false
},
"vitepress > @vueuse/core": {
"src": "../../../../node_modules/vitepress/node_modules/@vueuse/core/index.mjs",
"file": "vitepress___@vueuse_core.js",
"fileHash": "f524fca0",
"fileHash": "3570d8b8",
"needsInterop": false
},
"@theme/index": {
"src": "../../../../node_modules/vitepress/dist/client/theme-default/index.js",
"file": "@theme_index.js",
"fileHash": "e7fd6544",
"fileHash": "d3d29b5d",
"needsInterop": false
}
},
"chunks": {
"chunk-AAVY4YN3": {
"file": "chunk-AAVY4YN3.js"
"chunk-SMHOW2GZ": {
"file": "chunk-SMHOW2GZ.js"
},
"chunk-JD3CXNQ6": {
"file": "chunk-JD3CXNQ6.js"
"chunk-SFNBNC2X": {
"file": "chunk-SFNBNC2X.js"
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -1092,7 +1092,7 @@ function iterator(self2, method, wrapValue) {
iter._next = iter.next;
iter.next = () => {
const result = iter._next();
if (result.value) {
if (!result.done) {
result.value = wrapValue(result.value);
}
return result;
@@ -1218,7 +1218,8 @@ var BaseReactiveHandler = class {
return res;
}
if (isRef2(res)) {
return targetIsArray && isIntegerKey(key) ? res : res.value;
const value = targetIsArray && isIntegerKey(key) ? res : res.value;
return isReadonly2 && isObject(value) ? readonly(value) : value;
}
if (isObject(res)) {
return isReadonly2 ? readonly(res) : reactive(res);
@@ -2544,14 +2545,11 @@ function checkRecursiveUpdates(seen, fn) {
var isHmrUpdating = false;
var hmrDirtyComponents = /* @__PURE__ */ new Map();
if (true) {
const g = getGlobalThis();
if (!g.__VUE_HMR_RUNTIME__) {
g.__VUE_HMR_RUNTIME__ = {
createRecord: tryWrap(createRecord),
rerender: tryWrap(rerender),
reload: tryWrap(reload)
};
}
getGlobalThis().__VUE_HMR_RUNTIME__ = {
createRecord: tryWrap(createRecord),
rerender: tryWrap(rerender),
reload: tryWrap(reload)
};
}
var map = /* @__PURE__ */ new Map();
function registerHMR(instance) {
@@ -2926,9 +2924,6 @@ var TeleportImpl = {
insert(mainAnchor, container, anchor);
const mount = (container2, anchor2) => {
if (shapeFlag & 16) {
if (parentComponent && parentComponent.isCE) {
parentComponent.ce._teleportTarget = container2;
}
mountChildren(
children,
container2,
@@ -2950,6 +2945,9 @@ var TeleportImpl = {
} else if (namespace !== "mathml" && isTargetMathML(target)) {
namespace = "mathml";
}
if (parentComponent && parentComponent.isCE) {
(parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
}
if (!disabled) {
mount(target, targetAnchor);
updateCssVars(n2, false);
@@ -4054,7 +4052,9 @@ Server rendered element contains more child nodes than client vdom.`
if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) {
clientText = clientText.slice(1);
}
if (el.textContent !== clientText) {
const { textContent } = el;
if (textContent !== clientText && // innerHTML normalize \r\n or \r into a single \n in the DOM
textContent !== clientText.replace(/\r\n|\r/g, "\n")) {
if (!isMismatchAllowed(
el,
0
@@ -4064,8 +4064,8 @@ Server rendered element contains more child nodes than client vdom.`
`Hydration text content mismatch on`,
el,
`
- rendered on server: ${el.textContent}
- expected on client: ${vnode.children}`
- rendered on server: ${textContent}
- expected on client: ${clientText}`
);
logMismatchError();
}
@@ -4691,7 +4691,10 @@ function defineAsyncComponent(source) {
error: error.value
});
} else if (loadingComponent && !delayed.value) {
return createVNode(loadingComponent);
return createInnerComp(
loadingComponent,
instance
);
}
};
}
@@ -5142,12 +5145,13 @@ function createSlots(slots, dynamicSlots) {
}
function renderSlot(slots, name, props = {}, fallback, noSlotted) {
if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
const hasProps = Object.keys(props).length > 0;
if (name !== "default") props.name = name;
return openBlock(), createBlock(
Fragment,
null,
[createVNode("slot", props, fallback && fallback())],
64
hasProps ? -2 : 64
);
}
let slot = slots[name];
@@ -5258,7 +5262,7 @@ var PublicInstanceProxyHandlers = {
} else if (hasSetupBinding(setupState, key)) {
accessCache[key] = 1;
return setupState[key];
} else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
} else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {
accessCache[key] = 2;
return data[key];
} else if (
@@ -5324,7 +5328,7 @@ var PublicInstanceProxyHandlers = {
} else if (setupState.__isScriptSetup && hasOwn(setupState, key)) {
warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
return false;
} else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
} else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {
data[key] = value;
return true;
} else if (hasOwn(instance.props, key)) {
@@ -5353,7 +5357,7 @@ var PublicInstanceProxyHandlers = {
_: { data, setupState, accessCache, ctx, appContext, propsOptions, type }
}, key) {
let normalizedProps, cssModules;
return !!(accessCache[key] || data !== EMPTY_OBJ && key[0] !== "$" && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]);
return !!(accessCache[key] || __VUE_OPTIONS_API__ && data !== EMPTY_OBJ && key[0] !== "$" && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]);
},
defineProperty(target, key, descriptor) {
if (descriptor.get != null) {
@@ -7016,15 +7020,25 @@ function baseCreateRenderer(options, createHydrationFns) {
optimized
);
} else {
patchElement(
n1,
n2,
parentComponent,
parentSuspense,
namespace,
slotScopeIds,
optimized
);
const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
try {
if (customElement) {
customElement._beginPatch();
}
patchElement(
n1,
n2,
parentComponent,
parentSuspense,
namespace,
slotScopeIds,
optimized
);
} finally {
if (customElement) {
customElement._endPatch();
}
}
}
};
const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
@@ -9273,7 +9287,8 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
pendingId,
effects,
parentComponent: parentComponent2,
container: container2
container: container2,
isInFallback
} = suspense;
let delayEnter = false;
if (suspense.isHydrating) {
@@ -9290,6 +9305,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
0
);
queuePostFlushCb(effects);
if (isInFallback && vnode2.ssFallback) {
vnode2.ssFallback.el = null;
}
}
};
}
@@ -9298,6 +9316,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
anchor = next(activeBranch);
}
unmount(activeBranch, parentComponent2, suspense, true);
if (!delayEnter && isInFallback && vnode2.ssFallback) {
vnode2.ssFallback.el = null;
}
}
if (!delayEnter) {
move(pendingBranch, container2, anchor, 0);
@@ -9416,6 +9437,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
optimized2
);
if (placeholder) {
vnode2.placeholder = null;
remove2(placeholder);
}
updateHOCHostEl(instance, vnode2.el);
@@ -10370,31 +10392,28 @@ var computed2 = (getterOrOptions, debugOptions) => {
return c;
};
function h(type, propsOrChildren, children) {
const doCreateVNode = (type2, props, children2) => {
try {
setBlockTracking(-1);
try {
return createVNode(type2, props, children2);
} finally {
setBlockTracking(1);
}
};
const l = arguments.length;
if (l === 2) {
if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
if (isVNode(propsOrChildren)) {
return doCreateVNode(type, null, [propsOrChildren]);
const l = arguments.length;
if (l === 2) {
if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
if (isVNode(propsOrChildren)) {
return createVNode(type, null, [propsOrChildren]);
}
return createVNode(type, propsOrChildren);
} else {
return createVNode(type, null, propsOrChildren);
}
return doCreateVNode(type, propsOrChildren);
} else {
return doCreateVNode(type, null, propsOrChildren);
if (l > 3) {
children = Array.prototype.slice.call(arguments, 2);
} else if (l === 3 && isVNode(children)) {
children = [children];
}
return createVNode(type, propsOrChildren, children);
}
} else {
if (l > 3) {
children = Array.prototype.slice.call(arguments, 2);
} else if (l === 3 && isVNode(children)) {
children = [children];
}
return doCreateVNode(type, propsOrChildren, children);
} finally {
setBlockTracking(1);
}
}
function initCustomFormatter() {
@@ -10601,7 +10620,7 @@ function isMemoSame(cached, memo) {
}
return true;
}
var version = "3.5.21";
var version = "3.5.24";
var warn2 = true ? warn$1 : NOOP;
var ErrorTypeStrings = ErrorTypeStrings$1;
var devtools = true ? devtools$1 : void 0;
@@ -10830,11 +10849,11 @@ function resolveTransitionProps(rawProps) {
const resolve2 = () => finishLeave(el, done);
addTransitionClass(el, leaveFromClass);
if (!el._enterCancelled) {
forceReflow();
forceReflow(el);
addTransitionClass(el, leaveActiveClass);
} else {
addTransitionClass(el, leaveActiveClass);
forceReflow();
forceReflow(el);
}
nextFrame(() => {
if (!el._isLeaving) {
@@ -10980,8 +10999,9 @@ function toMs(s) {
if (s === "auto") return 0;
return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
}
function forceReflow() {
return document.body.offsetHeight;
function forceReflow(el) {
const targetDocument = el ? el.ownerDocument : document;
return targetDocument.body.offsetHeight;
}
function patchClass(el, value, isSVG) {
const transitionClasses = el[vtcKey];
@@ -11414,6 +11434,9 @@ function shouldSetAsProp(el, key, value, isSVG) {
if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
return false;
}
if (key === "sandbox" && el.tagName === "IFRAME") {
return false;
}
if (key === "form") {
return false;
}
@@ -11463,6 +11486,8 @@ var VueElement = class _VueElement extends BaseClass {
this._nonce = this._def.nonce;
this._connected = false;
this._resolved = false;
this._patching = false;
this._dirty = false;
this._numberProps = null;
this._styleChildren = /* @__PURE__ */ new WeakSet();
this._ob = null;
@@ -11475,7 +11500,11 @@ var VueElement = class _VueElement extends BaseClass {
);
}
if (_def.shadowRoot !== false) {
this.attachShadow({ mode: "open" });
this.attachShadow(
extend({}, _def.shadowRootOptions, {
mode: "open"
})
);
this._root = this.shadowRoot;
} else {
this._root = this;
@@ -11535,9 +11564,18 @@ var VueElement = class _VueElement extends BaseClass {
this._app && this._app.unmount();
if (this._instance) this._instance.ce = void 0;
this._app = this._instance = null;
if (this._teleportTargets) {
this._teleportTargets.clear();
this._teleportTargets = void 0;
}
}
});
}
_processMutations(mutations) {
for (const m of mutations) {
this._setAttr(m.attributeName);
}
}
/**
* resolve inner component definition (handle possible async component)
*/
@@ -11548,11 +11586,7 @@ var VueElement = class _VueElement extends BaseClass {
for (let i = 0; i < this.attributes.length; i++) {
this._setAttr(this.attributes[i].name);
}
this._ob = new MutationObserver((mutations) => {
for (const m of mutations) {
this._setAttr(m.attributeName);
}
});
this._ob = new MutationObserver(this._processMutations.bind(this));
this._ob.observe(this, { attributes: true });
const resolve2 = (def2, isAsync = false) => {
this._resolved = true;
@@ -11629,7 +11663,7 @@ var VueElement = class _VueElement extends BaseClass {
return this._getProp(key);
},
set(val) {
this._setProp(key, val, true, true);
this._setProp(key, val, true, !this._patching);
}
});
}
@@ -11655,6 +11689,7 @@ var VueElement = class _VueElement extends BaseClass {
*/
_setProp(key, val, shouldReflect = true, shouldUpdate = false) {
if (val !== this._props[key]) {
this._dirty = true;
if (val === REMOVAL) {
delete this._props[key];
} else {
@@ -11668,7 +11703,10 @@ var VueElement = class _VueElement extends BaseClass {
}
if (shouldReflect) {
const ob = this._ob;
ob && ob.disconnect();
if (ob) {
this._processMutations(ob.takeRecords());
ob.disconnect();
}
if (val === true) {
this.setAttribute(hyphenate(key), "");
} else if (typeof val === "string" || typeof val === "number") {
@@ -11772,7 +11810,7 @@ var VueElement = class _VueElement extends BaseClass {
* Only called when shadowRoot is false
*/
_renderSlots() {
const outlets = (this._teleportTarget || this).querySelectorAll("slot");
const outlets = this._getSlots();
const scopeId = this._instance.type.__scopeId;
for (let i = 0; i < outlets.length; i++) {
const o = outlets[i];
@@ -11798,12 +11836,45 @@ var VueElement = class _VueElement extends BaseClass {
parent.removeChild(o);
}
}
/**
* @internal
*/
_getSlots() {
const roots = [this];
if (this._teleportTargets) {
roots.push(...this._teleportTargets);
}
const slots = /* @__PURE__ */ new Set();
for (const root of roots) {
const found = root.querySelectorAll("slot");
for (let i = 0; i < found.length; i++) {
slots.add(found[i]);
}
}
return Array.from(slots);
}
/**
* @internal
*/
_injectChildStyle(comp) {
this._applyStyles(comp.styles, comp);
}
/**
* @internal
*/
_beginPatch() {
this._patching = true;
this._dirty = false;
}
/**
* @internal
*/
_endPatch() {
this._patching = false;
if (this._dirty && this._instance) {
this._update();
}
}
/**
* @internal
*/
@@ -11897,7 +11968,7 @@ var TransitionGroupImpl = decorate({
prevChildren.forEach(callPendingCbs);
prevChildren.forEach(recordPosition);
const movedChildren = prevChildren.filter(applyTranslation);
forceReflow();
forceReflow(instance.vnode.el);
movedChildren.forEach((c) => {
const el = c.el;
const style = el.style;
@@ -11936,10 +12007,10 @@ var TransitionGroupImpl = decorate({
instance
)
);
positionMap.set(
child,
child.el.getBoundingClientRect()
);
positionMap.set(child, {
left: child.el.offsetLeft,
top: child.el.offsetTop
});
}
}
}
@@ -11970,7 +12041,10 @@ function callPendingCbs(c) {
}
}
function recordPosition(c) {
newPositionMap.set(c, c.el.getBoundingClientRect());
newPositionMap.set(c, {
left: c.el.offsetLeft,
top: c.el.offsetTop
});
}
function applyTranslation(c) {
const oldPos = positionMap.get(c);
@@ -12015,24 +12089,22 @@ function onCompositionEnd(e) {
}
}
var assignKey = Symbol("_assign");
function castValue(value, trim, number) {
if (trim) value = value.trim();
if (number) value = looseToNumber(value);
return value;
}
var vModelText = {
created(el, { modifiers: { lazy, trim, number } }, vnode) {
el[assignKey] = getModelAssigner(vnode);
const castToNumber = number || vnode.props && vnode.props.type === "number";
addEventListener(el, lazy ? "change" : "input", (e) => {
if (e.target.composing) return;
let domValue = el.value;
if (trim) {
domValue = domValue.trim();
}
if (castToNumber) {
domValue = looseToNumber(domValue);
}
el[assignKey](domValue);
el[assignKey](castValue(el.value, trim, castToNumber));
});
if (trim) {
if (trim || castToNumber) {
addEventListener(el, "change", () => {
el.value = el.value.trim();
el.value = castValue(el.value, trim, castToNumber);
});
}
if (!lazy) {
@@ -12647,37 +12719,37 @@ export {
@vue/shared/dist/shared.esm-bundler.js:
(**
* @vue/shared v3.5.21
* @vue/shared v3.5.24
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**)
@vue/reactivity/dist/reactivity.esm-bundler.js:
(**
* @vue/reactivity v3.5.21
* @vue/reactivity v3.5.24
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**)
@vue/runtime-core/dist/runtime-core.esm-bundler.js:
(**
* @vue/runtime-core v3.5.21
* @vue/runtime-core v3.5.24
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**)
@vue/runtime-dom/dist/runtime-dom.esm-bundler.js:
(**
* @vue/runtime-dom v3.5.21
* @vue/runtime-dom v3.5.24
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**)
vue/dist/vue.runtime.esm-bundler.js:
(**
* vue v3.5.21
* vue v3.5.24
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**)
*/
//# sourceMappingURL=chunk-JD3CXNQ6.js.map
//# sourceMappingURL=chunk-SFNBNC2X.js.map

File diff suppressed because one or more lines are too long

View File

@@ -35,9 +35,9 @@ import {
unref,
watch,
watchEffect
} from "./chunk-JD3CXNQ6.js";
} from "./chunk-SFNBNC2X.js";
// node_modules/vitepress/node_modules/@vueuse/core/node_modules/@vueuse/shared/index.mjs
// node_modules/vitepress/node_modules/@vueuse/shared/index.mjs
function computedEager(fn, options) {
var _a;
const result = shallowRef();
@@ -9716,4 +9716,4 @@ export {
useWindowScroll,
useWindowSize
};
//# sourceMappingURL=chunk-AAVY4YN3.js.map
//# sourceMappingURL=chunk-SMHOW2GZ.js.map

File diff suppressed because one or more lines are too long

View File

@@ -2666,7 +2666,7 @@ function getTimelineLayersStateFromStorage() {
selected: ""
};
}
const state = localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID);
const state = typeof localStorage.getItem !== "undefined" ? localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID) : null;
return state ? JSON.parse(state) : {
recordingState: false,
mouseEventEnabled: false,

File diff suppressed because one or more lines are too long

View File

@@ -281,8 +281,8 @@ import {
watchTriggerable,
watchWithFilter,
whenever
} from "./chunk-AAVY4YN3.js";
import "./chunk-JD3CXNQ6.js";
} from "./chunk-SMHOW2GZ.js";
import "./chunk-SFNBNC2X.js";
export {
DefaultMagicKeysAliasMap,
StorageSerializers,

View File

@@ -168,7 +168,7 @@ import {
withMemo,
withModifiers,
withScopeId
} from "./chunk-JD3CXNQ6.js";
} from "./chunk-SFNBNC2X.js";
export {
BaseTransition,
BaseTransitionPropsValidators,

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
{
"type": "module"
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View 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-SFNBNC2X.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

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -23,7 +23,9 @@ export default defineConfig({
{ text: "吴禹谷", link: "/wyg" },
{ text: "黄睿", link: "/hr" },
{ text: "吴子妍", link: "/wzy" },
{ text: "潘绅翰", link: "/psh" },
{ text: "潘绅翰",
items:[{text: "psh示例",link:"/psh"}]
},
{ text: "郑子墨", link: "/zzm" },
{

View File

@@ -1 +1,115 @@
content
:p~~~
## 金华人才网数据库表分析
### 用户体系表
#### 用户表
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| user_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 用户唯一ID |
| username | VARCHAR(50) | NOT NULL, UNIQUE | 用户名 |
| password_hash | VARCHAR(255) | NOT NULL | 加密密码 |
| email | VARCHAR(100) | NOT NULL, UNIQUE | 邮箱 |
| user_type | ENUM('job_seeker', 'employer', 'admin') | NOT NULL | 用户类型 |
| phone | VARCHAR(20) | | 手机号 |
| registration_time | DATETIME | DEFAULT CURRENT_TIMESTAMP | 注册时间 |
| status | ENUM('active', 'inactive', 'banned') | DEFAULT 'active' | 状态 |
#### 个人用户表(关联)
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| company_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 企业ID |
| user_id | BIGINT | FOREIGN KEY | **关联用户**ID |
| company_name | VARCHAR(200) | NOT NULL | 企业名称 |
| industry | VARCHAR(100) | | 行业 |
| company_size | ENUM('1-50', '51-200', '201-500') | | 企业规模 |
| contact_person | VARCHAR(100) | | 联系人 |
#### 企业用户表(关联)
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| company_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 企业ID |
| user_id | BIGINT | FOREIGN KEY | 关联用户ID |
| company_name | VARCHAR(200) | NOT NULL | 企业名称 |
| industry | VARCHAR(100) | | 行业 |
| company_size | ENUM('1-50', '51-200', '201-500') | | 企业规模 |
| contact_person | VARCHAR(100) | | 联系人 |
### 招聘核心表
#### 职位表
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| job_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 职位ID |
| company_id | BIGINT | FOREIGN KEY | 企业ID |
| job_title | VARCHAR(200) | NOT NULL | 职位名称 |
| job_category | VARCHAR(100) | | 职位类别 |
| salary_min | DECIMAL(10,2) | | 最低薪资 |
| salary_max | DECIMAL(10,2) | | 最高薪资 |
| work_location | VARCHAR(100) | | 工作地点 |
| status | ENUM('published', 'draft', 'closed') | DEFAULT 'published' | 状态 |
#### 投递记录表
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| application_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 投递ID |
| seeker_id | BIGINT | FOREIGN KEY | 求职者ID |
| job_id | BIGINT | FOREIGN KEY | 职位ID |
| apply_time | DATETIME | DEFAULT CURRENT_TIMESTAMP | 投递时间 |
| status | ENUM('pending', 'viewed', 'accepted', 'rejected') | DEFAULT 'pending' | 状态 |
### 功能服务表
#### 人才政策表
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| policy_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 政策ID |
| policy_title | VARCHAR(200) | NOT NULL | 政策标题 |
| policy_type | ENUM('subsidy', 'housing', 'entrepreneurship') | | 政策类型 |
| applicable_target | ENUM('graduates', 'postgraduates', 'all') | | 适用对象 |
| status | ENUM('active', 'expired') | DEFAULT 'active' | 状态 |
#### 政策申请表
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| apply_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 申请ID |
| user_id | BIGINT | FOREIGN KEY | 用户ID |
| policy_id | BIGINT | FOREIGN KEY | 政策ID |
| apply_time | DATETIME | DEFAULT CURRENT_TIMESTAMP | 申请时间 |
| status | ENUM('pending', 'approved', 'rejected') | DEFAULT 'pending' | 申请状态 |
#### 招聘活动表
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| event_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 活动ID |
| event_name | VARCHAR(200) | NOT NULL | 活动名称 |
| event_time | DATETIME | | 活动时间 |
| event_location | VARCHAR(300) | | 活动地点 |
| organizer | VARCHAR(200) | | 主办方 |
| status | ENUM('upcoming', 'ongoing', 'completed') | | 状态 |
#### 增值服务表
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| service_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 服务ID |
| service_name | VARCHAR(100) | NOT NULL | 服务名称 |
| service_price | DECIMAL(10,2) | | 服务价格 |
| target_audience | ENUM('job_seeker', 'employer', 'both') | | 目标用户 |
| status | ENUM('active', 'inactive') | DEFAULT 'active' | 状态 |
### 辅助功能表
#### 搜素记录表
| 字段名 | 数据类型 | 约束 | 说明 |
|--------|----------|------|------|
| search_id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 搜索ID |
| user_id | BIGINT | FOREIGN KEY | 用户ID |
| keyword | VARCHAR(200) | | 搜索关键词 |
| search_type | ENUM('job', 'company', 'policy') | | 搜索类型 |
| search_time | DATETIME | DEFAULT CURRENT_TIMESTAMP | 搜索时间 |

View File

@@ -1,24 +0,0 @@
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { fileURLToPath, URL } from "node:url";
import tailwindcss from "@tailwindcss/vite";
import vueJsx from "@vitejs/plugin-vue-jsx";
import AutoImport from "unplugin-auto-import/vite";
// https://vite.dev/config/
export default defineConfig({
plugins: [
vue(),
tailwindcss(),
vueJsx(),
AutoImport({
imports: ["vue", "vue-router"],
dts: true,
}),
],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
});