fix: 优化消息中心和医生二维码
This commit is contained in:
@@ -32,10 +32,12 @@ const [Modal, modalApi] = useVbenModal({
|
||||
modalApi.close();
|
||||
},
|
||||
onOpenChange(isOpen: boolean) {
|
||||
modalApi.setState({
|
||||
loading: true,
|
||||
});
|
||||
if (isOpen) {
|
||||
const { values } = modalApi.getData<Record<string, any>>();
|
||||
if (values) {
|
||||
console.log(values, 'ssssssssssssss')
|
||||
if (values.doctor_id !== undefined) {
|
||||
doctorId.value = values.doctor_id;
|
||||
}
|
||||
@@ -57,6 +59,10 @@ const getDoctorInfoByStore = () => {
|
||||
goodAt.value = res.doctor.good_at;
|
||||
previewAddress.value =
|
||||
res.store.province.name + res.store.city.name + res.store.position;
|
||||
|
||||
modalApi.setState({
|
||||
loading: false,
|
||||
});
|
||||
});
|
||||
};
|
||||
/**
|
||||
|
||||
57
apps/web-antd/src/views/notice/compoents/UnreadUserList.vue
Normal file
57
apps/web-antd/src/views/notice/compoents/UnreadUserList.vue
Normal file
@@ -0,0 +1,57 @@
|
||||
<script lang="ts" setup>
|
||||
import { ref } from 'vue';
|
||||
|
||||
import { useVbenModal } from '@vben/common-ui';
|
||||
import {Avatar, List, ListItem, ListItemMeta, Tag} from "ant-design-vue";
|
||||
|
||||
const userList = ref([]);
|
||||
const unreadCount = ref(0);
|
||||
const title = ref('通知的用户列表');
|
||||
const [Modal, modalApi] = useVbenModal({
|
||||
fullscreenButton: false,
|
||||
draggable: true,
|
||||
footer: false,
|
||||
onCancel() {
|
||||
modalApi.close();
|
||||
},
|
||||
onConfirm: async () => {
|
||||
modalApi.close();
|
||||
},
|
||||
onOpenChange(isOpen: boolean) {
|
||||
if (isOpen) {
|
||||
const { values, unread_count } = modalApi.getData<Record<string, any>>();
|
||||
if (values) {
|
||||
userList.value = values;
|
||||
unreadCount.value = unread_count;
|
||||
if (unread_count > 0) {
|
||||
title.value = `通知的用户列表 - (${unread_count}个用户未读)`;
|
||||
} else {
|
||||
title.value = `通知的用户列表 - (全部已读)`;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<template>
|
||||
<Modal :title="title" class="w-[60%]">
|
||||
<List
|
||||
:bordered="true"
|
||||
>
|
||||
<ListItem v-for="item in userList">
|
||||
<ListItemMeta>
|
||||
<template #avatar>
|
||||
<Avatar :src="item.admin?.avatar">
|
||||
{{ item.admin?.nick_name.slice(0, 2) }}
|
||||
</Avatar>
|
||||
</template>
|
||||
<template #title>
|
||||
{{ item.admin?.nick_name }}
|
||||
</template>
|
||||
</ListItemMeta>
|
||||
<Tag v-if="item.status === 0" color="warning">未读</Tag>
|
||||
<Tag v-else-if="item.status === 1" color="success">已读</Tag>
|
||||
</ListItem>
|
||||
</List>
|
||||
</Modal>
|
||||
</template>
|
||||
@@ -2,11 +2,9 @@
|
||||
import { onMounted, ref } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
|
||||
import { Page } from '@vben/common-ui';
|
||||
import { Page, useVbenModal } from '@vben/common-ui';
|
||||
import { useTabs } from '@vben/hooks';
|
||||
|
||||
import {Button} from 'ant-design-vue'
|
||||
|
||||
import {
|
||||
ArrowLeft,
|
||||
Bell,
|
||||
@@ -15,15 +13,16 @@ import {
|
||||
Megaphone,
|
||||
User,
|
||||
} from 'lucide-vue-next';
|
||||
import { MdPreview } from 'md-editor-v3';
|
||||
|
||||
import { formatTimeToRelative } from '#/util/tool';
|
||||
import { getNoticeDetailApi } from '#/views/notice/api';
|
||||
|
||||
// 新增 Markdown 解析相关依赖
|
||||
import UnreadUserList from './UnreadUserList.vue';
|
||||
|
||||
// eslint-disable-next-line n/no-extraneous-import
|
||||
import { marked } from 'marked';
|
||||
// eslint-disable-next-line n/no-extraneous-import
|
||||
import DOMPurify from 'dompurify';
|
||||
import 'md-editor-v3/lib/style.css';
|
||||
import {Icon} from "#/components/icon";
|
||||
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
@@ -99,18 +98,6 @@ const getTypeInfo = (typeId) => {
|
||||
return messageTypes.find((t) => t.id === typeId) || messageTypes[0];
|
||||
};
|
||||
|
||||
// 新增 Markdown 解析方法
|
||||
const parseMarkdown = (content) => {
|
||||
if (!content) return '';
|
||||
// 配置 marked(可选)
|
||||
marked.setOptions({
|
||||
gfm: true, // 启用 GitHub Flavored Markdown
|
||||
breaks: false, // 转换换行符为 <br>
|
||||
});
|
||||
// 安全净化 HTML
|
||||
return DOMPurify.sanitize(marked.parse(content));
|
||||
};
|
||||
|
||||
// 格式化内容,将换行符转换为<br>
|
||||
const formatContent = (content) => {
|
||||
return content ? content.replaceAll('\n', '<br>') : '';
|
||||
@@ -120,13 +107,22 @@ onMounted(() => {
|
||||
getNoticeDetail();
|
||||
});
|
||||
|
||||
const [UnreadUserListModal, UnreadUserListModalApi] = useVbenModal({
|
||||
connectedComponent: UnreadUserList,
|
||||
});
|
||||
|
||||
const showUnreadList = () => {
|
||||
alert('未实现')
|
||||
}
|
||||
UnreadUserListModalApi.setData({
|
||||
values: notice.value.user_list,
|
||||
unread_count: notice.value.unread_count,
|
||||
});
|
||||
UnreadUserListModalApi.open();
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Page>
|
||||
<UnreadUserListModal />
|
||||
<template #title>
|
||||
<div class="flex items-center gap-2">
|
||||
<button
|
||||
@@ -208,7 +204,7 @@ const showUnreadList = () => {
|
||||
>
|
||||
<div class="flex items-center gap-1.5">
|
||||
来自:
|
||||
<User class="h-4 w-4" />
|
||||
<Icon icon="svg:logo" />
|
||||
<span>萧康云医</span>
|
||||
</div>
|
||||
|
||||
@@ -238,20 +234,20 @@ const showUnreadList = () => {
|
||||
|
||||
<!-- 内容 -->
|
||||
<div
|
||||
v-if="notice.edit_type === 0"
|
||||
class="rounded-lg bg-gray-50 p-4 transition-colors dark:bg-gray-700"
|
||||
>
|
||||
<div
|
||||
v-if="notice.edit_type === 0"
|
||||
class="prose prose-sm dark:prose-invert max-w-none text-gray-700 transition-colors dark:text-gray-300"
|
||||
v-html="formatContent(notice.content)"
|
||||
></div>
|
||||
<div
|
||||
v-else-if="notice.edit_type === 1"
|
||||
class="markdown-body prose-sm dark:prose-invert max-w-none text-gray-700 transition-colors dark:text-gray-300"
|
||||
v-html="parseMarkdown(notice.content)"
|
||||
></div>
|
||||
</div>
|
||||
|
||||
<MdPreview
|
||||
v-else-if="notice.edit_type === 1"
|
||||
v-model="notice.content"
|
||||
style="padding: 10px 20px"
|
||||
theme="dark"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- 操作按钮 -->
|
||||
|
||||
@@ -20,7 +20,7 @@ import { uploadFile } from '#/api/core/upload';
|
||||
import { getUserOptionApi, sendNoticeApi } from '#/views/notice/api';
|
||||
|
||||
// Import Markdown editor (using a popular Vue 3 Markdown editor)
|
||||
import { config, MdEditor } from 'md-editor-v3';
|
||||
import { MdEditor } from 'md-editor-v3';
|
||||
|
||||
import 'md-editor-v3/lib/style.css';
|
||||
|
||||
@@ -427,7 +427,7 @@ const setupQuillPasteHandler = () => {
|
||||
|
||||
/* Markdown编辑器样式 */
|
||||
.md-editor-container {
|
||||
height: 350px;
|
||||
min-height: 400px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { useRouter } from 'vue-router';
|
||||
|
||||
import { Page } from '@vben/common-ui';
|
||||
|
||||
import { notification, Tag } from 'ant-design-vue';
|
||||
import { Button, notification, Tag } from 'ant-design-vue';
|
||||
import {
|
||||
Bell,
|
||||
CalendarClock,
|
||||
@@ -140,7 +140,7 @@ const markAsRead = async (event, item) => {
|
||||
message: '标记成功',
|
||||
duration: 2,
|
||||
});
|
||||
getNoticeList();
|
||||
// getNoticeList();
|
||||
} catch (error) {
|
||||
console.error('标记已读失败:', error);
|
||||
}
|
||||
@@ -158,7 +158,7 @@ const markAllAsRead = async () => {
|
||||
message: '标记成功',
|
||||
duration: 2,
|
||||
});
|
||||
getNoticeList();
|
||||
// getNoticeList();
|
||||
} catch (error) {
|
||||
console.error('标记全部已读失败:', error);
|
||||
}
|
||||
@@ -202,7 +202,7 @@ const toggleExpand = (event, id) => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Page title="消息中心">
|
||||
<Page title="消息中心" description="关于执行的操作通知、公告等等信息都会在这里">
|
||||
<template #extra>
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="text-gray-500 dark:text-gray-400">共 {{ total }} 条消息</span>
|
||||
@@ -292,6 +292,7 @@ const toggleExpand = (event, id) => {
|
||||
<CheckCircle2 class="h-4 w-4 text-gray-500 dark:text-gray-400" />
|
||||
标记全部已读
|
||||
</button>
|
||||
<Button type="link" @click="getNoticeList">刷新</Button>
|
||||
</div>
|
||||
|
||||
<!-- 消息列表 -->
|
||||
|
||||
10
package.json
10
package.json
@@ -28,11 +28,6 @@
|
||||
"build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 turbo build",
|
||||
"build:analyze": "turbo build:analyze",
|
||||
"build:antd": "pnpm run build --filter=@vben/web-antd",
|
||||
"build:docker": "./scripts/deploy/build-local-docker-image.sh",
|
||||
"build:docs": "pnpm run build --filter=@vben/docs",
|
||||
"build:ele": "pnpm run build --filter=@vben/web-ele",
|
||||
"build:naive": "pnpm run build --filter=@vben/web-naive",
|
||||
"build:play": "pnpm run build --filter=@vben/playground",
|
||||
"changeset": "pnpm exec changeset",
|
||||
"check": "pnpm run check:circular && pnpm run check:dep && pnpm run check:type && pnpm check:cspell",
|
||||
"check:circular": "vsh check-circular",
|
||||
@@ -116,16 +111,11 @@
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/dompurify": "^3.2.0",
|
||||
"@types/marked": "^6.0.0",
|
||||
"@vueup/vue-quill": "^1.2.0",
|
||||
"dompurify": "^3.2.5",
|
||||
"github-markdown-css": "^5.8.1",
|
||||
"html2canvas": "^1.4.1",
|
||||
"js-base64": "^3.7.7",
|
||||
"lodash-es": "^4.17.21",
|
||||
"lucide-vue-next": "^0.487.0",
|
||||
"marked": "^15.0.8",
|
||||
"md-editor-v3": "^5.4.5"
|
||||
}
|
||||
}
|
||||
|
||||
540
pnpm-lock.yaml
generated
540
pnpm-lock.yaml
generated
@@ -12,387 +12,51 @@ catalogs:
|
||||
'@changesets/cli':
|
||||
specifier: ^2.27.11
|
||||
version: 2.27.11
|
||||
'@changesets/git':
|
||||
specifier: ^3.0.2
|
||||
version: 3.0.2
|
||||
'@clack/prompts':
|
||||
specifier: ^0.9.0
|
||||
version: 0.9.0
|
||||
'@commitlint/cli':
|
||||
specifier: ^19.6.1
|
||||
version: 19.6.1
|
||||
'@commitlint/config-conventional':
|
||||
specifier: ^19.6.0
|
||||
version: 19.6.0
|
||||
'@eslint/js':
|
||||
specifier: ^9.17.0
|
||||
version: 9.17.0
|
||||
'@iconify/json':
|
||||
specifier: ^2.2.286
|
||||
version: 2.2.286
|
||||
'@iconify/tailwind':
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0
|
||||
'@iconify/vue':
|
||||
specifier: ^4.2.0
|
||||
version: 4.2.0
|
||||
'@intlify/core-base':
|
||||
specifier: ^10.0.5
|
||||
version: 10.0.5
|
||||
'@intlify/unplugin-vue-i18n':
|
||||
specifier: ^6.0.1
|
||||
version: 6.0.1
|
||||
'@jspm/generator':
|
||||
specifier: ^2.4.1
|
||||
version: 2.4.1
|
||||
'@manypkg/get-packages':
|
||||
specifier: ^2.2.2
|
||||
version: 2.2.2
|
||||
'@playwright/test':
|
||||
specifier: ^1.49.1
|
||||
version: 1.49.1
|
||||
'@pnpm/workspace.read-manifest':
|
||||
specifier: ^1000.0.1
|
||||
version: 1000.0.1
|
||||
'@stylistic/stylelint-plugin':
|
||||
specifier: ^3.1.1
|
||||
version: 3.1.1
|
||||
'@tailwindcss/nesting':
|
||||
specifier: 0.0.0-insiders.565cd3e
|
||||
version: 0.0.0-insiders.565cd3e
|
||||
'@tailwindcss/typography':
|
||||
specifier: ^0.5.15
|
||||
version: 0.5.15
|
||||
'@tanstack/vue-query':
|
||||
specifier: ^5.62.8
|
||||
version: 5.62.8
|
||||
'@tanstack/vue-store':
|
||||
specifier: ^0.6.0
|
||||
version: 0.6.0
|
||||
'@types/archiver':
|
||||
specifier: ^6.0.3
|
||||
version: 6.0.3
|
||||
'@types/eslint':
|
||||
specifier: ^9.6.1
|
||||
version: 9.6.1
|
||||
'@types/html-minifier-terser':
|
||||
specifier: ^7.0.2
|
||||
version: 7.0.2
|
||||
'@types/lodash.clonedeep':
|
||||
specifier: ^4.5.9
|
||||
version: 4.5.9
|
||||
'@types/lodash.get':
|
||||
specifier: ^4.4.9
|
||||
version: 4.4.9
|
||||
'@types/lodash.isequal':
|
||||
specifier: ^4.5.8
|
||||
version: 4.5.8
|
||||
'@types/node':
|
||||
specifier: ^22.10.2
|
||||
version: 22.10.2
|
||||
'@types/nprogress':
|
||||
specifier: ^0.2.3
|
||||
version: 0.2.3
|
||||
'@types/postcss-import':
|
||||
specifier: ^14.0.3
|
||||
version: 14.0.3
|
||||
'@types/qrcode':
|
||||
specifier: ^1.5.5
|
||||
version: 1.5.5
|
||||
'@types/sortablejs':
|
||||
specifier: ^1.15.8
|
||||
version: 1.15.8
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: ^8.18.1
|
||||
version: 8.18.1
|
||||
'@typescript-eslint/parser':
|
||||
specifier: ^8.18.1
|
||||
version: 8.18.1
|
||||
'@vee-validate/zod':
|
||||
specifier: ^4.14.7
|
||||
version: 4.14.7
|
||||
'@vitejs/plugin-vue':
|
||||
specifier: ^5.2.1
|
||||
version: 5.2.1
|
||||
'@vitejs/plugin-vue-jsx':
|
||||
specifier: ^4.1.1
|
||||
version: 4.1.1
|
||||
'@vue/shared':
|
||||
specifier: ^3.5.13
|
||||
version: 3.5.13
|
||||
'@vue/test-utils':
|
||||
specifier: ^2.4.6
|
||||
version: 2.4.6
|
||||
'@vueuse/core':
|
||||
specifier: ^12.0.0
|
||||
version: 12.0.0
|
||||
'@vueuse/integrations':
|
||||
specifier: ^12.0.0
|
||||
version: 12.0.0
|
||||
ant-design-vue:
|
||||
specifier: ^4.2.6
|
||||
version: 4.2.6
|
||||
archiver:
|
||||
specifier: ^7.0.1
|
||||
version: 7.0.1
|
||||
autoprefixer:
|
||||
specifier: ^10.4.20
|
||||
version: 10.4.20
|
||||
axios:
|
||||
specifier: ^1.7.9
|
||||
version: 1.7.9
|
||||
axios-mock-adapter:
|
||||
specifier: ^2.1.0
|
||||
version: 2.1.0
|
||||
cac:
|
||||
specifier: ^6.7.14
|
||||
version: 6.7.14
|
||||
chalk:
|
||||
specifier: ^5.4.0
|
||||
version: 5.4.0
|
||||
cheerio:
|
||||
specifier: 1.0.0
|
||||
version: 1.0.0
|
||||
circular-dependency-scanner:
|
||||
specifier: ^2.3.0
|
||||
version: 2.3.0
|
||||
class-variance-authority:
|
||||
specifier: ^0.7.1
|
||||
version: 0.7.1
|
||||
commitlint-plugin-function-rules:
|
||||
specifier: ^4.0.1
|
||||
version: 4.0.1
|
||||
consola:
|
||||
specifier: ^3.3.0
|
||||
version: 3.3.0
|
||||
cross-env:
|
||||
specifier: ^7.0.3
|
||||
version: 7.0.3
|
||||
cspell:
|
||||
specifier: ^8.17.1
|
||||
version: 8.17.1
|
||||
cssnano:
|
||||
specifier: ^7.0.6
|
||||
version: 7.0.6
|
||||
cz-git:
|
||||
specifier: ^1.11.0
|
||||
version: 1.11.0
|
||||
czg:
|
||||
specifier: ^1.11.0
|
||||
version: 1.11.0
|
||||
dayjs:
|
||||
specifier: ^1.11.13
|
||||
version: 1.11.13
|
||||
defu:
|
||||
specifier: ^6.1.4
|
||||
version: 6.1.4
|
||||
depcheck:
|
||||
specifier: ^1.4.7
|
||||
version: 1.4.7
|
||||
dotenv:
|
||||
specifier: ^16.4.7
|
||||
version: 16.4.7
|
||||
echarts:
|
||||
specifier: ^5.5.1
|
||||
version: 5.5.1
|
||||
eslint:
|
||||
specifier: ^9.17.0
|
||||
version: 9.17.0
|
||||
eslint-config-turbo:
|
||||
specifier: ^2.3.3
|
||||
version: 2.3.3
|
||||
eslint-plugin-command:
|
||||
specifier: ^0.2.7
|
||||
version: 0.2.7
|
||||
eslint-plugin-eslint-comments:
|
||||
specifier: ^3.2.0
|
||||
version: 3.2.0
|
||||
eslint-plugin-import-x:
|
||||
specifier: ^4.6.1
|
||||
version: 4.6.1
|
||||
eslint-plugin-jsdoc:
|
||||
specifier: ^50.6.1
|
||||
version: 50.6.1
|
||||
eslint-plugin-jsonc:
|
||||
specifier: ^2.18.2
|
||||
version: 2.18.2
|
||||
eslint-plugin-n:
|
||||
specifier: ^17.15.1
|
||||
version: 17.15.1
|
||||
eslint-plugin-no-only-tests:
|
||||
specifier: ^3.3.0
|
||||
version: 3.3.0
|
||||
eslint-plugin-perfectionist:
|
||||
specifier: ^3.9.1
|
||||
version: 3.9.1
|
||||
eslint-plugin-prettier:
|
||||
specifier: ^5.2.1
|
||||
version: 5.2.1
|
||||
eslint-plugin-regexp:
|
||||
specifier: ^2.7.0
|
||||
version: 2.7.0
|
||||
eslint-plugin-unicorn:
|
||||
specifier: ^56.0.1
|
||||
version: 56.0.1
|
||||
eslint-plugin-unused-imports:
|
||||
specifier: ^4.1.4
|
||||
version: 4.1.4
|
||||
eslint-plugin-vitest:
|
||||
specifier: ^0.5.4
|
||||
version: 0.5.4
|
||||
eslint-plugin-vue:
|
||||
specifier: ^9.32.0
|
||||
version: 9.32.0
|
||||
execa:
|
||||
specifier: ^9.5.2
|
||||
version: 9.5.2
|
||||
find-up:
|
||||
specifier: ^7.0.0
|
||||
version: 7.0.0
|
||||
get-port:
|
||||
specifier: ^7.1.0
|
||||
version: 7.1.0
|
||||
globals:
|
||||
specifier: ^15.14.0
|
||||
version: 15.14.0
|
||||
happy-dom:
|
||||
specifier: ^15.11.7
|
||||
version: 15.11.7
|
||||
html-minifier-terser:
|
||||
specifier: ^7.2.0
|
||||
version: 7.2.0
|
||||
husky:
|
||||
specifier: ^9.1.7
|
||||
version: 9.1.7
|
||||
is-ci:
|
||||
specifier: ^4.1.0
|
||||
version: 4.1.0
|
||||
jsonc-eslint-parser:
|
||||
specifier: ^2.4.0
|
||||
version: 2.4.0
|
||||
lint-staged:
|
||||
specifier: ^15.2.11
|
||||
version: 15.2.11
|
||||
lodash.clonedeep:
|
||||
specifier: ^4.5.0
|
||||
version: 4.5.0
|
||||
lodash.get:
|
||||
specifier: ^4.4.2
|
||||
version: 4.4.2
|
||||
lodash.isequal:
|
||||
specifier: ^4.5.0
|
||||
version: 4.5.0
|
||||
lucide-vue-next:
|
||||
specifier: ^0.469.0
|
||||
version: 0.469.0
|
||||
nitropack:
|
||||
specifier: ^2.10.4
|
||||
version: 2.10.4
|
||||
nprogress:
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.0
|
||||
ora:
|
||||
specifier: ^8.1.1
|
||||
version: 8.1.1
|
||||
pinia-plugin-persistedstate:
|
||||
specifier: ^4.2.0
|
||||
version: 4.2.0
|
||||
pkg-types:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
playwright:
|
||||
specifier: ^1.49.1
|
||||
version: 1.49.1
|
||||
postcss:
|
||||
specifier: ^8.4.49
|
||||
version: 8.4.49
|
||||
postcss-antd-fixes:
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.0
|
||||
postcss-html:
|
||||
specifier: ^1.7.0
|
||||
version: 1.7.0
|
||||
postcss-import:
|
||||
specifier: ^16.1.0
|
||||
version: 16.1.0
|
||||
postcss-preset-env:
|
||||
specifier: ^10.1.2
|
||||
version: 10.1.2
|
||||
postcss-scss:
|
||||
specifier: ^4.0.9
|
||||
version: 4.0.9
|
||||
prettier:
|
||||
specifier: ^3.4.2
|
||||
version: 3.4.2
|
||||
prettier-plugin-tailwindcss:
|
||||
specifier: ^0.6.9
|
||||
version: 0.6.9
|
||||
publint:
|
||||
specifier: ^0.2.12
|
||||
version: 0.2.12
|
||||
qrcode:
|
||||
specifier: ^1.5.4
|
||||
version: 1.5.4
|
||||
radix-vue:
|
||||
specifier: ^1.9.11
|
||||
version: 1.9.11
|
||||
resolve.exports:
|
||||
specifier: ^2.0.3
|
||||
version: 2.0.3
|
||||
rimraf:
|
||||
specifier: ^6.0.1
|
||||
version: 6.0.1
|
||||
rollup:
|
||||
specifier: ^4.28.1
|
||||
version: 4.28.1
|
||||
rollup-plugin-visualizer:
|
||||
specifier: ^5.12.0
|
||||
version: 5.12.0
|
||||
sass:
|
||||
specifier: 1.80.6
|
||||
version: 1.80.6
|
||||
sortablejs:
|
||||
specifier: ^1.15.6
|
||||
version: 1.15.6
|
||||
stylelint:
|
||||
specifier: ^16.12.0
|
||||
version: 16.12.0
|
||||
stylelint-config-recess-order:
|
||||
specifier: ^5.1.1
|
||||
version: 5.1.1
|
||||
stylelint-config-recommended:
|
||||
specifier: ^14.0.1
|
||||
version: 14.0.1
|
||||
stylelint-config-recommended-scss:
|
||||
specifier: ^14.1.0
|
||||
version: 14.1.0
|
||||
stylelint-config-recommended-vue:
|
||||
specifier: ^1.5.0
|
||||
version: 1.5.0
|
||||
stylelint-config-standard:
|
||||
specifier: ^36.0.1
|
||||
version: 36.0.1
|
||||
stylelint-order:
|
||||
specifier: ^6.0.4
|
||||
version: 6.0.4
|
||||
stylelint-prettier:
|
||||
specifier: ^5.0.2
|
||||
version: 5.0.2
|
||||
stylelint-scss:
|
||||
specifier: ^6.10.0
|
||||
version: 6.10.0
|
||||
tailwind-merge:
|
||||
specifier: ^2.5.5
|
||||
version: 2.5.5
|
||||
tailwindcss:
|
||||
specifier: ^3.4.17
|
||||
version: 3.4.17
|
||||
tailwindcss-animate:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7
|
||||
theme-colors:
|
||||
specifier: ^0.1.0
|
||||
version: 0.1.0
|
||||
turbo:
|
||||
specifier: ^2.3.3
|
||||
version: 2.3.3
|
||||
@@ -402,60 +66,15 @@ catalogs:
|
||||
unbuild:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1
|
||||
vee-validate:
|
||||
specifier: ^4.14.7
|
||||
version: 4.14.7
|
||||
vite:
|
||||
specifier: ^6.0.5
|
||||
version: 6.0.5
|
||||
vite-plugin-compression:
|
||||
specifier: ^0.5.1
|
||||
version: 0.5.1
|
||||
vite-plugin-dts:
|
||||
specifier: 4.2.1
|
||||
version: 4.2.1
|
||||
vite-plugin-html:
|
||||
specifier: ^3.2.2
|
||||
version: 3.2.2
|
||||
vite-plugin-lazy-import:
|
||||
specifier: ^1.0.7
|
||||
version: 1.0.7
|
||||
vite-plugin-pwa:
|
||||
specifier: ^0.21.1
|
||||
version: 0.21.1
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: ^7.6.8
|
||||
version: 7.6.8
|
||||
vitest:
|
||||
specifier: ^2.1.8
|
||||
version: 2.1.8
|
||||
vue-eslint-parser:
|
||||
specifier: ^9.4.3
|
||||
version: 9.4.3
|
||||
vue-i18n:
|
||||
specifier: ^10.0.5
|
||||
version: 10.0.5
|
||||
vue-router:
|
||||
specifier: ^4.5.0
|
||||
version: 4.5.0
|
||||
vue-tsc:
|
||||
specifier: ^2.1.10
|
||||
version: 2.1.10
|
||||
vxe-pc-ui:
|
||||
specifier: ^4.3.40
|
||||
version: 4.3.40
|
||||
vxe-table:
|
||||
specifier: ^4.9.33
|
||||
version: 4.9.33
|
||||
watermark-js-plus:
|
||||
specifier: ^1.5.7
|
||||
version: 1.5.7
|
||||
zod:
|
||||
specifier: ^3.24.1
|
||||
version: 3.24.1
|
||||
zod-defaults:
|
||||
specifier: ^0.1.3
|
||||
version: 0.1.3
|
||||
|
||||
overrides:
|
||||
'@ast-grep/napi': ^0.31.1
|
||||
@@ -469,21 +88,9 @@ importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
'@types/dompurify':
|
||||
specifier: ^3.2.0
|
||||
version: 3.2.0
|
||||
'@types/marked':
|
||||
specifier: ^6.0.0
|
||||
version: 6.0.0
|
||||
'@vueup/vue-quill':
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0(vue@3.5.13(typescript@5.6.3))
|
||||
dompurify:
|
||||
specifier: ^3.2.5
|
||||
version: 3.2.5
|
||||
github-markdown-css:
|
||||
specifier: ^5.8.1
|
||||
version: 5.8.1
|
||||
html2canvas:
|
||||
specifier: ^1.4.1
|
||||
version: 1.4.1
|
||||
@@ -496,9 +103,6 @@ importers:
|
||||
lucide-vue-next:
|
||||
specifier: ^0.487.0
|
||||
version: 0.487.0(vue@3.5.13(typescript@5.6.3))
|
||||
marked:
|
||||
specifier: ^15.0.8
|
||||
version: 15.0.8
|
||||
md-editor-v3:
|
||||
specifier: ^5.4.5
|
||||
version: 5.4.5(vue@3.5.13(typescript@5.6.3))
|
||||
@@ -592,10 +196,10 @@ importers:
|
||||
version: 3.0.1(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.13(typescript@5.6.3))
|
||||
vite:
|
||||
specifier: 'catalog:'
|
||||
version: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass@1.80.6)(terser@5.37.0)(yaml@2.6.1)
|
||||
version: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(terser@5.37.0)(yaml@2.6.1)
|
||||
vitest:
|
||||
specifier: 'catalog:'
|
||||
version: 2.1.8(@types/node@22.10.2)(happy-dom@15.11.7)(less@4.2.1)(sass@1.80.6)(terser@5.37.0)
|
||||
version: 2.1.8(@types/node@22.10.2)(happy-dom@15.11.7)(less@4.2.1)(terser@5.37.0)
|
||||
vue:
|
||||
specifier: ^3.5.13
|
||||
version: 3.5.13(typescript@5.6.3)
|
||||
@@ -3945,10 +3549,6 @@ packages:
|
||||
'@types/doctrine@0.0.9':
|
||||
resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==}
|
||||
|
||||
'@types/dompurify@3.2.0':
|
||||
resolution: {integrity: sha512-Fgg31wv9QbLDA0SpTOXO3MaxySc4DKGLi8sna4/Utjo4r3ZRPdCt4UQee8BWr+Q5z21yifghREPJGYaEOEIACg==}
|
||||
deprecated: This is a stub types definition. dompurify provides its own type definitions, so you do not need this installed.
|
||||
|
||||
'@types/eslint@9.6.1':
|
||||
resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
|
||||
|
||||
@@ -3991,10 +3591,6 @@ packages:
|
||||
'@types/markdown-it@14.1.2':
|
||||
resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
|
||||
|
||||
'@types/marked@6.0.0':
|
||||
resolution: {integrity: sha512-jmjpa4BwUsmhxcfsgUit/7A9KbrC48Q0q8KvnY107ogcjGgTFDlIL3RpihNpx2Mu1hM4mdFQjoVc4O6JoGKHsA==}
|
||||
deprecated: This is a stub types definition. marked provides its own type definitions, so you do not need this installed.
|
||||
|
||||
'@types/mdurl@2.0.0':
|
||||
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
|
||||
|
||||
@@ -5369,9 +4965,6 @@ packages:
|
||||
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
dompurify@3.2.5:
|
||||
resolution: {integrity: sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==}
|
||||
|
||||
domutils@2.8.0:
|
||||
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
|
||||
|
||||
@@ -6058,10 +5651,6 @@ packages:
|
||||
engines: {node: '>=16'}
|
||||
hasBin: true
|
||||
|
||||
github-markdown-css@5.8.1:
|
||||
resolution: {integrity: sha512-8G+PFvqigBQSWLQjyzgpa2ThD9bo7+kDsriUIidGcRhXgmcaAWUIpCZf8DavJgc+xifjbCG+GvMyWr0XMXmc7g==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
glob-parent@5.1.2:
|
||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||
engines: {node: '>= 6'}
|
||||
@@ -6981,11 +6570,6 @@ packages:
|
||||
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
|
||||
hasBin: true
|
||||
|
||||
marked@15.0.8:
|
||||
resolution: {integrity: sha512-rli4l2LyZqpQuRve5C0rkn6pj3hT8EWPC+zkAxFTAJLxRbENfTAhEQq9itrmf1Y81QtAX5D/MYlGlIomNgj9lA==}
|
||||
engines: {node: '>= 18'}
|
||||
hasBin: true
|
||||
|
||||
math-intrinsics@1.1.0:
|
||||
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@@ -9921,7 +9505,7 @@ snapshots:
|
||||
'@babel/traverse': 7.26.4
|
||||
'@babel/types': 7.26.3
|
||||
convert-source-map: 2.0.0
|
||||
debug: 4.4.0(supports-color@9.4.0)
|
||||
debug: 4.4.0
|
||||
gensync: 1.0.0-beta.2
|
||||
json5: 2.2.3
|
||||
semver: 6.3.1
|
||||
@@ -10582,7 +10166,7 @@ snapshots:
|
||||
'@babel/parser': 7.26.3
|
||||
'@babel/template': 7.25.9
|
||||
'@babel/types': 7.26.3
|
||||
debug: 4.4.0(supports-color@9.4.0)
|
||||
debug: 4.4.0
|
||||
globals: 11.12.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -12561,10 +12145,6 @@ snapshots:
|
||||
|
||||
'@types/doctrine@0.0.9': {}
|
||||
|
||||
'@types/dompurify@3.2.0':
|
||||
dependencies:
|
||||
dompurify: 3.2.5
|
||||
|
||||
'@types/eslint@9.6.1':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
@@ -12614,10 +12194,6 @@ snapshots:
|
||||
'@types/linkify-it': 5.0.0
|
||||
'@types/mdurl': 2.0.0
|
||||
|
||||
'@types/marked@6.0.0':
|
||||
dependencies:
|
||||
marked: 15.0.8
|
||||
|
||||
'@types/mdurl@2.0.0': {}
|
||||
|
||||
'@types/minimatch@3.0.5': {}
|
||||
@@ -12815,7 +12391,7 @@ snapshots:
|
||||
'@babel/core': 7.26.0
|
||||
'@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0)
|
||||
'@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0)
|
||||
vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass@1.80.6)(terser@5.37.0)(yaml@2.6.1)
|
||||
vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(terser@5.37.0)(yaml@2.6.1)
|
||||
vue: 3.5.13(typescript@5.6.3)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -12827,7 +12403,7 @@ snapshots:
|
||||
|
||||
'@vitejs/plugin-vue@5.2.1(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.3))':
|
||||
dependencies:
|
||||
vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass@1.80.6)(terser@5.37.0)(yaml@2.6.1)
|
||||
vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(terser@5.37.0)(yaml@2.6.1)
|
||||
vue: 3.5.13(typescript@5.6.3)
|
||||
|
||||
'@vitest/expect@2.1.8':
|
||||
@@ -12844,6 +12420,15 @@ snapshots:
|
||||
magic-string: 0.30.17
|
||||
optionalDependencies:
|
||||
vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(sass@1.80.6)(terser@5.37.0)
|
||||
optional: true
|
||||
|
||||
'@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.37.0))':
|
||||
dependencies:
|
||||
'@vitest/spy': 2.1.8
|
||||
estree-walker: 3.0.3
|
||||
magic-string: 0.30.17
|
||||
optionalDependencies:
|
||||
vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.37.0)
|
||||
|
||||
'@vitest/pretty-format@2.1.8':
|
||||
dependencies:
|
||||
@@ -14109,6 +13694,10 @@ snapshots:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
debug@4.4.0:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
debug@4.4.0(supports-color@9.4.0):
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
@@ -14251,10 +13840,6 @@ snapshots:
|
||||
dependencies:
|
||||
domelementtype: 2.3.0
|
||||
|
||||
dompurify@3.2.5:
|
||||
optionalDependencies:
|
||||
'@types/trusted-types': 2.0.7
|
||||
|
||||
domutils@2.8.0:
|
||||
dependencies:
|
||||
dom-serializer: 1.4.1
|
||||
@@ -15076,8 +14661,6 @@ snapshots:
|
||||
meow: 12.1.1
|
||||
split2: 4.2.0
|
||||
|
||||
github-markdown-css@5.8.1: {}
|
||||
|
||||
glob-parent@5.1.2:
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
@@ -15792,7 +15375,7 @@ snapshots:
|
||||
dependencies:
|
||||
chalk: 5.3.0
|
||||
commander: 12.1.0
|
||||
debug: 4.4.0(supports-color@9.4.0)
|
||||
debug: 4.4.0
|
||||
execa: 8.0.1
|
||||
lilconfig: 3.1.3
|
||||
listr2: 8.2.5
|
||||
@@ -15997,8 +15580,6 @@ snapshots:
|
||||
punycode.js: 2.3.1
|
||||
uc.micro: 2.1.0
|
||||
|
||||
marked@15.0.8: {}
|
||||
|
||||
math-intrinsics@1.1.0: {}
|
||||
|
||||
mathml-tag-names@2.1.3: {}
|
||||
@@ -18543,6 +18124,25 @@ snapshots:
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
optional: true
|
||||
|
||||
vite-node@2.1.8(@types/node@22.10.2)(less@4.2.1)(terser@5.37.0):
|
||||
dependencies:
|
||||
cac: 6.7.14
|
||||
debug: 4.4.0
|
||||
es-module-lexer: 1.5.4
|
||||
pathe: 1.1.2
|
||||
vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.37.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
- lightningcss
|
||||
- sass
|
||||
- sass-embedded
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
|
||||
vite-plugin-compression@0.5.1(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass@1.80.6)(terser@5.37.0)(yaml@2.6.1)):
|
||||
dependencies:
|
||||
@@ -18664,6 +18264,18 @@ snapshots:
|
||||
less: 4.2.1
|
||||
sass: 1.80.6
|
||||
terser: 5.37.0
|
||||
optional: true
|
||||
|
||||
vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.37.0):
|
||||
dependencies:
|
||||
esbuild: 0.24.0
|
||||
postcss: 8.4.49
|
||||
rollup: 4.28.1
|
||||
optionalDependencies:
|
||||
'@types/node': 22.10.2
|
||||
fsevents: 2.3.3
|
||||
less: 4.2.1
|
||||
terser: 5.37.0
|
||||
|
||||
vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass@1.80.6)(terser@5.37.0)(yaml@2.6.1):
|
||||
dependencies:
|
||||
@@ -18679,6 +18291,19 @@ snapshots:
|
||||
terser: 5.37.0
|
||||
yaml: 2.6.1
|
||||
|
||||
vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(terser@5.37.0)(yaml@2.6.1):
|
||||
dependencies:
|
||||
esbuild: 0.24.0
|
||||
postcss: 8.4.49
|
||||
rollup: 4.28.1
|
||||
optionalDependencies:
|
||||
'@types/node': 22.10.2
|
||||
fsevents: 2.3.3
|
||||
jiti: 2.4.2
|
||||
less: 4.2.1
|
||||
terser: 5.37.0
|
||||
yaml: 2.6.1
|
||||
|
||||
vitest@2.1.8(@types/node@22.10.2)(happy-dom@15.11.7)(less@4.2.1)(sass@1.80.6)(terser@5.37.0):
|
||||
dependencies:
|
||||
'@vitest/expect': 2.1.8
|
||||
@@ -18714,6 +18339,43 @@ snapshots:
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
optional: true
|
||||
|
||||
vitest@2.1.8(@types/node@22.10.2)(happy-dom@15.11.7)(less@4.2.1)(terser@5.37.0):
|
||||
dependencies:
|
||||
'@vitest/expect': 2.1.8
|
||||
'@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.37.0))
|
||||
'@vitest/pretty-format': 2.1.8
|
||||
'@vitest/runner': 2.1.8
|
||||
'@vitest/snapshot': 2.1.8
|
||||
'@vitest/spy': 2.1.8
|
||||
'@vitest/utils': 2.1.8
|
||||
chai: 5.1.2
|
||||
debug: 4.4.0
|
||||
expect-type: 1.1.0
|
||||
magic-string: 0.30.17
|
||||
pathe: 1.1.2
|
||||
std-env: 3.8.0
|
||||
tinybench: 2.9.0
|
||||
tinyexec: 0.3.1
|
||||
tinypool: 1.0.2
|
||||
tinyrainbow: 1.2.0
|
||||
vite: 5.4.11(@types/node@22.10.2)(less@4.2.1)(terser@5.37.0)
|
||||
vite-node: 2.1.8(@types/node@22.10.2)(less@4.2.1)(terser@5.37.0)
|
||||
why-is-node-running: 2.3.0
|
||||
optionalDependencies:
|
||||
'@types/node': 22.10.2
|
||||
happy-dom: 15.11.7
|
||||
transitivePeerDependencies:
|
||||
- less
|
||||
- lightningcss
|
||||
- msw
|
||||
- sass
|
||||
- sass-embedded
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
|
||||
vscode-languageserver-textdocument@1.0.12: {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user