文章页面革新

This commit is contained in:
heixinyouzi 2024-11-08 17:59:24 +08:00
parent 5b039cc87e
commit 2125532d89
7 changed files with 333 additions and 21 deletions

View File

@ -25,6 +25,7 @@
},
"dependencies": {
"@vicons/ionicons5": "^0.12.0",
"@vueup/vue-quill": "^1.2.0",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
"aplayer": "^1.10.1",

View File

@ -1,6 +1,6 @@
<template>
<div class="w-[100%] h-[100%] relative">
<div class=" mb-6">
<div class="mb-6">
<n-input v-model:value="info.title" type="text" placeholder="请输入标题..." size="medium" clearable>
<template #prefix>
<n-button type="primary" size="mini" text>标题</n-button>
@ -17,10 +17,10 @@
<div class="" style="border:1px solid #ccc;border-radius: 4px;overflow: hidden;">
<Toolbar style="border-bottom: 1px solid #ccc;font-size: 12px;" :editor="editorRef" :defaultConfig="toolbarConfig"
:mode="mode" />
<Editor style="height: 500px; overflow-y: hidden;" v-model="info.cont" :defaultConfig="editorConfig" :mode="mode"
<Editor style="min-height: 300px; overflow-y: hidden;" v-model="info.cont" :defaultConfig="editorConfig" :mode="mode"
@onCreated="handleCreated" />
</div>
<div class="btns absolute bottom-0 w-[100%]">
<div class="btns mt-8 w-[100%]">
<n-button type="primary" @click="handleSubmit">提交</n-button>
</div>
</div>
@ -51,13 +51,17 @@ const emit = defineEmits(['close'])
//mark method
const handleCreated = (editor) => {
editorRef.value = editor
}
//mark
editorConfig.value.placeholder = '请输入内容...'
toolbarConfig.excludeKeys = ['fullScreen', 'header1','header2','header3', 'emoji', 'line-height', 'headings', 'list-ul', 'list-ol', 'line', 'hr', 'link', '|', 'image', 'code', 'code-theme', 'insertVideo']
toolbarConfig.excludeKeys = ['fullScreen', 'emoji', 'line-height', 'headings', 'list-ul', 'list-ol', 'line', 'hr', 'link', '|', 'image', 'code', 'code-theme', 'insertVideo']
editorConfig.value.MENU_CONF['uploadImage'] = {
server: "https://www.hxyouzi.com/api/art/upimg",
fieldName: 'file',

View File

@ -1,5 +1,5 @@
<template>
<n-scrollbar style="max-height: 100vh">
<n-scrollbar style="max-height: 100vh;scroll-behavior: smooth;">
<div class="title">
{{ info.title }}
</div>
@ -8,8 +8,21 @@
{{ info.nickname }}
</div>
<div class="cont">
<Editor v-model="info.cont" :defaultConfig="editorConfig" />
<div ref="containerRef " class="cont editor">
<Editor class=" min-h-[300px]" v-model="info.cont" :defaultConfig="editorConfig" @onCreated="onCreated" />
<n-card class="fixed top-24 right-28 w-80 cursor-pointer">
<template #header>
<div>目录</div>
</template>
<n-scrollbar class="max-h-[500px] p-2">
<div class="truncate cursor-pointer my-2" v-for="i in indexs"
:style="{ marginLeft: (i.level - 1) * 12 + 'px',
fontSize: i.level == 1 ? '16px' : '12px',
}">
<a class="hover:text-orange-500" :href="`#${i.id}`">{{ i.text }}</a>
</div>
</n-scrollbar>
</n-card>
</div>
<div class="time">--发表于 {{ formatTime(info.updated_at, "YYYY年MM月DD日hh时") }}</div>
@ -19,32 +32,79 @@
<script setup>
import { formatTime } from "@/util/index.js";
import { Editor } from "@wangeditor/editor-for-vue";
import { nextTick, onMounted } from "vue";
import { useRoute } from "vue-router";
const editorConfig = { readOnly: true };
const info = ref({updated_at:new Date()});
const info = ref({ updated_at: new Date() });
const route = useRoute();
const deditor = shallowRef(null);
const indexs = ref([]);
const containerRef = ref(null);
// console.log(route.params.id);
getInfo(route.params.id);
async function getInfo(id) {
const res = await $http.art.queryArtInfo(id);
// getInfo(route.params.id);
// async function getInfo(id) {
// const res = await $http.art.queryArtInfo(id);
// // console.log("**********", res);
// info.value = res.data[0];
// }
//
function initIndex() {
const hs = document.querySelectorAll("h1,h2");
const list = [];
for (let i = 0; i < hs.length; i++) {
const h = hs[i];
const id = h.id;
const text = h.innerText;
const level = parseInt(h.tagName.slice(1));
list.push({ id, text, level });
}
indexs.value = list;
console.log(list);
}
async function onCreated(editor) {
const res = await $http.art.queryArtInfo(route.params.id);
// console.log("**********", res);
info.value = res.data[0];
deditor.value = editor
// console.log(editor);
nextTick(() => {
initIndex();
})
}
onMounted(() => {
});
//
onBeforeUnmount(() => {
const editor = deditor.value
if (editor == null) return
editor.destroy()
})
</script>
<style scoped lang="less">
* {
scroll-behavior: smooth;
}
.title {
font-style: italic;
font-size: 20px;
text-align: center;
padding: 10px 0;
}
.author {
padding: 5px 20px;
text-align: right;
color: @purple;
}
.cont {
width: 96%;
margin: 0px auto;
@ -56,7 +116,17 @@ async function getInfo(id) {
text-align: right;
padding: 5px 30px;
}
:deep(#w-e-element-3) {
margin: unset !important;
}
:deep(.n-card > .n-card-header) {
padding: 6px 0;
text-align: center;
}
:deep(.n-card > .n-card__content) {
padding: 0px;
}
</style>

View File

@ -0,0 +1,75 @@
<template>
<n-scrollbar style="max-height: 100vh">
<div class="title">
{{ info.title }}
</div>
<div class="author">
{{ info.nickname }}
</div>
<div class="cont editor">
<QuillEditor theme="snow" :options="ops" v-html="info.cont"></QuillEditor>
</div>
<div class="time">--发表于 {{ formatTime(info.updated_at, "YYYY年MM月DD日hh时") }}</div>
</n-scrollbar>
</template>
<script setup>
import { formatTime } from "@/util/index.js";
import { QuillEditor } from '@vueup/vue-quill';
import '@vueup/vue-quill/dist/vue-quill.snow.css';
import { useRoute } from "vue-router";
const info = ref({ updated_at: new Date() });
const route = useRoute();
getInfo(route.params.id);
// options
const ops = ref({
placeholder: "请输入内容",
readOnly: true,
modules: {
toolbar: null,
},
});
async function getInfo(id) {
const res = await $http.art.queryArtInfo(id);
info.value = res.data[0];
}
</script>
<style scoped lang="less">
.title {
font-style: italic;
font-size: 20px;
text-align: center;
padding: 10px 0;
}
.author {
padding: 5px 20px;
text-align: right;
color: @purple;
}
.cont {
width: 96%;
margin: 0px auto;
min-height: 80vh;
}
.time {
font-style: italic;
text-align: right;
padding: 5px 30px;
}
</style>

View File

@ -7,8 +7,8 @@
</div>
</div>
<div class="table w-[95%] mx-auto">
<n-data-table :columns="columns" striped :single-line="false" :paginate-single-page="false" :pagination="pagination"
:data="artiList">
<n-data-table :columns="columns" striped :single-line="false" :paginate-single-page="false"
:pagination="pagination" :data="artiList">
<template #empty>
<div>
<span>您还未发表过文章</span><span class="text-pp-200 hover:underline" @click="add">去写一篇 ></span>
@ -18,10 +18,12 @@
</div>
<n-drawer v-model:show="dshow" :width="702" :mask-closable="false">
<n-drawer-content :title="dtitle" closable>
<artiView v-if="show == 'view'" :id="opId" />
<edition v-if="show == 'add'" :id="-1" @close="handdleCloseEditor" />
<edition v-if="show == 'edit'" :id="curId" @close="handdleCloseEditor" />
<n-drawer-content :native-scrollbar="false" class="pb-6" :title="dtitle" closable>
<!-- <n-scrollbar class="h-full"> -->
<artiView v-if="show == 'view'" :id="opId" />
<edition v-if="show == 'add'" :id="-1" @close="handdleCloseEditor" />
<edition v-if="show == 'edit'" :id="curId" @close="handdleCloseEditor" />
<!-- </n-scrollbar> -->
</n-drawer-content>
</n-drawer>
@ -69,6 +71,8 @@ const columns = createColumns({
}
})
function createColumns({ edit, remove, view }) {
return [
{

View File

@ -39,7 +39,8 @@ export default defineConfig({
},
base: "/blog/",
server:{
host:'0.0.0.0'
host:'0.0.0.0',
port: 8080,
},
css: {
preprocessorOptions: {

163
yarn.lock
View File

@ -766,6 +766,14 @@
resolved "https://mirrors.cloud.tencent.com/npm/@vue/shared/-/shared-3.5.12.tgz#f9e45b7f63f2c3f40d84237b1194b7f67de192e3"
integrity sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==
"@vueup/vue-quill@^1.2.0":
version "1.2.0"
resolved "https://mirrors.cloud.tencent.com/npm/@vueup/vue-quill/-/vue-quill-1.2.0.tgz#cd0d93559256d069f639723dd91c044e8162c72a"
integrity sha512-kd5QPSHMDpycklojPXno2Kw2JSiKMYduKYQckTm1RJoVDA557MnyUXgcuuDpry4HY/Rny9nGNcK+m3AHk94wag==
dependencies:
quill "^1.3.7"
quill-delta "^4.2.2"
"@wangeditor/basic-modules@^1.1.7":
version "1.1.7"
resolved "https://mirrors.cloud.tencent.com/npm/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz#a9c3ccf4ef53332f29550d59d3676e15f395946f"
@ -1018,7 +1026,7 @@ buffer@^6.0.3:
base64-js "^1.3.1"
ieee754 "^1.2.1"
call-bind@^1.0.7:
call-bind@^1.0.2, call-bind@^1.0.7:
version "1.0.7"
resolved "https://mirrors.cloud.tencent.com/npm/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
@ -1064,6 +1072,11 @@ chownr@^1.1.1:
resolved "https://mirrors.cloud.tencent.com/npm/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
clone@^2.1.1:
version "2.1.2"
resolved "https://mirrors.cloud.tencent.com/npm/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
color-convert@^2.0.1:
version "2.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
@ -1228,6 +1241,18 @@ decompress-response@^6.0.0:
dependencies:
mimic-response "^3.1.0"
deep-equal@^1.0.1:
version "1.1.2"
resolved "https://mirrors.cloud.tencent.com/npm/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761"
integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==
dependencies:
is-arguments "^1.1.1"
is-date-object "^1.0.5"
is-regex "^1.1.4"
object-is "^1.1.5"
object-keys "^1.1.1"
regexp.prototype.flags "^1.5.1"
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://mirrors.cloud.tencent.com/npm/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
@ -1238,7 +1263,7 @@ deepmerge@~4.3.0:
resolved "https://mirrors.cloud.tencent.com/npm/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
define-data-property@^1.1.4:
define-data-property@^1.0.1, define-data-property@^1.1.4:
version "1.1.4"
resolved "https://mirrors.cloud.tencent.com/npm/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
@ -1247,6 +1272,15 @@ define-data-property@^1.1.4:
es-errors "^1.3.0"
gopd "^1.0.1"
define-properties@^1.2.1:
version "1.2.1"
resolved "https://mirrors.cloud.tencent.com/npm/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
dependencies:
define-data-property "^1.0.1"
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@ -1555,6 +1589,11 @@ event-emitter@^0.3.5:
d "1"
es5-ext "~0.10.14"
eventemitter3@^2.0.3:
version "2.0.3"
resolved "https://mirrors.cloud.tencent.com/npm/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba"
integrity sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==
evtd@^0.2.2, evtd@^0.2.4:
version "0.2.4"
resolved "https://mirrors.cloud.tencent.com/npm/evtd/-/evtd-0.2.4.tgz#0aac39ba44d6926e6668948ac27618e0795b9d07"
@ -1572,6 +1611,21 @@ ext@^1.7.0:
dependencies:
type "^2.7.2"
extend@^3.0.2:
version "3.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
fast-diff@1.1.2:
version "1.1.2"
resolved "https://mirrors.cloud.tencent.com/npm/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==
fast-diff@1.2.0:
version "1.2.0"
resolved "https://mirrors.cloud.tencent.com/npm/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
fast-glob@^3.3.0, fast-glob@^3.3.2:
version "3.3.2"
resolved "https://mirrors.cloud.tencent.com/npm/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
@ -1644,6 +1698,11 @@ function-bind@^1.1.2:
resolved "https://mirrors.cloud.tencent.com/npm/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
functions-have-names@^1.2.3:
version "1.2.3"
resolved "https://mirrors.cloud.tencent.com/npm/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
version "1.2.4"
resolved "https://mirrors.cloud.tencent.com/npm/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
@ -1703,7 +1762,7 @@ gsap@^3.12.2:
resolved "https://mirrors.cloud.tencent.com/npm/gsap/-/gsap-3.12.5.tgz#136c02dad4c673b441bdb1ca00104bfcb4eae7f4"
integrity sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==
has-property-descriptors@^1.0.2:
has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
version "1.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
@ -1720,6 +1779,13 @@ has-symbols@^1.0.3:
resolved "https://mirrors.cloud.tencent.com/npm/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
has-tostringtag@^1.0.0:
version "1.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
dependencies:
has-symbols "^1.0.3"
hasown@^2.0.0, hasown@^2.0.2:
version "2.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
@ -1776,6 +1842,14 @@ ini@~1.3.0:
resolved "https://mirrors.cloud.tencent.com/npm/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
is-arguments@^1.1.1:
version "1.1.1"
resolved "https://mirrors.cloud.tencent.com/npm/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
dependencies:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
is-binary-path@~2.1.0:
version "2.1.0"
resolved "https://mirrors.cloud.tencent.com/npm/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
@ -1790,6 +1864,13 @@ is-core-module@^2.13.0:
dependencies:
hasown "^2.0.2"
is-date-object@^1.0.5:
version "1.0.5"
resolved "https://mirrors.cloud.tencent.com/npm/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
dependencies:
has-tostringtag "^1.0.0"
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://mirrors.cloud.tencent.com/npm/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@ -1822,6 +1903,14 @@ is-plain-object@^5.0.0:
resolved "https://mirrors.cloud.tencent.com/npm/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
is-regex@^1.1.4:
version "1.1.4"
resolved "https://mirrors.cloud.tencent.com/npm/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
dependencies:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
is-url@^1.2.4:
version "1.2.4"
resolved "https://mirrors.cloud.tencent.com/npm/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52"
@ -2240,6 +2329,19 @@ object-inspect@^1.13.1:
resolved "https://mirrors.cloud.tencent.com/npm/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff"
integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==
object-is@^1.1.5:
version "1.1.6"
resolved "https://mirrors.cloud.tencent.com/npm/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07"
integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==
dependencies:
call-bind "^1.0.7"
define-properties "^1.2.1"
object-keys@^1.1.1:
version "1.1.1"
resolved "https://mirrors.cloud.tencent.com/npm/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://mirrors.cloud.tencent.com/npm/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@ -2266,6 +2368,11 @@ package-json-from-dist@^1.0.0:
resolved "https://mirrors.cloud.tencent.com/npm/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
parchment@^1.1.4:
version "1.1.4"
resolved "https://mirrors.cloud.tencent.com/npm/parchment/-/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5"
integrity sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==
parse-node-version@^1.0.1:
version "1.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
@ -2462,6 +2569,36 @@ queue-microtask@^1.2.2:
resolved "https://mirrors.cloud.tencent.com/npm/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
quill-delta@^3.6.2:
version "3.6.3"
resolved "https://mirrors.cloud.tencent.com/npm/quill-delta/-/quill-delta-3.6.3.tgz#b19fd2b89412301c60e1ff213d8d860eac0f1032"
integrity sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==
dependencies:
deep-equal "^1.0.1"
extend "^3.0.2"
fast-diff "1.1.2"
quill-delta@^4.2.2:
version "4.2.2"
resolved "https://mirrors.cloud.tencent.com/npm/quill-delta/-/quill-delta-4.2.2.tgz#015397d046e0a3bed087cd8a51f98c11a1b8f351"
integrity sha512-qjbn82b/yJzOjstBgkhtBjN2TNK+ZHP/BgUQO+j6bRhWQQdmj2lH6hXG7+nwwLF41Xgn//7/83lxs9n2BkTtTg==
dependencies:
fast-diff "1.2.0"
lodash.clonedeep "^4.5.0"
lodash.isequal "^4.5.0"
quill@^1.3.7:
version "1.3.7"
resolved "https://mirrors.cloud.tencent.com/npm/quill/-/quill-1.3.7.tgz#da5b2f3a2c470e932340cdbf3668c9f21f9286e8"
integrity sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==
dependencies:
clone "^2.1.1"
deep-equal "^1.0.1"
eventemitter3 "^2.0.3"
extend "^3.0.2"
parchment "^1.1.4"
quill-delta "^3.6.2"
qweather-icons@^1.3.3:
version "1.6.0"
resolved "https://mirrors.cloud.tencent.com/npm/qweather-icons/-/qweather-icons-1.6.0.tgz#097676b8bbbe34e3e7c18371de8c6631d37c1e49"
@ -2537,6 +2674,16 @@ regenerator-runtime@^0.14.0:
resolved "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
regexp.prototype.flags@^1.5.1:
version "1.5.3"
resolved "https://mirrors.cloud.tencent.com/npm/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42"
integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==
dependencies:
call-bind "^1.0.7"
define-properties "^1.2.1"
es-errors "^1.3.0"
set-function-name "^2.0.2"
repeat-string@^1.5.2:
version "1.6.1"
resolved "https://mirrors.cloud.tencent.com/npm/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
@ -2629,6 +2776,16 @@ set-function-length@^1.2.1:
gopd "^1.0.1"
has-property-descriptors "^1.0.2"
set-function-name@^2.0.2:
version "2.0.2"
resolved "https://mirrors.cloud.tencent.com/npm/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985"
integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==
dependencies:
define-data-property "^1.1.4"
es-errors "^1.3.0"
functions-have-names "^1.2.3"
has-property-descriptors "^1.0.2"
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"