morghulis 1.0.19 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import W, { ElMessage as k, ElMessageBox as p } from "element-plus";
1
+ import W, { ElMessage as w, ElMessageBox as p } from "element-plus";
2
2
  import { default as eu } from "element-plus";
3
3
  import re from "axios";
4
4
  import N from "nprogress";
@@ -6,15 +6,15 @@ import "nprogress/nprogress.css";
6
6
  import _ from "js-cookie";
7
7
  import x from "lodash";
8
8
  import { nanoid as ae } from "nanoid";
9
- import { defineComponent as se, mergeDefaults as ie, useSlots as ce, computed as B, ref as D, resolveComponent as g, resolveDirective as de, openBlock as y, createBlock as q, mergeProps as Ee, unref as H, withKeys as pe, createSlots as me, withCtx as c, createElementVNode as J, renderSlot as C, createVNode as d, createTextVNode as h, toDisplayString as w, createElementBlock as S, Fragment as K, createCommentVNode as A, withDirectives as fe } from "vue";
9
+ import { defineComponent as se, mergeDefaults as ie, useSlots as ce, computed as B, ref as D, resolveComponent as g, resolveDirective as de, openBlock as y, createBlock as q, mergeProps as Ee, unref as H, withKeys as pe, createSlots as me, withCtx as c, createElementVNode as J, renderSlot as C, createVNode as d, createTextVNode as h, toDisplayString as k, createElementBlock as S, Fragment as K, createCommentVNode as A, withDirectives as fe } from "vue";
10
10
  import { library as ge } from "@fortawesome/fontawesome-svg-core";
11
11
  import { fas as Fe } from "@fortawesome/free-solid-svg-icons";
12
12
  import { FontAwesomeIcon as Be } from "@fortawesome/vue-fontawesome";
13
13
  const $ = {
14
- info: (e) => k({ message: e, type: "info", grouping: !0 }),
15
- success: (e) => k({ message: e, type: "success", grouping: !0 }),
16
- warning: (e) => k({ message: e, type: "warning", grouping: !0 }),
17
- error: (e) => k({ message: e, type: "error", grouping: !0 })
14
+ info: (e) => w({ message: e, type: "info", grouping: !0 }),
15
+ success: (e) => w({ message: e, type: "success", grouping: !0 }),
16
+ warning: (e) => w({ message: e, type: "warning", grouping: !0 }),
17
+ error: (e) => w({ message: e, type: "error", grouping: !0 })
18
18
  }, We = {
19
19
  info: (e, u) => p.alert(e, u, { type: "info" }),
20
20
  success: (e, u) => p.alert(e, u, { type: "success" }),
@@ -79,9 +79,13 @@ function be() {
79
79
  let e = ae().replace(/-/g, "_");
80
80
  e = ye(m.CLIENT, e);
81
81
  const u = () => Ce(m.USER);
82
- return { $client: e, user: u, check: (l) => u() === l, login: (l) => ve(m.USER, l), logout: () => he(m.USER), bearer: () => u() ? "Bearer 123" : null };
82
+ return { $client: e, user: u, check: (l) => u() === l, login: (l) => new Promise((s) => {
83
+ ve(m.USER, l), s(l);
84
+ }), logout: () => new Promise((l) => {
85
+ he(m.USER), l(!0);
86
+ }), bearer: () => u() ? "Bearer 123" : null };
83
87
  }
84
- const { check: Te, logout: G, $client: ke, user: we, bearer: Ae } = be();
88
+ const { check: Te, logout: G, $client: we, user: ke, bearer: Ae } = be();
85
89
  function Q(e = "/api/", u) {
86
90
  function r(t) {
87
91
  const n = re.create({ baseURL: e, responseType: u }), { request: l, response: s } = n.interceptors;
@@ -92,7 +96,7 @@ function Q(e = "/api/", u) {
92
96
  return { getRequest: r, all: o };
93
97
  }
94
98
  function _e(e, u) {
95
- return N.start(), e.headers[m.CLIENT] = ke, e.headers[m.USER] = we(), e.headers[m.AUTH] = Ae(), e;
99
+ return N.start(), e.headers[m.CLIENT] = we, e.headers[m.USER] = ke(), e.headers[m.AUTH] = Ae(), e;
96
100
  }
97
101
  function xe(e) {
98
102
  N.done();
@@ -120,7 +124,7 @@ function Y(e) {
120
124
  function $e(e) {
121
125
  return e >= 200 && e < 300 ? "success" : e >= 300 && e < 400 ? "info" : e >= 400 && e < 500 ? "warning" : "error";
122
126
  }
123
- const Me = (e = {}) => {
127
+ const Pe = (e = {}) => {
124
128
  const u = e.baseUrl || "";
125
129
  e.timeout, e.headers;
126
130
  const { getRequest: r } = Q(u), o = r();
@@ -317,7 +321,7 @@ var X = {
317
321
  }
318
322
  }
319
323
  };
320
- const Pe = {
324
+ const Me = {
321
325
  title: "对话框",
322
326
  width: 600,
323
327
  fullscreen: !1,
@@ -383,7 +387,7 @@ const Pe = {
383
387
  cancel: { type: Function },
384
388
  confirmButtonText: {},
385
389
  cancelButtonText: {}
386
- }, Pe),
390
+ }, Me),
387
391
  emits: ["close", "update:title", "update:subTitle", "update:modelValue"],
388
392
  setup(e, { expose: u, emit: r }) {
389
393
  let o = r, t = e;
@@ -416,18 +420,18 @@ const Pe = {
416
420
  function te() {
417
421
  f.value = !0, t.confirm && t.confirm(E.value, v);
418
422
  }
419
- function M() {
423
+ function P() {
420
424
  f.value = !0, t.cancel ? t.cancel(E.value, v) : v();
421
425
  }
422
426
  return u({ open: ue, close: v }), (a, i) => {
423
- const b = g("el-text"), T = g("el-divider"), oe = g("fa"), P = g("el-button"), z = g("el-space"), ne = g("el-dialog"), le = de("loading");
427
+ const b = g("el-text"), T = g("el-divider"), oe = g("fa"), M = g("el-button"), z = g("el-space"), ne = g("el-dialog"), le = de("loading");
424
428
  return y(), q(ne, Ee({
425
429
  class: "mor-dialog",
426
430
  modelValue: j.value,
427
431
  "onUpdate:modelValue": i[0] || (i[0] = (R) => j.value = R)
428
432
  }, { ...a.$props, ...a.$attrs }, {
429
433
  onClose: i[1] || (i[1] = (R) => H(o)("close")),
430
- onKeydown: i[2] || (i[2] = pe((R) => M(), ["esc"]))
434
+ onKeydown: i[2] || (i[2] = pe((R) => P(), ["esc"]))
431
435
  }), me({
432
436
  header: c(() => [
433
437
  J("div", null, [
@@ -437,7 +441,7 @@ const Pe = {
437
441
  tag: "b"
438
442
  }, {
439
443
  default: c(() => [
440
- h(w(O.value), 1)
444
+ h(k(O.value), 1)
441
445
  ]),
442
446
  _: 1
443
447
  })
@@ -450,7 +454,7 @@ const Pe = {
450
454
  type: "info"
451
455
  }, {
452
456
  default: c(() => [
453
- h(w(V.value), 1)
457
+ h(k(V.value), 1)
454
458
  ]),
455
459
  _: 1
456
460
  })
@@ -462,12 +466,12 @@ const Pe = {
462
466
  C(a.$slots, "header", { data: E.value }),
463
467
  d(T, { direction: "vertical" })
464
468
  ], 64)) : A("", !0),
465
- d(P, {
469
+ d(M, {
466
470
  size: "small",
467
471
  style: { padding: "3px 6px" },
468
472
  type: "danger",
469
473
  disabled: f.value,
470
- onClick: M
474
+ onClick: P
471
475
  }, {
472
476
  default: c(() => [
473
477
  d(oe, { icon: "close" })
@@ -500,23 +504,23 @@ const Pe = {
500
504
  }),
501
505
  a.confirm ? (y(), q(z, { key: 0 }, {
502
506
  default: c(() => [
503
- d(P, {
507
+ d(M, {
504
508
  type: "success",
505
509
  disabled: f.value,
506
510
  onClick: te
507
511
  }, {
508
512
  default: c(() => [
509
- h(w(a.confirmButtonText), 1)
513
+ h(k(a.confirmButtonText), 1)
510
514
  ]),
511
515
  _: 1
512
516
  }, 8, ["disabled"]),
513
- d(P, {
517
+ d(M, {
514
518
  type: "info",
515
- onClick: M,
519
+ onClick: P,
516
520
  disabled: f.value
517
521
  }, {
518
522
  default: c(() => [
519
- h(w(a.cancelButtonText), 1)
523
+ h(k(a.cancelButtonText), 1)
520
524
  ]),
521
525
  _: 1
522
526
  }, 8, ["disabled"])
@@ -538,7 +542,7 @@ function Ue(e) {
538
542
  }
539
543
  ge.add(Fe);
540
544
  const Le = (e) => {
541
- const u = Me(e || {}), { baseURL: r } = e || { baseURL: "/api/", minioURL: "/dfs/" };
545
+ const u = Pe(e || {}), { baseURL: r } = e || { baseURL: "/api/", minioURL: "/dfs/" };
542
546
  return Ue(r), {
543
547
  install: (o) => {
544
548
  o.provide("options", e), o.provide("channel", u), o.component("MDialog", Se), o.use(W, {
@@ -1 +1 @@
1
- {"version":3,"file":"morghulis.es.js","sources":["../src/tools/feedback.ts","../src/hooks/cookies.ts","../src/hooks/authorize.ts","../src/hooks/request.ts","../src/tools/sockets.ts","../node_modules/element-plus/es/locale/lang/zh-cn.mjs","../src/types/dialog.types.ts","../src/components/dialog/MDialog.vue","../src/hooks/channel.ts","../src/index.ts"],"sourcesContent":["import {ElMessage} from 'element-plus'\nimport {ElMessageBox} from 'element-plus'\nimport type {MorghulisMessageInterface, MorghulisMessageBoxInterface} from \"../types/feedback.types\";\n\nexport const $message: MorghulisMessageInterface = {\n info: (message: string) => ElMessage({message, type: 'info', grouping: true}),\n success: (message: string) => ElMessage({message, type: 'success', grouping: true}),\n warning: (message: string) => ElMessage({message, type: 'warning', grouping: true}),\n error: (message: string) => ElMessage({message, type: 'error', grouping: true}),\n}\n\nexport const $alert: MorghulisMessageBoxInterface = {\n info: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'info'}),\n success: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'success'}),\n warning: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'warning'}),\n error: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'error'}),\n}\n\nexport const $confirm: MorghulisMessageBoxInterface = {\n info: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'info'}),\n success: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'success'}),\n warning: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'warning'}),\n error: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'error'}),\n}","import Cookies from 'js-cookie'\nimport _ from 'lodash'\n\n\nexport function useMorghulisCookies() {\n\n function get(path: string): any {\n const key = getKeyFromPath(path)\n const value = getJsonFromCookies(key)\n const _path = path.substring(path.indexOf('.') + 1)\n return key === path ? value : _.get(value, _path)\n }\n\n function set(path: string, value?: any): void {\n const key = getKeyFromPath(path)\n if (value == null) remove(key)\n else if (key === path) Cookies.set(key, JSON.stringify(value))\n else {\n const oldValue = getJsonFromCookies(key) || {}\n const newValue = _.set(oldValue, path, value);\n Cookies.set(key, JSON.stringify(newValue))\n }\n }\n\n function load(key: string, value?: any): any {\n const val = get(key)\n if (val == null) set(key, value)\n return get(key)\n }\n\n function remove(path: string): void {\n const key = getKeyFromPath(path)\n if (key === path) Cookies.remove(key)\n else {\n const value = getJsonFromCookies(key)\n const _path = path.substring(path.indexOf('.') + 1)\n _.unset(value, _path)\n set(key, value)\n }\n }\n\n return {get, set, remove, load}\n}\n\nfunction getKeyFromPath(path: string) {\n const ks = path.split('.')\n let key = ks[0]\n let index = key.indexOf('[')\n return index === -1 ? key : key.substring(0, index)\n}\n\nfunction getJsonFromCookies(key: string) {\n const value = Cookies.get(key)\n if (value == null) return null\n try {\n return JSON.parse(value)\n } catch (e) {\n return value\n }\n}","import {useMorghulisCookies} from \"./cookies\";\nimport {nanoid} from \"nanoid\";\n\nexport const SYSTEM_KEY = {\n CLIENT: 'client', USER: 'uid', AUTH: 'auth',\n}\nconst {load, get, remove, set} = useMorghulisCookies()\n\nexport function useMorghulisAuthorize() {\n let $client = nanoid().replace(/-/g, '_')\n $client = load(SYSTEM_KEY.CLIENT, $client)\n const user = () => get(SYSTEM_KEY.USER)\n const check = (uid?: any) => user() === uid\n const login = (uid: any) => set(SYSTEM_KEY.USER, uid)\n const logout = () => remove(SYSTEM_KEY.USER)\n const bearer = () => user() ? `Bearer ${123}` : null\n return {$client, user, check, login, logout, bearer}\n}","import type {AxiosResponse, InternalAxiosRequestConfig} from 'axios'\nimport axios, {type ResponseType} from 'axios'\nimport NProgress from 'nprogress'\nimport 'nprogress/nprogress.css'\nimport {$message} from \"../tools/feedback.ts\";\nimport type {UIFeedbackTypes} from \"../types/ui.types.ts\";\nimport {SYSTEM_KEY, useMorghulisAuthorize} from \"./authorize.ts\";\n\nconst {check, logout, $client, user, bearer} = useMorghulisAuthorize()\n\n\nexport function useMorghulisRequest(baseURL: string = '/api/', responseType?: ResponseType) {\n function getRequest(auth?: boolean) {\n const instance = axios.create({baseURL, responseType})\n const {request, response} = instance.interceptors\n request.use((config) => beforeRequest(config, auth), onReject)\n response.use(beforeResponse, onReject)\n return instance\n }\n\n function all() {\n // 实现批量请求功能\n }\n\n return {getRequest, all}\n\n}\n\nfunction beforeRequest(\n config: InternalAxiosRequestConfig, auth?: boolean\n): InternalAxiosRequestConfig | Promise<any> {\n NProgress.start()\n config.headers[SYSTEM_KEY.CLIENT] = $client\n config.headers[SYSTEM_KEY.USER] = user()\n config.headers[SYSTEM_KEY.AUTH] = bearer()\n return config\n}\n\n\nfunction beforeResponse(\n response: AxiosResponse\n): AxiosResponse | Promise<any> {\n NProgress.done()\n let {headers, data} = response\n const UID = headers[SYSTEM_KEY.USER]\n if (UID && !check(UID)) {\n logout()\n return Promise.reject('登录已过期')\n }\n if (data && data.code !== undefined) {\n const {code, message, result} = data\n if (code === 200) return result\n const type = getTypeByCode(code)\n $message[type](message)\n return Promise.reject(message)\n }\n return data\n}\n\nfunction onReject(error: any) {\n NProgress.done()\n if (error.response) {\n const {status} = error.response\n if (status === 401) {\n logout()\n $message.error('登录已过期')\n } else {\n $message.error(`请求错误: ${status}`)\n }\n } else {\n $message.error(`网络错误: ${error.message}`)\n }\n return Promise.reject(error)\n}\n\nfunction getTypeByCode(code: number): UIFeedbackTypes {\n if (code >= 200 && code < 300) return 'success'\n if (code >= 300 && code < 400) return 'info'\n if (code >= 400 && code < 500) return 'warning'\n return 'error'\n}","import { useMorghulisRequest } from '../hooks/request';\nimport type { MorOption } from '../types/io.types';\nimport type { MorghulisOptions } from '../types/channel.types';\n\n// 增强的通信通道实现\nexport const $channel = (options: MorOption & MorghulisOptions = {}) => {\n const baseUrl = options.baseUrl || '';\n const timeout = options.timeout || 30000;\n const headers = options.headers || {};\n \n // 获取请求实例\n const { getRequest } = useMorghulisRequest(baseUrl);\n const http = getRequest();\n \n return {\n // 发送消息\n send: (event: string, data: any) => {\n console.log(`发送消息: ${event}`, data);\n // 使用http实例发送请求\n return http.post(event, data);\n },\n \n // 接收消息\n on: (event: string, callback: Function) => {\n console.log(`监听事件: ${event}`);\n // 实际监听逻辑\n return () => {\n console.log(`取消监听: ${event}`);\n // 取消监听逻辑\n };\n },\n \n // 关闭通道\n close: () => {\n console.log('关闭通道');\n // 实际关闭逻辑\n },\n \n // 暴露http实例\n http\n };\n};","var zhCn = {\n name: \"zh-cn\",\n el: {\n breadcrumb: {\n label: \"\\u9762\\u5305\\u5C51\"\n },\n colorpicker: {\n confirm: \"\\u786E\\u5B9A\",\n clear: \"\\u6E05\\u7A7A\",\n defaultLabel: \"\\u989C\\u8272\\u9009\\u62E9\\u5668\",\n description: \"\\u5F53\\u524D\\u989C\\u8272 {color}\\uFF0C\\u6309 Enter \\u952E\\u9009\\u62E9\\u65B0\\u989C\\u8272\",\n alphaLabel: \"\\u9009\\u62E9\\u900F\\u660E\\u5EA6\\u7684\\u503C\"\n },\n datepicker: {\n now: \"\\u6B64\\u523B\",\n today: \"\\u4ECA\\u5929\",\n cancel: \"\\u53D6\\u6D88\",\n clear: \"\\u6E05\\u7A7A\",\n confirm: \"\\u786E\\u5B9A\",\n dateTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u65E5\\u671F\",\n monthTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u6708\\u4EFD\",\n yearTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u5E74\\u4EFD\",\n selectedDate: \"\\u5DF2\\u9009\\u65E5\\u671F\",\n selectDate: \"\\u9009\\u62E9\\u65E5\\u671F\",\n selectTime: \"\\u9009\\u62E9\\u65F6\\u95F4\",\n startDate: \"\\u5F00\\u59CB\\u65E5\\u671F\",\n startTime: \"\\u5F00\\u59CB\\u65F6\\u95F4\",\n endDate: \"\\u7ED3\\u675F\\u65E5\\u671F\",\n endTime: \"\\u7ED3\\u675F\\u65F6\\u95F4\",\n prevYear: \"\\u524D\\u4E00\\u5E74\",\n nextYear: \"\\u540E\\u4E00\\u5E74\",\n prevMonth: \"\\u4E0A\\u4E2A\\u6708\",\n nextMonth: \"\\u4E0B\\u4E2A\\u6708\",\n year: \"\\u5E74\",\n month1: \"1 \\u6708\",\n month2: \"2 \\u6708\",\n month3: \"3 \\u6708\",\n month4: \"4 \\u6708\",\n month5: \"5 \\u6708\",\n month6: \"6 \\u6708\",\n month7: \"7 \\u6708\",\n month8: \"8 \\u6708\",\n month9: \"9 \\u6708\",\n month10: \"10 \\u6708\",\n month11: \"11 \\u6708\",\n month12: \"12 \\u6708\",\n weeks: {\n sun: \"\\u65E5\",\n mon: \"\\u4E00\",\n tue: \"\\u4E8C\",\n wed: \"\\u4E09\",\n thu: \"\\u56DB\",\n fri: \"\\u4E94\",\n sat: \"\\u516D\"\n },\n weeksFull: {\n sun: \"\\u661F\\u671F\\u65E5\",\n mon: \"\\u661F\\u671F\\u4E00\",\n tue: \"\\u661F\\u671F\\u4E8C\",\n wed: \"\\u661F\\u671F\\u4E09\",\n thu: \"\\u661F\\u671F\\u56DB\",\n fri: \"\\u661F\\u671F\\u4E94\",\n sat: \"\\u661F\\u671F\\u516D\"\n },\n months: {\n jan: \"\\u4E00\\u6708\",\n feb: \"\\u4E8C\\u6708\",\n mar: \"\\u4E09\\u6708\",\n apr: \"\\u56DB\\u6708\",\n may: \"\\u4E94\\u6708\",\n jun: \"\\u516D\\u6708\",\n jul: \"\\u4E03\\u6708\",\n aug: \"\\u516B\\u6708\",\n sep: \"\\u4E5D\\u6708\",\n oct: \"\\u5341\\u6708\",\n nov: \"\\u5341\\u4E00\\u6708\",\n dec: \"\\u5341\\u4E8C\\u6708\"\n }\n },\n inputNumber: {\n decrease: \"\\u51CF\\u5C11\\u6570\\u503C\",\n increase: \"\\u589E\\u52A0\\u6570\\u503C\"\n },\n select: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\"\n },\n dropdown: {\n toggleDropdown: \"\\u5207\\u6362\\u4E0B\\u62C9\\u9009\\u9879\"\n },\n mention: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\"\n },\n cascader: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\",\n noData: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n pagination: {\n goto: \"\\u524D\\u5F80\",\n pagesize: \"\\u6761/\\u9875\",\n total: \"\\u5171 {total} \\u6761\",\n pageClassifier: \"\\u9875\",\n page: \"\\u9875\",\n prev: \"\\u4E0A\\u4E00\\u9875\",\n next: \"\\u4E0B\\u4E00\\u9875\",\n currentPage: \"\\u7B2C {pager} \\u9875\",\n prevPages: \"\\u5411\\u524D {pager} \\u9875\",\n nextPages: \"\\u5411\\u540E {pager} \\u9875\",\n deprecationWarning: \"\\u4F60\\u4F7F\\u7528\\u4E86\\u4E00\\u4E9B\\u5DF2\\u88AB\\u5E9F\\u5F03\\u7684\\u7528\\u6CD5\\uFF0C\\u8BF7\\u53C2\\u8003 el-pagination \\u7684\\u5B98\\u65B9\\u6587\\u6863\"\n },\n dialog: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n drawer: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n messagebox: {\n title: \"\\u63D0\\u793A\",\n confirm: \"\\u786E\\u5B9A\",\n cancel: \"\\u53D6\\u6D88\",\n error: \"\\u8F93\\u5165\\u7684\\u6570\\u636E\\u4E0D\\u5408\\u6CD5!\",\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n upload: {\n deleteTip: \"\\u6309 delete \\u952E\\u53EF\\u5220\\u9664\",\n delete: \"\\u5220\\u9664\",\n preview: \"\\u67E5\\u770B\\u56FE\\u7247\",\n continue: \"\\u7EE7\\u7EED\\u4E0A\\u4F20\"\n },\n slider: {\n defaultLabel: \"\\u6ED1\\u5757\\u4ECB\\u4E8E {min} \\u81F3 {max}\",\n defaultRangeStartLabel: \"\\u9009\\u62E9\\u8D77\\u59CB\\u503C\",\n defaultRangeEndLabel: \"\\u9009\\u62E9\\u7ED3\\u675F\\u503C\"\n },\n table: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\",\n confirmFilter: \"\\u7B5B\\u9009\",\n resetFilter: \"\\u91CD\\u7F6E\",\n clearFilter: \"\\u5168\\u90E8\",\n sumText: \"\\u5408\\u8BA1\"\n },\n tour: {\n next: \"\\u4E0B\\u4E00\\u6B65\",\n previous: \"\\u4E0A\\u4E00\\u6B65\",\n finish: \"\\u7ED3\\u675F\\u5BFC\\u89C8\"\n },\n tree: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n transfer: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n titles: [\"\\u5217\\u8868 1\", \"\\u5217\\u8868 2\"],\n filterPlaceholder: \"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5185\\u5BB9\",\n noCheckedFormat: \"\\u5171 {total} \\u9879\",\n hasCheckedFormat: \"\\u5DF2\\u9009 {checked}/{total} \\u9879\"\n },\n image: {\n error: \"\\u52A0\\u8F7D\\u5931\\u8D25\"\n },\n pageHeader: {\n title: \"\\u8FD4\\u56DE\"\n },\n popconfirm: {\n confirmButtonText: \"\\u786E\\u5B9A\",\n cancelButtonText: \"\\u53D6\\u6D88\"\n },\n carousel: {\n leftArrow: \"\\u4E0A\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n rightArrow: \"\\u4E0B\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n indicator: \"\\u5E7B\\u706F\\u7247\\u5207\\u6362\\u81F3\\u7D22\\u5F15 {index}\"\n }\n }\n};\n\nexport { zhCn as default };\n//# sourceMappingURL=zh-cn.mjs.map\n","export interface MorDialogProps {\n modelValue?: boolean,\n title?: string,\n subTitle?: string,\n width?: string | number,\n fullscreen?: boolean,\n top?: string,\n modal?: boolean,\n modalClass?: string,\n headerClass?: string,\n bodyClass?: string,\n footerClass?: string,\n appendToBody?: boolean,\n appendTo?: string,\n lockScroll?: boolean,\n openDelay?: number,\n closeDelay?: number,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n showClose?: boolean,\n beforeClose?: Function,\n draggable?: boolean,\n overFlow?: boolean,\n center?: boolean,\n alignCenter?: boolean,\n destroyOnClose?: boolean,\n closeIcon?: string,\n zIndex?: number,\n headerAriaLevel?: string,\n confirm?: Function,\n cancel?: Function,\n confirmButtonText?: string\n cancelButtonText?: string\n}\n\nexport const morDialogPropsDefault: MorDialogProps = {\n title: '对话框',\n width: 600,\n fullscreen: false,\n top: '30px',\n modal: true,\n modalClass: 'mor-dialog-modal',\n headerClass: 'mor-dialog-header',\n bodyClass: 'mor-dialog-body-wrapper',\n footerClass: 'mor-dialog-footer',\n appendToBody: true,\n appendTo: 'body',\n lockScroll: true,\n openDelay: 0,\n closeDelay: 0,\n closeOnClickModal: false,\n closeOnPressEscape: false,\n showClose: false,\n beforeClose: (done: Function) => done(),\n draggable: true,\n overFlow: false,\n center: false,\n alignCenter: false,\n destroyOnClose: true,\n closeIcon: 'close',\n confirmButtonText: '确认',\n cancelButtonText: '取消',\n}","<template>\n <el-dialog\n class=\"mor-dialog\"\n v-model=\"visible\"\n v-bind=\"{...$props, ...$attrs}\"\n @close=\"emits('close')\"\n @keydown.esc=\"handleCancel()\"\n >\n <template #header>\n <div>\n <slot name=\"title\" :data=\"$data\">\n <el-text size=\"large\" tag=\"b\">{{ __title }}</el-text>\n </slot>\n <slot name=\"sub-title\" :data=\"$data\">\n <template v-if=\"$subTitle\">\n <el-divider direction=\"vertical\"></el-divider>\n <el-text tag=\"b\" type=\"info\">{{ __subTitle }}</el-text>\n </template>\n </slot>\n </div>\n <div>\n <template v-if=\"hasHeader\">\n <slot name=\"header\" :data=\"$data\"></slot>\n <el-divider direction=\"vertical\"></el-divider>\n </template>\n <el-button\n size=\"small\"\n style=\"padding: 3px 6px\"\n type=\"danger\"\n :disabled=\"loading\"\n @click=\"handleCancel\"\n >\n <fa icon=\"close\"></fa>\n </el-button>\n </div>\n </template>\n <template #default>\n <div\n v-loading=\"loading\"\n class=\"mor-dialog-body\"\n element-loading-background=\"rgba(0,0,0,0.1)\"\n element-loading-text=\"加载中...\"\n >\n <slot :data=\"$data\"></slot>\n </div>\n </template>\n <template #footer v-if=\"showFooter\">\n <el-space>\n <slot v-if=\"hasFooter\" name=\"footer\" :data=\"$data\"/>\n &nbsp;\n </el-space>\n <el-space v-if=\"confirm\">\n <el-button\n type=\"success\"\n :disabled=\"loading\"\n @click=\"handleConfirm\"\n >\n {{ confirmButtonText }}\n </el-button>\n <el-button\n type=\"info\"\n @click=\"handleCancel\"\n :disabled=\"loading\"\n >\n {{ cancelButtonText }}\n </el-button>\n </el-space>\n </template>\n </el-dialog>\n</template>\n\n<script setup lang=\"ts\">\n\nimport {computed, ref, useSlots} from \"vue\";\nimport _ from 'lodash'\n\nimport {morDialogPropsDefault, type MorDialogProps} from \"../../types/dialog.types.ts\";\n\n// 已从types/dialog.types.ts导入MorDialogProps接口,无需重复定义\n\nlet emits = defineEmits(['close', 'update:title', 'update:subTitle', 'update:modelValue'])\nlet props = withDefaults(\n defineProps<MorDialogProps>(),\n morDialogPropsDefault\n)\n\n/**\n * 功能区\n */\nconst slots = useSlots();\nconst hasHeader = computed(() => !!slots.header)\nconst hasFooter = computed(() => !!slots.footer)\nconst showFooter = hasFooter.value || !!props.confirm\n\n\nconst loading = ref(false)\nconst $data: any = ref({})\nconst __title = ref('')\nconst __subTitle = ref('')\nconst $title = computed({\n get: () => props.title,\n set: (v) => {\n emits('update:title', v)\n __title.value = v || '对话框'\n }\n})\nconst $subTitle = computed({\n get: () => props.subTitle,\n set: (v) => {\n emits('update:subTitle', v)\n __subTitle.value = v || ''\n }\n})\n\nconst $origin = ref({})\n\n// 将visible与modelValue同步\nconst visible = computed({\n get: () => props.modelValue,\n set: (value) => {\n emits('update:modelValue', value)\n }\n})\n\nexport type MorDialogConfig = {\n title: string,\n subTitle: string\n}\n\nfunction open(data: any = {}, config?: MorDialogConfig) {\n if (config) {\n const {title, subTitle} = config\n $title.value = title\n $subTitle.value = subTitle\n }\n $origin.value = data\n $data.value = _.cloneDeep(data)\n emits('update:modelValue', true)\n}\n\nfunction close() {\n loading.value = false\n emits('update:modelValue', false)\n}\n\nfunction handleConfirm() {\n loading.value = true\n props.confirm && props.confirm($data.value, close)\n}\n\nfunction handleCancel() {\n loading.value = true\n if (props.cancel) {\n props.cancel($data.value, close)\n } else {\n close()\n }\n}\n\ndefineExpose({open, close})\n\n</script>\n\n<style>\n.mor-dialog {\n border: 2px solid #aaaaaa;\n}\n\n.mor-dialog-modal {\n background-color: rgba(4, 33, 71, 0.15) !important;\n}\n\n.mor-dialog-header {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding-left: 5px;\n}\n\n.mor-dialog-body-wrapper {\n padding: 0;\n background-color: transparent;\n}\n\n.mor-dialog-body {\n background-color: #ffffff;\n}\n\n.mor-dialog-footer {\n color: #aaa;\n padding-left: 5px;\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n}\n</style>","import {useMorghulisRequest} from \"./request\";\n\nexport function useMorghulisChannel(baseURL: string) {\n const {getRequest} = useMorghulisRequest(baseURL)\n const http = getRequest()\n\n // 这里可以添加更多的通道相关功能\n \n return {\n http\n }\n}","import type {App} from \"vue\";\nimport ElementPlus from 'element-plus'\n// 确保导入Element Plus的样式\nimport 'element-plus/dist/index.css'\nimport {$channel} from \"./tools/sockets.ts\";\nimport 'font-awesome/css/font-awesome.css'\n// 导入组件库自身的基础样式\nimport './base.css'\nimport type {MorOption} from \"./types/io.types.ts\";\nimport type {MorghulisOptions} from \"./types/channel.types.ts\";\nimport zhCn from 'element-plus/es/locale/lang/zh-cn'\nimport MDialog from \"./components/dialog/MDialog.vue\";\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons'\nimport {FontAwesomeIcon} from '@fortawesome/vue-fontawesome';\n// 导入Element Plus的组件类型,确保IDE能够识别\nimport type * as ElementPlusComponents from 'element-plus'\n// 导入hooks\nimport {useMorghulisCookies} from \"./hooks/cookies.ts\";\nimport {useMorghulisAuthorize} from \"./hooks/authorize.ts\";\nimport {useMorghulisChannel} from \"./hooks/channel.ts\";\nimport {useMorghulisRequest} from \"./hooks/request.ts\";\n// 导入工具\nimport {$message, $alert, $confirm} from \"./tools/feedback.ts\";\n\n// 注册FontAwesome图标\nlibrary.add(fas);\n\n// 创建Morghulis实例的工厂函数\nexport const createMorghulis = (options?: MorOption & MorghulisOptions) => {\n const channel = $channel(options || {})\n const {baseURL} = options || {baseURL: '/api/', minioURL: '/dfs/'}\n useMorghulisChannel(baseURL as string)\n \n return {\n install: (Vue: App) => {\n Vue.provide('options', options)\n Vue.provide('channel', channel)\n Vue.component('MDialog', MDialog)\n Vue.use(ElementPlus, {\n locale: zhCn,\n })\n Vue.component('fa', FontAwesomeIcon)\n }\n }\n}\n\n// 导出组件,方便单独引入\nexport {\n MDialog\n}\n\n// 导出hooks\nexport {\n useMorghulisCookies,\n useMorghulisAuthorize,\n useMorghulisChannel,\n useMorghulisRequest\n}\n\n// 导出工具\nexport {\n $message,\n $alert,\n $confirm\n}\n\n// 导出Element Plus,确保用户可以访问所有Element Plus组件\nexport { ElementPlus }\n\n// 导出类型定义\nexport type * from './types/dialog.types.ts'\nexport type * from './types/io.types.ts'\nexport type * from './types/channel.types.ts'\nexport type * from './types/feedback.types.ts'\nexport type * from './types/ui.types.ts'\n// 重新导出Element Plus的类型,确保IDE能够识别\nexport type * from 'element-plus'\n\n// 默认导出\nexport default {\n install: (app: App, options?: MorOption) => {\n // 先安装Element Plus,确保其组件和样式被正确加载\n app.use(ElementPlus, {\n locale: zhCn,\n })\n // 再安装Morghulis组件\n createMorghulis(options).install(app)\n }\n}"],"names":["$message","message","ElMessage","$alert","title","ElMessageBox","$confirm","useMorghulisCookies","get","path","key","getKeyFromPath","value","getJsonFromCookies","_path","_","set","remove","Cookies","oldValue","newValue","load","index","SYSTEM_KEY","useMorghulisAuthorize","$client","nanoid","user","uid","check","logout","bearer","useMorghulisRequest","baseURL","responseType","getRequest","auth","instance","axios","request","response","config","beforeRequest","onReject","beforeResponse","all","NProgress","headers","data","UID","code","result","type","getTypeByCode","error","status","$channel","options","baseUrl","http","event","callback","zhCn","morDialogPropsDefault","done","emits","__emit","props","__props","slots","useSlots","hasHeader","computed","hasFooter","showFooter","loading","ref","$data","__title","__subTitle","$title","v","$subTitle","$origin","visible","open","subTitle","close","handleConfirm","handleCancel","__expose","useMorghulisChannel","library","fas","createMorghulis","channel","Vue","MDialog","ElementPlus","FontAwesomeIcon","app"],"mappings":"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","x_google_ignoreList":[5]}
1
+ {"version":3,"file":"morghulis.es.js","sources":["../src/tools/feedback.ts","../src/hooks/cookies.ts","../src/hooks/authorize.ts","../src/hooks/request.ts","../src/tools/sockets.ts","../node_modules/element-plus/es/locale/lang/zh-cn.mjs","../src/types/dialog.types.ts","../src/components/dialog/MDialog.vue","../src/hooks/channel.ts","../src/index.ts"],"sourcesContent":["import {ElMessage} from 'element-plus'\nimport {ElMessageBox} from 'element-plus'\nimport type {MorghulisMessageInterface, MorghulisMessageBoxInterface} from \"../types/feedback.types\";\n\nexport const $message: MorghulisMessageInterface = {\n info: (message: string) => ElMessage({message, type: 'info', grouping: true}),\n success: (message: string) => ElMessage({message, type: 'success', grouping: true}),\n warning: (message: string) => ElMessage({message, type: 'warning', grouping: true}),\n error: (message: string) => ElMessage({message, type: 'error', grouping: true}),\n}\n\nexport const $alert: MorghulisMessageBoxInterface = {\n info: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'info'}),\n success: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'success'}),\n warning: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'warning'}),\n error: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'error'}),\n}\n\nexport const $confirm: MorghulisMessageBoxInterface = {\n info: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'info'}),\n success: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'success'}),\n warning: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'warning'}),\n error: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'error'}),\n}","import Cookies from 'js-cookie'\nimport _ from 'lodash'\n\n\nexport function useMorghulisCookies() {\n\n function get(path: string): any {\n const key = getKeyFromPath(path)\n const value = getJsonFromCookies(key)\n const _path = path.substring(path.indexOf('.') + 1)\n return key === path ? value : _.get(value, _path)\n }\n\n function set(path: string, value?: any): void {\n const key = getKeyFromPath(path)\n if (value == null) remove(key)\n else if (key === path) Cookies.set(key, JSON.stringify(value))\n else {\n const oldValue = getJsonFromCookies(key) || {}\n const newValue = _.set(oldValue, path, value);\n Cookies.set(key, JSON.stringify(newValue))\n }\n }\n\n function load(key: string, value?: any): any {\n const val = get(key)\n if (val == null) set(key, value)\n return get(key)\n }\n\n function remove(path: string): void {\n const key = getKeyFromPath(path)\n if (key === path) Cookies.remove(key)\n else {\n const value = getJsonFromCookies(key)\n const _path = path.substring(path.indexOf('.') + 1)\n _.unset(value, _path)\n set(key, value)\n }\n }\n\n return {get, set, remove, load}\n}\n\nfunction getKeyFromPath(path: string) {\n const ks = path.split('.')\n let key = ks[0]\n let index = key.indexOf('[')\n return index === -1 ? key : key.substring(0, index)\n}\n\nfunction getJsonFromCookies(key: string) {\n const value = Cookies.get(key)\n if (value == null) return null\n try {\n return JSON.parse(value)\n } catch (e) {\n return value\n }\n}","import {useMorghulisCookies} from \"./cookies\";\nimport {nanoid} from \"nanoid\";\n\nexport const SYSTEM_KEY = {\n CLIENT: 'client', USER: 'uid', AUTH: 'auth',\n}\nconst {load, get, remove, set} = useMorghulisCookies()\n\nexport function useMorghulisAuthorize() {\n let $client = nanoid().replace(/-/g, '_')\n $client = load(SYSTEM_KEY.CLIENT, $client)\n const user = () => get(SYSTEM_KEY.USER)\n const check = (uid?: any) => user() === uid\n \n // 修改login方法,使其返回Promise\n const login = (uid: any) => {\n return new Promise((resolve) => {\n set(SYSTEM_KEY.USER, uid)\n resolve(uid)\n })\n }\n \n // 修改logout方法,使其返回Promise\n const logout = () => {\n return new Promise((resolve) => {\n remove(SYSTEM_KEY.USER)\n resolve(true)\n })\n }\n \n const bearer = () => user() ? `Bearer ${123}` : null\n return {$client, user, check, login, logout, bearer}\n}","import type {AxiosResponse, InternalAxiosRequestConfig} from 'axios'\nimport axios, {type ResponseType} from 'axios'\nimport NProgress from 'nprogress'\nimport 'nprogress/nprogress.css'\nimport {$message} from \"../tools/feedback.ts\";\nimport type {UIFeedbackTypes} from \"../types/ui.types.ts\";\nimport {SYSTEM_KEY, useMorghulisAuthorize} from \"./authorize.ts\";\n\nconst {check, logout, $client, user, bearer} = useMorghulisAuthorize()\n\n\nexport function useMorghulisRequest(baseURL: string = '/api/', responseType?: ResponseType) {\n function getRequest(auth?: boolean) {\n const instance = axios.create({baseURL, responseType})\n const {request, response} = instance.interceptors\n request.use((config) => beforeRequest(config, auth), onReject)\n response.use(beforeResponse, onReject)\n return instance\n }\n\n function all() {\n // 实现批量请求功能\n }\n\n return {getRequest, all}\n\n}\n\nfunction beforeRequest(\n config: InternalAxiosRequestConfig, auth?: boolean\n): InternalAxiosRequestConfig | Promise<any> {\n NProgress.start()\n config.headers[SYSTEM_KEY.CLIENT] = $client\n config.headers[SYSTEM_KEY.USER] = user()\n config.headers[SYSTEM_KEY.AUTH] = bearer()\n return config\n}\n\n\nfunction beforeResponse(\n response: AxiosResponse\n): AxiosResponse | Promise<any> {\n NProgress.done()\n let {headers, data} = response\n const UID = headers[SYSTEM_KEY.USER]\n if (UID && !check(UID)) {\n logout()\n return Promise.reject('登录已过期')\n }\n if (data && data.code !== undefined) {\n const {code, message, result} = data\n if (code === 200) return result\n const type = getTypeByCode(code)\n $message[type](message)\n return Promise.reject(message)\n }\n return data\n}\n\nfunction onReject(error: any) {\n NProgress.done()\n if (error.response) {\n const {status} = error.response\n if (status === 401) {\n logout()\n $message.error('登录已过期')\n } else {\n $message.error(`请求错误: ${status}`)\n }\n } else {\n $message.error(`网络错误: ${error.message}`)\n }\n return Promise.reject(error)\n}\n\nfunction getTypeByCode(code: number): UIFeedbackTypes {\n if (code >= 200 && code < 300) return 'success'\n if (code >= 300 && code < 400) return 'info'\n if (code >= 400 && code < 500) return 'warning'\n return 'error'\n}","import { useMorghulisRequest } from '../hooks/request';\nimport type { MorOption } from '../types/io.types';\nimport type { MorghulisOptions } from '../types/channel.types';\n\n// 增强的通信通道实现\nexport const $channel = (options: MorOption & MorghulisOptions = {}) => {\n const baseUrl = options.baseUrl || '';\n const timeout = options.timeout || 30000;\n const headers = options.headers || {};\n \n // 获取请求实例\n const { getRequest } = useMorghulisRequest(baseUrl);\n const http = getRequest();\n \n return {\n // 发送消息\n send: (event: string, data: any) => {\n console.log(`发送消息: ${event}`, data);\n // 使用http实例发送请求\n return http.post(event, data);\n },\n \n // 接收消息\n on: (event: string, callback: Function) => {\n console.log(`监听事件: ${event}`);\n // 实际监听逻辑\n return () => {\n console.log(`取消监听: ${event}`);\n // 取消监听逻辑\n };\n },\n \n // 关闭通道\n close: () => {\n console.log('关闭通道');\n // 实际关闭逻辑\n },\n \n // 暴露http实例\n http\n };\n};","var zhCn = {\n name: \"zh-cn\",\n el: {\n breadcrumb: {\n label: \"\\u9762\\u5305\\u5C51\"\n },\n colorpicker: {\n confirm: \"\\u786E\\u5B9A\",\n clear: \"\\u6E05\\u7A7A\",\n defaultLabel: \"\\u989C\\u8272\\u9009\\u62E9\\u5668\",\n description: \"\\u5F53\\u524D\\u989C\\u8272 {color}\\uFF0C\\u6309 Enter \\u952E\\u9009\\u62E9\\u65B0\\u989C\\u8272\",\n alphaLabel: \"\\u9009\\u62E9\\u900F\\u660E\\u5EA6\\u7684\\u503C\"\n },\n datepicker: {\n now: \"\\u6B64\\u523B\",\n today: \"\\u4ECA\\u5929\",\n cancel: \"\\u53D6\\u6D88\",\n clear: \"\\u6E05\\u7A7A\",\n confirm: \"\\u786E\\u5B9A\",\n dateTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u65E5\\u671F\",\n monthTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u6708\\u4EFD\",\n yearTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u5E74\\u4EFD\",\n selectedDate: \"\\u5DF2\\u9009\\u65E5\\u671F\",\n selectDate: \"\\u9009\\u62E9\\u65E5\\u671F\",\n selectTime: \"\\u9009\\u62E9\\u65F6\\u95F4\",\n startDate: \"\\u5F00\\u59CB\\u65E5\\u671F\",\n startTime: \"\\u5F00\\u59CB\\u65F6\\u95F4\",\n endDate: \"\\u7ED3\\u675F\\u65E5\\u671F\",\n endTime: \"\\u7ED3\\u675F\\u65F6\\u95F4\",\n prevYear: \"\\u524D\\u4E00\\u5E74\",\n nextYear: \"\\u540E\\u4E00\\u5E74\",\n prevMonth: \"\\u4E0A\\u4E2A\\u6708\",\n nextMonth: \"\\u4E0B\\u4E2A\\u6708\",\n year: \"\\u5E74\",\n month1: \"1 \\u6708\",\n month2: \"2 \\u6708\",\n month3: \"3 \\u6708\",\n month4: \"4 \\u6708\",\n month5: \"5 \\u6708\",\n month6: \"6 \\u6708\",\n month7: \"7 \\u6708\",\n month8: \"8 \\u6708\",\n month9: \"9 \\u6708\",\n month10: \"10 \\u6708\",\n month11: \"11 \\u6708\",\n month12: \"12 \\u6708\",\n weeks: {\n sun: \"\\u65E5\",\n mon: \"\\u4E00\",\n tue: \"\\u4E8C\",\n wed: \"\\u4E09\",\n thu: \"\\u56DB\",\n fri: \"\\u4E94\",\n sat: \"\\u516D\"\n },\n weeksFull: {\n sun: \"\\u661F\\u671F\\u65E5\",\n mon: \"\\u661F\\u671F\\u4E00\",\n tue: \"\\u661F\\u671F\\u4E8C\",\n wed: \"\\u661F\\u671F\\u4E09\",\n thu: \"\\u661F\\u671F\\u56DB\",\n fri: \"\\u661F\\u671F\\u4E94\",\n sat: \"\\u661F\\u671F\\u516D\"\n },\n months: {\n jan: \"\\u4E00\\u6708\",\n feb: \"\\u4E8C\\u6708\",\n mar: \"\\u4E09\\u6708\",\n apr: \"\\u56DB\\u6708\",\n may: \"\\u4E94\\u6708\",\n jun: \"\\u516D\\u6708\",\n jul: \"\\u4E03\\u6708\",\n aug: \"\\u516B\\u6708\",\n sep: \"\\u4E5D\\u6708\",\n oct: \"\\u5341\\u6708\",\n nov: \"\\u5341\\u4E00\\u6708\",\n dec: \"\\u5341\\u4E8C\\u6708\"\n }\n },\n inputNumber: {\n decrease: \"\\u51CF\\u5C11\\u6570\\u503C\",\n increase: \"\\u589E\\u52A0\\u6570\\u503C\"\n },\n select: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\"\n },\n dropdown: {\n toggleDropdown: \"\\u5207\\u6362\\u4E0B\\u62C9\\u9009\\u9879\"\n },\n mention: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\"\n },\n cascader: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\",\n noData: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n pagination: {\n goto: \"\\u524D\\u5F80\",\n pagesize: \"\\u6761/\\u9875\",\n total: \"\\u5171 {total} \\u6761\",\n pageClassifier: \"\\u9875\",\n page: \"\\u9875\",\n prev: \"\\u4E0A\\u4E00\\u9875\",\n next: \"\\u4E0B\\u4E00\\u9875\",\n currentPage: \"\\u7B2C {pager} \\u9875\",\n prevPages: \"\\u5411\\u524D {pager} \\u9875\",\n nextPages: \"\\u5411\\u540E {pager} \\u9875\",\n deprecationWarning: \"\\u4F60\\u4F7F\\u7528\\u4E86\\u4E00\\u4E9B\\u5DF2\\u88AB\\u5E9F\\u5F03\\u7684\\u7528\\u6CD5\\uFF0C\\u8BF7\\u53C2\\u8003 el-pagination \\u7684\\u5B98\\u65B9\\u6587\\u6863\"\n },\n dialog: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n drawer: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n messagebox: {\n title: \"\\u63D0\\u793A\",\n confirm: \"\\u786E\\u5B9A\",\n cancel: \"\\u53D6\\u6D88\",\n error: \"\\u8F93\\u5165\\u7684\\u6570\\u636E\\u4E0D\\u5408\\u6CD5!\",\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n upload: {\n deleteTip: \"\\u6309 delete \\u952E\\u53EF\\u5220\\u9664\",\n delete: \"\\u5220\\u9664\",\n preview: \"\\u67E5\\u770B\\u56FE\\u7247\",\n continue: \"\\u7EE7\\u7EED\\u4E0A\\u4F20\"\n },\n slider: {\n defaultLabel: \"\\u6ED1\\u5757\\u4ECB\\u4E8E {min} \\u81F3 {max}\",\n defaultRangeStartLabel: \"\\u9009\\u62E9\\u8D77\\u59CB\\u503C\",\n defaultRangeEndLabel: \"\\u9009\\u62E9\\u7ED3\\u675F\\u503C\"\n },\n table: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\",\n confirmFilter: \"\\u7B5B\\u9009\",\n resetFilter: \"\\u91CD\\u7F6E\",\n clearFilter: \"\\u5168\\u90E8\",\n sumText: \"\\u5408\\u8BA1\"\n },\n tour: {\n next: \"\\u4E0B\\u4E00\\u6B65\",\n previous: \"\\u4E0A\\u4E00\\u6B65\",\n finish: \"\\u7ED3\\u675F\\u5BFC\\u89C8\"\n },\n tree: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n transfer: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n titles: [\"\\u5217\\u8868 1\", \"\\u5217\\u8868 2\"],\n filterPlaceholder: \"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5185\\u5BB9\",\n noCheckedFormat: \"\\u5171 {total} \\u9879\",\n hasCheckedFormat: \"\\u5DF2\\u9009 {checked}/{total} \\u9879\"\n },\n image: {\n error: \"\\u52A0\\u8F7D\\u5931\\u8D25\"\n },\n pageHeader: {\n title: \"\\u8FD4\\u56DE\"\n },\n popconfirm: {\n confirmButtonText: \"\\u786E\\u5B9A\",\n cancelButtonText: \"\\u53D6\\u6D88\"\n },\n carousel: {\n leftArrow: \"\\u4E0A\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n rightArrow: \"\\u4E0B\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n indicator: \"\\u5E7B\\u706F\\u7247\\u5207\\u6362\\u81F3\\u7D22\\u5F15 {index}\"\n }\n }\n};\n\nexport { zhCn as default };\n//# sourceMappingURL=zh-cn.mjs.map\n","export interface MorDialogProps {\n modelValue?: boolean,\n title?: string,\n subTitle?: string,\n width?: string | number,\n fullscreen?: boolean,\n top?: string,\n modal?: boolean,\n modalClass?: string,\n headerClass?: string,\n bodyClass?: string,\n footerClass?: string,\n appendToBody?: boolean,\n appendTo?: string,\n lockScroll?: boolean,\n openDelay?: number,\n closeDelay?: number,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n showClose?: boolean,\n beforeClose?: Function,\n draggable?: boolean,\n overFlow?: boolean,\n center?: boolean,\n alignCenter?: boolean,\n destroyOnClose?: boolean,\n closeIcon?: string,\n zIndex?: number,\n headerAriaLevel?: string,\n confirm?: Function,\n cancel?: Function,\n confirmButtonText?: string\n cancelButtonText?: string\n}\n\nexport const morDialogPropsDefault: MorDialogProps = {\n title: '对话框',\n width: 600,\n fullscreen: false,\n top: '30px',\n modal: true,\n modalClass: 'mor-dialog-modal',\n headerClass: 'mor-dialog-header',\n bodyClass: 'mor-dialog-body-wrapper',\n footerClass: 'mor-dialog-footer',\n appendToBody: true,\n appendTo: 'body',\n lockScroll: true,\n openDelay: 0,\n closeDelay: 0,\n closeOnClickModal: false,\n closeOnPressEscape: false,\n showClose: false,\n beforeClose: (done: Function) => done(),\n draggable: true,\n overFlow: false,\n center: false,\n alignCenter: false,\n destroyOnClose: true,\n closeIcon: 'close',\n confirmButtonText: '确认',\n cancelButtonText: '取消',\n}","<template>\n <el-dialog\n class=\"mor-dialog\"\n v-model=\"visible\"\n v-bind=\"{...$props, ...$attrs}\"\n @close=\"emits('close')\"\n @keydown.esc=\"handleCancel()\"\n >\n <template #header>\n <div>\n <slot name=\"title\" :data=\"$data\">\n <el-text size=\"large\" tag=\"b\">{{ __title }}</el-text>\n </slot>\n <slot name=\"sub-title\" :data=\"$data\">\n <template v-if=\"$subTitle\">\n <el-divider direction=\"vertical\"></el-divider>\n <el-text tag=\"b\" type=\"info\">{{ __subTitle }}</el-text>\n </template>\n </slot>\n </div>\n <div>\n <template v-if=\"hasHeader\">\n <slot name=\"header\" :data=\"$data\"></slot>\n <el-divider direction=\"vertical\"></el-divider>\n </template>\n <el-button\n size=\"small\"\n style=\"padding: 3px 6px\"\n type=\"danger\"\n :disabled=\"loading\"\n @click=\"handleCancel\"\n >\n <fa icon=\"close\"></fa>\n </el-button>\n </div>\n </template>\n <template #default>\n <div\n v-loading=\"loading\"\n class=\"mor-dialog-body\"\n element-loading-background=\"rgba(0,0,0,0.1)\"\n element-loading-text=\"加载中...\"\n >\n <slot :data=\"$data\"></slot>\n </div>\n </template>\n <template #footer v-if=\"showFooter\">\n <el-space>\n <slot v-if=\"hasFooter\" name=\"footer\" :data=\"$data\"/>\n &nbsp;\n </el-space>\n <el-space v-if=\"confirm\">\n <el-button\n type=\"success\"\n :disabled=\"loading\"\n @click=\"handleConfirm\"\n >\n {{ confirmButtonText }}\n </el-button>\n <el-button\n type=\"info\"\n @click=\"handleCancel\"\n :disabled=\"loading\"\n >\n {{ cancelButtonText }}\n </el-button>\n </el-space>\n </template>\n </el-dialog>\n</template>\n\n<script setup lang=\"ts\">\n\nimport {computed, ref, useSlots} from \"vue\";\nimport _ from 'lodash'\n\nimport {morDialogPropsDefault, type MorDialogProps} from \"../../types/dialog.types.ts\";\n\n// 已从types/dialog.types.ts导入MorDialogProps接口,无需重复定义\n\nlet emits = defineEmits(['close', 'update:title', 'update:subTitle', 'update:modelValue'])\nlet props = withDefaults(\n defineProps<MorDialogProps>(),\n morDialogPropsDefault\n)\n\n/**\n * 功能区\n */\nconst slots = useSlots();\nconst hasHeader = computed(() => !!slots.header)\nconst hasFooter = computed(() => !!slots.footer)\nconst showFooter = hasFooter.value || !!props.confirm\n\n\nconst loading = ref(false)\nconst $data: any = ref({})\nconst __title = ref('')\nconst __subTitle = ref('')\nconst $title = computed({\n get: () => props.title,\n set: (v) => {\n emits('update:title', v)\n __title.value = v || '对话框'\n }\n})\nconst $subTitle = computed({\n get: () => props.subTitle,\n set: (v) => {\n emits('update:subTitle', v)\n __subTitle.value = v || ''\n }\n})\n\nconst $origin = ref({})\n\n// 将visible与modelValue同步\nconst visible = computed({\n get: () => props.modelValue,\n set: (value) => {\n emits('update:modelValue', value)\n }\n})\n\nexport type MorDialogConfig = {\n title: string,\n subTitle: string\n}\n\nfunction open(data: any = {}, config?: MorDialogConfig) {\n if (config) {\n const {title, subTitle} = config\n $title.value = title\n $subTitle.value = subTitle\n }\n $origin.value = data\n $data.value = _.cloneDeep(data)\n emits('update:modelValue', true)\n}\n\nfunction close() {\n loading.value = false\n emits('update:modelValue', false)\n}\n\nfunction handleConfirm() {\n loading.value = true\n props.confirm && props.confirm($data.value, close)\n}\n\nfunction handleCancel() {\n loading.value = true\n if (props.cancel) {\n props.cancel($data.value, close)\n } else {\n close()\n }\n}\n\ndefineExpose({open, close})\n\n</script>\n\n<style>\n.mor-dialog {\n border: 2px solid #aaaaaa;\n}\n\n.mor-dialog-modal {\n background-color: rgba(4, 33, 71, 0.15) !important;\n}\n\n.mor-dialog-header {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding-left: 5px;\n}\n\n.mor-dialog-body-wrapper {\n padding: 0;\n background-color: transparent;\n}\n\n.mor-dialog-body {\n background-color: #ffffff;\n}\n\n.mor-dialog-footer {\n color: #aaa;\n padding-left: 5px;\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n}\n</style>","import {useMorghulisRequest} from \"./request\";\n\nexport function useMorghulisChannel(baseURL: string) {\n const {getRequest} = useMorghulisRequest(baseURL)\n const http = getRequest()\n\n // 这里可以添加更多的通道相关功能\n \n return {\n http\n }\n}","import type {App} from \"vue\";\nimport ElementPlus from 'element-plus'\n// 确保导入Element Plus的样式\nimport 'element-plus/dist/index.css'\nimport {$channel} from \"./tools/sockets.ts\";\nimport 'font-awesome/css/font-awesome.css'\n// 导入组件库自身的基础样式\nimport './base.css'\nimport type {MorOption} from \"./types/io.types.ts\";\nimport type {MorghulisOptions} from \"./types/channel.types.ts\";\nimport zhCn from 'element-plus/es/locale/lang/zh-cn'\nimport MDialog from \"./components/dialog/MDialog.vue\";\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons'\nimport {FontAwesomeIcon} from '@fortawesome/vue-fontawesome';\n// 导入Element Plus的组件类型,确保IDE能够识别\nimport type * as ElementPlusComponents from 'element-plus'\n// 导入hooks\nimport {useMorghulisCookies} from \"./hooks/cookies.ts\";\nimport {useMorghulisAuthorize} from \"./hooks/authorize.ts\";\nimport {useMorghulisChannel} from \"./hooks/channel.ts\";\nimport {useMorghulisRequest} from \"./hooks/request.ts\";\n// 导入工具\nimport {$message, $alert, $confirm} from \"./tools/feedback.ts\";\n\n// 注册FontAwesome图标\nlibrary.add(fas);\n\n// 创建Morghulis实例的工厂函数\nexport const createMorghulis = (options?: MorOption & MorghulisOptions) => {\n const channel = $channel(options || {})\n const {baseURL} = options || {baseURL: '/api/', minioURL: '/dfs/'}\n useMorghulisChannel(baseURL as string)\n \n return {\n install: (Vue: App) => {\n Vue.provide('options', options)\n Vue.provide('channel', channel)\n Vue.component('MDialog', MDialog)\n Vue.use(ElementPlus, {\n locale: zhCn,\n })\n Vue.component('fa', FontAwesomeIcon)\n }\n }\n}\n\n// 导出组件,方便单独引入\nexport {\n MDialog\n}\n\n// 导出hooks\nexport {\n useMorghulisCookies,\n useMorghulisAuthorize,\n useMorghulisChannel,\n useMorghulisRequest\n}\n\n// 导出工具\nexport {\n $message,\n $alert,\n $confirm\n}\n\n// 导出Element Plus,确保用户可以访问所有Element Plus组件\nexport { ElementPlus }\n\n// 导出类型定义\nexport type * from './types/dialog.types.ts'\nexport type * from './types/io.types.ts'\nexport type * from './types/channel.types.ts'\nexport type * from './types/feedback.types.ts'\nexport type * from './types/ui.types.ts'\n// 重新导出Element Plus的类型,确保IDE能够识别\nexport type * from 'element-plus'\n\n// 默认导出\nexport default {\n install: (app: App, options?: MorOption) => {\n // 先安装Element Plus,确保其组件和样式被正确加载\n app.use(ElementPlus, {\n locale: zhCn,\n })\n // 再安装Morghulis组件\n createMorghulis(options).install(app)\n }\n}"],"names":["$message","message","ElMessage","$alert","title","ElMessageBox","$confirm","useMorghulisCookies","get","path","key","getKeyFromPath","value","getJsonFromCookies","_path","_","set","remove","Cookies","oldValue","newValue","load","index","SYSTEM_KEY","useMorghulisAuthorize","$client","nanoid","user","uid","resolve","check","logout","bearer","useMorghulisRequest","baseURL","responseType","getRequest","auth","instance","axios","request","response","config","beforeRequest","onReject","beforeResponse","all","NProgress","headers","data","UID","code","result","type","getTypeByCode","error","status","$channel","options","baseUrl","http","event","callback","zhCn","morDialogPropsDefault","done","emits","__emit","props","__props","slots","useSlots","hasHeader","computed","hasFooter","showFooter","loading","ref","$data","__title","__subTitle","$title","v","$subTitle","$origin","visible","open","subTitle","close","handleConfirm","handleCancel","__expose","useMorghulisChannel","library","fas","createMorghulis","channel","Vue","MDialog","ElementPlus","FontAwesomeIcon","app"],"mappings":"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","x_google_ignoreList":[5]}
@@ -1,2 +1,2 @@
1
- (function(s,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("element-plus"),require("axios"),require("nprogress"),require("nprogress/nprogress.css"),require("js-cookie"),require("lodash"),require("nanoid"),require("vue"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/vue-fontawesome")):typeof define=="function"&&define.amd?define(["exports","element-plus","axios","nprogress","nprogress/nprogress.css","js-cookie","lodash","nanoid","vue","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/vue-fontawesome"],c):(s=typeof globalThis<"u"?globalThis:s||self,c(s.Morghulis={},s.ElementPlus,s.axios,s.NProgress,null,s.Cookies,s._,s.nanoid,s.Vue,s.FontawesomeCore,s.FontawesomeIcons,s.FontawesomeVue))})(this,function(s,c,H,w,Be,B,h,J,e,K,Y,P){"use strict";const he="",g={info:u=>c.ElMessage({message:u,type:"info",grouping:!0}),success:u=>c.ElMessage({message:u,type:"success",grouping:!0}),warning:u=>c.ElMessage({message:u,type:"warning",grouping:!0}),error:u=>c.ElMessage({message:u,type:"error",grouping:!0})},v={info:(u,o)=>c.ElMessageBox.alert(u,o,{type:"info"}),success:(u,o)=>c.ElMessageBox.alert(u,o,{type:"success"}),warning:(u,o)=>c.ElMessageBox.alert(u,o,{type:"warning"}),error:(u,o)=>c.ElMessageBox.alert(u,o,{type:"error"})},W={info:(u,o)=>c.ElMessageBox.confirm(u,o,{type:"info"}),success:(u,o)=>c.ElMessageBox.confirm(u,o,{type:"success"}),warning:(u,o)=>c.ElMessageBox.confirm(u,o,{type:"warning"}),error:(u,o)=>c.ElMessageBox.confirm(u,o,{type:"error"})};function _(){function u(t){const r=b(t),a=T(r),d=t.substring(t.indexOf(".")+1);return r===t?a:h.get(a,d)}function o(t,r){const a=b(t);if(r==null)n(a);else if(a===t)B.set(a,JSON.stringify(r));else{const d=T(a)||{},F=h.set(d,t,r);B.set(a,JSON.stringify(F))}}function l(t,r){return u(t)==null&&o(t,r),u(t)}function n(t){const r=b(t);if(r===t)B.remove(r);else{const a=T(r),d=t.substring(t.indexOf(".")+1);h.unset(a,d),o(r,a)}}return{get:u,set:o,remove:n,load:l}}function b(u){let l=u.split(".")[0],n=l.indexOf("[");return n===-1?l:l.substring(0,n)}function T(u){const o=B.get(u);if(o==null)return null;try{return JSON.parse(o)}catch{return o}}const p={CLIENT:"client",USER:"uid",AUTH:"auth"},{load:G,get:Q,remove:X,set:Z}=_();function V(){let u=J.nanoid().replace(/-/g,"_");u=G(p.CLIENT,u);const o=()=>Q(p.USER);return{$client:u,user:o,check:a=>o()===a,login:a=>Z(p.USER,a),logout:()=>X(p.USER),bearer:()=>o()?"Bearer 123":null}}const{check:ee,logout:$,$client:ue,user:oe,bearer:te}=V();function x(u="/api/",o){function l(t){const r=H.create({baseURL:u,responseType:o}),{request:a,response:d}=r.interceptors;return a.use(F=>ne(F),S),d.use(re,S),r}function n(){}return{getRequest:l,all:n}}function ne(u,o){return w.start(),u.headers[p.CLIENT]=ue,u.headers[p.USER]=oe(),u.headers[p.AUTH]=te(),u}function re(u){w.done();let{headers:o,data:l}=u;const n=o[p.USER];if(n&&!ee(n))return $(),Promise.reject("登录已过期");if(l&&l.code!==void 0){const{code:t,message:r,result:a}=l;if(t===200)return a;const d=se(t);return g[d](r),Promise.reject(r)}return l}function S(u){if(w.done(),u.response){const{status:o}=u.response;o===401?($(),g.error("登录已过期")):g.error(`请求错误: ${o}`)}else g.error(`网络错误: ${u.message}`);return Promise.reject(u)}function se(u){return u>=200&&u<300?"success":u>=300&&u<400?"info":u>=400&&u<500?"warning":"error"}const ae=(u={})=>{const o=u.baseUrl||"";u.timeout,u.headers;const{getRequest:l}=x(o),n=l();return{send:(t,r)=>(console.log(`发送消息: ${t}`,r),n.post(t,r)),on:(t,r)=>(console.log(`监听事件: ${t}`),()=>{console.log(`取消监听: ${t}`)}),close:()=>{console.log("关闭通道")},http:n}},Ce="",De="";var N={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},dropdown:{toggleDropdown:"切换下拉选项"},mention:{loading:"加载中"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计"},tour:{next:"下一步",previous:"上一步",finish:"结束导览"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};const le={title:"对话框",width:600,fullscreen:!1,top:"30px",modal:!0,modalClass:"mor-dialog-modal",headerClass:"mor-dialog-header",bodyClass:"mor-dialog-body-wrapper",footerClass:"mor-dialog-footer",appendToBody:!0,appendTo:"body",lockScroll:!0,openDelay:0,closeDelay:0,closeOnClickModal:!1,closeOnPressEscape:!1,showClose:!1,beforeClose:u=>u(),draggable:!0,overFlow:!1,center:!1,alignCenter:!1,destroyOnClose:!0,closeIcon:"close",confirmButtonText:"确认",cancelButtonText:"取消"},ie={class:"mor-dialog-body","element-loading-background":"rgba(0,0,0,0.1)","element-loading-text":"加载中..."},R=e.defineComponent({__name:"MDialog",props:e.mergeDefaults({modelValue:{type:Boolean},title:{},subTitle:{},width:{},fullscreen:{type:Boolean},top:{},modal:{type:Boolean},modalClass:{},headerClass:{},bodyClass:{},footerClass:{},appendToBody:{type:Boolean},appendTo:{},lockScroll:{type:Boolean},openDelay:{},closeDelay:{},closeOnClickModal:{type:Boolean},closeOnPressEscape:{type:Boolean},showClose:{type:Boolean},beforeClose:{type:Function},draggable:{type:Boolean},overFlow:{type:Boolean},center:{type:Boolean},alignCenter:{type:Boolean},destroyOnClose:{type:Boolean},closeIcon:{},zIndex:{},headerAriaLevel:{},confirm:{type:Function},cancel:{type:Function},confirmButtonText:{},cancelButtonText:{}},le),emits:["close","update:title","update:subTitle","update:modelValue"],setup(u,{expose:o,emit:l}){let n=l,t=u;const r=e.useSlots(),a=e.computed(()=>!!r.header),d=e.computed(()=>!!r.footer),F=d.value||!!t.confirm,m=e.ref(!1),f=e.ref({}),O=e.ref(""),L=e.ref(""),de=e.computed({get:()=>t.title,set:i=>{n("update:title",i),O.value=i||"对话框"}}),j=e.computed({get:()=>t.subTitle,set:i=>{n("update:subTitle",i),L.value=i||""}}),Ee=e.ref({}),I=e.computed({get:()=>t.modelValue,set:i=>{n("update:modelValue",i)}});function pe(i={},E){if(E){const{title:D,subTitle:y}=E;de.value=D,j.value=y}Ee.value=i,f.value=h.cloneDeep(i),n("update:modelValue",!0)}function C(){m.value=!1,n("update:modelValue",!1)}function fe(){m.value=!0,t.confirm&&t.confirm(f.value,C)}function k(){m.value=!0,t.cancel?t.cancel(f.value,C):C()}return o({open:pe,close:C}),(i,E)=>{const D=e.resolveComponent("el-text"),y=e.resolveComponent("el-divider"),me=e.resolveComponent("fa"),M=e.resolveComponent("el-button"),z=e.resolveComponent("el-space"),ge=e.resolveComponent("el-dialog"),Fe=e.resolveDirective("loading");return e.openBlock(),e.createBlock(ge,e.mergeProps({class:"mor-dialog",modelValue:I.value,"onUpdate:modelValue":E[0]||(E[0]=A=>I.value=A)},{...i.$props,...i.$attrs},{onClose:E[1]||(E[1]=A=>e.unref(n)("close")),onKeydown:E[2]||(E[2]=e.withKeys(A=>k(),["esc"]))}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",null,[e.renderSlot(i.$slots,"title",{data:f.value},()=>[e.createVNode(D,{size:"large",tag:"b"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(O.value),1)]),_:1})]),e.renderSlot(i.$slots,"sub-title",{data:f.value},()=>[j.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(y,{direction:"vertical"}),e.createVNode(D,{tag:"b",type:"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(L.value),1)]),_:1})],64)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(i.$slots,"header",{data:f.value}),e.createVNode(y,{direction:"vertical"})],64)):e.createCommentVNode("",!0),e.createVNode(M,{size:"small",style:{padding:"3px 6px"},type:"danger",disabled:m.value,onClick:k},{default:e.withCtx(()=>[e.createVNode(me,{icon:"close"})]),_:1},8,["disabled"])])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(i.$slots,"default",{data:f.value})])),[[Fe,m.value]])]),_:2},[e.unref(F)?{name:"footer",fn:e.withCtx(()=>[e.createVNode(z,null,{default:e.withCtx(()=>[d.value?e.renderSlot(i.$slots,"footer",{key:0,data:f.value}):e.createCommentVNode("",!0),E[3]||(E[3]=e.createTextVNode("   "))]),_:3}),i.confirm?(e.openBlock(),e.createBlock(z,{key:0},{default:e.withCtx(()=>[e.createVNode(M,{type:"success",disabled:m.value,onClick:fe},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.confirmButtonText),1)]),_:1},8,["disabled"]),e.createVNode(M,{type:"info",onClick:k,disabled:m.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.cancelButtonText),1)]),_:1},8,["disabled"])]),_:1})):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040,["modelValue"])}}}),ye="";function q(u){const{getRequest:o}=x(u);return{http:o()}}K.library.add(Y.fas);const U=u=>{const o=ae(u||{}),{baseURL:l}=u||{baseURL:"/api/",minioURL:"/dfs/"};return q(l),{install:n=>{n.provide("options",u),n.provide("channel",o),n.component("MDialog",R),n.use(c,{locale:N}),n.component("fa",P.FontAwesomeIcon)}}},ce={install:(u,o)=>{u.use(c,{locale:N}),U(o).install(u)}};s.ElementPlus=c,s.$alert=v,s.$confirm=W,s.$message=g,s.MDialog=R,s.createMorghulis=U,s.default=ce,s.useMorghulisAuthorize=V,s.useMorghulisChannel=q,s.useMorghulisCookies=_,s.useMorghulisRequest=x,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(s,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("element-plus"),require("axios"),require("nprogress"),require("nprogress/nprogress.css"),require("js-cookie"),require("lodash"),require("nanoid"),require("vue"),require("@fortawesome/fontawesome-svg-core"),require("@fortawesome/free-solid-svg-icons"),require("@fortawesome/vue-fontawesome")):typeof define=="function"&&define.amd?define(["exports","element-plus","axios","nprogress","nprogress/nprogress.css","js-cookie","lodash","nanoid","vue","@fortawesome/fontawesome-svg-core","@fortawesome/free-solid-svg-icons","@fortawesome/vue-fontawesome"],c):(s=typeof globalThis<"u"?globalThis:s||self,c(s.Morghulis={},s.ElementPlus,s.axios,s.NProgress,null,s.Cookies,s._,s.nanoid,s.Vue,s.FontawesomeCore,s.FontawesomeIcons,s.FontawesomeVue))})(this,function(s,c,P,w,Be,B,h,H,e,J,K,Y){"use strict";const he="",g={info:u=>c.ElMessage({message:u,type:"info",grouping:!0}),success:u=>c.ElMessage({message:u,type:"success",grouping:!0}),warning:u=>c.ElMessage({message:u,type:"warning",grouping:!0}),error:u=>c.ElMessage({message:u,type:"error",grouping:!0})},v={info:(u,o)=>c.ElMessageBox.alert(u,o,{type:"info"}),success:(u,o)=>c.ElMessageBox.alert(u,o,{type:"success"}),warning:(u,o)=>c.ElMessageBox.alert(u,o,{type:"warning"}),error:(u,o)=>c.ElMessageBox.alert(u,o,{type:"error"})},W={info:(u,o)=>c.ElMessageBox.confirm(u,o,{type:"info"}),success:(u,o)=>c.ElMessageBox.confirm(u,o,{type:"success"}),warning:(u,o)=>c.ElMessageBox.confirm(u,o,{type:"warning"}),error:(u,o)=>c.ElMessageBox.confirm(u,o,{type:"error"})};function _(){function u(t){const r=b(t),a=T(r),d=t.substring(t.indexOf(".")+1);return r===t?a:h.get(a,d)}function o(t,r){const a=b(t);if(r==null)n(a);else if(a===t)B.set(a,JSON.stringify(r));else{const d=T(a)||{},F=h.set(d,t,r);B.set(a,JSON.stringify(F))}}function l(t,r){return u(t)==null&&o(t,r),u(t)}function n(t){const r=b(t);if(r===t)B.remove(r);else{const a=T(r),d=t.substring(t.indexOf(".")+1);h.unset(a,d),o(r,a)}}return{get:u,set:o,remove:n,load:l}}function b(u){let l=u.split(".")[0],n=l.indexOf("[");return n===-1?l:l.substring(0,n)}function T(u){const o=B.get(u);if(o==null)return null;try{return JSON.parse(o)}catch{return o}}const p={CLIENT:"client",USER:"uid",AUTH:"auth"},{load:G,get:Q,remove:X,set:Z}=_();function V(){let u=H.nanoid().replace(/-/g,"_");u=G(p.CLIENT,u);const o=()=>Q(p.USER);return{$client:u,user:o,check:a=>o()===a,login:a=>new Promise(d=>{Z(p.USER,a),d(a)}),logout:()=>new Promise(a=>{X(p.USER),a(!0)}),bearer:()=>o()?"Bearer 123":null}}const{check:ee,logout:$,$client:ue,user:oe,bearer:te}=V();function x(u="/api/",o){function l(t){const r=P.create({baseURL:u,responseType:o}),{request:a,response:d}=r.interceptors;return a.use(F=>ne(F),S),d.use(re,S),r}function n(){}return{getRequest:l,all:n}}function ne(u,o){return w.start(),u.headers[p.CLIENT]=ue,u.headers[p.USER]=oe(),u.headers[p.AUTH]=te(),u}function re(u){w.done();let{headers:o,data:l}=u;const n=o[p.USER];if(n&&!ee(n))return $(),Promise.reject("登录已过期");if(l&&l.code!==void 0){const{code:t,message:r,result:a}=l;if(t===200)return a;const d=se(t);return g[d](r),Promise.reject(r)}return l}function S(u){if(w.done(),u.response){const{status:o}=u.response;o===401?($(),g.error("登录已过期")):g.error(`请求错误: ${o}`)}else g.error(`网络错误: ${u.message}`);return Promise.reject(u)}function se(u){return u>=200&&u<300?"success":u>=300&&u<400?"info":u>=400&&u<500?"warning":"error"}const ae=(u={})=>{const o=u.baseUrl||"";u.timeout,u.headers;const{getRequest:l}=x(o),n=l();return{send:(t,r)=>(console.log(`发送消息: ${t}`,r),n.post(t,r)),on:(t,r)=>(console.log(`监听事件: ${t}`),()=>{console.log(`取消监听: ${t}`)}),close:()=>{console.log("关闭通道")},http:n}},Ce="",De="";var N={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},dropdown:{toggleDropdown:"切换下拉选项"},mention:{loading:"加载中"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计"},tour:{next:"下一步",previous:"上一步",finish:"结束导览"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};const le={title:"对话框",width:600,fullscreen:!1,top:"30px",modal:!0,modalClass:"mor-dialog-modal",headerClass:"mor-dialog-header",bodyClass:"mor-dialog-body-wrapper",footerClass:"mor-dialog-footer",appendToBody:!0,appendTo:"body",lockScroll:!0,openDelay:0,closeDelay:0,closeOnClickModal:!1,closeOnPressEscape:!1,showClose:!1,beforeClose:u=>u(),draggable:!0,overFlow:!1,center:!1,alignCenter:!1,destroyOnClose:!0,closeIcon:"close",confirmButtonText:"确认",cancelButtonText:"取消"},ie={class:"mor-dialog-body","element-loading-background":"rgba(0,0,0,0.1)","element-loading-text":"加载中..."},R=e.defineComponent({__name:"MDialog",props:e.mergeDefaults({modelValue:{type:Boolean},title:{},subTitle:{},width:{},fullscreen:{type:Boolean},top:{},modal:{type:Boolean},modalClass:{},headerClass:{},bodyClass:{},footerClass:{},appendToBody:{type:Boolean},appendTo:{},lockScroll:{type:Boolean},openDelay:{},closeDelay:{},closeOnClickModal:{type:Boolean},closeOnPressEscape:{type:Boolean},showClose:{type:Boolean},beforeClose:{type:Function},draggable:{type:Boolean},overFlow:{type:Boolean},center:{type:Boolean},alignCenter:{type:Boolean},destroyOnClose:{type:Boolean},closeIcon:{},zIndex:{},headerAriaLevel:{},confirm:{type:Function},cancel:{type:Function},confirmButtonText:{},cancelButtonText:{}},le),emits:["close","update:title","update:subTitle","update:modelValue"],setup(u,{expose:o,emit:l}){let n=l,t=u;const r=e.useSlots(),a=e.computed(()=>!!r.header),d=e.computed(()=>!!r.footer),F=d.value||!!t.confirm,m=e.ref(!1),f=e.ref({}),O=e.ref(""),L=e.ref(""),de=e.computed({get:()=>t.title,set:i=>{n("update:title",i),O.value=i||"对话框"}}),j=e.computed({get:()=>t.subTitle,set:i=>{n("update:subTitle",i),L.value=i||""}}),Ee=e.ref({}),I=e.computed({get:()=>t.modelValue,set:i=>{n("update:modelValue",i)}});function pe(i={},E){if(E){const{title:D,subTitle:y}=E;de.value=D,j.value=y}Ee.value=i,f.value=h.cloneDeep(i),n("update:modelValue",!0)}function C(){m.value=!1,n("update:modelValue",!1)}function fe(){m.value=!0,t.confirm&&t.confirm(f.value,C)}function k(){m.value=!0,t.cancel?t.cancel(f.value,C):C()}return o({open:pe,close:C}),(i,E)=>{const D=e.resolveComponent("el-text"),y=e.resolveComponent("el-divider"),me=e.resolveComponent("fa"),M=e.resolveComponent("el-button"),z=e.resolveComponent("el-space"),ge=e.resolveComponent("el-dialog"),Fe=e.resolveDirective("loading");return e.openBlock(),e.createBlock(ge,e.mergeProps({class:"mor-dialog",modelValue:I.value,"onUpdate:modelValue":E[0]||(E[0]=A=>I.value=A)},{...i.$props,...i.$attrs},{onClose:E[1]||(E[1]=A=>e.unref(n)("close")),onKeydown:E[2]||(E[2]=e.withKeys(A=>k(),["esc"]))}),e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",null,[e.renderSlot(i.$slots,"title",{data:f.value},()=>[e.createVNode(D,{size:"large",tag:"b"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(O.value),1)]),_:1})]),e.renderSlot(i.$slots,"sub-title",{data:f.value},()=>[j.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(y,{direction:"vertical"}),e.createVNode(D,{tag:"b",type:"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(L.value),1)]),_:1})],64)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(i.$slots,"header",{data:f.value}),e.createVNode(y,{direction:"vertical"})],64)):e.createCommentVNode("",!0),e.createVNode(M,{size:"small",style:{padding:"3px 6px"},type:"danger",disabled:m.value,onClick:k},{default:e.withCtx(()=>[e.createVNode(me,{icon:"close"})]),_:1},8,["disabled"])])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",ie,[e.renderSlot(i.$slots,"default",{data:f.value})])),[[Fe,m.value]])]),_:2},[e.unref(F)?{name:"footer",fn:e.withCtx(()=>[e.createVNode(z,null,{default:e.withCtx(()=>[d.value?e.renderSlot(i.$slots,"footer",{key:0,data:f.value}):e.createCommentVNode("",!0),E[3]||(E[3]=e.createTextVNode("   "))]),_:3}),i.confirm?(e.openBlock(),e.createBlock(z,{key:0},{default:e.withCtx(()=>[e.createVNode(M,{type:"success",disabled:m.value,onClick:fe},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.confirmButtonText),1)]),_:1},8,["disabled"]),e.createVNode(M,{type:"info",onClick:k,disabled:m.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.cancelButtonText),1)]),_:1},8,["disabled"])]),_:1})):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040,["modelValue"])}}}),ye="";function q(u){const{getRequest:o}=x(u);return{http:o()}}J.library.add(K.fas);const U=u=>{const o=ae(u||{}),{baseURL:l}=u||{baseURL:"/api/",minioURL:"/dfs/"};return q(l),{install:n=>{n.provide("options",u),n.provide("channel",o),n.component("MDialog",R),n.use(c,{locale:N}),n.component("fa",Y.FontAwesomeIcon)}}},ce={install:(u,o)=>{u.use(c,{locale:N}),U(o).install(u)}};s.ElementPlus=c,s.$alert=v,s.$confirm=W,s.$message=g,s.MDialog=R,s.createMorghulis=U,s.default=ce,s.useMorghulisAuthorize=V,s.useMorghulisChannel=q,s.useMorghulisCookies=_,s.useMorghulisRequest=x,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=morghulis.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"morghulis.umd.js","sources":["../src/tools/feedback.ts","../src/hooks/cookies.ts","../src/hooks/authorize.ts","../src/hooks/request.ts","../src/tools/sockets.ts","../node_modules/element-plus/es/locale/lang/zh-cn.mjs","../src/types/dialog.types.ts","../src/components/dialog/MDialog.vue","../src/hooks/channel.ts","../src/index.ts"],"sourcesContent":["import {ElMessage} from 'element-plus'\nimport {ElMessageBox} from 'element-plus'\nimport type {MorghulisMessageInterface, MorghulisMessageBoxInterface} from \"../types/feedback.types\";\n\nexport const $message: MorghulisMessageInterface = {\n info: (message: string) => ElMessage({message, type: 'info', grouping: true}),\n success: (message: string) => ElMessage({message, type: 'success', grouping: true}),\n warning: (message: string) => ElMessage({message, type: 'warning', grouping: true}),\n error: (message: string) => ElMessage({message, type: 'error', grouping: true}),\n}\n\nexport const $alert: MorghulisMessageBoxInterface = {\n info: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'info'}),\n success: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'success'}),\n warning: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'warning'}),\n error: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'error'}),\n}\n\nexport const $confirm: MorghulisMessageBoxInterface = {\n info: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'info'}),\n success: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'success'}),\n warning: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'warning'}),\n error: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'error'}),\n}","import Cookies from 'js-cookie'\nimport _ from 'lodash'\n\n\nexport function useMorghulisCookies() {\n\n function get(path: string): any {\n const key = getKeyFromPath(path)\n const value = getJsonFromCookies(key)\n const _path = path.substring(path.indexOf('.') + 1)\n return key === path ? value : _.get(value, _path)\n }\n\n function set(path: string, value?: any): void {\n const key = getKeyFromPath(path)\n if (value == null) remove(key)\n else if (key === path) Cookies.set(key, JSON.stringify(value))\n else {\n const oldValue = getJsonFromCookies(key) || {}\n const newValue = _.set(oldValue, path, value);\n Cookies.set(key, JSON.stringify(newValue))\n }\n }\n\n function load(key: string, value?: any): any {\n const val = get(key)\n if (val == null) set(key, value)\n return get(key)\n }\n\n function remove(path: string): void {\n const key = getKeyFromPath(path)\n if (key === path) Cookies.remove(key)\n else {\n const value = getJsonFromCookies(key)\n const _path = path.substring(path.indexOf('.') + 1)\n _.unset(value, _path)\n set(key, value)\n }\n }\n\n return {get, set, remove, load}\n}\n\nfunction getKeyFromPath(path: string) {\n const ks = path.split('.')\n let key = ks[0]\n let index = key.indexOf('[')\n return index === -1 ? key : key.substring(0, index)\n}\n\nfunction getJsonFromCookies(key: string) {\n const value = Cookies.get(key)\n if (value == null) return null\n try {\n return JSON.parse(value)\n } catch (e) {\n return value\n }\n}","import {useMorghulisCookies} from \"./cookies\";\nimport {nanoid} from \"nanoid\";\n\nexport const SYSTEM_KEY = {\n CLIENT: 'client', USER: 'uid', AUTH: 'auth',\n}\nconst {load, get, remove, set} = useMorghulisCookies()\n\nexport function useMorghulisAuthorize() {\n let $client = nanoid().replace(/-/g, '_')\n $client = load(SYSTEM_KEY.CLIENT, $client)\n const user = () => get(SYSTEM_KEY.USER)\n const check = (uid?: any) => user() === uid\n const login = (uid: any) => set(SYSTEM_KEY.USER, uid)\n const logout = () => remove(SYSTEM_KEY.USER)\n const bearer = () => user() ? `Bearer ${123}` : null\n return {$client, user, check, login, logout, bearer}\n}","import type {AxiosResponse, InternalAxiosRequestConfig} from 'axios'\nimport axios, {type ResponseType} from 'axios'\nimport NProgress from 'nprogress'\nimport 'nprogress/nprogress.css'\nimport {$message} from \"../tools/feedback.ts\";\nimport type {UIFeedbackTypes} from \"../types/ui.types.ts\";\nimport {SYSTEM_KEY, useMorghulisAuthorize} from \"./authorize.ts\";\n\nconst {check, logout, $client, user, bearer} = useMorghulisAuthorize()\n\n\nexport function useMorghulisRequest(baseURL: string = '/api/', responseType?: ResponseType) {\n function getRequest(auth?: boolean) {\n const instance = axios.create({baseURL, responseType})\n const {request, response} = instance.interceptors\n request.use((config) => beforeRequest(config, auth), onReject)\n response.use(beforeResponse, onReject)\n return instance\n }\n\n function all() {\n // 实现批量请求功能\n }\n\n return {getRequest, all}\n\n}\n\nfunction beforeRequest(\n config: InternalAxiosRequestConfig, auth?: boolean\n): InternalAxiosRequestConfig | Promise<any> {\n NProgress.start()\n config.headers[SYSTEM_KEY.CLIENT] = $client\n config.headers[SYSTEM_KEY.USER] = user()\n config.headers[SYSTEM_KEY.AUTH] = bearer()\n return config\n}\n\n\nfunction beforeResponse(\n response: AxiosResponse\n): AxiosResponse | Promise<any> {\n NProgress.done()\n let {headers, data} = response\n const UID = headers[SYSTEM_KEY.USER]\n if (UID && !check(UID)) {\n logout()\n return Promise.reject('登录已过期')\n }\n if (data && data.code !== undefined) {\n const {code, message, result} = data\n if (code === 200) return result\n const type = getTypeByCode(code)\n $message[type](message)\n return Promise.reject(message)\n }\n return data\n}\n\nfunction onReject(error: any) {\n NProgress.done()\n if (error.response) {\n const {status} = error.response\n if (status === 401) {\n logout()\n $message.error('登录已过期')\n } else {\n $message.error(`请求错误: ${status}`)\n }\n } else {\n $message.error(`网络错误: ${error.message}`)\n }\n return Promise.reject(error)\n}\n\nfunction getTypeByCode(code: number): UIFeedbackTypes {\n if (code >= 200 && code < 300) return 'success'\n if (code >= 300 && code < 400) return 'info'\n if (code >= 400 && code < 500) return 'warning'\n return 'error'\n}","import { useMorghulisRequest } from '../hooks/request';\nimport type { MorOption } from '../types/io.types';\nimport type { MorghulisOptions } from '../types/channel.types';\n\n// 增强的通信通道实现\nexport const $channel = (options: MorOption & MorghulisOptions = {}) => {\n const baseUrl = options.baseUrl || '';\n const timeout = options.timeout || 30000;\n const headers = options.headers || {};\n \n // 获取请求实例\n const { getRequest } = useMorghulisRequest(baseUrl);\n const http = getRequest();\n \n return {\n // 发送消息\n send: (event: string, data: any) => {\n console.log(`发送消息: ${event}`, data);\n // 使用http实例发送请求\n return http.post(event, data);\n },\n \n // 接收消息\n on: (event: string, callback: Function) => {\n console.log(`监听事件: ${event}`);\n // 实际监听逻辑\n return () => {\n console.log(`取消监听: ${event}`);\n // 取消监听逻辑\n };\n },\n \n // 关闭通道\n close: () => {\n console.log('关闭通道');\n // 实际关闭逻辑\n },\n \n // 暴露http实例\n http\n };\n};","var zhCn = {\n name: \"zh-cn\",\n el: {\n breadcrumb: {\n label: \"\\u9762\\u5305\\u5C51\"\n },\n colorpicker: {\n confirm: \"\\u786E\\u5B9A\",\n clear: \"\\u6E05\\u7A7A\",\n defaultLabel: \"\\u989C\\u8272\\u9009\\u62E9\\u5668\",\n description: \"\\u5F53\\u524D\\u989C\\u8272 {color}\\uFF0C\\u6309 Enter \\u952E\\u9009\\u62E9\\u65B0\\u989C\\u8272\",\n alphaLabel: \"\\u9009\\u62E9\\u900F\\u660E\\u5EA6\\u7684\\u503C\"\n },\n datepicker: {\n now: \"\\u6B64\\u523B\",\n today: \"\\u4ECA\\u5929\",\n cancel: \"\\u53D6\\u6D88\",\n clear: \"\\u6E05\\u7A7A\",\n confirm: \"\\u786E\\u5B9A\",\n dateTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u65E5\\u671F\",\n monthTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u6708\\u4EFD\",\n yearTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u5E74\\u4EFD\",\n selectedDate: \"\\u5DF2\\u9009\\u65E5\\u671F\",\n selectDate: \"\\u9009\\u62E9\\u65E5\\u671F\",\n selectTime: \"\\u9009\\u62E9\\u65F6\\u95F4\",\n startDate: \"\\u5F00\\u59CB\\u65E5\\u671F\",\n startTime: \"\\u5F00\\u59CB\\u65F6\\u95F4\",\n endDate: \"\\u7ED3\\u675F\\u65E5\\u671F\",\n endTime: \"\\u7ED3\\u675F\\u65F6\\u95F4\",\n prevYear: \"\\u524D\\u4E00\\u5E74\",\n nextYear: \"\\u540E\\u4E00\\u5E74\",\n prevMonth: \"\\u4E0A\\u4E2A\\u6708\",\n nextMonth: \"\\u4E0B\\u4E2A\\u6708\",\n year: \"\\u5E74\",\n month1: \"1 \\u6708\",\n month2: \"2 \\u6708\",\n month3: \"3 \\u6708\",\n month4: \"4 \\u6708\",\n month5: \"5 \\u6708\",\n month6: \"6 \\u6708\",\n month7: \"7 \\u6708\",\n month8: \"8 \\u6708\",\n month9: \"9 \\u6708\",\n month10: \"10 \\u6708\",\n month11: \"11 \\u6708\",\n month12: \"12 \\u6708\",\n weeks: {\n sun: \"\\u65E5\",\n mon: \"\\u4E00\",\n tue: \"\\u4E8C\",\n wed: \"\\u4E09\",\n thu: \"\\u56DB\",\n fri: \"\\u4E94\",\n sat: \"\\u516D\"\n },\n weeksFull: {\n sun: \"\\u661F\\u671F\\u65E5\",\n mon: \"\\u661F\\u671F\\u4E00\",\n tue: \"\\u661F\\u671F\\u4E8C\",\n wed: \"\\u661F\\u671F\\u4E09\",\n thu: \"\\u661F\\u671F\\u56DB\",\n fri: \"\\u661F\\u671F\\u4E94\",\n sat: \"\\u661F\\u671F\\u516D\"\n },\n months: {\n jan: \"\\u4E00\\u6708\",\n feb: \"\\u4E8C\\u6708\",\n mar: \"\\u4E09\\u6708\",\n apr: \"\\u56DB\\u6708\",\n may: \"\\u4E94\\u6708\",\n jun: \"\\u516D\\u6708\",\n jul: \"\\u4E03\\u6708\",\n aug: \"\\u516B\\u6708\",\n sep: \"\\u4E5D\\u6708\",\n oct: \"\\u5341\\u6708\",\n nov: \"\\u5341\\u4E00\\u6708\",\n dec: \"\\u5341\\u4E8C\\u6708\"\n }\n },\n inputNumber: {\n decrease: \"\\u51CF\\u5C11\\u6570\\u503C\",\n increase: \"\\u589E\\u52A0\\u6570\\u503C\"\n },\n select: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\"\n },\n dropdown: {\n toggleDropdown: \"\\u5207\\u6362\\u4E0B\\u62C9\\u9009\\u9879\"\n },\n mention: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\"\n },\n cascader: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\",\n noData: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n pagination: {\n goto: \"\\u524D\\u5F80\",\n pagesize: \"\\u6761/\\u9875\",\n total: \"\\u5171 {total} \\u6761\",\n pageClassifier: \"\\u9875\",\n page: \"\\u9875\",\n prev: \"\\u4E0A\\u4E00\\u9875\",\n next: \"\\u4E0B\\u4E00\\u9875\",\n currentPage: \"\\u7B2C {pager} \\u9875\",\n prevPages: \"\\u5411\\u524D {pager} \\u9875\",\n nextPages: \"\\u5411\\u540E {pager} \\u9875\",\n deprecationWarning: \"\\u4F60\\u4F7F\\u7528\\u4E86\\u4E00\\u4E9B\\u5DF2\\u88AB\\u5E9F\\u5F03\\u7684\\u7528\\u6CD5\\uFF0C\\u8BF7\\u53C2\\u8003 el-pagination \\u7684\\u5B98\\u65B9\\u6587\\u6863\"\n },\n dialog: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n drawer: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n messagebox: {\n title: \"\\u63D0\\u793A\",\n confirm: \"\\u786E\\u5B9A\",\n cancel: \"\\u53D6\\u6D88\",\n error: \"\\u8F93\\u5165\\u7684\\u6570\\u636E\\u4E0D\\u5408\\u6CD5!\",\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n upload: {\n deleteTip: \"\\u6309 delete \\u952E\\u53EF\\u5220\\u9664\",\n delete: \"\\u5220\\u9664\",\n preview: \"\\u67E5\\u770B\\u56FE\\u7247\",\n continue: \"\\u7EE7\\u7EED\\u4E0A\\u4F20\"\n },\n slider: {\n defaultLabel: \"\\u6ED1\\u5757\\u4ECB\\u4E8E {min} \\u81F3 {max}\",\n defaultRangeStartLabel: \"\\u9009\\u62E9\\u8D77\\u59CB\\u503C\",\n defaultRangeEndLabel: \"\\u9009\\u62E9\\u7ED3\\u675F\\u503C\"\n },\n table: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\",\n confirmFilter: \"\\u7B5B\\u9009\",\n resetFilter: \"\\u91CD\\u7F6E\",\n clearFilter: \"\\u5168\\u90E8\",\n sumText: \"\\u5408\\u8BA1\"\n },\n tour: {\n next: \"\\u4E0B\\u4E00\\u6B65\",\n previous: \"\\u4E0A\\u4E00\\u6B65\",\n finish: \"\\u7ED3\\u675F\\u5BFC\\u89C8\"\n },\n tree: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n transfer: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n titles: [\"\\u5217\\u8868 1\", \"\\u5217\\u8868 2\"],\n filterPlaceholder: \"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5185\\u5BB9\",\n noCheckedFormat: \"\\u5171 {total} \\u9879\",\n hasCheckedFormat: \"\\u5DF2\\u9009 {checked}/{total} \\u9879\"\n },\n image: {\n error: \"\\u52A0\\u8F7D\\u5931\\u8D25\"\n },\n pageHeader: {\n title: \"\\u8FD4\\u56DE\"\n },\n popconfirm: {\n confirmButtonText: \"\\u786E\\u5B9A\",\n cancelButtonText: \"\\u53D6\\u6D88\"\n },\n carousel: {\n leftArrow: \"\\u4E0A\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n rightArrow: \"\\u4E0B\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n indicator: \"\\u5E7B\\u706F\\u7247\\u5207\\u6362\\u81F3\\u7D22\\u5F15 {index}\"\n }\n }\n};\n\nexport { zhCn as default };\n//# sourceMappingURL=zh-cn.mjs.map\n","export interface MorDialogProps {\n modelValue?: boolean,\n title?: string,\n subTitle?: string,\n width?: string | number,\n fullscreen?: boolean,\n top?: string,\n modal?: boolean,\n modalClass?: string,\n headerClass?: string,\n bodyClass?: string,\n footerClass?: string,\n appendToBody?: boolean,\n appendTo?: string,\n lockScroll?: boolean,\n openDelay?: number,\n closeDelay?: number,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n showClose?: boolean,\n beforeClose?: Function,\n draggable?: boolean,\n overFlow?: boolean,\n center?: boolean,\n alignCenter?: boolean,\n destroyOnClose?: boolean,\n closeIcon?: string,\n zIndex?: number,\n headerAriaLevel?: string,\n confirm?: Function,\n cancel?: Function,\n confirmButtonText?: string\n cancelButtonText?: string\n}\n\nexport const morDialogPropsDefault: MorDialogProps = {\n title: '对话框',\n width: 600,\n fullscreen: false,\n top: '30px',\n modal: true,\n modalClass: 'mor-dialog-modal',\n headerClass: 'mor-dialog-header',\n bodyClass: 'mor-dialog-body-wrapper',\n footerClass: 'mor-dialog-footer',\n appendToBody: true,\n appendTo: 'body',\n lockScroll: true,\n openDelay: 0,\n closeDelay: 0,\n closeOnClickModal: false,\n closeOnPressEscape: false,\n showClose: false,\n beforeClose: (done: Function) => done(),\n draggable: true,\n overFlow: false,\n center: false,\n alignCenter: false,\n destroyOnClose: true,\n closeIcon: 'close',\n confirmButtonText: '确认',\n cancelButtonText: '取消',\n}","<template>\n <el-dialog\n class=\"mor-dialog\"\n v-model=\"visible\"\n v-bind=\"{...$props, ...$attrs}\"\n @close=\"emits('close')\"\n @keydown.esc=\"handleCancel()\"\n >\n <template #header>\n <div>\n <slot name=\"title\" :data=\"$data\">\n <el-text size=\"large\" tag=\"b\">{{ __title }}</el-text>\n </slot>\n <slot name=\"sub-title\" :data=\"$data\">\n <template v-if=\"$subTitle\">\n <el-divider direction=\"vertical\"></el-divider>\n <el-text tag=\"b\" type=\"info\">{{ __subTitle }}</el-text>\n </template>\n </slot>\n </div>\n <div>\n <template v-if=\"hasHeader\">\n <slot name=\"header\" :data=\"$data\"></slot>\n <el-divider direction=\"vertical\"></el-divider>\n </template>\n <el-button\n size=\"small\"\n style=\"padding: 3px 6px\"\n type=\"danger\"\n :disabled=\"loading\"\n @click=\"handleCancel\"\n >\n <fa icon=\"close\"></fa>\n </el-button>\n </div>\n </template>\n <template #default>\n <div\n v-loading=\"loading\"\n class=\"mor-dialog-body\"\n element-loading-background=\"rgba(0,0,0,0.1)\"\n element-loading-text=\"加载中...\"\n >\n <slot :data=\"$data\"></slot>\n </div>\n </template>\n <template #footer v-if=\"showFooter\">\n <el-space>\n <slot v-if=\"hasFooter\" name=\"footer\" :data=\"$data\"/>\n &nbsp;\n </el-space>\n <el-space v-if=\"confirm\">\n <el-button\n type=\"success\"\n :disabled=\"loading\"\n @click=\"handleConfirm\"\n >\n {{ confirmButtonText }}\n </el-button>\n <el-button\n type=\"info\"\n @click=\"handleCancel\"\n :disabled=\"loading\"\n >\n {{ cancelButtonText }}\n </el-button>\n </el-space>\n </template>\n </el-dialog>\n</template>\n\n<script setup lang=\"ts\">\n\nimport {computed, ref, useSlots} from \"vue\";\nimport _ from 'lodash'\n\nimport {morDialogPropsDefault, type MorDialogProps} from \"../../types/dialog.types.ts\";\n\n// 已从types/dialog.types.ts导入MorDialogProps接口,无需重复定义\n\nlet emits = defineEmits(['close', 'update:title', 'update:subTitle', 'update:modelValue'])\nlet props = withDefaults(\n defineProps<MorDialogProps>(),\n morDialogPropsDefault\n)\n\n/**\n * 功能区\n */\nconst slots = useSlots();\nconst hasHeader = computed(() => !!slots.header)\nconst hasFooter = computed(() => !!slots.footer)\nconst showFooter = hasFooter.value || !!props.confirm\n\n\nconst loading = ref(false)\nconst $data: any = ref({})\nconst __title = ref('')\nconst __subTitle = ref('')\nconst $title = computed({\n get: () => props.title,\n set: (v) => {\n emits('update:title', v)\n __title.value = v || '对话框'\n }\n})\nconst $subTitle = computed({\n get: () => props.subTitle,\n set: (v) => {\n emits('update:subTitle', v)\n __subTitle.value = v || ''\n }\n})\n\nconst $origin = ref({})\n\n// 将visible与modelValue同步\nconst visible = computed({\n get: () => props.modelValue,\n set: (value) => {\n emits('update:modelValue', value)\n }\n})\n\nexport type MorDialogConfig = {\n title: string,\n subTitle: string\n}\n\nfunction open(data: any = {}, config?: MorDialogConfig) {\n if (config) {\n const {title, subTitle} = config\n $title.value = title\n $subTitle.value = subTitle\n }\n $origin.value = data\n $data.value = _.cloneDeep(data)\n emits('update:modelValue', true)\n}\n\nfunction close() {\n loading.value = false\n emits('update:modelValue', false)\n}\n\nfunction handleConfirm() {\n loading.value = true\n props.confirm && props.confirm($data.value, close)\n}\n\nfunction handleCancel() {\n loading.value = true\n if (props.cancel) {\n props.cancel($data.value, close)\n } else {\n close()\n }\n}\n\ndefineExpose({open, close})\n\n</script>\n\n<style>\n.mor-dialog {\n border: 2px solid #aaaaaa;\n}\n\n.mor-dialog-modal {\n background-color: rgba(4, 33, 71, 0.15) !important;\n}\n\n.mor-dialog-header {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding-left: 5px;\n}\n\n.mor-dialog-body-wrapper {\n padding: 0;\n background-color: transparent;\n}\n\n.mor-dialog-body {\n background-color: #ffffff;\n}\n\n.mor-dialog-footer {\n color: #aaa;\n padding-left: 5px;\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n}\n</style>","import {useMorghulisRequest} from \"./request\";\n\nexport function useMorghulisChannel(baseURL: string) {\n const {getRequest} = useMorghulisRequest(baseURL)\n const http = getRequest()\n\n // 这里可以添加更多的通道相关功能\n \n return {\n http\n }\n}","import type {App} from \"vue\";\nimport ElementPlus from 'element-plus'\n// 确保导入Element Plus的样式\nimport 'element-plus/dist/index.css'\nimport {$channel} from \"./tools/sockets.ts\";\nimport 'font-awesome/css/font-awesome.css'\n// 导入组件库自身的基础样式\nimport './base.css'\nimport type {MorOption} from \"./types/io.types.ts\";\nimport type {MorghulisOptions} from \"./types/channel.types.ts\";\nimport zhCn from 'element-plus/es/locale/lang/zh-cn'\nimport MDialog from \"./components/dialog/MDialog.vue\";\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons'\nimport {FontAwesomeIcon} from '@fortawesome/vue-fontawesome';\n// 导入Element Plus的组件类型,确保IDE能够识别\nimport type * as ElementPlusComponents from 'element-plus'\n// 导入hooks\nimport {useMorghulisCookies} from \"./hooks/cookies.ts\";\nimport {useMorghulisAuthorize} from \"./hooks/authorize.ts\";\nimport {useMorghulisChannel} from \"./hooks/channel.ts\";\nimport {useMorghulisRequest} from \"./hooks/request.ts\";\n// 导入工具\nimport {$message, $alert, $confirm} from \"./tools/feedback.ts\";\n\n// 注册FontAwesome图标\nlibrary.add(fas);\n\n// 创建Morghulis实例的工厂函数\nexport const createMorghulis = (options?: MorOption & MorghulisOptions) => {\n const channel = $channel(options || {})\n const {baseURL} = options || {baseURL: '/api/', minioURL: '/dfs/'}\n useMorghulisChannel(baseURL as string)\n \n return {\n install: (Vue: App) => {\n Vue.provide('options', options)\n Vue.provide('channel', channel)\n Vue.component('MDialog', MDialog)\n Vue.use(ElementPlus, {\n locale: zhCn,\n })\n Vue.component('fa', FontAwesomeIcon)\n }\n }\n}\n\n// 导出组件,方便单独引入\nexport {\n MDialog\n}\n\n// 导出hooks\nexport {\n useMorghulisCookies,\n useMorghulisAuthorize,\n useMorghulisChannel,\n useMorghulisRequest\n}\n\n// 导出工具\nexport {\n $message,\n $alert,\n $confirm\n}\n\n// 导出Element Plus,确保用户可以访问所有Element Plus组件\nexport { ElementPlus }\n\n// 导出类型定义\nexport type * from './types/dialog.types.ts'\nexport type * from './types/io.types.ts'\nexport type * from './types/channel.types.ts'\nexport type * from './types/feedback.types.ts'\nexport type * from './types/ui.types.ts'\n// 重新导出Element Plus的类型,确保IDE能够识别\nexport type * from 'element-plus'\n\n// 默认导出\nexport default {\n install: (app: App, options?: MorOption) => {\n // 先安装Element Plus,确保其组件和样式被正确加载\n app.use(ElementPlus, {\n locale: zhCn,\n })\n // 再安装Morghulis组件\n createMorghulis(options).install(app)\n }\n}"],"names":["$message","message","ElMessage","$alert","title","ElMessageBox","$confirm","useMorghulisCookies","get","path","key","getKeyFromPath","value","getJsonFromCookies","_path","_","set","remove","Cookies","oldValue","newValue","load","index","SYSTEM_KEY","useMorghulisAuthorize","$client","nanoid","user","uid","check","logout","bearer","useMorghulisRequest","baseURL","responseType","getRequest","auth","instance","axios","request","response","config","beforeRequest","onReject","beforeResponse","all","NProgress","headers","data","UID","code","result","type","getTypeByCode","error","status","$channel","options","baseUrl","http","event","callback","zhCn","morDialogPropsDefault","done","emits","__emit","props","__props","slots","useSlots","hasHeader","computed","hasFooter","showFooter","loading","ref","$data","__title","__subTitle","$title","v","$subTitle","$origin","visible","open","subTitle","close","handleConfirm","handleCancel","__expose","useMorghulisChannel","library","fas","createMorghulis","channel","Vue","MDialog","ElementPlus","FontAwesomeIcon","app"],"mappings":"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","x_google_ignoreList":[5]}
1
+ {"version":3,"file":"morghulis.umd.js","sources":["../src/tools/feedback.ts","../src/hooks/cookies.ts","../src/hooks/authorize.ts","../src/hooks/request.ts","../src/tools/sockets.ts","../node_modules/element-plus/es/locale/lang/zh-cn.mjs","../src/types/dialog.types.ts","../src/components/dialog/MDialog.vue","../src/hooks/channel.ts","../src/index.ts"],"sourcesContent":["import {ElMessage} from 'element-plus'\nimport {ElMessageBox} from 'element-plus'\nimport type {MorghulisMessageInterface, MorghulisMessageBoxInterface} from \"../types/feedback.types\";\n\nexport const $message: MorghulisMessageInterface = {\n info: (message: string) => ElMessage({message, type: 'info', grouping: true}),\n success: (message: string) => ElMessage({message, type: 'success', grouping: true}),\n warning: (message: string) => ElMessage({message, type: 'warning', grouping: true}),\n error: (message: string) => ElMessage({message, type: 'error', grouping: true}),\n}\n\nexport const $alert: MorghulisMessageBoxInterface = {\n info: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'info'}),\n success: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'success'}),\n warning: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'warning'}),\n error: (message: string, title?: string) => ElMessageBox.alert(message, title, {type: 'error'}),\n}\n\nexport const $confirm: MorghulisMessageBoxInterface = {\n info: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'info'}),\n success: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'success'}),\n warning: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'warning'}),\n error: (message: string, title?: string) => ElMessageBox.confirm(message, title, {type: 'error'}),\n}","import Cookies from 'js-cookie'\nimport _ from 'lodash'\n\n\nexport function useMorghulisCookies() {\n\n function get(path: string): any {\n const key = getKeyFromPath(path)\n const value = getJsonFromCookies(key)\n const _path = path.substring(path.indexOf('.') + 1)\n return key === path ? value : _.get(value, _path)\n }\n\n function set(path: string, value?: any): void {\n const key = getKeyFromPath(path)\n if (value == null) remove(key)\n else if (key === path) Cookies.set(key, JSON.stringify(value))\n else {\n const oldValue = getJsonFromCookies(key) || {}\n const newValue = _.set(oldValue, path, value);\n Cookies.set(key, JSON.stringify(newValue))\n }\n }\n\n function load(key: string, value?: any): any {\n const val = get(key)\n if (val == null) set(key, value)\n return get(key)\n }\n\n function remove(path: string): void {\n const key = getKeyFromPath(path)\n if (key === path) Cookies.remove(key)\n else {\n const value = getJsonFromCookies(key)\n const _path = path.substring(path.indexOf('.') + 1)\n _.unset(value, _path)\n set(key, value)\n }\n }\n\n return {get, set, remove, load}\n}\n\nfunction getKeyFromPath(path: string) {\n const ks = path.split('.')\n let key = ks[0]\n let index = key.indexOf('[')\n return index === -1 ? key : key.substring(0, index)\n}\n\nfunction getJsonFromCookies(key: string) {\n const value = Cookies.get(key)\n if (value == null) return null\n try {\n return JSON.parse(value)\n } catch (e) {\n return value\n }\n}","import {useMorghulisCookies} from \"./cookies\";\nimport {nanoid} from \"nanoid\";\n\nexport const SYSTEM_KEY = {\n CLIENT: 'client', USER: 'uid', AUTH: 'auth',\n}\nconst {load, get, remove, set} = useMorghulisCookies()\n\nexport function useMorghulisAuthorize() {\n let $client = nanoid().replace(/-/g, '_')\n $client = load(SYSTEM_KEY.CLIENT, $client)\n const user = () => get(SYSTEM_KEY.USER)\n const check = (uid?: any) => user() === uid\n \n // 修改login方法,使其返回Promise\n const login = (uid: any) => {\n return new Promise((resolve) => {\n set(SYSTEM_KEY.USER, uid)\n resolve(uid)\n })\n }\n \n // 修改logout方法,使其返回Promise\n const logout = () => {\n return new Promise((resolve) => {\n remove(SYSTEM_KEY.USER)\n resolve(true)\n })\n }\n \n const bearer = () => user() ? `Bearer ${123}` : null\n return {$client, user, check, login, logout, bearer}\n}","import type {AxiosResponse, InternalAxiosRequestConfig} from 'axios'\nimport axios, {type ResponseType} from 'axios'\nimport NProgress from 'nprogress'\nimport 'nprogress/nprogress.css'\nimport {$message} from \"../tools/feedback.ts\";\nimport type {UIFeedbackTypes} from \"../types/ui.types.ts\";\nimport {SYSTEM_KEY, useMorghulisAuthorize} from \"./authorize.ts\";\n\nconst {check, logout, $client, user, bearer} = useMorghulisAuthorize()\n\n\nexport function useMorghulisRequest(baseURL: string = '/api/', responseType?: ResponseType) {\n function getRequest(auth?: boolean) {\n const instance = axios.create({baseURL, responseType})\n const {request, response} = instance.interceptors\n request.use((config) => beforeRequest(config, auth), onReject)\n response.use(beforeResponse, onReject)\n return instance\n }\n\n function all() {\n // 实现批量请求功能\n }\n\n return {getRequest, all}\n\n}\n\nfunction beforeRequest(\n config: InternalAxiosRequestConfig, auth?: boolean\n): InternalAxiosRequestConfig | Promise<any> {\n NProgress.start()\n config.headers[SYSTEM_KEY.CLIENT] = $client\n config.headers[SYSTEM_KEY.USER] = user()\n config.headers[SYSTEM_KEY.AUTH] = bearer()\n return config\n}\n\n\nfunction beforeResponse(\n response: AxiosResponse\n): AxiosResponse | Promise<any> {\n NProgress.done()\n let {headers, data} = response\n const UID = headers[SYSTEM_KEY.USER]\n if (UID && !check(UID)) {\n logout()\n return Promise.reject('登录已过期')\n }\n if (data && data.code !== undefined) {\n const {code, message, result} = data\n if (code === 200) return result\n const type = getTypeByCode(code)\n $message[type](message)\n return Promise.reject(message)\n }\n return data\n}\n\nfunction onReject(error: any) {\n NProgress.done()\n if (error.response) {\n const {status} = error.response\n if (status === 401) {\n logout()\n $message.error('登录已过期')\n } else {\n $message.error(`请求错误: ${status}`)\n }\n } else {\n $message.error(`网络错误: ${error.message}`)\n }\n return Promise.reject(error)\n}\n\nfunction getTypeByCode(code: number): UIFeedbackTypes {\n if (code >= 200 && code < 300) return 'success'\n if (code >= 300 && code < 400) return 'info'\n if (code >= 400 && code < 500) return 'warning'\n return 'error'\n}","import { useMorghulisRequest } from '../hooks/request';\nimport type { MorOption } from '../types/io.types';\nimport type { MorghulisOptions } from '../types/channel.types';\n\n// 增强的通信通道实现\nexport const $channel = (options: MorOption & MorghulisOptions = {}) => {\n const baseUrl = options.baseUrl || '';\n const timeout = options.timeout || 30000;\n const headers = options.headers || {};\n \n // 获取请求实例\n const { getRequest } = useMorghulisRequest(baseUrl);\n const http = getRequest();\n \n return {\n // 发送消息\n send: (event: string, data: any) => {\n console.log(`发送消息: ${event}`, data);\n // 使用http实例发送请求\n return http.post(event, data);\n },\n \n // 接收消息\n on: (event: string, callback: Function) => {\n console.log(`监听事件: ${event}`);\n // 实际监听逻辑\n return () => {\n console.log(`取消监听: ${event}`);\n // 取消监听逻辑\n };\n },\n \n // 关闭通道\n close: () => {\n console.log('关闭通道');\n // 实际关闭逻辑\n },\n \n // 暴露http实例\n http\n };\n};","var zhCn = {\n name: \"zh-cn\",\n el: {\n breadcrumb: {\n label: \"\\u9762\\u5305\\u5C51\"\n },\n colorpicker: {\n confirm: \"\\u786E\\u5B9A\",\n clear: \"\\u6E05\\u7A7A\",\n defaultLabel: \"\\u989C\\u8272\\u9009\\u62E9\\u5668\",\n description: \"\\u5F53\\u524D\\u989C\\u8272 {color}\\uFF0C\\u6309 Enter \\u952E\\u9009\\u62E9\\u65B0\\u989C\\u8272\",\n alphaLabel: \"\\u9009\\u62E9\\u900F\\u660E\\u5EA6\\u7684\\u503C\"\n },\n datepicker: {\n now: \"\\u6B64\\u523B\",\n today: \"\\u4ECA\\u5929\",\n cancel: \"\\u53D6\\u6D88\",\n clear: \"\\u6E05\\u7A7A\",\n confirm: \"\\u786E\\u5B9A\",\n dateTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u65E5\\u671F\",\n monthTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u6708\\u4EFD\",\n yearTablePrompt: \"\\u4F7F\\u7528\\u65B9\\u5411\\u952E\\u4E0E Enter \\u952E\\u53EF\\u9009\\u62E9\\u5E74\\u4EFD\",\n selectedDate: \"\\u5DF2\\u9009\\u65E5\\u671F\",\n selectDate: \"\\u9009\\u62E9\\u65E5\\u671F\",\n selectTime: \"\\u9009\\u62E9\\u65F6\\u95F4\",\n startDate: \"\\u5F00\\u59CB\\u65E5\\u671F\",\n startTime: \"\\u5F00\\u59CB\\u65F6\\u95F4\",\n endDate: \"\\u7ED3\\u675F\\u65E5\\u671F\",\n endTime: \"\\u7ED3\\u675F\\u65F6\\u95F4\",\n prevYear: \"\\u524D\\u4E00\\u5E74\",\n nextYear: \"\\u540E\\u4E00\\u5E74\",\n prevMonth: \"\\u4E0A\\u4E2A\\u6708\",\n nextMonth: \"\\u4E0B\\u4E2A\\u6708\",\n year: \"\\u5E74\",\n month1: \"1 \\u6708\",\n month2: \"2 \\u6708\",\n month3: \"3 \\u6708\",\n month4: \"4 \\u6708\",\n month5: \"5 \\u6708\",\n month6: \"6 \\u6708\",\n month7: \"7 \\u6708\",\n month8: \"8 \\u6708\",\n month9: \"9 \\u6708\",\n month10: \"10 \\u6708\",\n month11: \"11 \\u6708\",\n month12: \"12 \\u6708\",\n weeks: {\n sun: \"\\u65E5\",\n mon: \"\\u4E00\",\n tue: \"\\u4E8C\",\n wed: \"\\u4E09\",\n thu: \"\\u56DB\",\n fri: \"\\u4E94\",\n sat: \"\\u516D\"\n },\n weeksFull: {\n sun: \"\\u661F\\u671F\\u65E5\",\n mon: \"\\u661F\\u671F\\u4E00\",\n tue: \"\\u661F\\u671F\\u4E8C\",\n wed: \"\\u661F\\u671F\\u4E09\",\n thu: \"\\u661F\\u671F\\u56DB\",\n fri: \"\\u661F\\u671F\\u4E94\",\n sat: \"\\u661F\\u671F\\u516D\"\n },\n months: {\n jan: \"\\u4E00\\u6708\",\n feb: \"\\u4E8C\\u6708\",\n mar: \"\\u4E09\\u6708\",\n apr: \"\\u56DB\\u6708\",\n may: \"\\u4E94\\u6708\",\n jun: \"\\u516D\\u6708\",\n jul: \"\\u4E03\\u6708\",\n aug: \"\\u516B\\u6708\",\n sep: \"\\u4E5D\\u6708\",\n oct: \"\\u5341\\u6708\",\n nov: \"\\u5341\\u4E00\\u6708\",\n dec: \"\\u5341\\u4E8C\\u6708\"\n }\n },\n inputNumber: {\n decrease: \"\\u51CF\\u5C11\\u6570\\u503C\",\n increase: \"\\u589E\\u52A0\\u6570\\u503C\"\n },\n select: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\"\n },\n dropdown: {\n toggleDropdown: \"\\u5207\\u6362\\u4E0B\\u62C9\\u9009\\u9879\"\n },\n mention: {\n loading: \"\\u52A0\\u8F7D\\u4E2D\"\n },\n cascader: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n loading: \"\\u52A0\\u8F7D\\u4E2D\",\n placeholder: \"\\u8BF7\\u9009\\u62E9\",\n noData: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n pagination: {\n goto: \"\\u524D\\u5F80\",\n pagesize: \"\\u6761/\\u9875\",\n total: \"\\u5171 {total} \\u6761\",\n pageClassifier: \"\\u9875\",\n page: \"\\u9875\",\n prev: \"\\u4E0A\\u4E00\\u9875\",\n next: \"\\u4E0B\\u4E00\\u9875\",\n currentPage: \"\\u7B2C {pager} \\u9875\",\n prevPages: \"\\u5411\\u524D {pager} \\u9875\",\n nextPages: \"\\u5411\\u540E {pager} \\u9875\",\n deprecationWarning: \"\\u4F60\\u4F7F\\u7528\\u4E86\\u4E00\\u4E9B\\u5DF2\\u88AB\\u5E9F\\u5F03\\u7684\\u7528\\u6CD5\\uFF0C\\u8BF7\\u53C2\\u8003 el-pagination \\u7684\\u5B98\\u65B9\\u6587\\u6863\"\n },\n dialog: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n drawer: {\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n messagebox: {\n title: \"\\u63D0\\u793A\",\n confirm: \"\\u786E\\u5B9A\",\n cancel: \"\\u53D6\\u6D88\",\n error: \"\\u8F93\\u5165\\u7684\\u6570\\u636E\\u4E0D\\u5408\\u6CD5!\",\n close: \"\\u5173\\u95ED\\u6B64\\u5BF9\\u8BDD\\u6846\"\n },\n upload: {\n deleteTip: \"\\u6309 delete \\u952E\\u53EF\\u5220\\u9664\",\n delete: \"\\u5220\\u9664\",\n preview: \"\\u67E5\\u770B\\u56FE\\u7247\",\n continue: \"\\u7EE7\\u7EED\\u4E0A\\u4F20\"\n },\n slider: {\n defaultLabel: \"\\u6ED1\\u5757\\u4ECB\\u4E8E {min} \\u81F3 {max}\",\n defaultRangeStartLabel: \"\\u9009\\u62E9\\u8D77\\u59CB\\u503C\",\n defaultRangeEndLabel: \"\\u9009\\u62E9\\u7ED3\\u675F\\u503C\"\n },\n table: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\",\n confirmFilter: \"\\u7B5B\\u9009\",\n resetFilter: \"\\u91CD\\u7F6E\",\n clearFilter: \"\\u5168\\u90E8\",\n sumText: \"\\u5408\\u8BA1\"\n },\n tour: {\n next: \"\\u4E0B\\u4E00\\u6B65\",\n previous: \"\\u4E0A\\u4E00\\u6B65\",\n finish: \"\\u7ED3\\u675F\\u5BFC\\u89C8\"\n },\n tree: {\n emptyText: \"\\u6682\\u65E0\\u6570\\u636E\"\n },\n transfer: {\n noMatch: \"\\u65E0\\u5339\\u914D\\u6570\\u636E\",\n noData: \"\\u65E0\\u6570\\u636E\",\n titles: [\"\\u5217\\u8868 1\", \"\\u5217\\u8868 2\"],\n filterPlaceholder: \"\\u8BF7\\u8F93\\u5165\\u641C\\u7D22\\u5185\\u5BB9\",\n noCheckedFormat: \"\\u5171 {total} \\u9879\",\n hasCheckedFormat: \"\\u5DF2\\u9009 {checked}/{total} \\u9879\"\n },\n image: {\n error: \"\\u52A0\\u8F7D\\u5931\\u8D25\"\n },\n pageHeader: {\n title: \"\\u8FD4\\u56DE\"\n },\n popconfirm: {\n confirmButtonText: \"\\u786E\\u5B9A\",\n cancelButtonText: \"\\u53D6\\u6D88\"\n },\n carousel: {\n leftArrow: \"\\u4E0A\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n rightArrow: \"\\u4E0B\\u4E00\\u5F20\\u5E7B\\u706F\\u7247\",\n indicator: \"\\u5E7B\\u706F\\u7247\\u5207\\u6362\\u81F3\\u7D22\\u5F15 {index}\"\n }\n }\n};\n\nexport { zhCn as default };\n//# sourceMappingURL=zh-cn.mjs.map\n","export interface MorDialogProps {\n modelValue?: boolean,\n title?: string,\n subTitle?: string,\n width?: string | number,\n fullscreen?: boolean,\n top?: string,\n modal?: boolean,\n modalClass?: string,\n headerClass?: string,\n bodyClass?: string,\n footerClass?: string,\n appendToBody?: boolean,\n appendTo?: string,\n lockScroll?: boolean,\n openDelay?: number,\n closeDelay?: number,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n showClose?: boolean,\n beforeClose?: Function,\n draggable?: boolean,\n overFlow?: boolean,\n center?: boolean,\n alignCenter?: boolean,\n destroyOnClose?: boolean,\n closeIcon?: string,\n zIndex?: number,\n headerAriaLevel?: string,\n confirm?: Function,\n cancel?: Function,\n confirmButtonText?: string\n cancelButtonText?: string\n}\n\nexport const morDialogPropsDefault: MorDialogProps = {\n title: '对话框',\n width: 600,\n fullscreen: false,\n top: '30px',\n modal: true,\n modalClass: 'mor-dialog-modal',\n headerClass: 'mor-dialog-header',\n bodyClass: 'mor-dialog-body-wrapper',\n footerClass: 'mor-dialog-footer',\n appendToBody: true,\n appendTo: 'body',\n lockScroll: true,\n openDelay: 0,\n closeDelay: 0,\n closeOnClickModal: false,\n closeOnPressEscape: false,\n showClose: false,\n beforeClose: (done: Function) => done(),\n draggable: true,\n overFlow: false,\n center: false,\n alignCenter: false,\n destroyOnClose: true,\n closeIcon: 'close',\n confirmButtonText: '确认',\n cancelButtonText: '取消',\n}","<template>\n <el-dialog\n class=\"mor-dialog\"\n v-model=\"visible\"\n v-bind=\"{...$props, ...$attrs}\"\n @close=\"emits('close')\"\n @keydown.esc=\"handleCancel()\"\n >\n <template #header>\n <div>\n <slot name=\"title\" :data=\"$data\">\n <el-text size=\"large\" tag=\"b\">{{ __title }}</el-text>\n </slot>\n <slot name=\"sub-title\" :data=\"$data\">\n <template v-if=\"$subTitle\">\n <el-divider direction=\"vertical\"></el-divider>\n <el-text tag=\"b\" type=\"info\">{{ __subTitle }}</el-text>\n </template>\n </slot>\n </div>\n <div>\n <template v-if=\"hasHeader\">\n <slot name=\"header\" :data=\"$data\"></slot>\n <el-divider direction=\"vertical\"></el-divider>\n </template>\n <el-button\n size=\"small\"\n style=\"padding: 3px 6px\"\n type=\"danger\"\n :disabled=\"loading\"\n @click=\"handleCancel\"\n >\n <fa icon=\"close\"></fa>\n </el-button>\n </div>\n </template>\n <template #default>\n <div\n v-loading=\"loading\"\n class=\"mor-dialog-body\"\n element-loading-background=\"rgba(0,0,0,0.1)\"\n element-loading-text=\"加载中...\"\n >\n <slot :data=\"$data\"></slot>\n </div>\n </template>\n <template #footer v-if=\"showFooter\">\n <el-space>\n <slot v-if=\"hasFooter\" name=\"footer\" :data=\"$data\"/>\n &nbsp;\n </el-space>\n <el-space v-if=\"confirm\">\n <el-button\n type=\"success\"\n :disabled=\"loading\"\n @click=\"handleConfirm\"\n >\n {{ confirmButtonText }}\n </el-button>\n <el-button\n type=\"info\"\n @click=\"handleCancel\"\n :disabled=\"loading\"\n >\n {{ cancelButtonText }}\n </el-button>\n </el-space>\n </template>\n </el-dialog>\n</template>\n\n<script setup lang=\"ts\">\n\nimport {computed, ref, useSlots} from \"vue\";\nimport _ from 'lodash'\n\nimport {morDialogPropsDefault, type MorDialogProps} from \"../../types/dialog.types.ts\";\n\n// 已从types/dialog.types.ts导入MorDialogProps接口,无需重复定义\n\nlet emits = defineEmits(['close', 'update:title', 'update:subTitle', 'update:modelValue'])\nlet props = withDefaults(\n defineProps<MorDialogProps>(),\n morDialogPropsDefault\n)\n\n/**\n * 功能区\n */\nconst slots = useSlots();\nconst hasHeader = computed(() => !!slots.header)\nconst hasFooter = computed(() => !!slots.footer)\nconst showFooter = hasFooter.value || !!props.confirm\n\n\nconst loading = ref(false)\nconst $data: any = ref({})\nconst __title = ref('')\nconst __subTitle = ref('')\nconst $title = computed({\n get: () => props.title,\n set: (v) => {\n emits('update:title', v)\n __title.value = v || '对话框'\n }\n})\nconst $subTitle = computed({\n get: () => props.subTitle,\n set: (v) => {\n emits('update:subTitle', v)\n __subTitle.value = v || ''\n }\n})\n\nconst $origin = ref({})\n\n// 将visible与modelValue同步\nconst visible = computed({\n get: () => props.modelValue,\n set: (value) => {\n emits('update:modelValue', value)\n }\n})\n\nexport type MorDialogConfig = {\n title: string,\n subTitle: string\n}\n\nfunction open(data: any = {}, config?: MorDialogConfig) {\n if (config) {\n const {title, subTitle} = config\n $title.value = title\n $subTitle.value = subTitle\n }\n $origin.value = data\n $data.value = _.cloneDeep(data)\n emits('update:modelValue', true)\n}\n\nfunction close() {\n loading.value = false\n emits('update:modelValue', false)\n}\n\nfunction handleConfirm() {\n loading.value = true\n props.confirm && props.confirm($data.value, close)\n}\n\nfunction handleCancel() {\n loading.value = true\n if (props.cancel) {\n props.cancel($data.value, close)\n } else {\n close()\n }\n}\n\ndefineExpose({open, close})\n\n</script>\n\n<style>\n.mor-dialog {\n border: 2px solid #aaaaaa;\n}\n\n.mor-dialog-modal {\n background-color: rgba(4, 33, 71, 0.15) !important;\n}\n\n.mor-dialog-header {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding-left: 5px;\n}\n\n.mor-dialog-body-wrapper {\n padding: 0;\n background-color: transparent;\n}\n\n.mor-dialog-body {\n background-color: #ffffff;\n}\n\n.mor-dialog-footer {\n color: #aaa;\n padding-left: 5px;\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n}\n</style>","import {useMorghulisRequest} from \"./request\";\n\nexport function useMorghulisChannel(baseURL: string) {\n const {getRequest} = useMorghulisRequest(baseURL)\n const http = getRequest()\n\n // 这里可以添加更多的通道相关功能\n \n return {\n http\n }\n}","import type {App} from \"vue\";\nimport ElementPlus from 'element-plus'\n// 确保导入Element Plus的样式\nimport 'element-plus/dist/index.css'\nimport {$channel} from \"./tools/sockets.ts\";\nimport 'font-awesome/css/font-awesome.css'\n// 导入组件库自身的基础样式\nimport './base.css'\nimport type {MorOption} from \"./types/io.types.ts\";\nimport type {MorghulisOptions} from \"./types/channel.types.ts\";\nimport zhCn from 'element-plus/es/locale/lang/zh-cn'\nimport MDialog from \"./components/dialog/MDialog.vue\";\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport {fas} from '@fortawesome/free-solid-svg-icons'\nimport {FontAwesomeIcon} from '@fortawesome/vue-fontawesome';\n// 导入Element Plus的组件类型,确保IDE能够识别\nimport type * as ElementPlusComponents from 'element-plus'\n// 导入hooks\nimport {useMorghulisCookies} from \"./hooks/cookies.ts\";\nimport {useMorghulisAuthorize} from \"./hooks/authorize.ts\";\nimport {useMorghulisChannel} from \"./hooks/channel.ts\";\nimport {useMorghulisRequest} from \"./hooks/request.ts\";\n// 导入工具\nimport {$message, $alert, $confirm} from \"./tools/feedback.ts\";\n\n// 注册FontAwesome图标\nlibrary.add(fas);\n\n// 创建Morghulis实例的工厂函数\nexport const createMorghulis = (options?: MorOption & MorghulisOptions) => {\n const channel = $channel(options || {})\n const {baseURL} = options || {baseURL: '/api/', minioURL: '/dfs/'}\n useMorghulisChannel(baseURL as string)\n \n return {\n install: (Vue: App) => {\n Vue.provide('options', options)\n Vue.provide('channel', channel)\n Vue.component('MDialog', MDialog)\n Vue.use(ElementPlus, {\n locale: zhCn,\n })\n Vue.component('fa', FontAwesomeIcon)\n }\n }\n}\n\n// 导出组件,方便单独引入\nexport {\n MDialog\n}\n\n// 导出hooks\nexport {\n useMorghulisCookies,\n useMorghulisAuthorize,\n useMorghulisChannel,\n useMorghulisRequest\n}\n\n// 导出工具\nexport {\n $message,\n $alert,\n $confirm\n}\n\n// 导出Element Plus,确保用户可以访问所有Element Plus组件\nexport { ElementPlus }\n\n// 导出类型定义\nexport type * from './types/dialog.types.ts'\nexport type * from './types/io.types.ts'\nexport type * from './types/channel.types.ts'\nexport type * from './types/feedback.types.ts'\nexport type * from './types/ui.types.ts'\n// 重新导出Element Plus的类型,确保IDE能够识别\nexport type * from 'element-plus'\n\n// 默认导出\nexport default {\n install: (app: App, options?: MorOption) => {\n // 先安装Element Plus,确保其组件和样式被正确加载\n app.use(ElementPlus, {\n locale: zhCn,\n })\n // 再安装Morghulis组件\n createMorghulis(options).install(app)\n }\n}"],"names":["$message","message","ElMessage","$alert","title","ElMessageBox","$confirm","useMorghulisCookies","get","path","key","getKeyFromPath","value","getJsonFromCookies","_path","_","set","remove","Cookies","oldValue","newValue","load","index","SYSTEM_KEY","useMorghulisAuthorize","$client","nanoid","user","uid","resolve","check","logout","bearer","useMorghulisRequest","baseURL","responseType","getRequest","auth","instance","axios","request","response","config","beforeRequest","onReject","beforeResponse","all","NProgress","headers","data","UID","code","result","type","getTypeByCode","error","status","$channel","options","baseUrl","http","event","callback","zhCn","morDialogPropsDefault","done","emits","__emit","props","__props","slots","useSlots","hasHeader","computed","hasFooter","showFooter","loading","ref","$data","__title","__subTitle","$title","v","$subTitle","$origin","visible","open","subTitle","close","handleConfirm","handleCancel","__expose","useMorghulisChannel","library","fas","createMorghulis","channel","Vue","MDialog","ElementPlus","FontAwesomeIcon","app"],"mappings":"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","x_google_ignoreList":[5]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "morghulis",
3
- "version": "1.0.19",
3
+ "version": "1.0.20",
4
4
  "description": "基于Vue 3和TypeScript的数据库便捷搭建UI组件库",
5
5
  "main": "dist/morghulis.umd.js",
6
6
  "module": "dist/morghulis.es.js",