小说网站第二章-关于文章的上传的实现

news2024/12/23 9:13:04

简述

  因为最近比较忙,所以只有时间把以前的东西整理一下。前端方面,我使用了既存md5框架语法来保存数据,原谅我展示没找到好的方法。后端的话,我使用node+mongodb来保存数据。下面我就来简单介绍一下我的东西。

前端的实现

 前端的md5实现框架其实有很多,这里,我使用了mavon-editor框架。可以直接导入使用,如果是简单的小说网站,用这个东西其实也够了。稍微懂点md5语法,其实也可以写得很好看。

npm install mavon-editor
<template>
    <div class="dashboard-container">
      <el-form  >
        <el-form-item label="标题" label-width="80px">
        <input type="text" v-model="queryinfo.title">
      </el-form-item>
      <el-form-item label="系列" label-width="80px">
        <input type="text" v-model="queryinfo.series">
      </el-form-item>
      <el-form-item label="类型" label-width="80px">
      <input type="text" v-model="queryinfo.type">
      </el-form-item>
      </el-form>
    
      <br>
      <mavon-editor
        v-model="queryinfo.content"
        :toolbars="toolbars"
        @save="save"
      />
    </div>
  </template>
<script>
import qs from 'qs'
export default {
  name: 'MyArticle',
  data() {
    return {
      queryinfo:{
        title:'',
        series:'',
        type:'',
        content: '',
      },
      // 输入的数据
      toolbars: {
        bold: true, // 粗体
        italic: true, // 斜体
        header: true, // 标题
        underline: true, // 下划线
        strikethrough: true, // 中划线
        mark: true, // 标记
        superscript: true, // 上角标
        subscript: true, // 下角标
        quote: true, // 引用
        ol: true, // 有序列表
        ul: true, // 无序列表
        link: true, // 链接
        imagelink: true, // 图片链接
        code: true, // code
        table: true, // 表格
        fullscreen: true, // 全屏编辑
        readmodel: true, // 沉浸式阅读
        htmlcode: true, // 展示html源码
        help: true, // 帮助
        undo: true, // 上一步
        redo: true, // 下一步
        trash: true, // 清空
        save: true, // 保存(触发events中的save事件)
        navigation: true, // 导航目录
        alignleft: true, // 左对齐
        aligncenter: true, // 居中
        alignright: true, // 右对齐
        subfield: true, // 单双栏模式
        preview: true // 预览
      },
    }
  },
  mounted() {},
  methods: {
   async  save(){
    console.log()
   // const {data:res} = await this.$http.post("getUserInfo/pagination", qs.stringify(this.queryInfo))
    this.queryinfo.content=this.queryinfo.content.replace(/\n/g, "<br/>");
    const {data:res} = await this.$http.post("data", qs.stringify(this.queryinfo))
    alert(res)
    }
  }
}
</script>
<style>
 .el-form-item {
  display: inline-block !important;
  margin-right: 10px;
}

</style>
  

 后端的实现

 后端我采用了node+mongodb的方式,使用mongodb和mysql相比相对繁琐一点,需要预先定义数据模型。

npm install mongoose

数据模型

保存数据

async function getData(mydata){
//     const mongoose = require("./mogodb")
//     const OrderSchema = mongoose.Schema({
//     type:String,
//     series:String,
//     data:String,
//     title:String
//   })
// const Order = mongoose.model(mydata.title, OrderSchema, 'order');
//   // 实例化数据模型,创建数据的时候需要save

const User = require("./Schema")
const order1 = new User({
  type:mydata.type,
  series:mydata.series,
  data:mydata.content,
  title:mydata.title

})
order1.save()
 
}
module.exports=getData

模块的引用 

app.post('/data', async function(req,res){
  
  const type = req.body.type
  const series=req.body.series
  const content =  req.body.content
 
  const title = req.body.title
  const obj={type:type,series:series,content:content,title:title}
  console.log(obj)
  var data = require("./getData")
  await data(obj)
  res.send("返回数据")
})

总结

  后续会对页面继续升级优化,今天先到这里吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/877366.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

半导体芯片介质膜层膜层膜厚测量仪

镀膜是半导体芯片制备过程中的重要步骤。在一个完整的CMOS工艺流程中&#xff0c;介质膜层(保护层、外延层、光刻胶和栅极氧化物等)与金属沉积层交替出现。随着芯片工艺节点不断进步&#xff0c;介质膜层也变得越来越复杂&#xff0c;在7nm工艺中&#xff0c;所需测量的介质膜堆…

如何保护员工安全、公司财产?劝你一定要试试这个技能!

在现代办公环境中&#xff0c;办公室视频监控正逐渐成为维护安全、管理风险和提升工作效率的重要工具。 办公室视频监控成为许多组织的一部分&#xff0c;它不仅有助于保护员工和财产&#xff0c;还能提供实时的信息和记录&#xff0c;以应对安全挑战和法规合规性要求。 客户案…

手机的发展历史

目录 一.人类的通信方式变化 二.手机对人类通信的影响 三.手机的发展过程 四.手机对现代人的影响 一.人类的通信方式变化 人类通信方式的变化是一个非常广泛和复杂的话题&#xff0c;随着技术的进步和社会的发展&#xff0c;人类通信方式发生了许多重大的变化。下面是一些主…

dubbo之原理

RPC原理 RPC就是远程过程调用&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的思想。 原理 一个完整的RPC主要包括三部分: 1.服务注册中心(Registry):负责将本地服务发布成远程服务&#xff0c;并进行管理&#xff0c;提供给消…

基于Echarts的数据可视化大屏

本项目学习于b站up主&#xff08;视频链接&#xff09; up主分享的资料&#xff0c;gitee仓库&#xff1a; 其中有笔记&#xff0c;笔记链接 项目总结 项目主要分为前端页面的布局和Echarts图表的嵌入&#xff0c;页面主要就是css较为繁琐&#xff0c;图表毕竟官网有模板&…

elementUI时间选择器el-time-picker的坑

//开始时间<el-time-pickerplaceholder"选择时间":format"HH:mm:ss" //显示的时间样式value-format"HH:mm:ss" //绑定值的样式 //不给默认为 Date 对象值&#xff1a;"2023-07-31T16:00:00.000Z"v-model"FormData.startTime&…

【JAVA】我们常常谈到的方法是指什么?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 文章目录 前言方法方法的分类方法的定义方法调用方法重载 前言 在之前的文章中我们总是会介绍到类中的各式各样的方法&#xff0c;也许在应用中我们对它已经有了初步的了解&#xff0c;今…

(三) 搞定SOME/IP通信之CommonAPI库

本章主要介绍在SOME/IP通信过程中的另外一个IPC通信利剑,CommonAPI库,文章将从如下几个角度让读者了解什么是CommonAPI, 以及库在实际工作中的作用 SOME/IP通信之CommonAPI CommonAPI库是什么CommonAPI库的编译写个Demo实战一下CommonAPI库是什么 CommonAPI是GENIVI组织开发…

linux系统服务学习(二)linux下yum源配置实战

文章目录 Linux下yum源配置实战一、Linux下软件包的管理1、软件安装方式2、源码安装的配置过程3、详解源码安装的配置过程&#xff08;定制&#xff09;4、详解编译过程5、安装过程6、axel多线程下载软件源码安装7、使用软链接解决command not found8、使用环境变量解决command…

JavaScript进阶 第一天

作用域函数进阶解构赋值 一.作用域 局部作用域全局作用域作用域链JS垃圾回收机制闭包变量提升 1.1 作用域 ① 概念&#xff1a;规定了变量能够被访问的“范围”&#xff0c;离开了这个"范围"&#xff0c;变量不能被访问 ② 分类 局部作用域 &#xff08;1&…

END-TO-END、SCALE HYPERPRIOR、Checkerboard梳理总结

8.9-8.15学习汇报 阅读《END-TO-END OPTIMIZED IMAGE COMPRESSION》、《VARIATIONAL IMAGE COMPRESSION WITH A SCALE HYPERPRIOR》、《Checkerboard Context Model for Efficient Learned Image Compression》 传统的图像或视频压缩方法通常分为多个步骤&#xff0c;包括变换…

android设置竖屏仍然跟随屏幕旋转怎么办

如题所问&#xff0c;我最近遇到一个bug&#xff0c;就是设置了摇感&#xff0c;然后有用户反馈说设置了手机下拉的系统设置-屏幕旋转-关闭。然后屏幕还是会旋转的问题。 首先&#xff0c;我们先从如何设置横竖屏了解下好了 设置横屏和竖屏的方法&#xff1a; 方法一&#x…

IPv6项目开发测试记录

一、环境 1、网口 IPv6地址 fd00:0:0:1::15 子网前缀长度 64 网关地址&#xff08;非必须&#xff09; fd00:0:0:1::1 二、云环境、面板机连云测试 1、面板机设置IPv4地址后可以访问fd00::100这个地址 2、初始化时候服务器地址输入匹配正则式&#xff1a;IPv6地址匹配正则…

基因型比值比(genotypic odds ratio)和等位基因比值比(allelic odds ratio)的计算

基因型比值比&#xff08;genotypic odds ratio&#xff09;和等位基因比值比&#xff08;allelic odds ratio&#xff09;是两个不同的概念。一般而言&#xff0c;通过PLINK、GCTA等工具计算得到的比值比指的是等位基因比值比。 以下是基因型比值比和等位基因比值比的各自计算…

8月12日上课内容 综合配置详解 四层+七层代理

后续内容概述&#xff1a; Ivs集群: keepalive:vip实现代理高可用 NAT VPN DR (DR最常用) 数据库:增制改查 备份 高可用 主从复制 读写分离 DBA 市场量小&#xff0c;从业者不多&#xff0c;工资一般般。 中间件: redis.* 分布式存储: ELK日志分析。kafka消息队列 监控zabb…

知识分享:如何将一张图片转换成短链接?

今天我们要分享的知识是&#xff1a;如何将一张图片转换成链接&#xff1f; 之前我们有介绍过在二维彩虹将图片转换成二维码的方法&#xff0c;那么其实将图片转成链接也非常简单&#xff01;在做电商运营创建商品详情页面、作家为在线小说设置封面图、产品运营、策划活动等等…

IDC报告深度解读:2023年CRM发展趋势分析

近期&#xff0c;国际数据公司&#xff08;IDC&#xff09;发布了2022年下半年《中国客户关系管理(CRM)SaaS市场跟踪研究报告》&#xff0c;根据报告显示&#xff0c;2022年下半年中国CRM SaaS市场规模达到 11.6 亿美金&#xff0c;同比增长25.4%&#xff0c;CRM占中国整体SaaS…

SpringCloud初识

微服务架构4个核心问题&#xff1a; 这四个问题围绕这我们去学的一些东西&#xff0c;是重点!!! 1.服务很多&#xff0c;客户端该如何访问&#xff1f; 2.这么多服务&#xff0c;服务之间该如何通信&#xff1f; 3.这么多服务&#xff0c;该如何治理&#xff1f; 4.服务挂了…

Python 基础语法 | 常量表达式,变量,注释,输入输出

常量和表达式 我们可以把 Python 当成一个计算器&#xff0c;来进行一些算术运算 print(1 2 - 3) # 0 print(1 2 * 3) # 7 print(1 2 / 3) # 1.6666666666666665注意&#xff1a; print 是一个 Python 内置的 函数可以使用 - * / () 等运算符进行算术运算&#xff0c;先…

postman接口测试工具的常规使用

postman接口测试工具简介与安装 Postman简介&#xff1a; Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。 它提供功能强大的Web API&HTTP请求调试。它能够发送任何类型的HTTP请求&#xff08;GET&#xff0c;HEAD&#xff0c;POST&#xff0c;PUT..&a…