Commit 9836fd16 by swl

便民通知

parent 2abdeb42
No preview for this file type
......@@ -8,6 +8,8 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^1.0.2",
"axios": "^0.24.0",
"core-js": "^3.6.4",
"crypto-js": "^4.1.1",
......@@ -20,9 +22,13 @@
"jszip-utils": "^0.1.0",
"pizzip": "^3.1.1",
"qrcode": "^1.5.1",
"quill": "^2.0.2",
"quill-image-drop-module": "^1.0.3",
"quill-image-resize-module": "^3.0.0",
"vue": "^2.6.11",
"vue-count-to": "^1.0.13",
"vue-fragment": "^1.5.2",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.2.0",
"vuex": "^3.4.0"
},
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="referrer" content="no-referrer" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<head>
<meta charset="utf-8">
<meta name="referrer" content="no-referrer" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>镇江管理后台</title>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=HJEBZ-U5BLP-SRWDB-LBKOS-PCIQH-F4FLG"></script>
<script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
</head>
<style>
body {
margin: 0;
}
</style>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
</body>
<script>
// 关闭浏览器 清空登录信息
<title>镇江管理后台</title>
<script
charset="utf-8"
src="https://map.qq.com/api/js?v=2.exp&key=HJEBZ-U5BLP-SRWDB-LBKOS-PCIQH-F4FLG"
></script>
<script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
</head>
<style>
body {
margin: 0;
}
</style>
var _beforeUnload_time = 0,
_gap_time = 0;
<body>
<noscript>
<strong
>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
properly without JavaScript enabled. Please enable it to
continue.</strong
>
</noscript>
<div id="app"></div>
</body>
<script>
// 关闭浏览器 清空登录信息
window.onunload = function () {
_gap_time = new Date().getTime() - _beforeUnload_time;
var _beforeUnload_time = 0,
_gap_time = 0;
//浏览器关闭
if (_gap_time <= 5) {
window.localStorage.clear();
}
};
window.onunload = function () {
_gap_time = new Date().getTime() - _beforeUnload_time;
window.onbeforeunload = function () {
_beforeUnload_time = new Date().getTime();
};
</script>
//浏览器关闭
if (_gap_time <= 5) {
window.localStorage.clear();
}
};
</html>
\ No newline at end of file
window.onbeforeunload = function () {
_beforeUnload_time = new Date().getTime();
};
</script>
</html>
import { api, formatParams } from "@/utils/axios";
// 生活地图--商家、居民申请列表
export function infoList(params) {
return api(
Object.assign(formatParams("POST", params), {
url: "/admin-api/information/listPage",
})
);
}
export function infoAdd(params) {
return api(
Object.assign(formatParams("POST", params), {
url: "/admin-api/information/add",
})
);
}
export function infoEdit(params) {
return api(
Object.assign(formatParams("POST", params), {
url: "/admin-api/information/edit?id=" + params.id,
})
);
}
export function infoDetail(params) {
return api(
Object.assign(formatParams("GET"), {
url: `/admin-api/information/detail?id=${params}`,
})
);
}
// 菜单类别列表
export function menuCategoryList(params) {
return api(
Object.assign(formatParams("GET"), {
url: `/admin-api/information/menuCategoryList?menuId=${params}`,
})
);
}
// 上线|下线
export function infoEnable(params) {
return api(
Object.assign(formatParams("GET"), {
url: `/admin-api/information/enable?id=${params}`,
})
);
}
// 审核
export function infoReview(params) {
return api(
Object.assign(formatParams("POST", params), {
url: `/admin-api/information/review`,
})
);
}
const domain = {
dev: "http://192.168.3.87:8881", // 姚镇接口
// dev: "http://192.168.3.87:8881", // 姚镇接口
// dev: "http://81.69.231.72:8881", // 姚镇接口
// dev: "http://81.69.231.72:8881", // 测试接口
// dev: "https://exam.smart-zj.cn:9100/smartExam/", // 新正式接口
dev: "https://exam.smart-zj.cn:9100/smartExam/", // 新正式接口
};
// 腾讯地图 key
const map = {
......
......@@ -337,6 +337,18 @@ const routes = [
meta: ["便民生活圈"],
component: () => import("@/views/livingCircle/helpInfo.vue"),
},
{
path: "/info_living",
name: "infoLiving",
meta: ["内容发布"],
component: () => import("@/views/Info/living.vue"),
},
{
path: "/audit_living",
name: "auditLiving",
meta: ["内容审核"],
component: () => import("@/views/Info/audit_living.vue"),
},
],
},
];
......
......@@ -6,8 +6,8 @@ import { TokenKey } from "@/utils/auth";
const config = {
// proxy: "https://exam.smart-zj.cn:9100/exam/", // 新线上地址
// proxy: "http://81.69.231.72:8881", // 测试地址
proxy: "http://192.168.3.87:8881", //本地
// proxy: "https://exam.smart-zj.cn:9100/smartExam", // 新正式接口zs
// proxy: "http://192.168.3.87:8881", //本地
proxy: "https://exam.smart-zj.cn:9100/smartExam", // 新正式接口zs
// proxy: "http://81.69.231.72:9089/", // 测试地址
// proxy1: "http://81.69.231.72:8881/admin-api", // 测试地址
// proxy1: "https://exam.smart-zj.cn:9100/smartExam/admin-api", // 新正式接口
......
<template>
<div>
<div class="search-wrapper">
<el-form
:inline="true"
:model="searchForm"
class="search_form"
style="text-align: left"
>
<el-form-item label="资讯标题">
<el-input
v-model="searchForm.name"
placeholder="请输入资讯标题"
clearable
></el-input>
</el-form-item>
<el-form-item label="类型">
<el-select
v-model="searchForm.categoryId"
placeholder="请选择通知类型"
clearable
>
<el-option
:label="item.name"
:value="item.id"
v-for="(item, index) in categoryList"
:key="index"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="init">查询</el-button>
</el-form-item>
</el-form>
</div>
<div class="table-wrapper">
<table-template
:tableData="tableData"
:tableColumns="tableColumns"
:loading="loading"
:pagination="pagination"
@Jump="init"
>
<el-table-column slot="onLine" label="启用状态" align="center">
<template slot-scope="scope">
<el-tag
v-if="scope.row.onLine == 0 || scope.row.onLine == 1"
:type="
scope.row.onLine == 1
? 'danger'
: scope.row.onLine == 0
? 'success'
: ''
"
>{{ scope.row.onLine == 0 ? "在线" : "下线" }}</el-tag
>
</template>
</el-table-column>
<el-table-column slot="state" label="审核状态" align="center">
<template slot-scope="scope">
<el-tag
v-if="
scope.row.state == 0 ||
scope.row.state == 1 ||
scope.row.state == 4
"
:type="
scope.row.state == 4
? 'warning'
: scope.row.state == 1
? 'success'
: 'primary'
"
>{{
scope.row.state == 0
? "未审核"
: scope.row.state == 1
? "通过"
: "驳回"
}}</el-tag
>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="350" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" round @click="view(scope.row)"
>查看</el-button
>
<el-button
@click="delFlagHandle(scope.row)"
:type="scope.row.onLine == 0 ? 'danger' : 'success'"
size="mini"
round
slot="reference"
>{{ scope.row.onLine == 0 ? "下线" : "上线" }}
</el-button>
<el-button
type="success"
size="mini"
round
v-if="scope.row.state == 0"
@click="pass(scope.row)"
>通过
</el-button>
<el-button
type="warning"
size="mini"
round
v-if="scope.row.state == 0"
@click="reject(scope.row)"
>驳回
</el-button>
</template>
</el-table-column>
</table-template>
</div>
<el-dialog
:title="type == 'view' ? '查看' : '编辑'"
:visible.sync="dialogVisible"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
destroy-on-close
class="editorDialog"
>
<el-form
:inline="true"
:model="messageForm"
ref="messageForm"
:rules="rules"
>
<el-form-item label="标题" prop="title">
<el-input
v-model="messageForm.title"
placeholder="请输入标题"
clearable
style="width: 300px"
:disabled="type == 'view'"
></el-input>
</el-form-item>
<el-form-item label="类型" prop="categoryId">
<el-select
v-model="messageForm.categoryId"
placeholder="请选择通知类型"
clearable
style="width: 300px"
:disabled="type == 'view'"
>
<el-option
:label="item.name"
:value="item.id"
v-for="(item, index) in categoryList"
:key="index"
></el-option>
</el-select>
</el-form-item>
</el-form>
<!-- <quillEditor v-model="content" class="edit" /> -->
<template>
<div style="border: 1px solid #ccc" v-if="dialogVisible">
<Toolbar
style="border-bottom: 1px solid #ccc"
:editor="editor"
:defaultConfig="toolbarConfig"
:mode="mode"
/>
<Editor
style="height: 500px; overflow-y: hidden"
v-model="content"
:defaultConfig="editorConfig"
:mode="mode"
@onCreated="onCreated"
/>
</div>
</template>
<span slot="footer" class="dialog-footer" v-if="type != 'view'">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="infoConfirm">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import TableTemplate from "@/components/Table";
import {
infoList,
menuCategoryList,
infoReview,
infoDetail,
infoEnable,
} from "@/api/info";
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
import { config } from "@/utils/request.js";
import axios from "axios";
export default {
name: "audit_living",
components: { TableTemplate, Editor, Toolbar },
data() {
return {
categoryList: [],
searchForm: {
title: "",
categoryId: "",
},
tableData: [],
tableColumns: [
{
key: "title",
label: "标题",
},
{
key: "categoryName",
label: "类型",
},
{
key: "onLine",
label: "启用状态",
type: "slot",
},
{
key: "state",
label: "审核状态",
type: "slot",
},
{
key: "createTime",
label: "创建时间",
},
],
pagination: {
total: 0,
pageSize: 10,
currentPage: 1,
},
loading: false,
dialogVisible: false,
menuId: 106,
editor: null,
content: "",
messageForm: {
title: "",
categoryId: "",
id: "",
},
type: "view",
toolbarConfig: {},
editorConfig: { placeholder: "请输入内容...", MENU_CONF: {} },
mode: "default", // or 'simple'
rules: {
title: [{ required: true, message: "请输入标题", trigger: "blur" }],
categoryId: [
{ required: true, message: "请选择类型", trigger: "blur" },
],
},
};
},
watch: {
dialogVisible(val) {
if (!val) {
this.$nextTick(() => {
this.content = "";
this.messageForm.title = "";
this.messageForm.categoryId = "";
});
}
},
},
created() {
this.editorConfig.placeholder = "请输入使用说明内容...";
const uploadConfig = {
// 自定义图片上传
async customUpload(file, insertFn) {
let formData = new FormData();
formData.append("file", file);
axios
.post(config.proxy + "/admin-api/file/localFileUpload", formData, {
headers: {
"Content-Type": "application/json;charset=utf-8",
Authorization: "Bearer " + localStorage.getItem("Authorization"),
},
})
.then((response) => {
console.log(response);
if (response.data.code != 200) {
this.$message.error(response.data.msg);
return;
} else {
const url = response.data.data;
// 插入图片
insertFn(url);
}
})
.catch(() => {});
},
};
// 图片配置设置
this.editorConfig.MENU_CONF["uploadImage"] = uploadConfig;
// 视频配置设置
this.editorConfig.MENU_CONF["uploadVideo"] = uploadConfig;
},
mounted() {
this.init();
menuCategoryList(this.menuId).then((res) => {
if (res.code == 200) {
this.categoryList = res.data;
}
});
},
methods: {
delFlagHandle(row) {
infoEnable(row.id).then((res) => {
if (res.code == 200) {
this.$message.success(res.msg || "操作成功");
this.init();
} else {
this.$message.warning(res.msg || "操作失败");
}
});
},
onCreated(editor) {
this.editor = Object.seal(editor); // 一定要用 Object.seal() ,否则会报错
if (this.type == "view") {
this.editor.disable();
console.log("disable");
} else {
this.editor.enable();
console.log("enable");
}
},
view(row) {
this.type = "view";
infoDetail(row.id).then((res) => {
if (res.code == 200) {
this.messageForm = res.data;
this.content = res.data.content;
this.messageForm.title = res.data.title;
this.messageForm.categoryId = res.data.categoryId;
}
});
this.dialogVisible = true;
},
init() {
this.loading = true;
infoList({
menuId: this.menuId,
pageNum: this.pagination.currentPage,
pageSize: this.pagination.pageSize,
title: this.searchForm.title,
categoryId: this.searchForm.categoryId,
})
.then((res) => {
if (res.code == 200) {
this.tableData = res.data.list;
this.pagination.total = res.data.total;
} else {
this.$message.warning(res.msg || "查询失败");
}
})
.finally(() => {
this.loading = false;
});
},
pass(row) {
infoReview({
state: 1,
informationId: row.id,
user: localStorage.getItem("userName"),
}).then((res) => {
if (res.code == 200) {
this.$message.success("操作成功");
this.init();
}
});
},
reject(row) {
this.$prompt("请输入驳回原因", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
inputPlaceholder: "请输入驳回原因",
}).then(({ value }) => {
if (!value) {
this.$message.warning("请输入驳回原因");
return;
} else {
infoReview({
state: 4,
informationId: row.id,
user: localStorage.getItem("userName"),
reason: value,
}).then((res) => {
if (res.code == 200) {
this.$message.success("操作成功");
this.init();
}
});
}
});
},
},
};
</script>
<style lang="stylus" scoped>
@import '~@/stylus/common';
.btn{
margin-right: 10px;
};
.edit{
height: 500px;
margin-bottom: 20px;
}
.editorDialog >>>.el-dialog__body{
padding-top:0px ;
}
</style>
<style src="@wangeditor/editor/dist/css/style.css"></style>
<template>
<div>
<div class="search-wrapper">
<el-form
:inline="true"
:model="searchForm"
class="search_form"
style="text-align: left"
>
<el-form-item label="资讯标题">
<el-input
v-model="searchForm.name"
placeholder="请输入资讯标题"
clearable
></el-input>
</el-form-item>
<el-form-item label="类型">
<el-select
v-model="searchForm.categoryId"
placeholder="请选择通知类型"
clearable
>
<el-option
:label="item.name"
:value="item.id"
v-for="(item, index) in categoryList"
:key="index"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">查询</el-button>
<el-button type="primary" @click="addHandle">添加便民通知</el-button>
</el-form-item>
</el-form>
</div>
<div class="table-wrapper">
<table-template
:tableData="tableData"
:tableColumns="tableColumns"
:loading="loading"
:pagination="pagination"
@Jump="jumpPage"
>
<el-table-column slot="onLine" label="启用状态" align="center">
<template slot-scope="scope">
<el-tag
v-if="scope.row.onLine == 0 || scope.row.onLine == 1"
:type="
scope.row.onLine == 1
? 'danger'
: scope.row.onLine == 0
? 'success'
: ''
"
>{{ scope.row.onLine == 0 ? "在线" : "下线" }}</el-tag
>
</template>
</el-table-column>
<el-table-column slot="state" label="审核状态" align="center">
<template slot-scope="scope">
<el-tag
v-if="
scope.row.state == 0 ||
scope.row.state == 1 ||
scope.row.state == 4
"
:type="
scope.row.state == 4
? 'warning'
: scope.row.state == 1
? 'success'
: 'primary'
"
>{{
scope.row.state == 0
? "未审核"
: scope.row.state == 1
? "通过"
: "驳回"
}}</el-tag
>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="350" align="center">
<template slot-scope="scope">
<!-- <el-button
@click="delFlagHandle(scope.row)"
:type="scope.row.onLine == 0 ? 'warning' : 'success'"
size="mini"
round
slot="reference"
>{{ scope.row.onLine == 0 ? "下线" : "上线" }}
</el-button> -->
<el-button type="primary" size="mini" round @click="view(scope.row)"
>查看</el-button
>
<el-button
type="success"
size="mini"
round
@click="edit(scope.row)"
v-if="scope.row.userId == userId"
>编辑</el-button
>
</template>
</el-table-column>
</table-template>
</div>
<el-dialog
:title="type == 'view' ? '查看' : '编辑'"
:visible.sync="dialogVisible"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
destroy-on-close
class="editorDialog"
>
<el-form
:inline="true"
:model="messageForm"
ref="messageForm"
:rules="rules"
>
<el-form-item label="标题" prop="title">
<el-input
v-model="messageForm.title"
placeholder="请输入标题"
clearable
:disabled="type === 'view'"
style="width: 300px"
></el-input>
</el-form-item>
<el-form-item label="类型" prop="categoryId">
<el-select
v-model="messageForm.categoryId"
placeholder="请选择通知类型"
clearable
:disabled="type === 'view'"
style="width: 300px"
>
<el-option
:label="item.name"
:value="item.id"
v-for="(item, index) in categoryList"
:key="index"
></el-option>
</el-select>
</el-form-item>
</el-form>
<!-- <quillEditor v-model="content" class="edit" /> -->
<template>
<div style="border: 1px solid #ccc" v-if="dialogVisible">
<Toolbar
style="border-bottom: 1px solid #ccc"
:editor="editor"
:defaultConfig="toolbarConfig"
:mode="mode"
/>
<Editor
style="height: 500px; overflow-y: hidden"
v-model="content"
:defaultConfig="editorConfig"
:mode="mode"
@onCreated="onCreated"
/>
</div>
</template>
<span
slot="footer"
class="dialog-footer"
v-if="type == 'edit' || type == 'add'"
>
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="infoConfirm">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import TableTemplate from "@/components/Table";
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
import { config } from "@/utils/request.js";
import axios from "axios";
import {
infoList,
infoAdd,
infoDetail,
menuCategoryList,
infoEdit,
infoEnable,
} from "@/api/info";
export default {
components: { TableTemplate, Editor, Toolbar },
data() {
return {
searchForm: {
title: "",
categoryId: "",
},
html: "",
tableData: [],
tableColumns: [
{
key: "title",
label: "标题",
},
{
key: "categoryName",
label: "类型",
},
{
key: "onLine",
label: "启用状态",
type: "slot",
},
{
key: "state",
label: "审核状态",
type: "slot",
},
{
key: "createTime",
label: "创建时间",
},
],
pagination: {
total: 0,
pageSize: 10,
currentPage: 1,
},
loading: false,
dialogVisible: false,
messageForm: {
title: "",
categoryId: "",
id: "",
},
menuId: 106,
categoryList: [],
type: "add",
editor: null,
content: "",
toolbarConfig: {},
editorConfig: { placeholder: "请输入内容...", MENU_CONF: {} },
mode: "default", // or 'simple'
rules: {
title: [{ required: true, message: "请输入标题", trigger: "blur" }],
categoryId: [
{ required: true, message: "请选择类型", trigger: "blur" },
],
},
userId: 0,
};
},
mounted() {
this.userId = localStorage.getItem("userId");
this.init();
menuCategoryList(this.menuId).then((res) => {
if (res.code == 200) {
this.categoryList = res.data;
}
});
},
watch: {
dialogVisible(val) {
if (!val) {
this.$nextTick(() => {
this.content = "";
this.messageForm.title = "";
this.messageForm.categoryId = "";
const editor = this.editor;
if (editor == null) return;
editor.destroy(); // 组件销毁时,及时销毁编辑器
});
}
},
},
created() {
this.editorConfig.placeholder = "请输入使用说明内容...";
const uploadConfig = {
// 自定义图片上传
async customUpload(file, insertFn) {
let formData = new FormData();
formData.append("file", file);
// localFileUpload
axios
.post(config.proxy + "/admin-api/file/localFileUpload", formData, {
headers: {
"Content-Type": "application/json;charset=utf-8",
Authorization: "Bearer " + localStorage.getItem("Authorization"),
},
})
.then((response) => {
console.log(response);
if (response.data.code != 200) {
this.$message.error(response.data.msg);
return;
} else {
const url = response.data.data;
// 插入图片
insertFn(url);
}
})
.catch(() => {});
},
};
// 图片配置设置
this.editorConfig.MENU_CONF["uploadImage"] = uploadConfig;
// 视频配置设置
this.editorConfig.MENU_CONF["uploadVideo"] = uploadConfig;
},
methods: {
onCreated(editor) {
this.editor = Object.seal(editor); // 一定要用 Object.seal() ,否则会报错
console.log("onCreated");
if (this.type == "view") {
this.editor.disable();
} else {
this.editor.enable();
}
},
onSubmit() {
this.init();
},
jumpPage() {
this.init();
},
addHandle() {
this.type = "add";
this.dialogVisible = true;
},
init() {
this.loading = true;
infoList({
menuId: this.menuId,
pageNum: this.pagination.currentPage,
pageSize: this.pagination.pageSize,
title: this.searchForm.title,
categoryId: this.searchForm.categoryId,
})
.then((res) => {
if (res.code == 200) {
this.tableData = res.data.list;
this.pagination.total = res.data.total;
} else {
this.$message.warning(res.msg || "查询失败");
}
})
.finally(() => {
this.loading = false;
});
},
delFlagHandle(row) {
infoEnable(row.id).then((res) => {
if (res.code == 200) {
this.$message.success(res.msg || "操作成功");
this.init();
} else {
this.$message.warning(res.msg || "操作失败");
}
});
},
edit(row) {
this.type = "edit";
infoDetail(row.id).then((res) => {
if (res.code == 200) {
this.messageForm = res.data;
this.content = res.data.content;
this.messageForm.title = res.data.title;
this.messageForm.categoryId = res.data.categoryId;
}
});
this.dialogVisible = true;
},
view(row) {
this.type = "view";
infoDetail(row.id).then((res) => {
if (res.code == 200) {
this.$nextTick(() => {
this.messageForm = res.data;
this.content = res.data.content;
console.log(res.data.content, "111");
console.log(this.content, "222");
this.messageForm.title = res.data.title;
this.messageForm.categoryId = res.data.categoryId;
});
}
});
this.dialogVisible = true;
},
infoConfirm() {
this.$refs.messageForm.validate((valid) => {
if (!valid) return;
let params = {
content: this.content,
introduction: "",
title: this.messageForm.title,
user: localStorage.getItem("userName"),
categoryId: this.messageForm.categoryId,
};
if (this.type === "add") {
infoAdd(params).then((res) => {
if (res.code == 200) {
this.$message.success(res.msg || "添加成功");
this.dialogVisible = false;
this.init();
}
});
} else {
params.id = this.messageForm.id;
infoEdit(params).then((res) => {
if (res.code == 200) {
this.$message.success(res.msg || "编辑成功");
this.dialogVisible = false;
this.init();
} else {
this.$message.warning(res.msg || "编辑失败");
}
});
}
});
},
},
beforeDestroy() {
const editor = this.editor;
if (editor == null) return;
editor.destroy(); // 组件销毁时,及时销毁编辑器
},
};
</script>
<style lang="stylus" scoped>
@import '~@/stylus/common';
.btn{
margin-right: 10px;
};
.edit{
height: 500px;
margin-bottom: 20px;
}
.editorDialog >>>.el-dialog__body{
padding-top:0px ;
}
</style>
<style src="@wangeditor/editor/dist/css/style.css"></style>
......@@ -50,10 +50,10 @@
</template>
<script>
import { setToken, setMenuList } from '@/utils/auth.js';
import Identify from './identify';
import { setToken, setMenuList } from "@/utils/auth.js";
import Identify from "./identify";
// import md5 from "js-md5";
import { login, listMenus } from '@/api/login';
import { login, listMenus } from "@/api/login";
export default {
components: {
Identify,
......@@ -61,33 +61,33 @@ export default {
data() {
return {
form: {
account: '',
password: '',
verification: '',
account: "",
password: "",
verification: "",
},
rules: {
account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
account: [{ required: true, message: "请输入账号", trigger: "blur" }],
password: [{ required: true, message: "请输入密码", trigger: "blur" }],
verification: [
{ required: true, message: '请输入验证码', trigger: 'blur' },
{ required: true, message: "请输入验证码", trigger: "blur" },
],
},
// 图片验证码
identifyCode: '',
identifyCode: "",
// 验证码规则
identifyCodes: '3456789ABCDEFGHGKMNPQRSTUVWXY',
identifyCodes: "3456789ABCDEFGHGKMNPQRSTUVWXY",
fullscreenLoading: false,
};
},
mounted() {
window.addEventListener('keydown', this.keyDown);
window.addEventListener("keydown", this.keyDown);
this.refreshCode();
},
created() {},
methods: {
// 切换验证码
refreshCode() {
this.identifyCode = '';
this.identifyCode = "";
this.makeCode(this.identifyCodes, 4);
},
// 生成随机验证码
......@@ -117,25 +117,26 @@ export default {
this.fullscreenLoading = false;
if (res.success == true) {
setToken(res.data.tokenValue);
localStorage.setItem('userName', res.data.userName),
localStorage.setItem("userName", res.data.userName),
localStorage.setItem("userId", res.data.userId),
listMenus({ tokenValue: res.data.tokenValue }).then((res) => {
if (res.success == true) {
console.log(res);
setMenuList(JSON.stringify(res.data));
this.$router.push({ path: '/home' });
this.$message.success('登陆成功~');
this.$router.push({ path: "/home" });
this.$message.success("登陆成功~");
} else {
this.$message.error(res.msg || '登陆失败!');
this.$message.error(res.msg || "登陆失败!");
this.refreshCode();
}
});
} else {
this.$message.error(res.msg || '登陆失败!');
this.$message.error(res.msg || "登陆失败!");
this.refreshCode();
}
});
} else {
this.$message.error('请输入正确的验证码!');
this.$message.error("请输入正确的验证码!");
this.refreshCode();
}
} else {
......@@ -152,7 +153,7 @@ export default {
},
},
destroyed() {
window.removeEventListener('keydown', this.keyDown, false);
window.removeEventListener("keydown", this.keyDown, false);
},
};
</script>
......
......@@ -180,6 +180,18 @@
<p class="value">{{ viewDetail.enterprise.contactMobile }}</p>
</div>
<div class="cell">
<p class="label">单位类型</p>
<p class="value">
{{
viewDetail.enterprise.type == 0
? "企业"
: viewDetail.enterprise.type == 1
? "事业单位"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">企业营业执照或事业单位法人登记证</p>
<p class="value">
<el-image
......@@ -220,15 +232,16 @@
<p class="label">申报人姓名</p>
<p class="value">{{ item.name }}</p>
</div>
<div class="cell">
<p class="label">身份证号码</p>
<p class="value">{{ item.idCard }}</p>
</div>
<div class="cell">
<p class="label">手机号码</p>
<p class="value">{{ item.mobile }}</p>
</div>
<div class="cell">
<p class="label">身份证号码</p>
<p class="value">{{ item.idCard }}</p>
</div>
<div class="cell">
<p class="label">人才类型</p>
<p class="value">{{ item.staffType }}</p>
</div>
......@@ -241,6 +254,18 @@
<p class="value">{{ item.graduationTime }}</p>
</div>
<div class="cell">
<p class="label">学历类型</p>
<p class="value">
{{
item.educationType == 0
? "国(境)内"
: item.educationType == 1
? "国(境)外"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">学历</p>
<p class="value">{{ item.highestEducation }}</p>
</div>
......@@ -249,9 +274,26 @@
<p class="value">{{ item.highestDegree }}</p>
</div>
<div class="cell">
<p class="label">市区缴纳养老保险开始时间</p>
<p class="value">{{ item.payEndowmentInsuranceBeginTime }}</p>
<p class="label">学历认证报告</p>
<p class="value">
<template v-for="(i, index) in item.pictureVoS">
<el-image
v-if="i.pictureType == 12"
:key="index"
style="width: 100px; height: 100px; margin-right: 10px"
:src="i.picture"
:z-index="7777777"
:preview-src-list="[i.picture]"
>
</el-image>
</template>
</p>
</div>
<div class="cell">
<p class="label">劳动合同签订单位</p>
<p class="value">{{ item.laborContractEnterpriseName }}</p>
</div>
<div class="cell">
<p class="label">劳动合同开始时间</p>
<p class="value">{{ item.laborContractBeginTime }}</p>
......@@ -261,16 +303,22 @@
<p class="value">{{ item.laborContractEndTime }}</p>
</div>
<div class="cell">
<p class="label">不动产权证坐落</p>
<p class="value">{{ item.realEstateAddress }}</p>
</div>
<div class="cell">
<p class="label">不动产权证号</p>
<p class="value">{{ item.realEstateCard }}</p>
<p class="label">市区缴纳养老保险开始时间</p>
<p class="value">{{ item.payEndowmentInsuranceBeginTime }}</p>
</div>
<div class="cell">
<p class="label">建筑面积(m2)</p>
<p class="value">{{ item.square }}</p>
<p class="label">银行卡类型</p>
<p class="value">
{{
item.bankType == 0
? "交通银行"
: item.bankType == 1
? "江苏银行"
: item.bankType == 2
? "工商银行"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">个人银行卡开户行</p>
......@@ -281,6 +329,19 @@
<p class="value">{{ item.bankCard }}</p>
</div>
<div class="cell">
<p class="label">不动产权证坐落</p>
<p class="value">{{ item.realEstateAddress }}</p>
</div>
<div class="cell">
<p class="label">不动产权证号</p>
<p class="value">{{ item.realEstateCard }}</p>
</div>
<div class="cell">
<p class="label">建筑面积(m2)</p>
<p class="value">{{ item.square }}</p>
</div>
<div class="cell">
<p class="label">购房时间(网签时间)</p>
<p class="value">{{ item.buyHouseTime }}</p>
</div>
......@@ -405,7 +466,7 @@
</p>
</div>
<div class="cell">
<p class="label">毕业证照片</p>
<p class="label">毕业证</p>
<p class="value">
<template v-for="(i, index) in item.pictureVoS">
<el-image
......
......@@ -163,6 +163,18 @@
<p class="value">{{ viewDetail.enterprise.contactMobile }}</p>
</div>
<div class="cell">
<p class="label">单位类型</p>
<p class="value">
{{
viewDetail.enterprise.type == 0
? "企业"
: viewDetail.enterprise.type == 1
? "事业单位"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">企业营业执照或事业单位法人登记证</p>
<p class="value">
<el-image
......@@ -204,14 +216,15 @@
<p class="value">{{ item.name }}</p>
</div>
<div class="cell">
<p class="label">身份证号码</p>
<p class="value">{{ item.idCard }}</p>
</div>
<div class="cell">
<p class="label">手机号码</p>
<p class="value">{{ item.mobile }}</p>
</div>
<div class="cell">
<p class="label">身份证号码</p>
<p class="value">{{ item.idCard }}</p>
</div>
<div class="cell">
<p class="label">人才类型</p>
<p class="value">{{ item.staffType }}</p>
</div>
......@@ -224,6 +237,18 @@
<p class="value">{{ item.graduationTime }}</p>
</div>
<div class="cell">
<p class="label">学历类型</p>
<p class="value">
{{
item.educationType == 0
? "国(境)内"
: item.educationType == 1
? "国(境)外"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">学历</p>
<p class="value">{{ item.highestEducation }}</p>
</div>
......@@ -232,9 +257,26 @@
<p class="value">{{ item.highestDegree }}</p>
</div>
<div class="cell">
<p class="label">市区缴纳养老保险开始时间</p>
<p class="value">{{ item.payEndowmentInsuranceBeginTime }}</p>
<p class="label">学历认证报告</p>
<p class="value">
<template v-for="(i, index) in item.pictureVoS">
<el-image
v-if="i.pictureType == 12"
:key="index"
style="width: 100px; height: 100px; margin-right: 10px"
:src="i.picture"
:z-index="7777777"
:preview-src-list="[i.picture]"
>
</el-image>
</template>
</p>
</div>
<div class="cell">
<p class="label">劳动合同签订单位</p>
<p class="value">{{ item.laborContractEnterpriseName }}</p>
</div>
<div class="cell">
<p class="label">劳动合同开始时间</p>
<p class="value">{{ item.laborContractBeginTime }}</p>
......@@ -244,16 +286,22 @@
<p class="value">{{ item.laborContractEndTime }}</p>
</div>
<div class="cell">
<p class="label">不动产权证坐落</p>
<p class="value">{{ item.realEstateAddress }}</p>
</div>
<div class="cell">
<p class="label">不动产权证号</p>
<p class="value">{{ item.realEstateCard }}</p>
<p class="label">市区缴纳养老保险开始时间</p>
<p class="value">{{ item.payEndowmentInsuranceBeginTime }}</p>
</div>
<div class="cell">
<p class="label">建筑面积(m2)</p>
<p class="value">{{ item.square }}</p>
<p class="label">银行卡类型</p>
<p class="value">
{{
item.bankType == 0
? "交通银行"
: item.bankType == 1
? "江苏银行"
: item.bankType == 2
? "工商银行"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">个人银行卡开户行</p>
......@@ -264,6 +312,19 @@
<p class="value">{{ item.bankCard }}</p>
</div>
<div class="cell">
<p class="label">不动产权证坐落</p>
<p class="value">{{ item.realEstateAddress }}</p>
</div>
<div class="cell">
<p class="label">不动产权证号</p>
<p class="value">{{ item.realEstateCard }}</p>
</div>
<div class="cell">
<p class="label">建筑面积(m2)</p>
<p class="value">{{ item.square }}</p>
</div>
<div class="cell">
<p class="label">购房时间(网签时间)</p>
<p class="value">{{ item.buyHouseTime }}</p>
</div>
......@@ -388,7 +449,7 @@
</p>
</div>
<div class="cell">
<p class="label">毕业证照片</p>
<p class="label">毕业证</p>
<p class="value">
<template v-for="(i, index) in item.pictureVoS">
<el-image
......
......@@ -139,6 +139,18 @@
<p class="value">{{ viewDetail.enterprise.contactMobile }}</p>
</div>
<div class="cell">
<p class="label">单位类型</p>
<p class="value">
{{
viewDetail.enterprise.type == 0
? "企业"
: viewDetail.enterprise.type == 1
? "事业单位"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">企业营业执照或事业单位法人登记证</p>
<p class="value">
<el-image
......@@ -180,14 +192,15 @@
<p class="value">{{ item.name }}</p>
</div>
<div class="cell">
<p class="label">身份证号码</p>
<p class="value">{{ item.idCard }}</p>
</div>
<div class="cell">
<p class="label">手机号码</p>
<p class="value">{{ item.mobile }}</p>
</div>
<div class="cell">
<p class="label">身份证号码</p>
<p class="value">{{ item.idCard }}</p>
</div>
<div class="cell">
<p class="label">人才类型</p>
<p class="value">{{ item.staffType }}</p>
</div>
......@@ -200,6 +213,18 @@
<p class="value">{{ item.graduationTime }}</p>
</div>
<div class="cell">
<p class="label">学历类型</p>
<p class="value">
{{
item.educationType == 0
? "国(境)内"
: item.educationType == 1
? "国(境)外"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">学历</p>
<p class="value">{{ item.highestEducation }}</p>
</div>
......@@ -208,8 +233,24 @@
<p class="value">{{ item.highestDegree }}</p>
</div>
<div class="cell">
<p class="label">市区缴纳养老保险开始时间</p>
<p class="value">{{ item.payEndowmentInsuranceBeginTime }}</p>
<p class="label">学历认证报告</p>
<p class="value">
<template v-for="(i, index) in item.pictureVoS">
<el-image
v-if="i.pictureType == 12"
:key="index"
style="width: 100px; height: 100px; margin-right: 10px"
:src="i.picture"
:z-index="7777777"
:preview-src-list="[i.picture]"
>
</el-image>
</template>
</p>
</div>
<div class="cell">
<p class="label">劳动合同签订单位</p>
<p class="value">{{ item.laborContractEnterpriseName }}</p>
</div>
<div class="cell">
<p class="label">劳动合同开始时间</p>
......@@ -220,16 +261,22 @@
<p class="value">{{ item.laborContractEndTime }}</p>
</div>
<div class="cell">
<p class="label">不动产权证坐落</p>
<p class="value">{{ item.realEstateAddress }}</p>
</div>
<div class="cell">
<p class="label">不动产权证号</p>
<p class="value">{{ item.realEstateCard }}</p>
<p class="label">市区缴纳养老保险开始时间</p>
<p class="value">{{ item.payEndowmentInsuranceBeginTime }}</p>
</div>
<div class="cell">
<p class="label">建筑面积(m2)</p>
<p class="value">{{ item.square }}</p>
<p class="label">银行卡类型</p>
<p class="value">
{{
item.bankType == 0
? "交通银行"
: item.bankType == 1
? "江苏银行"
: item.bankType == 2
? "工商银行"
: ""
}}
</p>
</div>
<div class="cell">
<p class="label">个人银行卡开户行</p>
......@@ -240,6 +287,19 @@
<p class="value">{{ item.bankCard }}</p>
</div>
<div class="cell">
<p class="label">不动产权证坐落</p>
<p class="value">{{ item.realEstateAddress }}</p>
</div>
<div class="cell">
<p class="label">不动产权证号</p>
<p class="value">{{ item.realEstateCard }}</p>
</div>
<div class="cell">
<p class="label">建筑面积(m2)</p>
<p class="value">{{ item.square }}</p>
</div>
<div class="cell">
<p class="label">购房时间(网签时间)</p>
<p class="value">{{ item.buyHouseTime }}</p>
</div>
......@@ -364,7 +424,7 @@
</p>
</div>
<div class="cell">
<p class="label">毕业证照片</p>
<p class="label">毕业证</p>
<p class="value">
<template v-for="(i, index) in item.pictureVoS">
<el-image
......
const env = process.env.NODE_ENV === "production";
// const publicPath = env ? "/manage-h5/" : "/"; //正式
const publicPath = env ? "/smartExam-h5/" : "/"; //测试
const publicPath = env ? "/manage-h5/" : "/"; //正式
// const publicPath = env ? "/smartExam-h5/" : "/"; //测试
module.exports = {
publicPath,
......
......@@ -919,6 +919,13 @@
dependencies:
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.12.0":
version "7.25.0"
resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb"
integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==
dependencies:
regenerator-runtime "^0.14.0"
"@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.18.6":
version "7.18.10"
resolved "https://registry.npmmirror.com/@babel/template/-/template-7.18.10.tgz"
......@@ -1069,6 +1076,16 @@
resolved "https://registry.npmmirror.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz"
integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==
"@transloadit/prettier-bytes@0.0.7":
version "0.0.7"
resolved "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz#cdb5399f445fdd606ed833872fa0cabdbc51686b"
integrity sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==
"@types/event-emitter@^0.3.3":
version "0.3.5"
resolved "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.5.tgz#ce9b513f72c50dcf0443a12165a93a79ba7a7092"
integrity sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==
"@types/glob@^7.1.1":
version "7.2.0"
resolved "https://registry.npmmirror.com/@types/glob/-/glob-7.2.0.tgz"
......@@ -1102,6 +1119,49 @@
resolved "https://registry.npmmirror.com/@types/q/-/q-1.5.5.tgz"
integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==
"@uppy/companion-client@^2.2.2":
version "2.2.2"
resolved "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz#c70b42fdcca728ef88b3eebf7ee3e2fa04b4923b"
integrity sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==
dependencies:
"@uppy/utils" "^4.1.2"
namespace-emitter "^2.0.1"
"@uppy/core@^2.1.1":
version "2.3.4"
resolved "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz#260b85b6bf3aa03cdc67da231f8c69cfbfdcc84a"
integrity sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==
dependencies:
"@transloadit/prettier-bytes" "0.0.7"
"@uppy/store-default" "^2.1.1"
"@uppy/utils" "^4.1.3"
lodash.throttle "^4.1.1"
mime-match "^1.0.2"
namespace-emitter "^2.0.1"
nanoid "^3.1.25"
preact "^10.5.13"
"@uppy/store-default@^2.1.1":
version "2.1.1"
resolved "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz#62a656a099bdaa012306e054d093754cb2d36e3e"
integrity sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==
"@uppy/utils@^4.1.2", "@uppy/utils@^4.1.3":
version "4.1.3"
resolved "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz#9d0be6ece4df25f228d30ef40be0f14208258ce3"
integrity sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==
dependencies:
lodash.throttle "^4.1.1"
"@uppy/xhr-upload@^2.0.3":
version "2.1.3"
resolved "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz#0d4e355332fe0c6eb372d7731315e04d02aeeb18"
integrity sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==
dependencies:
"@uppy/companion-client" "^2.2.2"
"@uppy/utils" "^4.1.2"
nanoid "^3.1.25"
"@vue/babel-helper-vue-jsx-merge-props@^1.2.1":
version "1.2.1"
resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz"
......@@ -1377,6 +1437,84 @@
resolved "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz"
integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==
"@wangeditor/basic-modules@^1.1.7":
version "1.1.7"
resolved "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz#a9c3ccf4ef53332f29550d59d3676e15f395946f"
integrity sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==
dependencies:
is-url "^1.2.4"
"@wangeditor/code-highlight@^1.0.3":
version "1.0.3"
resolved "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz#90256857714d5c0cf83ac475aea64db7bf29a7cd"
integrity sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==
dependencies:
prismjs "^1.23.0"
"@wangeditor/core@^1.1.19":
version "1.1.19"
resolved "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz#f9155f7fd92d03cb1982405b3b82e54c31f1c2b0"
integrity sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==
dependencies:
"@types/event-emitter" "^0.3.3"
event-emitter "^0.3.5"
html-void-elements "^2.0.0"
i18next "^20.4.0"
scroll-into-view-if-needed "^2.2.28"
slate-history "^0.66.0"
"@wangeditor/editor-for-vue@^1.0.2":
version "1.0.2"
resolved "https://registry.npmmirror.com/@wangeditor/editor-for-vue/-/editor-for-vue-1.0.2.tgz#62674d56354319ff8dcc83db5c62cec4437ee906"
integrity sha512-BOENvAXJVtVXlE2X50AAvjV82YlCUeu5cbeR0cvEQHQjYtiVnJtq7HSoj85r2kTgGouI5OrpJG9BBEjSjUSPyA==
"@wangeditor/editor@^5.1.23":
version "5.1.23"
resolved "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz#c9d2007b7cb0ceef6b72692b4ee87b01ee2367b3"
integrity sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==
dependencies:
"@uppy/core" "^2.1.1"
"@uppy/xhr-upload" "^2.0.3"
"@wangeditor/basic-modules" "^1.1.7"
"@wangeditor/code-highlight" "^1.0.3"
"@wangeditor/core" "^1.1.19"
"@wangeditor/list-module" "^1.0.5"
"@wangeditor/table-module" "^1.1.4"
"@wangeditor/upload-image-module" "^1.0.2"
"@wangeditor/video-module" "^1.1.4"
dom7 "^3.0.0"
is-hotkey "^0.2.0"
lodash.camelcase "^4.3.0"
lodash.clonedeep "^4.5.0"
lodash.debounce "^4.0.8"
lodash.foreach "^4.5.0"
lodash.isequal "^4.5.0"
lodash.throttle "^4.1.1"
lodash.toarray "^4.4.0"
nanoid "^3.2.0"
slate "^0.72.0"
snabbdom "^3.1.0"
"@wangeditor/list-module@^1.0.5":
version "1.0.5"
resolved "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz#3fc0b167acddf885536b45fa0c127f9c6adaea33"
integrity sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==
"@wangeditor/table-module@^1.1.4":
version "1.1.4"
resolved "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz#757d4a5868b2b658041cd323854a4d707c8347e9"
integrity sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==
"@wangeditor/upload-image-module@^1.0.2":
version "1.0.2"
resolved "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz#89e9b9467e10cbc6b11dc5748e08dd23aaebee30"
integrity sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==
"@wangeditor/video-module@^1.1.4":
version "1.1.4"
resolved "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz#b9df1b3ab2cd53f678b19b4d927e200774a6f532"
integrity sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==
"@webassemblyjs/ast@1.9.0":
version "1.9.0"
resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.9.0.tgz"
......@@ -2526,6 +2664,11 @@ clone@^1.0.2:
resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz"
integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
clone@^2.1.1:
version "2.1.2"
resolved "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
coa@^2.0.2:
version "2.0.2"
resolved "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz"
......@@ -2635,6 +2778,11 @@ compression@^1.7.4:
safe-buffer "5.1.2"
vary "~1.1.2"
compute-scroll-into-view@^1.0.20:
version "1.0.20"
resolved "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43"
integrity sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz"
......@@ -3030,6 +3178,14 @@ cyclist@^1.0.1:
resolved "https://registry.npmmirror.com/cyclist/-/cyclist-1.0.1.tgz"
integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==
d@1, d@^1.0.1, d@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de"
integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==
dependencies:
es5-ext "^0.10.64"
type "^2.7.2"
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz"
......@@ -3277,6 +3433,13 @@ dom-serializer@^1.0.1:
domhandler "^4.2.0"
entities "^2.0.0"
dom7@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz#b861ce5d67a6becd7aaa3ad02942ff14b1240331"
integrity sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==
dependencies:
ssr-window "^3.0.0-alpha.1"
domain-browser@^1.1.1:
version "1.2.0"
resolved "https://registry.npmmirror.com/domain-browser/-/domain-browser-1.2.0.tgz"
......@@ -3523,6 +3686,33 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
es5-ext@^0.10.35, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14:
version "0.10.64"
resolved "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714"
integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==
dependencies:
es6-iterator "^2.0.3"
es6-symbol "^3.1.3"
esniff "^2.0.1"
next-tick "^1.1.0"
es6-iterator@^2.0.3:
version "2.0.3"
resolved "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==
dependencies:
d "1"
es5-ext "^0.10.35"
es6-symbol "^3.1.1"
es6-symbol@^3.1.1, es6-symbol@^3.1.3:
version "3.1.4"
resolved "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c"
integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==
dependencies:
d "^1.0.2"
ext "^1.7.0"
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz"
......@@ -3629,6 +3819,16 @@ eslint@^6.7.2:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
esniff@^2.0.1:
version "2.0.1"
resolved "https://registry.npmmirror.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308"
integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==
dependencies:
d "^1.0.1"
es5-ext "^0.10.62"
event-emitter "^0.3.5"
type "^2.7.2"
espree@^6.1.2, espree@^6.2.1:
version "6.2.1"
resolved "https://registry.npmmirror.com/espree/-/espree-6.2.1.tgz"
......@@ -3677,16 +3877,34 @@ etag@~1.8.1:
resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz"
integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
event-emitter@^0.3.5:
version "0.3.5"
resolved "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==
dependencies:
d "1"
es5-ext "~0.10.14"
event-pubsub@4.3.0:
version "4.3.0"
resolved "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz"
integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==
eventemitter3@^2.0.3:
version "2.0.3"
resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba"
integrity sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==
eventemitter3@^4.0.0:
version "4.0.7"
resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
eventemitter3@^5.0.1:
version "5.0.1"
resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4"
integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==
events@^3.0.0:
version "3.3.0"
resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz"
......@@ -3797,6 +4015,13 @@ express@^4.16.3, express@^4.17.1:
utils-merge "1.0.1"
vary "~1.1.2"
ext@^1.7.0:
version "1.7.0"
resolved "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f"
integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==
dependencies:
type "^2.7.2"
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz"
......@@ -3812,7 +4037,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
extend@~3.0.2:
extend@^3.0.2, extend@~3.0.2:
version "3.0.2"
resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
......@@ -3850,6 +4075,16 @@ fast-deep-equal@^3.1.1:
resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-diff@1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==
fast-diff@^1.3.0:
version "1.3.0"
resolved "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
fast-glob@^2.2.6:
version "2.2.7"
resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-2.2.7.tgz"
......@@ -4492,6 +4727,11 @@ html-tags@^3.1.0:
resolved "https://registry.npmmirror.com/html-tags/-/html-tags-3.2.0.tgz"
integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==
html-void-elements@^2.0.0:
version "2.0.1"
resolved "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f"
integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==
html-webpack-plugin@^3.2.0:
version "3.2.0"
resolved "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz"
......@@ -4584,6 +4824,13 @@ human-signals@^1.1.1:
resolved "https://registry.npmmirror.com/human-signals/-/human-signals-1.1.1.tgz"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
i18next@^20.4.0:
version "20.6.1"
resolved "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz#535e5f6e5baeb685c7d25df70db63bf3cc0aa345"
integrity sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==
dependencies:
"@babel/runtime" "^7.12.0"
iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz"
......@@ -4618,6 +4865,11 @@ ignore@^4.0.3, ignore@^4.0.6:
resolved "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
immer@^9.0.6:
version "9.0.21"
resolved "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176"
integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==
import-cwd@^2.0.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/import-cwd/-/import-cwd-2.1.0.tgz"
......@@ -4947,6 +5199,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
is-hotkey@^0.2.0:
version "0.2.0"
resolved "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz#1835a68171a91e5c9460869d96336947c8340cef"
integrity sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==
is-negative-zero@^2.0.2:
version "2.0.2"
resolved "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz"
......@@ -5007,6 +5264,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
is-plain-object@^5.0.0:
version "5.0.0"
resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
is-regex@^1.0.4, is-regex@^1.1.4:
version "1.1.4"
resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz"
......@@ -5056,6 +5318,11 @@ is-typedarray@~1.0.0:
resolved "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz"
integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
is-url@^1.2.4:
version "1.2.4"
resolved "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52"
integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==
is-weakref@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz"
......@@ -5340,6 +5607,16 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
lodash-es@^4.17.21:
version "4.17.21"
resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
lodash.clonedeep@^4.5.0:
version "4.5.0"
resolved "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz"
......@@ -5355,6 +5632,16 @@ lodash.defaultsdeep@^4.6.1:
resolved "https://registry.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz"
integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==
lodash.foreach@^4.5.0:
version "4.5.0"
resolved "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
integrity sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==
lodash.isequal@^4.5.0:
version "4.5.0"
resolved "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
lodash.kebabcase@^4.1.1:
version "4.1.1"
resolved "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz"
......@@ -5370,6 +5657,16 @@ lodash.memoize@^4.1.2:
resolved "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz"
integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
lodash.throttle@^4.1.1:
version "4.1.1"
resolved "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
lodash.toarray@^4.4.0:
version "4.4.0"
resolved "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
integrity sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==
lodash.transform@^4.6.0:
version "4.6.0"
resolved "https://registry.npmmirror.com/lodash.transform/-/lodash.transform-4.6.0.tgz"
......@@ -5380,7 +5677,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3:
lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4:
version "4.17.21"
resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
......@@ -5543,6 +5840,13 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
mime-match@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz#3f87c31e9af1a5fd485fb9db134428b23bbb7ba8"
integrity sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==
dependencies:
wildcard "^1.1.0"
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz"
......@@ -5715,11 +6019,21 @@ mz@^2.4.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
namespace-emitter@^2.0.1:
version "2.0.1"
resolved "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz#978d51361c61313b4e6b8cf6f3853d08dfa2b17c"
integrity sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==
nan@^2.12.1:
version "2.17.0"
resolved "https://registry.npmmirror.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb"
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
nanoid@^3.1.25, nanoid@^3.2.0:
version "3.3.7"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz"
......@@ -5757,6 +6071,11 @@ neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
next-tick@^1.1.0:
version "1.1.0"
resolved "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz"
......@@ -6150,6 +6469,16 @@ param-case@2.1.x:
dependencies:
no-case "^2.2.0"
parchment@^1.1.4:
version "1.1.4"
resolved "https://registry.npmmirror.com/parchment/-/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5"
integrity sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==
parchment@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/parchment/-/parchment-3.0.0.tgz#2e3a4ada454e1206ae76ea7afcb50e9fb517e7d6"
integrity sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz"
......@@ -6730,6 +7059,11 @@ postcss@^8.4.14:
picocolors "^1.0.0"
source-map-js "^1.0.2"
preact@^10.5.13:
version "10.23.1"
resolved "https://registry.npmmirror.com/preact/-/preact-10.23.1.tgz#d400107289bc979881c5212cb5f5cd22cd1dc38c"
integrity sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A==
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz"
......@@ -6753,6 +7087,11 @@ pretty-error@^2.0.2:
lodash "^4.17.20"
renderkid "^2.0.4"
prismjs@^1.23.0:
version "1.29.0"
resolved "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
......@@ -6898,6 +7237,62 @@ querystringify@^2.1.1:
resolved "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz"
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
quill-delta@^3.6.2:
version "3.6.3"
resolved "https://registry.npmmirror.com/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@^5.1.0:
version "5.1.0"
resolved "https://registry.npmmirror.com/quill-delta/-/quill-delta-5.1.0.tgz#1c4bc08f7c8e5cc4bdc88a15a1a70c1cc72d2b48"
integrity sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==
dependencies:
fast-diff "^1.3.0"
lodash.clonedeep "^4.5.0"
lodash.isequal "^4.5.0"
quill-image-drop-module@^1.0.3:
version "1.0.3"
resolved "https://registry.npmmirror.com/quill-image-drop-module/-/quill-image-drop-module-1.0.3.tgz#0e5ec8329dd67a12126f166b191bf64d2057a7d3"
integrity sha512-HP0Y2kb3nQk1QbRKZzEe1j3mArRQerN5B/U/MlXrOnxmhy3m/xYmVv0YoE13vWnGnBOIcoXGJ/9fi7l6AwsP8Q==
dependencies:
quill "^1.2.2"
quill-image-resize-module@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/quill-image-resize-module/-/quill-image-resize-module-3.0.0.tgz#0fd93746a837336d95b2f536140416a623c71771"
integrity sha512-1TZBnUxU/WIx5dPyVjQ9yN7C6mLZSp04HyWBEMqT320DIq4MW4JgzlOPDZX5ZpBM3bU6sacU4kTLUc8VgYQZYw==
dependencies:
lodash "^4.17.4"
quill "^1.2.2"
raw-loader "^0.5.1"
quill@^1.2.2, quill@^1.3.4:
version "1.3.7"
resolved "https://registry.npmmirror.com/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"
quill@^2.0.2:
version "2.0.2"
resolved "https://registry.npmmirror.com/quill/-/quill-2.0.2.tgz#5b26bc10a74e9f7fdcfdb5156b3133a3ebf0a814"
integrity sha512-QfazNrhMakEdRG57IoYFwffUIr04LWJxbS/ZkidRFXYCQt63c1gK6Z7IHUXMx/Vh25WgPBU42oBaNzQ0K1R/xw==
dependencies:
eventemitter3 "^5.0.1"
lodash-es "^4.17.21"
parchment "^3.0.0"
quill-delta "^5.1.0"
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz"
......@@ -6928,6 +7323,11 @@ raw-body@2.5.1:
iconv-lite "0.4.24"
unpipe "1.0.0"
raw-loader@^0.5.1:
version "0.5.1"
resolved "https://registry.npmmirror.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
integrity sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==
read-pkg@^5.1.1:
version "5.2.0"
resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz"
......@@ -6998,6 +7398,11 @@ regenerator-runtime@^0.13.4:
resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz"
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
regenerator-runtime@^0.14.0:
version "0.14.1"
resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
regenerator-transform@^0.15.0:
version "0.15.0"
resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz"
......@@ -7281,6 +7686,13 @@ schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.6
ajv "^6.12.4"
ajv-keywords "^3.5.2"
scroll-into-view-if-needed@^2.2.28:
version "2.2.31"
resolved "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz#d3c482959dc483e37962d1521254e3295d0d1587"
integrity sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==
dependencies:
compute-scroll-into-view "^1.0.20"
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz"
......@@ -7455,6 +7867,22 @@ slash@^2.0.0:
resolved "https://registry.npmmirror.com/slash/-/slash-2.0.0.tgz"
integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
slate-history@^0.66.0:
version "0.66.0"
resolved "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz#ac63fddb903098ceb4c944433e3f75fe63acf940"
integrity sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==
dependencies:
is-plain-object "^5.0.0"
slate@^0.72.0:
version "0.72.8"
resolved "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz#5a018edf24e45448655293a68bfbcf563aa5ba81"
integrity sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==
dependencies:
immer "^9.0.6"
is-plain-object "^5.0.0"
tiny-warning "^1.0.3"
slice-ansi@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-2.1.0.tgz"
......@@ -7464,6 +7892,11 @@ slice-ansi@^2.1.0:
astral-regex "^1.0.0"
is-fullwidth-code-point "^2.0.0"
snabbdom@^3.1.0:
version "3.6.2"
resolved "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.6.2.tgz#57dd66878f6320497fa7f67941df356a045c75a1"
integrity sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q==
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"
......@@ -7646,6 +8079,11 @@ sshpk@^1.7.0:
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
ssr-window@^3.0.0-alpha.1:
version "3.0.0"
resolved "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz#fd5b82801638943e0cc704c4691801435af7ac37"
integrity sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==
ssri@^6.0.1:
version "6.0.2"
resolved "https://registry.npmmirror.com/ssri/-/ssri-6.0.2.tgz"
......@@ -8006,6 +8444,11 @@ timsort@^0.3.0:
resolved "https://registry.npmmirror.com/timsort/-/timsort-0.3.0.tgz"
integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==
tiny-warning@^1.0.3:
version "1.0.3"
resolved "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz"
......@@ -8135,6 +8578,11 @@ type-is@~1.6.18:
media-typer "0.3.0"
mime-types "~2.1.24"
type@^2.7.2:
version "2.7.3"
resolved "https://registry.npmmirror.com/type/-/type-2.7.3.tgz#436981652129285cc3ba94f392886c2637ea0486"
integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz"
......@@ -8421,6 +8869,14 @@ vue-loader@^15.9.1:
vue-hot-reload-api "^2.3.0"
vue-style-loader "^4.1.0"
vue-quill-editor@^3.0.6:
version "3.0.6"
resolved "https://registry.npmmirror.com/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz#1f85646211d68a31a80a72cb7f45bb2f119bc8fb"
integrity sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==
dependencies:
object-assign "^4.1.1"
quill "^1.3.4"
vue-router@^3.2.0:
version "3.5.4"
resolved "https://registry.npmmirror.com/vue-router/-/vue-router-3.5.4.tgz"
......@@ -8670,6 +9126,11 @@ which@^2.0.1:
dependencies:
isexe "^2.0.0"
wildcard@^1.1.0:
version "1.1.2"
resolved "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz#a7020453084d8cd2efe70ba9d3696263de1710a5"
integrity sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==
word-wrap@~1.2.3:
version "1.2.3"
resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment