在线抽奖系统——项目介绍
目录
项目介绍
页面预览
需求分析
管理员登录注册
人员模块
奖品模块
活动模块
抽奖模块
系统设计
系统架构
项目环境
数据库设计
安全设计
完整代码:项目完整代码/在线抽奖系统/lottery-system · Echo/project - 码云 - 开源中国
项目介绍
利用 MySQL、Redis、RabbitMQ 等常用组件,构建一个功能全面、操作容易、安全可靠的抽奖平台:
人员、奖品和活动管理:允许管理员管理人员信息、奖品信息 和 活动信息
安全性保证:实施安全措施,包括数据加密、用户身份验证,保护用户数据和系统安全
抽奖公平性保证: 在进行抽奖时,使用获奖者不重复中奖机制,确保抽奖的公平性
数据一致性保证:通过事务管理和数据同步机制,确保数据的一致性和完整性
提高扩展性:采用模块化设计并使用合适的设计模式,提高系统的灵活性和可扩展性
降低维护成本:提供全面的日志记录和异常处理机制,简化问题诊断和系统维护
页面预览
管理员注册:

密码登录:

验证码登录:

活动中心:

人员管理:
人员列表:

普通用户注册:

奖品管理:
奖品列表:

奖品创建:

活动管理:
活动列表:

活动创建:

圈选人员:

圈选奖品:

抽奖:

点击开始抽奖(闪动人名):

点击确定:

抽奖完成:

点击分享结果:

中奖通知:

需求分析
整个项目主要分为以下模块:
1. 管理员登录注册
2. 人员模块
3. 奖品模块
4. 活动模块
5. 抽奖模块
管理员登录注册
包含管理员的注册和登录
注册内容:姓名、邮箱、手机号、密码
登录:
1. 密码登录:手机号/邮箱 + 密码
2. 验证码登录:手机号 + 验证码
人员模块
包含人员列表和普通用户注册
人员列表:人员 id、姓名、身份信息(普通用户/管理员)
普通用户注册:姓名、邮箱、手机号
奖品模块
奖品列表:奖品id、奖品图、奖品名称、奖品描述、奖品价格,列表支持翻页
奖品创建:奖品名称、奖品描述、奖品价格、奖品图片(上传图片文件)
活动模块
活动列表:活动名称、活动描述、活动状态(若活动状态为进行中,显示"活动进行中,去抽奖",点击可跳转到抽奖页面进行抽奖;若活动状态为已完成,显示"活动已完成,查看中奖名单",点击可跳转到抽奖结果页查看中奖结果),活动列表支持翻页
活动创建:活动名称、活动描述、圈选奖品(勾选活动奖品,设置奖品等级 和 奖品数量)、圈选人员(勾选参与抽奖人员),圈选的人员数量需大于等于圈选的奖品总数量
抽奖模块
未完成的活动:只有管理员才能进行抽奖,包含多轮抽奖,每轮包含以下环节:
1. 展示奖品图(奖品图片、奖品数量)
2. 点击 "开始抽奖" 按钮,闪动参与抽奖人员姓名
3. 点击 "点我确定",展示抽奖名单
4. 点击 "已抽完,下一步",若还有奖品未抽取,展示下一个奖品信息;若奖品已抽完,则展示全部中奖名单
5. 点击 "查看上一奖项",展示上一奖品信息
每轮抽奖的中奖人数要与当轮奖品数量匹配,且每个人只能中奖一次
若抽奖过程中出现异常情况,如抽奖过程中刷新页面,需保证抽取成功的奖项不能重新抽取,即,若当前奖品已抽完,刷新页面后,点击 "开始抽奖",直接展示当前奖品中奖名单
抽奖完成后点,新增 "分享结果" 按钮,点击可复制当前页链接
已完成活动:展示活动名称、中奖结果以及 "分享结果" 按钮
抽奖完成后,需以邮件方式通知中奖者中奖结果
此外,管理端涉及的所有活动页面(除管理员登录和注册页面外),都需要管理员登录后才可访问,若未登录就进行访问,则会强制跳转至登录页面
系统设计
系统架构

前端:使用 JavaScript 管理用户界面的动态性,提供流畅的用户体验,使用 AJAX 技术技术从后端 API 获取数据
后端:使用 Spring Boot 构建后端应用,实现业务逻辑
数据库:使用 MySQL 作为主数据库,存储用户数据和抽奖活动相关信息
缓存:使用 Redis 作为缓存,减少数据库访问次数,提高响应速度
消息队列:使用 RabbitMQ 处理异步任务
日志和安全:使用 SLF4J + logback 记录日志,使用 JWT 进行用户身份认证
项目环境
编程语言:HTML+CSS+JavaScript(前端),Java(后端)
开发工具包:JDK 17
后端框架:Spring Boot
数据库:MySQL
缓存:Redis
消息队列:RabbitMQ
日志:logback
安全:JWT + 密码算法加密
数据库设计
用户表:存储用户信息,如用户名、手机号、密码、邮箱等
奖品表:存储奖品信息,如奖品名称、奖品图片等
活动表:存储活动信息,如活动名称、活动描述、活动状态等
活动奖品关联表:存储一个活动下关联了哪些奖品,如活动 id、奖品 id、奖品数量等
活动用户关联表:存储一个活动下关联了哪些人员,如活动 id、人员 id、人员姓名等
中奖记录表:存储活动的中奖名单,如活动 id、奖品 id、中奖人员 id等
异常消息表:存储处理异常的 RabbitMQ 消息,如 消息 id、活动 id、奖品 id 等
创建对应数据库和数据表:
-- 设置客户端与服务器之间的字符集为utf8mb4,这个字符集可以存储任何Unicode字符。
SET NAMES utf8mb4;
-- 关闭外键约束检查,这通常在创建或修改表结构时使用,以避免由于外键约束而导致的创建失败。
SET FOREIGN_KEY_CHECKS = 0;drop database IF EXISTS `lottery_system`;
create DATABASE `lottery_system` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;USE `lottery_system`;-- ----------------------------
-- Table structure for activity
-- ----------------------------
drop table IF EXISTS `activity`;
create TABLE `activity` (`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT comment '主键',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP comment '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON update CURRENT_TIMESTAMP comment '更新时间',`activity_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '活动名称',`description` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '活动描述',`status` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '活动状态',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_id`(`id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC;
-- ENGINE = InnoDB:指定表的存储引擎为InnoDB,这是MySQL的默认存储引擎,支持事务、外键等特性。
-- AUTO_INCREMENT = 24:为自动增长的ID字段设置起始值。
-- ROW_FORMAT = DYNAMIC:设置行的存储格式为动态,允许行随着数据的变化而变化。-- ----------------------------
-- Table structure for activity_prize
-- ----------------------------
drop table IF EXISTS `activity_prize`;
create TABLE `activity_prize` (`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT comment '主键',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP comment '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON update CURRENT_TIMESTAMP comment '更新时间',`activity_id` bigint NOT NULL comment '活动id',`prize_id` bigint NOT NULL comment '活动关联的奖品id',`prize_amount` bigint NOT NULL DEFAULT 1 comment '关联奖品的数量',`prize_tiers` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '奖品等级',`status` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '活动奖品状态',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_id`(`id` ASC) USING BTREE,UNIQUE INDEX `uk_a_p_id`(`activity_id` ASC, `prize_id` ASC) USING BTREE,INDEX `idx_activity_id`(`activity_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Table structure for activity_user
-- ----------------------------
drop table IF EXISTS `activity_user`;
create TABLE `activity_user` (`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT comment '主键',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP comment '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON update CURRENT_TIMESTAMP comment '更新时间',`activity_id` bigint NOT NULL comment '活动时间',`user_id` bigint NOT NULL comment '圈选的用户id',`user_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '用户名',`status` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '用户状态',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_id`(`id` ASC) USING BTREE,UNIQUE INDEX `uk_a_u_id`(`activity_id` ASC, `user_id` ASC) USING BTREE,INDEX `idx_activity_id`(`activity_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Table structure for prize
-- ----------------------------
drop table IF EXISTS `prize`;
create TABLE `prize` (`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT comment '主键',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP comment '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON update CURRENT_TIMESTAMP comment '更新时间',`name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '奖品名称',`description` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL comment '奖品描述',`price` decimal(10, 2) NOT NULL comment '奖品价值',`image_url` varchar(2048) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL comment '奖品展示图',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_id`(`id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Table structure for user
-- ----------------------------
drop table IF EXISTS `user`;
create TABLE `user` (`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT comment '主键',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP comment '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON update CURRENT_TIMESTAMP comment '更新时间',`user_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '用户姓名',`email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '邮箱',`phone_number` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '手机号',`password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL comment '登录密码',`identity` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '用户身份',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_id`(`id` ASC) USING BTREE,UNIQUE INDEX `uk_email`(`email`(30) ASC) USING BTREE,UNIQUE INDEX `uk_phone_number`(`phone_number`(11) ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Table structure for winning_record
-- ----------------------------
drop table IF EXISTS `winning_record`;
create TABLE `winning_record` (`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT comment '主键',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP comment '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON update CURRENT_TIMESTAMP comment '更新时间',`activity_id` bigint NOT NULL comment '活动id',`activity_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '活动名称',`prize_id` bigint NOT NULL comment '奖品id',`prize_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '奖品名称',`prize_tier` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '奖品等级',`winner_id` bigint NOT NULL comment '中奖人id',`winner_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '中奖人姓名',`winner_email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '中奖人邮箱',`winner_phone_number` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '中奖人电话',`winning_time` datetime NOT NULL comment '中奖时间',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_id`(`id` ASC) USING BTREE,UNIQUE INDEX `uk_w_a_p_id`(`winner_id` ASC, `activity_id` ASC, `prize_id` ASC) USING BTREE,INDEX `idx_activity_id`(`activity_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 69 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Table structure for error_message
-- ----------------------------
drop table IF EXISTS `error_message`;
create TABLE `error_message`(`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT comment '主键',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP comment '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON update CURRENT_TIMESTAMP comment '更新时间',`message_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '消息id',`processed` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '异常数据是否已被处理',`activity_id` bigint NOT NULL comment '活动id',`prize_id` bigint NOT NULL comment '奖品id',`winner_id` bigint NOT NULL comment '获奖人员id',`winner_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL comment '获奖者姓名',`winning_time` datetime NOT NULL comment '中奖时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC;-- SET FOREIGN_KEY_CHECKS = 1;:在脚本的最后,重新开启外键约束检查。
SET FOREIGN_KEY_CHECKS = 1;
使用 source 命令导入上述 .sql 文件,查看导入是否成功:

安全设计
用户登录身份验证:使用 JWT 进行用户身份验证,强制用户在某些页面必须进行登录操作
加密:对敏感数据进行加密,如手机号、用户密码等敏感信息数据落库需要进行加密
相关文章:
在线抽奖系统——项目介绍
目录 项目介绍 页面预览 需求分析 管理员登录注册 人员模块 奖品模块 活动模块 抽奖模块 系统设计 系统架构 项目环境 数据库设计 安全设计 完整代码:项目完整代码/在线抽奖系统/lottery-system Echo/project - 码云 - 开源中国 项目介绍 利用 MySQ…...
day7作业
编写一个如下场景: 有一个英雄Hero类,私有成员,攻击(Atx),防御(Defense),速度(Speed),生命值(Blood),以及所有的set get 方…...
JavaScript 系列之:Ajax、Promise、Axios
前言 同步:会阻塞。同步代码按照编写的顺序逐行依次执行,只有当前的任务完成后,才会执行下一个任务。 异步:异步代码不会阻塞后续代码的执行。当遇到异步操作时,JavaScript 会将该操作放入任务队列中,继续…...
AI人工智能机器学习之神经网络
1、概要 本篇学习AI人工智能机器学习之神经网络,以MLPClassifier和MLPRegressor为例,从代码层面讲述最常用的神经网络模型MLP。 2、神经网络 - 简介 在 Scikit-learn 中,神经网络是通过 sklearn.neural_network 模块提供的。最常用的神经网…...
鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar)
鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar) 1、效果展示2、下载 DevEco Studio3、创建项目4、新建页面模板5、更改应用信息6、新建以下页面7、Index.ets8、真机运行9、图片资源文件 1、效果展示 2、下载 DevEco Studio 访问官网根据自己的版本…...
FreeRTOS动态任务和静态任务创建
一.动态任务创建 1.搭建任务框架 去task.c中将任务参数复制到main中 然后将const去掉,它会限制参数类型,任务大小、任务优先级、任务句柄需要去宏定义,任务句柄是指针类型要取地址 vTaskStartScheduler(); //开启任务调度,.c…...
QT:Graphics View的坐标系介绍
在 Qt 的 Graphics View 框架中,存在三种不同的坐标系,分别是 物品坐标系(Item Coordinates)、场景坐标系(Scene Coordinates) 和 视图坐标系(View Coordinates)。这三种坐标系在图形…...
C# httpclient 和 Flurl.Http 的测试
关于C#调用接口或Post,Flurl封装了httpclient, CSDN有哥们提供了一个公网的测试网站,可以测试Post调用,我写了2个函数,测试httpclient和Flurl使用Post: async 和 await 是成对使用的,为了接受web异步返回的数据,winfor…...
精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化
本案例为“观测先锋 2024 可观测平台创新应用案例大赛”精选案例,同时荣获IT168“2024技术卓越奖评选-年度创新解决方案”奖。 项目背景 近年来,中国汽车行业进入转型升级阶段,智能网联技术成为行业发展的核心。车联网、自动驾驶等技术的加速…...
阿里云可观测全面拥抱 OpenTelemetry 社区
作者:古琦 在云计算、微服务、容器化等技术重塑 IT 架构的今天,系统复杂度呈指数级增长。在此背景下,开源可观测性技术已从辅助工具演变为现代 IT 系统的"数字神经系统",为企业提供故障预警、性能优化和成本治理的全方…...
剑指 Offer II 032. 有效的变位词
comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20032.%20%E6%9C%89%E6%95%88%E7%9A%84%E5%8F%98%E4%BD%8D%E8%AF%8D/README.md 剑指 Offer II 032. 有效的变位词 题目描述 给定两个字符串 s 和 t ,…...
AcWing 蓝桥杯集训·每日一题2025·密接牛追踪2
密接牛追踪2 农夫约翰有 N 头奶牛排成一排,从左到右依次编号为 1∼N。 不幸的是,有一种传染病正在蔓延。 最开始时,只有一部分奶牛受到感染。 每经过一个晚上,受感染的牛就会将病毒传染给它左右两侧的牛(如果有的话…...
银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法
银河麒麟高级服务器操作系统在线调整/pro/{PID}/limits文件中nofile的软限制和硬限制参数值操作方法 一 系统环境二 使用场景三 操作步骤 一 系统环境 [rootlocalhost ~]# nkvers ############## Kylin Linux Version ################# Release: Kylin Linux Advanced Server…...
山大软院ai导论实验之采用BP神经网络分类MNIST数据集
目录 实验代码 实验内容 实验代码 import matplotlib.pyplot as plt from matplotlib import font_manager import torch from torch.utils.data import DataLoader import torchvision from torchvision import transforms# 数据预处理 transform transforms.Compose([tra…...
threeJs+vue 轻松切换几何体贴图
嗨,我是小路。今天主要和大家分享的主题是“threeJsvue 轻松切换几何体贴图”。 想象一下,手头上正好有个在线3D家具商店,用户不仅可以看到产品的静态图片,还能实时更换沙发的颜色或材质,获得真实的购物体验。…...
【python】01_写在前面的话
又是爆肝干文的日子,继上次说要出一期Python新手入门教程系列文章后,就在不停地整理和码字,终于是把【基础入门】这一块给写出来了。 不积跬步无以至千里,不积小流无以成江海,一个一个板块的知识积累,早晚你…...
跨平台公式兼容性大模型提示词模板(飞书 + CSDN + Microsoft Word)
飞书云文档 CSDN MD编辑器 Microsoft Word 跨平台公式兼容方案: 一、背景痛点与解决方案 在技术文档创作中,数学公式的跨平台渲染一直存在三大痛点: 飞书云文档:原生KaTeX渲染与导出功能存在语法限制微软Word:Math…...
【Python爬虫(85)】联邦学习:爬虫数据协作的隐私保护新范式
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
深入理解 并查集LRUCaChe
并查集&LRUCaChe 个人主页:顾漂亮 文章专栏:Java数据结构 1.并查集的原理 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后根据一定规律将归于同一组元素的…...
最新版本SpringAI接入DeepSeek大模型,并集成Mybatis
当时集成这个环境依赖冲突,搞了好久,分享一下依赖配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…...
Effective Python:(17)
Effective Python提供90条python编程技巧和秘籍,对于我们养成良好的编程习惯,减少程序出错非常重要。 这条就是一条很好的建议,即尽量使用抛出异常来处理意外情况,尽量不要用none作为返回值进行判断。问题也比较显然,如…...
3-2 WPS JS宏 工作簿的打开与保存(模板批量另存为工作)学习笔记
************************************************************************************************************** 点击进入 -我要自学网-国内领先的专业视频教程学习网站 *******************************************************************************************…...
React + TypeScript 复杂布局开发实战
React TypeScript 复杂布局开发实战 一、项目架构设计(基于最新技术栈) 1.1 技术选型与工程创建 # 使用Vite 5.x React 19 TypeScript 5.4 npx create-vitelatest power-designer-ui --template react-ts cd power-designer-ui && npm inst…...
滑动验证组件-微信小程序
微信小程序-滑动验证组件,直接引用就可以了,效果如下: 组件参数: 1.enable-close:是否允许关闭,默认true 2.bind:onsuccess:验证后回调方法 引用方式: <verification wx:if&qu…...
Linux 命令大全完整版(12)
Linux 命令大全 5. 文件管理命令 ln(link) 功能说明:连接文件或目录。语 法:ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录] 或 ln [-bdfinsv][-S <字尾备份字符串>][-V…...
在VSCode中安装jupyter跑.ipynb格式文件
个人用vs用的较多,不习惯在浏览器单独打开jupyter,看着不舒服,直接上教程。 1、在你的环境中pip install ipykernel 2、在vscode的插件中安装jupyter扩展 3、安装扩展后,打开一个ipynb文件,并且在页面右上角配置内核 …...
IDEA配置JSP环境
首先下载IDEA2021.3,因为最新版本不能简单配置web开发环境。然后新建一个java开发项目: 然后右键创建的项目,添加web框架: 选择web appliciation 在web inf文件夹下创建classes和lib文件夹: 点击file ,选择…...
Idea 中 Project Structure简介
在 IntelliJ IDEA 中,Project Structure(项目结构)对话框是一个非常重要的配置界面,它允许你对项目的各个方面进行详细的设置和管理。下面将详细介绍 Project Structure 中各个主要部分的功能和用途。 1. Project(项…...
旁挂负载分担组网场景
旁挂负载分担组网场景(到路由策略) 1.拓扑 2.需求 使用传统三层架构中MSTPVRRP组网形式VLAN 2—>W3,SW4作为备份 VLAN 3—>SW4,SW3作为备份 MSTP设计—>SW3、4、5运行 实例1:VLAN 2 实例2:VLAN 3 3.配置 交换层 SW3配置 抢占延时ÿ…...
网络安全防御模型
目录 6.1 网络防御概述 一、网络防御的意义 二、被动防御技术和主动防御技术 三、网络安全 纵深防御体系 四、主要防御技术 6.2 防火墙基础 一、防火墙的基本概念 二、防火墙的位置 1.防火墙的物理位置 2.防火墙的逻辑位置 3. 防火墙的不足 三、防火墙技术类型 四…...
