import { defineComponent, createVNode, h, renderSlot, inject, computed, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createElementVNode, createCommentVNode, toDisplayString, withCtx, createBlock, resolveDynamicComponent, isRef, getCurrentInstance, ref, watch, nextTick, useSlots, provide, Transition, withDirectives, mergeProps, createSlots, vShow, useSSRContext, shallowReactive, isVNode, createTextVNode, Fragment, renderList, withModifiers, watchEffect } from 'vue';
import { s as shared_cjs_prodExports, e as useNamespace, i as isBoolean, g as useZIndex, k as useId, l as defaultNamespace, m as useTimeoutFn, o as isElement, q as isNumber, u as useRouter, f as useRoute } from './server.mjs';
import { b as buildProps, d as definePropType, i as iconPropType, _ as _export_sfc, u as useLocale, F as FOCUS_TRAP_INJECTION_KEY, n as ElIcon, C as CloseComponents, U as UPDATE_MODEL_EVENT, t as throwError, p as useGlobalConfig, a as addUnit, q as isUndefined, s as useDeprecated, v as ElTeleport, x as ElFocusTrap, w as withInstall, y as mutable, z as messageConfig, A as withInstallFunction, e as _imports_1$3, B as MyUserDeleteCollectHttp, D as changeAnonymousHttp, G as MyUserCollectHttp, I as MyUserPublishHttp } from './config-provider.mjs';
import { ssrRenderAttrs, ssrRenderAttr, ssrInterpolate, ssrRenderComponent, ssrRenderClass, ssrGetDirectiveProps, ssrRenderList } from 'vue/server-renderer';
import { _ as _export_sfc$1 } from './_plugin-vue_export-helper.mjs';
import { useRoute as useRoute$1 } from 'vue-router';

const useSameTarget = (handleClick) => {
  if (!handleClick) {
    return { onClick: shared_cjs_prodExports.NOOP, onMousedown: shared_cjs_prodExports.NOOP, onMouseup: shared_cjs_prodExports.NOOP };
  }
  let mousedownTarget = false;
  let mouseupTarget = false;
  const onClick = (e) => {
    if (mousedownTarget && mouseupTarget) {
      handleClick(e);
    }
    mousedownTarget = mouseupTarget = false;
  };
  const onMousedown = (e) => {
    mousedownTarget = e.target === e.currentTarget;
  };
  const onMouseup = (e) => {
    mouseupTarget = e.target === e.currentTarget;
  };
  return { onClick, onMousedown, onMouseup };
};

var PatchFlags = /* @__PURE__ */ ((PatchFlags2) => {
  PatchFlags2[PatchFlags2["TEXT"] = 1] = "TEXT";
  PatchFlags2[PatchFlags2["CLASS"] = 2] = "CLASS";
  PatchFlags2[PatchFlags2["STYLE"] = 4] = "STYLE";
  PatchFlags2[PatchFlags2["PROPS"] = 8] = "PROPS";
  PatchFlags2[PatchFlags2["FULL_PROPS"] = 16] = "FULL_PROPS";
  PatchFlags2[PatchFlags2["HYDRATE_EVENTS"] = 32] = "HYDRATE_EVENTS";
  PatchFlags2[PatchFlags2["STABLE_FRAGMENT"] = 64] = "STABLE_FRAGMENT";
  PatchFlags2[PatchFlags2["KEYED_FRAGMENT"] = 128] = "KEYED_FRAGMENT";
  PatchFlags2[PatchFlags2["UNKEYED_FRAGMENT"] = 256] = "UNKEYED_FRAGMENT";
  PatchFlags2[PatchFlags2["NEED_PATCH"] = 512] = "NEED_PATCH";
  PatchFlags2[PatchFlags2["DYNAMIC_SLOTS"] = 1024] = "DYNAMIC_SLOTS";
  PatchFlags2[PatchFlags2["HOISTED"] = -1] = "HOISTED";
  PatchFlags2[PatchFlags2["BAIL"] = -2] = "BAIL";
  return PatchFlags2;
})(PatchFlags || {});

const overlayProps = buildProps({
  mask: {
    type: Boolean,
    default: true
  },
  customMaskEvent: Boolean,
  overlayClass: {
    type: definePropType([
      String,
      Array,
      Object
    ])
  },
  zIndex: {
    type: definePropType([String, Number])
  }
});
const overlayEmits = {
  click: (evt) => evt instanceof MouseEvent
};
const BLOCK = "overlay";
var Overlay = defineComponent({
  name: "ElOverlay",
  props: overlayProps,
  emits: overlayEmits,
  setup(props, { slots, emit }) {
    const ns = useNamespace(BLOCK);
    const onMaskClick = (e) => {
      emit("click", e);
    };
    const { onClick, onMousedown, onMouseup } = useSameTarget(props.customMaskEvent ? void 0 : onMaskClick);
    return () => {
      return props.mask ? createVNode("div", {
        class: [ns.b(), props.overlayClass],
        style: {
          zIndex: props.zIndex
        },
        onClick,
        onMousedown,
        onMouseup
      }, [renderSlot(slots, "default")], PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS, ["onClick", "onMouseup", "onMousedown"]) : h("div", {
        class: props.overlayClass,
        style: {
          zIndex: props.zIndex,
          position: "fixed",
          top: "0px",
          right: "0px",
          bottom: "0px",
          left: "0px"
        }
      }, [renderSlot(slots, "default")]);
    };
  }
});

const ElOverlay = Overlay;

const dialogInjectionKey = Symbol("dialogInjectionKey");

const dialogContentProps = buildProps({
  center: Boolean,
  alignCenter: Boolean,
  closeIcon: {
    type: iconPropType
  },
  draggable: Boolean,
  overflow: Boolean,
  fullscreen: Boolean,
  headerClass: String,
  bodyClass: String,
  footerClass: String,
  showClose: {
    type: Boolean,
    default: true
  },
  title: {
    type: String,
    default: ""
  },
  ariaLevel: {
    type: String,
    default: "2"
  }
});
const dialogContentEmits = {
  close: () => true
};

const useDraggable = (targetRef, dragRef, draggable, overflow) => {
  const resetPosition = () => {
    if (targetRef.value) {
      targetRef.value.style.transform = "none";
    }
  };
  return {
    resetPosition
  };
};

const composeRefs = (...refs) => {
  return (el) => {
    refs.forEach((ref) => {
      if (shared_cjs_prodExports.isFunction(ref)) {
        ref(el);
      } else {
        ref.value = el;
      }
    });
  };
};

const __default__$1 = defineComponent({ name: "ElDialogContent" });
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
  ...__default__$1,
  props: dialogContentProps,
  emits: dialogContentEmits,
  setup(__props, { expose }) {
    const props = __props;
    const { t } = useLocale();
    const { Close } = CloseComponents;
    const { dialogRef, headerRef, bodyId, ns, style } = inject(dialogInjectionKey);
    const { focusTrapRef } = inject(FOCUS_TRAP_INJECTION_KEY);
    const dialogKls = computed(() => [
      ns.b(),
      ns.is("fullscreen", props.fullscreen),
      ns.is("draggable", props.draggable),
      ns.is("align-center", props.alignCenter),
      { [ns.m("center")]: props.center }
    ]);
    const composedDialogRef = composeRefs(focusTrapRef, dialogRef);
    computed(() => props.draggable);
    computed(() => props.overflow);
    const { resetPosition } = useDraggable(dialogRef);
    expose({
      resetPosition
    });
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock("div", {
        ref: unref(composedDialogRef),
        class: normalizeClass(unref(dialogKls)),
        style: normalizeStyle(unref(style)),
        tabindex: "-1"
      }, [
        createElementVNode("header", {
          ref_key: "headerRef",
          ref: headerRef,
          class: normalizeClass([unref(ns).e("header"), _ctx.headerClass, { "show-close": _ctx.showClose }])
        }, [
          renderSlot(_ctx.$slots, "header", {}, () => [
            createElementVNode("span", {
              role: "heading",
              "aria-level": _ctx.ariaLevel,
              class: normalizeClass(unref(ns).e("title"))
            }, toDisplayString(_ctx.title), 11, ["aria-level"])
          ]),
          _ctx.showClose ? (openBlock(), createElementBlock("button", {
            key: 0,
            "aria-label": unref(t)("el.dialog.close"),
            class: normalizeClass(unref(ns).e("headerbtn")),
            type: "button",
            onClick: ($event) => _ctx.$emit("close")
          }, [
            createVNode(unref(ElIcon), {
              class: normalizeClass(unref(ns).e("close"))
            }, {
              default: withCtx(() => [
                (openBlock(), createBlock(resolveDynamicComponent(_ctx.closeIcon || unref(Close))))
              ]),
              _: 1
            }, 8, ["class"])
          ], 10, ["aria-label", "onClick"])) : createCommentVNode("v-if", true)
        ], 2),
        createElementVNode("div", {
          id: unref(bodyId),
          class: normalizeClass([unref(ns).e("body"), _ctx.bodyClass])
        }, [
          renderSlot(_ctx.$slots, "default")
        ], 10, ["id"]),
        _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", {
          key: 0,
          class: normalizeClass([unref(ns).e("footer"), _ctx.footerClass])
        }, [
          renderSlot(_ctx.$slots, "footer")
        ], 2)) : createCommentVNode("v-if", true)
      ], 6);
    };
  }
});
var ElDialogContent = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__file", "dialog-content.vue"]]);

const dialogProps = buildProps({
  ...dialogContentProps,
  appendToBody: Boolean,
  appendTo: {
    type: definePropType([String, Object]),
    default: "body"
  },
  beforeClose: {
    type: definePropType(Function)
  },
  destroyOnClose: Boolean,
  closeOnClickModal: {
    type: Boolean,
    default: true
  },
  closeOnPressEscape: {
    type: Boolean,
    default: true
  },
  lockScroll: {
    type: Boolean,
    default: true
  },
  modal: {
    type: Boolean,
    default: true
  },
  openDelay: {
    type: Number,
    default: 0
  },
  closeDelay: {
    type: Number,
    default: 0
  },
  top: {
    type: String
  },
  modelValue: Boolean,
  modalClass: String,
  headerClass: String,
  bodyClass: String,
  footerClass: String,
  width: {
    type: [String, Number]
  },
  zIndex: {
    type: Number
  },
  trapFocus: Boolean,
  headerAriaLevel: {
    type: String,
    default: "2"
  }
});
const dialogEmits = {
  open: () => true,
  opened: () => true,
  close: () => true,
  closed: () => true,
  [UPDATE_MODEL_EVENT]: (value) => isBoolean(value),
  openAutoFocus: () => true,
  closeAutoFocus: () => true
};

const useLockscreen = (trigger, options = {}) => {
  if (!isRef(trigger)) {
    throwError("[useLockscreen]", "You need to pass a ref param to this function");
  }
  const ns = options.ns || useNamespace("popup");
  computed(() => ns.bm("parent", "hidden"));
  {
    return;
  }
};

const useDialog = (props, targetRef) => {
  var _a;
  const instance = getCurrentInstance();
  const emit = instance.emit;
  const { nextZIndex } = useZIndex();
  let lastPosition = "";
  const titleId = useId();
  const bodyId = useId();
  const visible = ref(false);
  const closed = ref(false);
  const rendered = ref(false);
  const zIndex = ref((_a = props.zIndex) != null ? _a : nextZIndex());
  let openTimer = void 0;
  let closeTimer = void 0;
  const namespace = useGlobalConfig("namespace", defaultNamespace);
  const style = computed(() => {
    const style2 = {};
    const varPrefix = `--${namespace.value}-dialog`;
    if (!props.fullscreen) {
      if (props.top) {
        style2[`${varPrefix}-margin-top`] = props.top;
      }
      if (props.width) {
        style2[`${varPrefix}-width`] = addUnit(props.width);
      }
    }
    return style2;
  });
  const overlayDialogStyle = computed(() => {
    if (props.alignCenter) {
      return { display: "flex" };
    }
    return {};
  });
  function afterEnter() {
    emit("opened");
  }
  function afterLeave() {
    emit("closed");
    emit(UPDATE_MODEL_EVENT, false);
    if (props.destroyOnClose) {
      rendered.value = false;
    }
  }
  function beforeLeave() {
    emit("close");
  }
  function open() {
    closeTimer == null ? void 0 : closeTimer();
    openTimer == null ? void 0 : openTimer();
    if (props.openDelay && props.openDelay > 0) {
      ({ stop: openTimer } = useTimeoutFn(() => doOpen(), props.openDelay));
    }
  }
  function close() {
    openTimer == null ? void 0 : openTimer();
    closeTimer == null ? void 0 : closeTimer();
    if (props.closeDelay && props.closeDelay > 0) {
      ({ stop: closeTimer } = useTimeoutFn(() => doClose(), props.closeDelay));
    } else {
      doClose();
    }
  }
  function handleClose() {
    function hide(shouldCancel) {
      if (shouldCancel)
        return;
      closed.value = true;
      visible.value = false;
    }
    if (props.beforeClose) {
      props.beforeClose(hide);
    } else {
      close();
    }
  }
  function onModalClick() {
    if (props.closeOnClickModal) {
      handleClose();
    }
  }
  function doOpen() {
    return;
  }
  function doClose() {
    visible.value = false;
  }
  function onOpenAutoFocus() {
    emit("openAutoFocus");
  }
  function onCloseAutoFocus() {
    emit("closeAutoFocus");
  }
  function onFocusoutPrevented(event) {
    var _a2;
    if (((_a2 = event.detail) == null ? void 0 : _a2.focusReason) === "pointer") {
      event.preventDefault();
    }
  }
  if (props.lockScroll) {
    useLockscreen(visible);
  }
  function onCloseRequested() {
    if (props.closeOnPressEscape) {
      handleClose();
    }
  }
  watch(() => props.modelValue, (val) => {
    if (val) {
      closed.value = false;
      open();
      rendered.value = true;
      zIndex.value = isUndefined(props.zIndex) ? nextZIndex() : zIndex.value++;
      nextTick(() => {
        emit("open");
        if (targetRef.value) {
          targetRef.value.parentElement.scrollTop = 0;
          targetRef.value.parentElement.scrollLeft = 0;
          targetRef.value.scrollTop = 0;
        }
      });
    } else {
      if (visible.value) {
        close();
      }
    }
  });
  watch(() => props.fullscreen, (val) => {
    if (!targetRef.value)
      return;
    if (val) {
      lastPosition = targetRef.value.style.transform;
      targetRef.value.style.transform = "";
    } else {
      targetRef.value.style.transform = lastPosition;
    }
  });
  return {
    afterEnter,
    afterLeave,
    beforeLeave,
    handleClose,
    onModalClick,
    close,
    doClose,
    onOpenAutoFocus,
    onCloseAutoFocus,
    onCloseRequested,
    onFocusoutPrevented,
    titleId,
    bodyId,
    closed,
    style,
    overlayDialogStyle,
    rendered,
    visible,
    zIndex
  };
};

const __default__ = defineComponent({
  name: "ElDialog",
  inheritAttrs: false
});
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
  ...__default__,
  props: dialogProps,
  emits: dialogEmits,
  setup(__props, { expose }) {
    const props = __props;
    const slots = useSlots();
    useDeprecated({
      scope: "el-dialog",
      from: "the title slot",
      replacement: "the header slot",
      version: "3.0.0",
      ref: "https://element-plus.org/en-US/component/dialog.html#slots"
    }, computed(() => !!slots.title));
    const ns = useNamespace("dialog");
    const dialogRef = ref();
    const headerRef = ref();
    const dialogContentRef = ref();
    const {
      visible,
      titleId,
      bodyId,
      style,
      overlayDialogStyle,
      rendered,
      zIndex,
      afterEnter,
      afterLeave,
      beforeLeave,
      handleClose,
      onModalClick,
      onOpenAutoFocus,
      onCloseAutoFocus,
      onCloseRequested,
      onFocusoutPrevented
    } = useDialog(props, dialogRef);
    provide(dialogInjectionKey, {
      dialogRef,
      headerRef,
      bodyId,
      ns,
      rendered,
      style
    });
    const overlayEvent = useSameTarget(onModalClick);
    const draggable = computed(() => props.draggable && !props.fullscreen);
    const resetPosition = () => {
      var _a;
      (_a = dialogContentRef.value) == null ? void 0 : _a.resetPosition();
    };
    expose({
      visible,
      dialogContentRef,
      resetPosition
    });
    return (_ctx, _cache) => {
      return openBlock(), createBlock(unref(ElTeleport), {
        to: _ctx.appendTo,
        disabled: _ctx.appendTo !== "body" ? false : !_ctx.appendToBody
      }, {
        default: withCtx(() => [
          createVNode(Transition, {
            name: "dialog-fade",
            onAfterEnter: unref(afterEnter),
            onAfterLeave: unref(afterLeave),
            onBeforeLeave: unref(beforeLeave),
            persisted: ""
          }, {
            default: withCtx(() => [
              withDirectives(createVNode(unref(ElOverlay), {
                "custom-mask-event": "",
                mask: _ctx.modal,
                "overlay-class": _ctx.modalClass,
                "z-index": unref(zIndex)
              }, {
                default: withCtx(() => [
                  createElementVNode("div", {
                    role: "dialog",
                    "aria-modal": "true",
                    "aria-label": _ctx.title || void 0,
                    "aria-labelledby": !_ctx.title ? unref(titleId) : void 0,
                    "aria-describedby": unref(bodyId),
                    class: normalizeClass(`${unref(ns).namespace.value}-overlay-dialog`),
                    style: normalizeStyle(unref(overlayDialogStyle)),
                    onClick: unref(overlayEvent).onClick,
                    onMousedown: unref(overlayEvent).onMousedown,
                    onMouseup: unref(overlayEvent).onMouseup
                  }, [
                    createVNode(unref(ElFocusTrap), {
                      loop: "",
                      trapped: unref(visible),
                      "focus-start-el": "container",
                      onFocusAfterTrapped: unref(onOpenAutoFocus),
                      onFocusAfterReleased: unref(onCloseAutoFocus),
                      onFocusoutPrevented: unref(onFocusoutPrevented),
                      onReleaseRequested: unref(onCloseRequested)
                    }, {
                      default: withCtx(() => [
                        unref(rendered) ? (openBlock(), createBlock(ElDialogContent, mergeProps({
                          key: 0,
                          ref_key: "dialogContentRef",
                          ref: dialogContentRef
                        }, _ctx.$attrs, {
                          center: _ctx.center,
                          "align-center": _ctx.alignCenter,
                          "close-icon": _ctx.closeIcon,
                          draggable: unref(draggable),
                          overflow: _ctx.overflow,
                          fullscreen: _ctx.fullscreen,
                          "header-class": _ctx.headerClass,
                          "body-class": _ctx.bodyClass,
                          "footer-class": _ctx.footerClass,
                          "show-close": _ctx.showClose,
                          title: _ctx.title,
                          "aria-level": _ctx.headerAriaLevel,
                          onClose: unref(handleClose)
                        }), createSlots({
                          header: withCtx(() => [
                            !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", {
                              key: 0,
                              close: unref(handleClose),
                              titleId: unref(titleId),
                              titleClass: unref(ns).e("title")
                            }) : renderSlot(_ctx.$slots, "title", { key: 1 })
                          ]),
                          default: withCtx(() => [
                            renderSlot(_ctx.$slots, "default")
                          ]),
                          _: 2
                        }, [
                          _ctx.$slots.footer ? {
                            name: "footer",
                            fn: withCtx(() => [
                              renderSlot(_ctx.$slots, "footer")
                            ])
                          } : void 0
                        ]), 1040, ["center", "align-center", "close-icon", "draggable", "overflow", "fullscreen", "header-class", "body-class", "footer-class", "show-close", "title", "aria-level", "onClose"])) : createCommentVNode("v-if", true)
                      ]),
                      _: 3
                    }, 8, ["trapped", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"])
                  ], 46, ["aria-label", "aria-labelledby", "aria-describedby", "onClick", "onMousedown", "onMouseup"])
                ]),
                _: 3
              }, 8, ["mask", "overlay-class", "z-index"]), [
                [vShow, unref(visible)]
              ])
            ]),
            _: 3
          }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"])
        ]),
        _: 3
      }, 8, ["to", "disabled"]);
    };
  }
});
var Dialog = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "dialog.vue"]]);

const ElDialog = withInstall(Dialog);

const _imports_0$1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='8px'%20height='8px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-924%20-6237%20)'%3e%3cpath%20d='M%20928%206238%20C%20929.68%206238%20931%206239.32%20931%206241%20C%20931%206242.68%20929.68%206244%20928%206244%20C%20926.32%206244%20925%206242.68%20925%206241%20C%20925%206239.32%20926.32%206238%20928%206238%20Z%20'%20fill-rule='nonzero'%20fill='%23fddf6d'%20stroke='none'%20/%3e%3cpath%20d='M%20928%206238%20C%20929.68%206238%20931%206239.32%20931%206241%20C%20931%206242.68%20929.68%206244%20928%206244%20C%20926.32%206244%20925%206242.68%20925%206241%20C%20925%206239.32%20926.32%206238%20928%206238%20Z%20'%20stroke-width='2'%20stroke='%23aaaaaa'%20fill='none'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_1$2 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='8px'%20height='8px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-963%20-6237%20)'%3e%3cpath%20d='M%20967%206238%20C%20968.68%206238%20970%206239.32%20970%206241%20C%20970%206242.68%20968.68%206244%20967%206244%20C%20965.32%206244%20964%206242.68%20964%206241%20C%20964%206239.32%20965.32%206238%20967%206238%20Z%20'%20fill-rule='nonzero'%20fill='%23d7d7d7'%20stroke='none'%20/%3e%3cpath%20d='M%20967%206238%20C%20968.68%206238%20970%206239.32%20970%206241%20C%20970%206242.68%20968.68%206244%20967%206244%20C%20965.32%206244%20964%206242.68%20964%206241%20C%20964%206239.32%20965.32%206238%20967%206238%20Z%20'%20stroke-width='2'%20stroke='%23aaaaaa'%20fill='none'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_2$2 = "" + __buildAssetsURL("empty-icon.CyaRoygc.png");

const _sfc_main$2 = {
  __name: "Empty",
  __ssrInlineRender: true,
  props: {
    hint: String
  },
  setup(__props) {
    return (_ctx, _push, _parent, _attrs) => {
      _push(`<div${ssrRenderAttrs(mergeProps({ class: "empty-box-list flexcenter" }, _attrs))} data-v-40aa3a9e><div class="dot-list flexacenter" data-v-40aa3a9e><img class="item"${ssrRenderAttr("src", _imports_0$1)} data-v-40aa3a9e><img class="item"${ssrRenderAttr("src", _imports_0$1)} data-v-40aa3a9e><img class="item"${ssrRenderAttr("src", _imports_0$1)} data-v-40aa3a9e><img class="item"${ssrRenderAttr("src", _imports_1$2)} data-v-40aa3a9e><img class="item"${ssrRenderAttr("src", _imports_1$2)} data-v-40aa3a9e><img class="item"${ssrRenderAttr("src", _imports_1$2)} data-v-40aa3a9e></div><img class="empty-icon"${ssrRenderAttr("src", _imports_2$2)} data-v-40aa3a9e><div class="empty-hint" data-v-40aa3a9e>${ssrInterpolate(__props.hint || "暂无内容")}</div></div>`);
    };
  }
};
const _sfc_setup$2 = _sfc_main$2.setup;
_sfc_main$2.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Empty.vue");
  return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
};
const __nuxt_component_4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__scopeId", "data-v-40aa3a9e"]]);

const Loading = function(options = {}) {
  return void 0;
};

const INSTANCE_KEY = Symbol("ElLoading");
const createInstance = (el, binding) => {
  var _a, _b, _c, _d;
  const vm = binding.instance;
  const getBindingProp = (key) => shared_cjs_prodExports.isObject(binding.value) ? binding.value[key] : void 0;
  const resolveExpression = (key) => {
    const data = shared_cjs_prodExports.isString(key) && (vm == null ? void 0 : vm[key]) || key;
    if (data)
      return ref(data);
    else
      return data;
  };
  const getProp = (name) => resolveExpression(getBindingProp(name) || el.getAttribute(`element-loading-${shared_cjs_prodExports.hyphenate(name)}`));
  const fullscreen = (_a = getBindingProp("fullscreen")) != null ? _a : binding.modifiers.fullscreen;
  const options = {
    text: getProp("text"),
    svg: getProp("svg"),
    svgViewBox: getProp("svgViewBox"),
    spinner: getProp("spinner"),
    background: getProp("background"),
    customClass: getProp("customClass"),
    fullscreen,
    target: (_b = getBindingProp("target")) != null ? _b : fullscreen ? void 0 : el,
    body: (_c = getBindingProp("body")) != null ? _c : binding.modifiers.body,
    lock: (_d = getBindingProp("lock")) != null ? _d : binding.modifiers.lock
  };
  el[INSTANCE_KEY] = {
    options,
    instance: Loading(options)
  };
};
const updateOptions = (newOptions, originalOptions) => {
  for (const key of Object.keys(originalOptions)) {
    if (isRef(originalOptions[key]))
      originalOptions[key].value = newOptions[key];
  }
};
const vLoading = {
  mounted(el, binding) {
    if (binding.value) {
      createInstance(el, binding);
    }
  },
  updated(el, binding) {
    const instance = el[INSTANCE_KEY];
    if (binding.oldValue !== binding.value) {
      if (binding.value && !binding.oldValue) {
        createInstance(el, binding);
      } else if (binding.value && binding.oldValue) {
        if (shared_cjs_prodExports.isObject(binding.value))
          updateOptions(binding.value, instance.options);
      } else {
        instance == null ? void 0 : instance.instance.close();
      }
    }
  },
  unmounted(el) {
    var _a;
    (_a = el[INSTANCE_KEY]) == null ? void 0 : _a.instance.close();
    el[INSTANCE_KEY] = null;
  }
};

const handleDate = (dateTimeStamp = /* @__PURE__ */ new Date()) => {
  dateTimeStamp = dateTimeStamp ? dateTimeStamp : null;
  var timestamp = new Date(dateTimeStamp);
  timestamp = timestamp.getTime();
  var minute = 1e3 * 60;
  var hour = minute * 60;
  var day = hour * 24;
  var now = (/* @__PURE__ */ new Date()).getTime();
  var diffValue = now - timestamp;
  var result;
  if (diffValue < 0) return;
  var dayC = diffValue / day;
  var hourC = diffValue / (hour + 1);
  var minC = diffValue / minute;
  if (dayC >= 7) {
    let date = new Date(timestamp);
    let Y = date.getFullYear() + "-";
    let M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) + "-";
    let D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
    let h = (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
    let m = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
    result = "" + Y + M + D + " " + h + m;
  } else if (dayC >= 1) result = "" + Math.round(dayC) + "天前";
  else if (hourC >= 1) result = "" + Math.round(hourC) + "小时前";
  else if (minC >= 1) result = "" + Math.round(minC) + "分钟前";
  else result = "刚刚";
  return result;
};
const goToURL = (url, isblank = true) => {
  return;
};
const numberToEnclosed = (index) => {
  let obj = {
    1: "①",
    2: "②",
    3: "③",
    4: "④",
    5: "⑤"
  };
  return obj[index];
};

const _imports_1$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANCAYAAACdKY9CAAAAAXNSR0IArs4c6QAAANNJREFUKFPdksENwjAMRW1ZlXpkhN4q5wQb0A0YASYANmAD2KCMwAZlBE61eusIPVaqIiNXBFLoBHwphzzlfyexESI1TbPx3peIuDCsqh0R7fI8v4VjGBtE5AEAF2a+GheRrarunXOrt0FE7hb2AmsAsH2sCUMRMVCp6hERrcKPVHWJiGcAKMYriYhVKJj5O300h1BmxokBAE6vZVVNFhBY9ZcGIuqSJGn7vh87naZpNwxD5r23/efRdV23RHSIR2BmZC7OuSx86xYAyrmmRWxnI/MEFGt9FwAKNzYAAAAASUVORK5CYII=";

const _imports_2$1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='8px'%20height='5px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-33%20-8%20)'%3e%3cpath%20d='M%207.91983967935872%200.515463917525773%20C%207.97327989311957%200.572737686139747%208%200.638602520045818%208%200.713058419243986%20C%208%200.787514318442153%207.97327989311957%200.853379152348224%207.91983967935872%200.910652920962199%20L%204.18436873747495%204.91408934707904%20C%204.1309285237141%204.97136311569301%204.06947227788911%205%204%205%20C%203.93052772211089%205%203.86907147628591%204.97136311569301%203.81563126252505%204.91408934707904%20L%200.0801603206412826%200.910652920962199%20C%200.0267201068804276%200.853379152348224%200%200.787514318442153%200%200.713058419243986%20C%200%200.638602520045818%200.0267201068804276%200.572737686139747%200.0801603206412826%200.515463917525773%20L%200.480961923847695%200.0859106529209624%20C%200.534402137608551%200.0286368843069867%200.595858383433534%200%200.665330661322645%200%20C%200.734802939211757%200%200.79625918503674%200.0286368843069867%200.849699398797595%200.0859106529209624%20L%204%203.46219931271478%20L%207.1503006012024%200.0859106529209624%20C%207.20374081496326%200.0286368843069867%207.26519706078824%200%207.33466933867735%200%20C%207.40414161656647%200%207.46559786239145%200.0286368843069867%207.51903807615231%200.0859106529209624%20L%207.91983967935872%200.515463917525773%20Z%20'%20fill-rule='nonzero'%20fill='%23aaaaaa'%20stroke='none'%20transform='matrix(1%200%200%201%2033%208%20)'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_3 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='11px'%20height='8px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-703%20-4235%20)'%3e%3cpath%20d='M%2010.8012903225806%201.1043771043771%20C%2010.9337634408602%201.2300785634119%2011%201.38271604938272%2011%201.56228956228956%20C%2011%201.74186307519641%2010.9337634408602%201.89450056116723%2010.8012903225806%202.02020202020202%20L%205.66322580645161%206.8956228956229%20L%204.69806451612903%207.81144781144781%20C%204.56559139784946%207.9371492704826%204.4047311827957%208%204.21548387096774%208%20C%204.02623655913979%208%203.86537634408602%207.9371492704826%203.73290322580645%207.81144781144781%20L%202.76774193548387%206.8956228956229%20L%200.198709677419355%204.45791245791246%20C%200.066236559139785%204.33221099887766%200%204.17957351290685%200%204%20C%200%203.82042648709315%200.066236559139785%203.66778900112233%200.198709677419355%203.54208754208754%20L%201.16387096774194%202.62626262626263%20C%201.29634408602151%202.50056116722783%201.45720430107527%202.43771043771044%201.64645161290323%202.43771043771044%20C%201.83569892473118%202.43771043771044%201.99655913978495%202.50056116722783%202.12903225806452%202.62626262626263%20L%204.21548387096774%204.61279461279461%20L%208.87096774193548%200.188552188552189%20C%209.00344086021505%200.0628507295173959%209.16430107526882%200%209.35354838709677%200%20C%209.54279569892473%200%209.7036559139785%200.0628507295173959%209.83612903225806%200.188552188552189%20L%2010.8012903225806%201.1043771043771%20Z%20'%20fill-rule='nonzero'%20fill='%2372db86'%20stroke='none'%20transform='matrix(1%200%200%201%20703%204235%20)'%20/%3e%3c/g%3e%3c/svg%3e";

const messageTypes = ["success", "info", "warning", "error"];
const messageDefaults = mutable({
  customClass: "",
  center: false,
  dangerouslyUseHTMLString: false,
  duration: 3e3,
  icon: void 0,
  id: "",
  message: "",
  onClose: void 0,
  showClose: false,
  type: "info",
  plain: false,
  offset: 16,
  zIndex: 0,
  grouping: false,
  repeatNum: 1,
  appendTo: void 0
});
buildProps({
  customClass: {
    type: String,
    default: messageDefaults.customClass
  },
  center: {
    type: Boolean,
    default: messageDefaults.center
  },
  dangerouslyUseHTMLString: {
    type: Boolean,
    default: messageDefaults.dangerouslyUseHTMLString
  },
  duration: {
    type: Number,
    default: messageDefaults.duration
  },
  icon: {
    type: iconPropType,
    default: messageDefaults.icon
  },
  id: {
    type: String,
    default: messageDefaults.id
  },
  message: {
    type: definePropType([
      String,
      Object,
      Function
    ]),
    default: messageDefaults.message
  },
  onClose: {
    type: definePropType(Function),
    default: messageDefaults.onClose
  },
  showClose: {
    type: Boolean,
    default: messageDefaults.showClose
  },
  type: {
    type: String,
    values: messageTypes,
    default: messageDefaults.type
  },
  plain: {
    type: Boolean,
    default: messageDefaults.plain
  },
  offset: {
    type: Number,
    default: messageDefaults.offset
  },
  zIndex: {
    type: Number,
    default: messageDefaults.zIndex
  },
  grouping: {
    type: Boolean,
    default: messageDefaults.grouping
  },
  repeatNum: {
    type: Number,
    default: messageDefaults.repeatNum
  }
});

const instances = shallowReactive([]);

const normalizeOptions = (params) => {
  const options = !params || shared_cjs_prodExports.isString(params) || isVNode(params) || shared_cjs_prodExports.isFunction(params) ? { message: params } : params;
  const normalized = {
    ...messageDefaults,
    ...options
  };
  if (!normalized.appendTo) {
    normalized.appendTo = (void 0).body;
  } else if (shared_cjs_prodExports.isString(normalized.appendTo)) {
    let appendTo = (void 0).querySelector(normalized.appendTo);
    if (!isElement(appendTo)) {
      appendTo = (void 0).body;
    }
    normalized.appendTo = appendTo;
  }
  if (isBoolean(messageConfig.grouping) && !normalized.grouping) {
    normalized.grouping = messageConfig.grouping;
  }
  if (isNumber(messageConfig.duration) && normalized.duration === 3e3) {
    normalized.duration = messageConfig.duration;
  }
  if (isNumber(messageConfig.offset) && normalized.offset === 16) {
    normalized.offset = messageConfig.offset;
  }
  if (isBoolean(messageConfig.showClose) && !normalized.showClose) {
    normalized.showClose = messageConfig.showClose;
  }
  return normalized;
};
const message = (options = {}, context) => {
  return { close: () => void 0 };
};
messageTypes.forEach((type) => {
  message[type] = (options = {}, appContext) => {
    const normalized = normalizeOptions(options);
    return message({ ...normalized });
  };
});
function closeAll(type) {
  for (const instance of instances) {
    if (!type || type === instance.props.type) {
      instance.handler.close();
    }
  }
}
message.closeAll = closeAll;
message._context = null;

const ElMessage = withInstallFunction(message, "$message");

const _sfc_main$1 = {
  __name: "MyPopup",
  __ssrInlineRender: true,
  setup(__props, { expose: __expose }) {
    let count = inject("count");
    let show = ref(false);
    useRouter();
    const route = useRoute();
    let MyPopupState = ref("");
    let showList = ref([]);
    let collectList = [];
    let collectPage = 1;
    let collectLoading = ref(false);
    let collectCount = ref(0);
    const getCollect = () => {
      if (collectPage == 0 || collectLoading.value) return;
      collectLoading.value = true;
      MyUserCollectHttp({ page: collectPage }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        collectList = collectList.concat(data.data);
        showList.value = collectList;
        if (collectList.length < data["count"]) collectPage++;
        else collectPage = 0;
        collectCount.value = data["count"];
      }).finally(() => collectLoading.value = false);
    };
    let publishList = [];
    let publisPage = 1;
    let publisloading = ref(false);
    const getPublish = () => {
      if (publisPage == 0 && !publisloading.value) return;
      publisloading.value = true;
      MyUserPublishHttp({ page: publisPage }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        publishList = publishList.concat(data.data);
        if (publishList.length < data["count"]) publisPage++;
        else publisPage = 0;
        showList.value = publishList;
      }).finally(() => publisloading.value = false);
    };
    const cutMy = (key, isEmpty) => {
      if (isEmpty) {
        collectList = [];
        collectPage = 1;
        collectCount.value = 0;
      }
      if (key == "collect" && collectList.length == 0) getCollect();
      else if (key == "mj" && publishList.length == 0) getPublish();
      if (key == "collect") showList.value = collectList;
      else if (key == "mj") showList.value = publishList;
      MyPopupState.value = key;
      if (MyPopupState.value) show.value = true;
    };
    const openAnonymousState = (index) => {
      publishList.forEach((element) => {
        element["anonymousState"] = false;
      });
      publishList[index]["anonymousState"] = true;
      showList.value = [...publishList];
    };
    const closeAllAnonymousState = () => {
      publishList.forEach((element) => {
        element["anonymousState"] = false;
      });
      showList.value = [...publishList];
    };
    const handleAnonymousState = (token, index, anonymous) => {
      changeAnonymousHttp({ token, anonymous }).then((res) => {
        if (res.code != 200) return;
        publishList[index]["anonymous"] = anonymous;
        showList.value = [...publishList];
        closeAllAnonymousState();
        ElMessage.success(res.message);
      });
    };
    const handleListScroll = (e) => {
      const el = e.target;
      if (el.scrollHeight - el.scrollTop !== el.clientHeight) return;
      if (MyPopupState.value == "collect") getCollect();
      if (MyPopupState.value == "mj") getPublish();
    };
    let clearAllData = inject("clearAllData") || null;
    let getDetails = inject("getDetails") || null;
    const goDetails = (uniqid) => {
      let path = route["path"] || "";
      if (path.indexOf("/details/") != -1) {
        clearAllData();
        nextTick(() => getDetails());
      }
      show.value = false;
      MyPopupState.value = "";
    };
    __expose({
      cutMy
    });
    const closeDialog = () => {
      show.value = false;
    };
    const unbookmarkSamePage = inject("unbookmarkSamePage");
    const cancelCollection = (token, index, uniqid) => {
      const id = route.params["id"];
      MyUserDeleteCollectHttp({ token }).then((res) => {
        if (res.code != 200) {
          ElMessage.error(res.message);
          return;
        }
        collectList.splice(index, 1);
        showList.value = [...collectList];
        count.value.collect--;
        collectCount.value--;
        if (id == uniqid) unbookmarkSamePage();
      });
    };
    return (_ctx, _push, _parent, _attrs) => {
      const _component_el_dialog = ElDialog;
      const _component_Empty = __nuxt_component_4;
      const _directive_loading = vLoading;
      let _temp0;
      _push(ssrRenderComponent(_component_el_dialog, mergeProps({
        modelValue: unref(show),
        "onUpdate:modelValue": ($event) => isRef(show) ? show.value = $event : show = $event,
        width: "750px",
        "align-center": "",
        class: "dialog-box"
      }, _attrs), {
        default: withCtx((_, _push2, _parent2, _scopeId) => {
          if (_push2) {
            _push2(`<div class="box flexflex" data-v-ee70c92d${_scopeId}><img class="cross"${ssrRenderAttr("src", _imports_1$3)} alt data-v-ee70c92d${_scopeId}><div class="tba-list flexcenter" data-v-ee70c92d${_scopeId}><div class="${ssrRenderClass([{ pitch: unref(MyPopupState) == "collect" }, "tab-item flexcenter"])}" data-v-ee70c92d${_scopeId}> 我的收藏 <div class="value" data-v-ee70c92d${_scopeId}>${ssrInterpolate(unref(collectCount) > 0 ? unref(collectCount) : unref(count)["collect"])}</div></div><div class="${ssrRenderClass([{ pitch: unref(MyPopupState) == "mj" }, "tab-item flexcenter"])}" data-v-ee70c92d${_scopeId}> 我的面经 <div class="value" data-v-ee70c92d${_scopeId}>${ssrInterpolate(unref(count)["publish"])}</div></div></div>`);
            if (unref(MyPopupState) == "collect" && unref(collectLoading) || unref(MyPopupState) == "mj" && unref(publisloading)) {
              _push2(`<div${ssrRenderAttrs(_temp0 = mergeProps({ class: "empty-box flexcenter" }, ssrGetDirectiveProps(_ctx, _directive_loading, true)))} data-v-ee70c92d${_scopeId}>${"textContent" in _temp0 ? ssrInterpolate(_temp0.textContent) : _temp0.innerHTML ?? ""}</div>`);
            } else if (unref(showList).length == 0) {
              _push2(`<div class="empty-box flexcenter" data-v-ee70c92d${_scopeId}>`);
              _push2(ssrRenderComponent(_component_Empty, null, null, _parent2, _scopeId));
              _push2(`</div>`);
            } else {
              _push2(`<div class="content" data-v-ee70c92d${_scopeId}><!--[-->`);
              ssrRenderList(unref(showList), (item, index) => {
                var _a, _b, _c;
                _push2(`<div class="item flexflex" data-v-ee70c92d${_scopeId}><div class="left flexflex" data-v-ee70c92d${_scopeId}><div class="name" data-v-ee70c92d${_scopeId}>${ssrInterpolate(item["school"] || item["data"]["school"])}</div><div class="info-box flexflex" data-v-ee70c92d${_scopeId}>`);
                if (item["profession"] || ((_a = item == null ? void 0 : item["data"]) == null ? void 0 : _a["profession"])) {
                  _push2(`<div class="info-item flexacenter" data-v-ee70c92d${_scopeId}><div class="info-item-name" data-v-ee70c92d${_scopeId}>专业</div><div class="info-item-value" data-v-ee70c92d${_scopeId}>${ssrInterpolate(item["profession"] || item["data"]["profession"])}</div></div>`);
                } else {
                  _push2(`<!---->`);
                }
                if (item["project"] || ((_b = item == null ? void 0 : item.data) == null ? void 0 : _b.project)) {
                  _push2(`<div class="info-item flexacenter" data-v-ee70c92d${_scopeId}><div class="info-item-name" data-v-ee70c92d${_scopeId}>项目</div><div class="info-item-value" data-v-ee70c92d${_scopeId}>${ssrInterpolate(item["project"] || ((_c = item == null ? void 0 : item.data) == null ? void 0 : _c.project))}</div></div>`);
                } else {
                  _push2(`<!---->`);
                }
                _push2(`</div><div class="text-box flexacenter" data-v-ee70c92d${_scopeId}>`);
                if (item == null ? void 0 : item.releasetime) {
                  _push2(`<div class="text-time" data-v-ee70c92d${_scopeId}>${ssrInterpolate(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(item == null ? void 0 : item.releasetime))}发布</div>`);
                } else {
                  _push2(`<!---->`);
                }
                _push2(`<div class="text-message flex1 ellipsis" data-v-ee70c92d${_scopeId}>${ssrInterpolate(item["message"] || item["data"]["message"])}</div></div></div><div class="operate-area flexacenter" data-v-ee70c92d${_scopeId}>`);
                if (unref(MyPopupState) == "collect") {
                  _push2(`<img class="delete-icon"${ssrRenderAttr("src", _imports_1$1)} data-v-ee70c92d${_scopeId}>`);
                } else {
                  _push2(`<div class="anonymous-box flexacenter" data-v-ee70c92d${_scopeId}><div class="text" data-v-ee70c92d${_scopeId}>${ssrInterpolate(item["anonymous"] == 1 ? "匿名" : "公开")}</div><img class="arrow-icon"${ssrRenderAttr("src", _imports_2$1)} data-v-ee70c92d${_scopeId}>`);
                  if (item["anonymousState"]) {
                    _push2(`<div class="state-popup flexflex" data-v-ee70c92d${_scopeId}><div class="${ssrRenderClass([{ "pitch": item["anonymous"] == 0 }, "state-popup-item flexacenter flex1"])}" data-v-ee70c92d${_scopeId}><div class data-v-ee70c92d${_scopeId}>公开发表</div><img class="state-popup-icon"${ssrRenderAttr("src", _imports_3)} data-v-ee70c92d${_scopeId}></div><div class="${ssrRenderClass([{ "pitch": item["anonymous"] == 1 }, "state-popup-item flexacenter flex1"])}" data-v-ee70c92d${_scopeId}><div class data-v-ee70c92d${_scopeId}>匿名发表</div><img class="state-popup-icon"${ssrRenderAttr("src", _imports_3)} data-v-ee70c92d${_scopeId}></div></div>`);
                  } else {
                    _push2(`<!---->`);
                  }
                  _push2(`</div>`);
                }
                _push2(`</div></div>`);
              });
              _push2(`<!--]--></div>`);
            }
            _push2(`</div>`);
          } else {
            return [
              createVNode("div", { class: "box flexflex" }, [
                createVNode("img", {
                  class: "cross",
                  src: _imports_1$3,
                  alt: "",
                  onClick: ($event) => closeDialog()
                }, null, 8, ["onClick"]),
                createVNode("div", { class: "tba-list flexcenter" }, [
                  createVNode("div", {
                    class: ["tab-item flexcenter", { pitch: unref(MyPopupState) == "collect" }],
                    onClick: ($event) => cutMy("collect")
                  }, [
                    createTextVNode(" 我的收藏 "),
                    createVNode("div", { class: "value" }, toDisplayString(unref(collectCount) > 0 ? unref(collectCount) : unref(count)["collect"]), 1)
                  ], 10, ["onClick"]),
                  createVNode("div", {
                    class: ["tab-item flexcenter", { pitch: unref(MyPopupState) == "mj" }],
                    onClick: ($event) => cutMy("mj")
                  }, [
                    createTextVNode(" 我的面经 "),
                    createVNode("div", { class: "value" }, toDisplayString(unref(count)["publish"]), 1)
                  ], 10, ["onClick"])
                ]),
                unref(MyPopupState) == "collect" && unref(collectLoading) || unref(MyPopupState) == "mj" && unref(publisloading) ? withDirectives((openBlock(), createBlock("div", {
                  key: 0,
                  class: "empty-box flexcenter"
                }, null, 512)), [
                  [_directive_loading, true]
                ]) : unref(showList).length == 0 ? (openBlock(), createBlock("div", {
                  key: 1,
                  class: "empty-box flexcenter"
                }, [
                  createVNode(_component_Empty)
                ])) : (openBlock(), createBlock("div", {
                  key: 2,
                  class: "content",
                  onScroll: handleListScroll
                }, [
                  (openBlock(true), createBlock(Fragment, null, renderList(unref(showList), (item, index) => {
                    var _a, _b, _c;
                    return openBlock(), createBlock("div", {
                      class: "item flexflex",
                      key: index,
                      onClick: ($event) => {
                        var _a2;
                        return goDetails(item["uniqid"] || ((_a2 = item == null ? void 0 : item.data) == null ? void 0 : _a2.uniqid));
                      }
                    }, [
                      createVNode("div", { class: "left flexflex" }, [
                        createVNode("div", { class: "name" }, toDisplayString(item["school"] || item["data"]["school"]), 1),
                        createVNode("div", { class: "info-box flexflex" }, [
                          item["profession"] || ((_a = item == null ? void 0 : item["data"]) == null ? void 0 : _a["profession"]) ? (openBlock(), createBlock("div", {
                            key: 0,
                            class: "info-item flexacenter"
                          }, [
                            createVNode("div", { class: "info-item-name" }, "专业"),
                            createVNode("div", { class: "info-item-value" }, toDisplayString(item["profession"] || item["data"]["profession"]), 1)
                          ])) : createCommentVNode("", true),
                          item["project"] || ((_b = item == null ? void 0 : item.data) == null ? void 0 : _b.project) ? (openBlock(), createBlock("div", {
                            key: 1,
                            class: "info-item flexacenter"
                          }, [
                            createVNode("div", { class: "info-item-name" }, "项目"),
                            createVNode("div", { class: "info-item-value" }, toDisplayString(item["project"] || ((_c = item == null ? void 0 : item.data) == null ? void 0 : _c.project)), 1)
                          ])) : createCommentVNode("", true)
                        ]),
                        createVNode("div", { class: "text-box flexacenter" }, [
                          (item == null ? void 0 : item.releasetime) ? (openBlock(), createBlock("div", {
                            key: 0,
                            class: "text-time"
                          }, toDisplayString(("handleDate" in _ctx ? _ctx.handleDate : unref(handleDate))(item == null ? void 0 : item.releasetime)) + "发布", 1)) : createCommentVNode("", true),
                          createVNode("div", { class: "text-message flex1 ellipsis" }, toDisplayString(item["message"] || item["data"]["message"]), 1)
                        ])
                      ]),
                      createVNode("div", { class: "operate-area flexacenter" }, [
                        unref(MyPopupState) == "collect" ? (openBlock(), createBlock("img", {
                          key: 0,
                          class: "delete-icon",
                          onClick: withModifiers(($event) => {
                            var _a2;
                            return cancelCollection(item["token"], index, (_a2 = item == null ? void 0 : item.data) == null ? void 0 : _a2.uniqid);
                          }, ["stop"]),
                          src: _imports_1$1
                        }, null, 8, ["onClick"])) : (openBlock(), createBlock("div", {
                          key: 1,
                          class: "anonymous-box flexacenter",
                          onClick: withModifiers(($event) => openAnonymousState(index), ["stop"])
                        }, [
                          createVNode("div", { class: "text" }, toDisplayString(item["anonymous"] == 1 ? "匿名" : "公开"), 1),
                          createVNode("img", {
                            class: "arrow-icon",
                            src: _imports_2$1
                          }),
                          item["anonymousState"] ? (openBlock(), createBlock("div", {
                            key: 0,
                            class: "state-popup flexflex",
                            onClick: withModifiers(() => {
                            }, ["stop"])
                          }, [
                            createVNode("div", {
                              class: ["state-popup-item flexacenter flex1", { "pitch": item["anonymous"] == 0 }],
                              onClick: ($event) => handleAnonymousState(item["token"], index, 0)
                            }, [
                              createVNode("div", { class: "" }, "公开发表"),
                              createVNode("img", {
                                class: "state-popup-icon",
                                src: _imports_3
                              })
                            ], 10, ["onClick"]),
                            createVNode("div", {
                              class: ["state-popup-item flexacenter flex1", { "pitch": item["anonymous"] == 1 }],
                              onClick: ($event) => handleAnonymousState(item["token"], index, 1)
                            }, [
                              createVNode("div", { class: "" }, "匿名发表"),
                              createVNode("img", {
                                class: "state-popup-icon",
                                src: _imports_3
                              })
                            ], 10, ["onClick"])
                          ], 8, ["onClick"])) : createCommentVNode("", true)
                        ], 8, ["onClick"]))
                      ])
                    ], 8, ["onClick"]);
                  }), 128))
                ], 32))
              ])
            ];
          }
        }),
        _: 1
      }, _parent));
    };
  }
};
const _sfc_setup$1 = _sfc_main$1.setup;
_sfc_main$1.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/MyPopup.vue");
  return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const __nuxt_component_0 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__scopeId", "data-v-ee70c92d"]]);

const _imports_0 = "" + __buildAssetsURL("logo-icon.C2xYDAoO.png");

const _imports_1 = "data:image/png;base64,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";

const _imports_2 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='14px'%20height='14px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-1460%20-103%20)'%3e%3cpath%20d='M%2010.91015625%207.99348958333333%20C%2011.0256076388889%207.87803819444444%2011.0833333333333%207.74131944444444%2011.0833333333333%207.58333333333333%20L%2011.0833333333333%206.41666666666667%20C%2011.0833333333333%206.25868055555555%2011.0256076388889%206.12196180555555%2010.91015625%206.00651041666667%20C%2010.7947048611111%205.89105902777778%2010.6579861111111%205.83333333333333%2010.5%205.83333333333333%20L%208.16666666666667%205.83333333333333%20L%208.16666666666667%203.5%20C%208.16666666666667%203.34201388888889%208.10894097222222%203.20529513888889%207.99348958333333%203.08984375%20C%207.87803819444445%202.97439236111111%207.74131944444445%202.91666666666667%207.58333333333333%202.91666666666667%20L%206.41666666666667%202.91666666666667%20C%206.25868055555556%202.91666666666667%206.12196180555556%202.97439236111111%206.00651041666667%203.08984375%20C%205.89105902777778%203.20529513888889%205.83333333333333%203.34201388888889%205.83333333333333%203.5%20L%205.83333333333333%205.83333333333333%20L%203.5%205.83333333333333%20C%203.34201388888889%205.83333333333333%203.20529513888889%205.89105902777778%203.08984375%206.00651041666667%20C%202.97439236111111%206.12196180555555%202.91666666666667%206.25868055555555%202.91666666666667%206.41666666666667%20L%202.91666666666667%207.58333333333333%20C%202.91666666666667%207.74131944444444%202.97439236111111%207.87803819444444%203.08984375%207.99348958333333%20C%203.20529513888889%208.10894097222222%203.34201388888889%208.16666666666667%203.5%208.16666666666667%20L%205.83333333333333%208.16666666666667%20L%205.83333333333333%2010.5%20C%205.83333333333333%2010.6579861111111%205.89105902777778%2010.7947048611111%206.00651041666667%2010.91015625%20C%206.12196180555556%2011.0256076388889%206.25868055555556%2011.0833333333333%206.41666666666667%2011.0833333333333%20L%207.58333333333333%2011.0833333333333%20C%207.74131944444445%2011.0833333333333%207.87803819444445%2011.0256076388889%207.99348958333333%2010.91015625%20C%208.10894097222222%2010.7947048611111%208.16666666666667%2010.6579861111111%208.16666666666667%2010.5%20L%208.16666666666667%208.16666666666667%20L%2010.5%208.16666666666667%20C%2010.6579861111111%208.16666666666667%2010.7947048611111%208.10894097222222%2010.91015625%207.99348958333333%20Z%20M%2013.0611979166667%203.486328125%20C%2013.6870659722222%204.55881076388889%2014%205.73003472222222%2014%207%20C%2014%208.26996527777778%2013.6870659722222%209.44118923611111%2013.0611979166667%2010.513671875%20C%2012.4353298611111%2011.5861545138889%2011.5861545138889%2012.4353298611111%2010.513671875%2013.0611979166667%20C%209.44118923611111%2013.6870659722222%208.26996527777778%2014%207%2014%20C%205.73003472222222%2014%204.55881076388889%2013.6870659722222%203.486328125%2013.0611979166667%20C%202.41384548611111%2012.4353298611111%201.56467013888889%2011.5861545138889%200.938802083333333%2010.513671875%20C%200.312934027777778%209.44118923611111%200%208.26996527777778%200%207%20C%200%205.73003472222222%200.312934027777778%204.55881076388889%200.938802083333333%203.486328125%20C%201.56467013888889%202.41384548611111%202.41384548611111%201.56467013888889%203.486328125%200.938802083333333%20C%204.55881076388889%200.312934027777777%205.73003472222222%200%207%200%20C%208.26996527777778%200%209.44118923611111%200.312934027777777%2010.513671875%200.938802083333333%20C%2011.5861545138889%201.56467013888889%2012.4353298611111%202.41384548611111%2013.0611979166667%203.486328125%20Z%20'%20fill-rule='nonzero'%20fill='%23000000'%20stroke='none'%20transform='matrix(1%200%200%201%201460%20103%20)'%20/%3e%3c/g%3e%3c/svg%3e";

const _sfc_main = {
  __name: "top-head",
  __ssrInlineRender: true,
  setup(__props, { expose: __expose }) {
    useRouter();
    const route = useRoute$1();
    inject("isNeedLogin");
    inject("goLogin");
    inject("isGetLoginState");
    let keyword = ref("");
    let count = ref({});
    provide("count", count);
    watchEffect(() => {
      keyword.value = route.query["keyword"];
    });
    let historicalSearchState = ref(false);
    let historicalSearchList = ref([]);
    let MyPopupRef = ref(null);
    __expose({
      count
    });
    return (_ctx, _push, _parent, _attrs) => {
      const _component_MyPopup = __nuxt_component_0;
      _push(`<!--[--><section class="header flexacenter" data-v-93788f3e><div class="header-box flexacenter" data-v-93788f3e><a href="/index.html" data-v-93788f3e><img class="logo-icon"${ssrRenderAttr("src", _imports_0)} data-v-93788f3e></a><div class="header-right flexacenter" data-v-93788f3e><div class="search-box flexacenter" data-v-93788f3e><input class="flex1" placeholder="输入搜索关键词"${ssrRenderAttr("value", unref(keyword))} data-v-93788f3e><img class="search-icon"${ssrRenderAttr("src", _imports_1)} data-v-93788f3e>`);
      if (unref(historicalSearchState)) {
        _push(`<div class="history-box" data-v-93788f3e><div class="history-title" data-v-93788f3e>历史搜索</div><div class="history-list" data-v-93788f3e><!--[-->`);
        ssrRenderList(unref(historicalSearchList), (item, index) => {
          _push(`<div class="history-item ellipsis" data-v-93788f3e>${ssrInterpolate(item)}</div>`);
        });
        _push(`<!--]--></div></div>`);
      } else {
        _push(`<!---->`);
      }
      _push(`</div><div class="my-btn-list flexacenter" data-v-93788f3e><div class="my-btn-item flexcenter" data-v-93788f3e>我的收藏</div><div class="my-btn-item flexcenter" data-v-93788f3e>我的面经</div></div><div class="sponsor-btn flexcenter" data-v-93788f3e><img class="add-icon"${ssrRenderAttr("src", _imports_2)} data-v-93788f3e> 发布面经 </div></div></div></section>`);
      _push(ssrRenderComponent(_component_MyPopup, {
        ref_key: "MyPopupRef",
        ref: MyPopupRef,
        count: unref(count)
      }, null, _parent));
      _push(`<!--]-->`);
    };
  }
};
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/top-head.vue");
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const __nuxt_component_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-93788f3e"]]);

export { ElMessage as E, __nuxt_component_3 as _, __nuxt_component_4 as a, ElDialog as b, goToURL as g, handleDate as h, numberToEnclosed as n, vLoading as v };
//# sourceMappingURL=top-head.vue.mjs.map