考研资料共享系统的设计说明

考研资料共享系统的设计说明

    • 设计意义及目的
    • 模块划分
    • 技术难点
    • 写项目中遇到的问题
    • 该项目的后端模块介绍
    • 该项目的前端模块介绍
    • 运行演示
    • Gitee链接

设计意义及目的

为了方便找资料,了解考研形式;另一方面是锻炼编写系统的能力

模块划分

主要划分为:文章、问答、资料、私信、举报、登陆注册、个人中心、开通会员、搜索等模块(用户端功能)

管理员端有相应模块的审核模块,及拦截模块与类型管理模块

技术难点

主要涉及到了以下技术点:
1、接口安全及限流
2、QQ邮箱发送信息
3、支付宝沙箱支付
4、敏感词过滤
5、私信模块(由于是采用数据库写的,实际难度并不大,更多的点是在界面编写上)

以下着重介绍一下,支付宝沙箱支付中的细节点问题,分为以下几个步骤
1、基本的环境搭建(项目的搭建、依赖的安装、支付宝沙箱支付appId的申请)(参考这篇文章)
2、要介绍的是 alipay.notifyUrl、alipay.returnUrl 的使用
(由于需要验证身份,发现在 alipay.returnUrl 进行重定向时会导致浏览器 sessionStorage 内容的丢失,于是只能采用localStorage进行身份信息的储存;另外需要注意的是 127.0.0.1和localhost 并不共享localStorage,这个细节是需要注意的)
3、另外再介绍一下,这个QQ邮箱的使用细节 ,主要的一点就是防火墙会被拦住,然后需要打开(参考的是这篇文章)

最后是单元测试的问题,许多地方实际书写的并不好,而且单元测试也没来得及去开展;主要还是拦截器限制以及request的填充和加密等问题;然后在实际使用时需要打开Test的插件,才会有左边那个运行按钮的出现

写项目中遇到的问题

写项目中遇到的问题
这里记录的是在书写项目中发现的问题以及一些解决方式

该项目的后端模块介绍

在这里插入图片描述

该项目的前端模块介绍

分了两套系统:用户端和管理员端

用户端:
在这里插入图片描述

管理员端
在这里插入图片描述

运行演示

管理员端
在这里插入图片描述

用户端
在这里插入图片描述

Gitee链接

https://gitee.com/anxwefndu/data-sharing-system—gitee

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Druid LogFilter输出可执行的SQL

配置 测试代码: DruidDataSource dataSource new DruidDataSource(); dataSource.setUrl("xxx"); dataSource.setUsername("xxx"); dataSource.setPassword("xxx"); dataSource.setFilters("slf4j"); dataSource.setVal…

Java“牵手”淘宝商品列表数据,关键词搜索淘宝商品数据接口,淘宝API申请指南

淘宝商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取淘宝商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问淘宝商城的网页来获取商品详情信息。以下是两种常用方法的介绍&…

大模型技术实践(三)|用LangChain和Llama 2打造心灵疗愈机器人

上期文章我们实现了Llama 2-chat-7B模型的云端部署和推理,本期文章我们将用“LangChainLlama 2”的架构打造一个定制化的心灵疗愈机器人。有相关知识背景的读者可以直接阅读「实战」部分。 01 背景 1.1 微调 vs. 知识库 由于大模型在垂直行业领域的问答效果仍有待提…

Revit SDK:Selections 选择

前言 Revit 作为一款成熟的商业软件,它将自己的UI选择功能也通过 API 暴露出来。通过 API 可以按照特定的过滤规则来选择相应的元素,能力和UI基本上是等价的。这个 SDK 用四个例子展示了 API 的能力,内容如下。 内容 PickforDeletion 核心…

A133P EC200M模块调试

Linux USB驱动框架: USB 是一种分层总线结构。USB 设备与主机之间的数据传输由 USB 控制器控制。Linux USB 驱动程序架构如下图所示。Linux USB 主机驱动包括三部分:USB 主机控制器驱动、USB 核心和 USB 设备驱动。 模块加载 USB 转串口 option 驱动程序…

记录docker 部署nessus

1、开启容器 docker run -itd --nameramisec_nessus -p 8834:8834 ramisec/nessus 2、登录 :注意是https https://ip8843 3、修改admin密码 #进入容器 docker exec -it ramisec_nessus /bin/bash#列出用户名 /opt/nessus/sbin/nessuscli lsuser#修改密码&a…

JAVA设计模式第十讲:SPI - 业务差异解决方案

JAVA设计模式第十讲:SPI - 业务差异解决方案 我们需要在不修改源代码的情况下,动态为程序提供一系列额外的特性。首先想到的是Spring的AOP技术来构建应用插件,但是在Java自带的插件中,就有完整的实现。SPI(Service Pro…

echarts饼图label自定义样式

生成的options {"tooltip": {"trigger": "item","axisPointer": {"type": "shadow"},"backgroundColor": "rgba(9, 24, 48, 0.5)","borderColor": "rgba(255,255,255,0.4)&q…

DQN算法概述及基于Pytorch的DQN迷宫实战代码

一. DQN算法概述 1.1 算法定义 Q-Learing是在一个表格中存储动作对应的奖励值,即状态-价值函数Q(s,a),这种算法存在很大的局限性。在现实中很多情况下,强化学习任务所面临的状态空间是连续的,存在无穷多个状态,这种情…

CSS笔记(黑马程序员pink老师前端)浮动,清除浮动

浮动可以改变标签的默认排列方式。浮动元素常与标准流的父元素搭配使用. 网页布局第一准则:多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动。 float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框…

Xilinx IDDR与ODDR原语的使用

文章目录 ODDR原语1. OPPOSITE_EDGE 模式2. SAME_EDGE 模式 ODDR原语 例化模板: ODDR #(.DDR_CLK_EDGE("OPPOSITE_EDGE"), // "OPPOSITE_EDGE" or "SAME_EDGE" .INIT(1b0), // Initial value of Q: 1b0 or 1b1.SRTYPE("SYNC…

使用Python操作MySQL数据库

准备 安装Python,打开命令提示符,我已经安装成功了 安装Mysql我也安装成功了 我在用户的86188下利用记事本写了一个.py的python代码,在命令提示符中运行 Python自带的集成式开发环境,在电脑搜索框直接IDEA你也会打开 一,建立连接 使用Python…