Commit 73996d6b authored by “yiyousong”'s avatar “yiyousong”

feat:应用集市静态页面完成

parent 7c2691a0
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
"mockjs": "^1.1.0", "mockjs": "^1.1.0",
"moment": "^2.24.0", "moment": "^2.24.0",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"quill-image-resize-module": "^3.0.0",
"v-viewer": "^1.6.4", "v-viewer": "^1.6.4",
"viser-vue": "^2.4.8", "viser-vue": "^2.4.8",
"vue": "^2.6.11", "vue": "^2.6.11",
......
<template>
<div style="margin-bottom: 25px" :style="{ height: height }">
<!-- 图片上传组件辅助-->
<a-upload
name="uploadFile"
:multiple="true"
:headers="headers"
:show-upload-list="false"
:action="serverUrl"
@change="handleChange"
:before-upload="beforeUpload"
>
</a-upload>
<!-- 富文本 -->
<quill-editor
class="editor"
v-model="content"
ref="myQuillEditor"
:options="editorOption"
@blur="onEditorBlur($event)"
@focus="onEditorFocus($event)"
@change="onEditorChange($event)"
>
</quill-editor>
</div>
</template>
<script>
import local from "@/utils/local";
// 工具栏配置
const toolbarOptions = [
["bold", "italic", "underline", "strike"], // 加粗 斜体 下划线 删除线
["blockquote", "code-block"], // 引用 代码块
[{ header: 1 }, { header: 2 }], // 1、2 级标题
[{ list: "ordered" }, { list: "bullet" }], // 有序、无序列表
[{ script: "sub" }, { script: "super" }], // 上标/下标
[{ indent: "-1" }, { indent: "+1" }], // 缩进
[{ direction: "rtl" }], // 文本方向
[{ size: ["10px", "12px", false, "16px", "18px", "20px", "30px", "32px"] }], // 字体大小
[{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
[{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
[
{
font: [
false,
"SimSun",
"SimHei",
"Microsoft-YaHei",
"KaiTi",
"FangSong",
"Arial",
"sans-serif",
],
},
], // 字体种类
[{ align: [] }], // 对齐方式
["clean"], // 清除文本格式
["image"], // 链接、图片、视频
];
import { Quill, quillEditor } from "vue-quill-editor";
import "quill/dist/quill.core.css";
import "quill/dist/quill.snow.css";
import "quill/dist/quill.bubble.css";
// 调整上传图片大小
import ImageResize from "quill-image-resize-module";
Quill.register("modules/imageResize", ImageResize);
// 自定义字体大小
let Size = Quill.import("attributors/style/size");
Size.whitelist = ["10px", "12px", "16px", "18px", "20px", "30px", "32px"];
Quill.register(Size, true);
// 自定义字体类型
var fonts = [
"SimSun",
"SimHei",
"Microsoft-YaHei",
"KaiTi",
"FangSong",
"Arial",
"sans-serif",
];
var Font = Quill.import("formats/font");
Font.whitelist = fonts;
Quill.register(Font, true);
export default {
props: {
/*编辑器的内容*/
value: {
type: String,
},
/*图片大小*/
maxSize: {
type: Number,
default: 1000, //kb
},
height: {
default: "80%",
},
},
components: {
quillEditor,
},
data() {
return {
content: this.value,
quillUpdateImg: false, // 根据图片上传状态来确定是否显示loading动画,刚开始是false,不显示
editorOption: {
theme: "snow", // or 'bubble'
placeholder: "请输入文本......",
modules: {
toolbar: {
container: toolbarOptions,
// container: "#toolbar",
handlers: {
image: function (value) {
if (value) {
// 触发input框选择图片文件
document.querySelector(".ant-upload input").click();
} else {
this.quill.format("image", false);
}
},
// link: function(value) {
// if (value) {
// var href = prompt('请输入url');
// this.quill.format("link", href);
// } else {
// this.quill.format("link", false);
// }
// },
},
},
imageResize: {
displayStyles: {
backgroundColor: "black",
border: "none",
color: "white",
},
modules: ["Resize", "DisplaySize", "Toolbar"],
},
},
},
serverUrl: process.env.VUE_APP_API_BASE_URL + "/eas/file/upload", // 这里写你要上传的图片服务器地址
headers: {
Authorization: local.getLocal("token"),
},
};
},
methods: {
onEditorBlur() {
//失去焦点事件
},
onEditorFocus() {
//获得焦点事件
},
onEditorChange() {
//内容改变事件
this.$emit("input", this.content);
},
// 富文本图片上传前
beforeUpload() {
// 显示loading动画
this.quillUpdateImg = true;
},
// 上传
handleChange(info) {
if (info.file.status === "done") {
let quill = this.$refs.myQuillEditor.quill;
let { code, url } = info.file.response;
if (code === 1) {
// 获取光标所在位置
let length = quill.getSelection().index;
// 插入图片 res.url为服务器返回的图片地址
quill.insertEmbed(
length,
"image",
process.env.VUE_APP_API_BASE_URL + "/" + url
);
// 调整光标到最后
quill.setSelection(length + 1);
} else {
this.$message.error("图片插入失败");
}
}
},
},
};
</script>
<style>
.editor {
line-height: normal !important;
height: 100%;
}
.SizeTiShi {
font-size: 12px;
color: #999999;
text-align: right;
/* margin-right: 20px; */
margin-top: 60px;
}
.ql-snow .ql-tooltip[data-mode="link"]::before {
content: "请输入链接地址:";
}
.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
border-right: 0px;
content: "保存";
padding-right: 0px;
}
.ql-snow .ql-tooltip[data-mode="video"]::before {
content: "请输入视频地址:";
}
.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
content: "14px" !important;
font-size: 14px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="10px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="10px"]::before {
content: "10px" !important;
font-size: 10px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="12px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="12px"]::before {
content: "12px" !important;
font-size: 12px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="16px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16px"]::before {
content: "16px" !important;
font-size: 16px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="18px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18px"]::before {
content: "18px" !important;
font-size: 18px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="20px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="20px"]::before {
content: "20px" !important;
font-size: 20px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="30px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="30px"]::before {
content: "30px" !important;
font-size: 30px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="32px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="32px"]::before {
content: "32px" !important;
font-size: 32px;
}
.ql-snow .ql-picker.ql-header .ql-picker-label::before,
.ql-snow .ql-picker.ql-header .ql-picker-item::before {
content: "文本" !important;
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
content: "标题1" !important;
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
content: "标题2" !important;
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
content: "标题3" !important;
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
content: "标题4" !important;
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
content: "标题5" !important;
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
content: "标题6" !important;
}
.ql-snow .ql-picker.ql-font .ql-picker-label::before,
.ql-snow .ql-picker.ql-font .ql-picker-item::before {
content: "标准字体" !important;
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before {
content: "衬线字体" !important;
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before {
content: "等宽字体" !important;
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="SimSun"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="SimSun"]::before {
content: "宋体" !important;
font-family: "SimSun";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="SimHei"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="SimHei"]::before {
content: "黑体" !important;
font-family: "SimHei";
}
.ql-snow
.ql-picker.ql-font
.ql-picker-label[data-value="Microsoft-YaHei"]::before,
.ql-snow
.ql-picker.ql-font
.ql-picker-item[data-value="Microsoft-YaHei"]::before {
content: "微软雅黑" !important;
font-family: "Microsoft YaHei";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="KaiTi"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="KaiTi"]::before {
content: "楷体" !important;
font-family: "KaiTi";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="FangSong"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="FangSong"]::before {
content: "仿宋" !important;
font-family: "FangSong";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="Arial"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="Arial"]::before {
content: "Arial" !important;
font-family: "Arial";
}
.ql-snow
.ql-picker.ql-font
.ql-picker-label[data-value="Times-New-Roman"]::before,
.ql-snow
.ql-picker.ql-font
.ql-picker-item[data-value="Times-New-Roman"]::before {
content: "Times New Roman" !important;
font-family: "Times New Roman";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="sans-serif"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="sans-serif"]::before {
content: "sans-serif" !important;
font-family: "sans-serif";
}
.ql-font-SimSun {
font-family: "SimSun";
}
.ql-font-SimHei {
font-family: "SimHei";
}
.ql-font-Microsoft-YaHei {
font-family: "Microsoft YaHei";
}
.ql-font-KaiTi {
font-family: "KaiTi";
}
.ql-font-FangSong {
font-family: "FangSong";
}
.ql-font-Arial {
font-family: "Arial";
}
.ql-font-Times-New-Roman {
font-family: "Times New Roman";
}
.ql-font-sans-serif {
font-family: "sans-serif";
}
</style>
\ No newline at end of file
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<script> <script>
import AppDetailsPage from "./components/AppDetailsPage.vue"; import AppDetailsPage from "./components/AppDetailsPage.vue";
import DataUpdata from "./components/DataUpdata.vue"; import DataUpdata from "./components/DataUpdate.vue";
export default { export default {
components: { components: {
AppDetailsPage, AppDetailsPage,
......
<template>
<div>123456789</div>
</template>
<script>
export default {};
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<template>
<div class="data-update">
<!-- 头部 -->
<div class="header flex aic jcb mb20">
<a-button type="primary" @click="handleAdd">新增</a-button>
<a-input-search
style="width: 300px"
placeholder="请输入标题关键字搜索"
enter-button="搜索"
v-model="searchVal"
allowClear
@search="onSearch"
/>
</div>
<!-- 表格 -->
<div class="table-content">
<a-table
:loading="loading"
bordered
:scroll="{ y: 550 }"
:columns="columns"
:pagination="{
showTotal: (total) => `共 ${total} 条`,
current: current,
total: total,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handleChange,
onShowSizeChange: showSizeChange,
}"
:data-source="tableData"
:rowKey="(record) => record.id"
>
<!-- 序号 -->
<span slot="num" slot-scope="text, record, index">{{
(current - 1) * size + index + 1
}}</span>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a-space size="middle">
<a class="primary" @click="handleEdit(text)">编辑</a>
<a class="delete" @click="handleDel(text.id)">删除</a>
</a-space>
</template>
</a-table>
</div>
<!-- 新增数据 -->
<AddData
ref="AddData"
:AddVisible.sync="AddVisible"
:title="title"
></AddData>
</div>
</template>
<script>
import AddData from "../modal/AddData.vue";
const columns = [
{
title: "序号",
dataIndex: "num",
width: "65px",
scopedSlots: {
customRender: "num",
},
},
{
title: "标题",
dataIndex: "title",
ellipsis: true,
},
{
title: "制定机关",
dataIndex: "dpt",
ellipsis: true,
},
{
title: "法律性质",
dataIndex: "xingzhi",
width: "10%",
},
{
title: "公布日期",
dataIndex: "time",
width: "10%",
},
{
title: "更新时间",
dataIndex: "time2",
width: "10%",
},
{
title: "操作",
width: "10%",
scopedSlots: { customRender: "action" },
},
];
export default {
components: {
AddData,
},
data() {
return {
columns,
loading: false,
current: 1,
size: 10,
total: 100,
pageSizeOptions: ["10", "30", "50", "100"],
searchVal: "",
tableData: [
{
id: 1,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 2,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 3,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 4,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 5,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 6,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 7,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 8,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 9,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 10,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
{
id: 11,
title: "中华人民共和国反电信网络诈骗法",
dpt: "全国人民代表大会常务委员会",
xingzhi: "法律",
time: "2022-10-30",
time2: "2022-10-30",
},
],
AddVisible: false,
title: "",
};
},
methods: {
// 新增
handleAdd() {
this.title = "新增";
this.$refs.AddData.onAdd();
this.AddVisible = true;
},
// 搜索
onSearch() {
console.log(2);
},
// 翻页
handleChange(cur) {
this.current = cur;
},
// 改变每页显示数量
showSizeChange(current, size) {
this.current = current;
this.size = size;
},
// 编辑
handleEdit(row) {
this.title = "编辑";
this.$refs.AddData.onEdit(row);
this.AddVisible = true;
},
// 删除
handleDel(id) {
let _this = this;
_this.$confirm({
title: "系统提示",
content: "删除不可恢复,确定要删除吗?",
okText: "确定",
okType: "danger",
cancelText: "取消",
centered: true,
icon: "exclamation-circle",
maskClosable: true,
async onOk() {
console.log(id);
},
onCancel() {
console.log("Cancel");
},
});
},
},
};
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
...@@ -196,6 +196,15 @@ export default { ...@@ -196,6 +196,15 @@ export default {
}); });
this.fileList = fileList; this.fileList = fileList;
}, },
// 新增
onAdd() {
Object.assign(this.formInfo, this.$options.data().formInfo);
this.formInfo.id && this.$delete(this.formInfo, "id");
},
// 编辑
onEdit(data) {
this.form = { ...data };
},
}, },
}; };
</script> </script>
......
<template>
<div class="add-app">
<a-drawer
width="60%"
:maskClosable="false"
:title="title"
:visible="Visible"
@close="onClose"
>
<div class="main">
<a-form-model
:model="form"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-form-model-item label="标题" prop="">
<a-input v-model="form.name" placeholder="请输入标题" />
</a-form-model-item>
<a-form-model-item label="制定机关" prop="">
<a-input v-model="form.name" placeholder="请输入制定机关" />
</a-form-model-item>
<a-form-model-item label="法律性质" prop="">
<a-select v-model="form.region" placeholder="请选择法律性质">
<a-select-option value="shanghai"> Zone one </a-select-option>
<a-select-option value="beijing"> Zone two </a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="公布日期" prop="">
<a-date-picker valueFormat="x" />
</a-form-model-item>
<a-form-model-item class="content" label="内容" prop="">
<div class="content-box">
<YQuillEditor height="auto" v-model="form.content"></YQuillEditor>
</div>
</a-form-model-item>
</a-form-model>
</div>
<!-- 底部按钮 -->
<div
:style="{
width: '100%',
height: '54px',
borderTop: '1px solid #e8e8e8',
padding: '10px 16px',
textAlign: 'left',
background: '#fff',
borderRadius: '0 0 4px 4px',
}"
>
<a-space size="middle">
<a-button @click="onClose"> 取消 </a-button>
<a-button type="primary" @click="onSubmit"> 保存 </a-button>
</a-space>
</div>
</a-drawer>
</div>
</template>
<script>
import YQuillEditor from "@/components/YQuillEditor.vue";
export default {
components: {
YQuillEditor,
},
props: {
title: {
type: String,
required: true,
default: "",
},
AddVisible: {
type: Boolean,
required: true,
default: false,
},
},
data() {
return {
labelCol: {
span: 2,
},
wrapperCol: {
span: 22,
},
loading: false,
imageUrl: "",
form: {
content: "",
},
fileList: [],
};
},
computed: {
Visible: {
get() {
return this.AddVisible;
},
set(val) {
this.$emit("update:AddVisible", val);
},
},
},
methods: {
// 关闭
onClose() {
this.Visible = false;
},
// 提交
onSubmit() {
console.log(1);
},
// 新增
onAdd() {
Object.assign(this.formInfo, this.$options.data().formInfo);
this.formInfo.id && this.$delete(this.formInfo, "id");
},
// 编辑
onEdit(data) {
this.form = { ...data };
},
},
};
</script>
<style lang="less" scoped>
/deep/.ant-form-item {
display: flex;
align-items: center;
}
/deep/.ant-drawer-body {
height: calc(100vh - 55px);
padding: 0px !important;
display: flex;
flex-direction: column;
}
.main {
height: 1px;
padding: 24px;
flex: 1;
overflow-y: auto;
&::-webkit-scrollbar {
width: 12px;
overflow-y: auto;
}
&::-webkit-scrollbar-thumb {
border-radius: 6px;
background-color: rgba(144, 147, 153, 0.5);
}
&::-webkit-scrollbar-track {
border-radius: 6px;
background: #fff;
}
}
.content {
align-items: flex-start !important;
.content-box {
min-height: 500px;
display: flex;
}
}
</style>
\ No newline at end of file
...@@ -68,6 +68,13 @@ module.exports = { ...@@ -68,6 +68,13 @@ module.exports = {
resolveCss, resolveCss,
}) })
); );
config.plugins.push(
// 控制富文本图片大小
new webpack.ProvidePlugin({
"window.Quill": "quill/dist/quill.js",
Quill: "quill/dist/quill.js",
})
);
// Ignore all locale files of moment.js // Ignore all locale files of moment.js
// config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)) // config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/))
// 生产环境下将资源压缩成gzip格式 // 生产环境下将资源压缩成gzip格式
......
...@@ -8999,7 +8999,16 @@ quill-delta@^3.6.2: ...@@ -8999,7 +8999,16 @@ quill-delta@^3.6.2:
extend "^3.0.2" extend "^3.0.2"
fast-diff "1.1.2" fast-diff "1.1.2"
quill@^1.3.4: 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" version "1.3.7"
resolved "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz" resolved "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz"
integrity sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g== integrity sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==
...@@ -9048,9 +9057,9 @@ raw-body@2.4.0: ...@@ -9048,9 +9057,9 @@ raw-body@2.4.0:
iconv-lite "0.4.24" iconv-lite "0.4.24"
unpipe "1.0.0" unpipe "1.0.0"
raw-loader@~0.5.1: raw-loader@^0.5.1, raw-loader@~0.5.1:
version "0.5.1" version "0.5.1"
resolved "https://registry.npmmirror.com/raw-loader/-/raw-loader-0.5.1.tgz" resolved "https://registry.npmmirror.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
integrity sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q== integrity sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==
rc@^1.2.8: rc@^1.2.8:
......
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