自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 node.js使用multer在vue中实现图片上传

点击上传选择要上传的图片。上传成功会加载图片的缩略图。此时,图片以保存在后端的静态目录中。

2024-02-23 18:55:51 529

原创 JWT登录验证前后端设计与实现笔记

JWT是JSON Web Token的缩写,jsonwebtoken这个模块有两个常用的方法,sign()和verify()作用分别是生成token和验证token,sign()方法需要3个基本的参数,1.加密内容,2.密钥,3.过期时间。访问/login时后端会做:拿到前端请求带过来的账户和密码,连接数据库,查询登录信息是否正确,不正确则回应登录错误给前端,信息正确:生成token,把token添加到header的Authorization里,返回成功信息。补充一个数据库连接配置。

2024-02-17 20:51:41 866

原创 【vue】图片加载骨架

在网速较低或者网站的服务器宽带只有几MB的情况下,网页中的图片加载时,要么空白,要么像打印机一样一行一行地“扫描”出来,为了提升用户体验,可以给图片标签外加一层骨架。

2024-01-29 00:32:52 396

原创 【vue3】GSAP在vue中的使用

第一行是创建一个timeline,这是gsap中一个强大的排序工具,易于把一套动画作为一个整体进行控制并且能精确管理时间。是挨个运行的,就是说第一个动画运行完第二个才开始运行,当然你可以设置某个动画提前运行,defaults是默认属性,ease是。这里用的是选项式,在methods属性中创建一个方法用来写gsap的动画。最终位置,就是说你要填的是元素最终的样式。下面几行就是写gasp的动画,to()方法的意思是,导入GSAP,如果需要导入gsap的插件可以。,duration是每个动画的过渡时间。

2024-01-22 23:36:23 2712 1

原创 ECharts笔记-------柱状图与折线图

这幅图表由title、legend、series、xAxis、yAxis和tooltip这六个组件组成,每个组件都有对应的属性来调节参数,title和legend的代码跟一样,这里就不多讲了。

2023-07-14 16:47:44 519

原创 ECharts笔记-------饼状图

这幅饼状图由title、legend、series和tooltip这四个组件组成,每个组件都有对应的属性来调节参数,下面是组件的具体内容。

2023-07-14 01:23:57 1084

原创 VUE实现box-shadow生成器

我们知道input的color只有rgb而没有rgba,所以我们需要写一个函数来生成rgba。为input标签绑定v-modle,来实现双向绑定。为box绑定内联样式。

2023-06-23 20:27:08 611

原创 Webpack 笔记Ⅰ

Webpack 本身只能处理 is、ison 等资源,其他资源需要借助 loader,Webpack 才能解析。eslint是用于检查javascript语法的,帮助我们检查语法错误和纠正语法错误。以开发模式打包 main.js(production--生产模式)指示Webpack打包完的文件输出到哪里去,如何命名等。以CSS为例:在入口文件中导入css样式文件。指示Webpack在哪里开始打包。扩展 Webpack 的功能。生产模式:production。创建webpack配置文件。

2023-04-09 22:30:47 312 1

原创 【Vue3】Mixin

新建一个js文件mixin.js。Vue中引入Mixin。

2023-04-01 19:59:38 881

原创 【Vue3】动态组件

动态组件<component>可以实现组件之间的动态切换。

2023-04-01 17:19:14 2519

原创 Vue3+WebSocket 实时聊天框架

封装WebSocket基本框架。必备监听器值open、close、error、message。在页面调用封装好的WebSocket。send()为发送函数。创建js文件, ↓↓↓↓↓参考代码↓↓↓↓↓。连接websocket时触发。关闭websocke时触发。

2023-03-20 20:59:37 1227

原创 git常用指令

创建仓库git init克隆仓库查看分支git branch。

2023-02-18 20:57:46 89 1

原创 【小程序】pages,subPackages,tabbar结构(仅供回忆)

【代码】【小程序】pages,subPackages,tabbar结构(仅供回忆)

2023-01-21 23:13:52 365

原创 【微信小程序】子组件触发在父页面的点击事件

点击事件,如果子组件要通过点击事件来触发。时,可以在子组件中用。

2023-01-18 22:39:49 940

原创 【微信小程序】全局数据共享

注意:Mobx相关的包安装完毕之后,记得删除miniprogram_npm目录后,再进行npm重构。创建一个文件夹,再创建一个js文件用来创建Store的实例对象。mobx-miniprogram-bindings用来。把Store中的共享数据或方法,绑定到组件或页面中使用。创建actions方法,用来修改store中的数据。用来创建Store实例对象。btnHandler2方法。btnHandler方法。

2023-01-08 22:06:45 726

原创 【微信小程序】behaviors

behaviors是小程序中,用于实现组件之间代码共享的特性,类似于vue.js中的"mixins"。

2023-01-06 22:06:20 152

原创 【微信小程序】父子组件之间的通信

里调用this.selectComponent("id或class选择器"),获取子组件的实例对象,从而直接访问子组件的任意数据和方法。● 父组件可以通过this.selectComponent()获取子组件实例对象, 这样就可以直接访问子组件的任意数据和方法。的xml中,通过自定义事件的形式,将步骤1中定义的函数引用,传递给子组件。④ 在父组件的js中,通过e.detail获取到子组件传递过来的数据。的js中,定义一个函数,这个函数通过自定义事件的形式传递给子组件。件传递数据,可以传递任意数据。

2023-01-05 18:11:50 500

原创 MySQL数据库基本指令

sql基本指令

2022-12-06 20:42:51 235

原创 html+css+js | 霓虹滚动条,自拟定滚动条

滚动条效果实现步骤1、隐藏默认滚动条::-webkit-scrollbar{ width: 0;}2.仿制滚动条创建两个div,一个是滚动条的槽,一个滚动条。<div id="progressbar"></div><div id="scrollPath"></div>...

2022-05-24 21:29:01 327

原创 【Python】爬虫-----数据解析之CSS解析

如何使用CSS解析数据?1.导入所需模块import parsel2.把要解析的数据转化为Selector对象selector = parsel.Selector(要解析的内容)3.调用css函数输入解析规则定位class里的h1,并拿到它里面的内容:selector.css('.bookname h1::text').get()定位id,并拿到它里面的内容:selector.css('#content::text').getall() #getall()

2022-02-17 16:27:17 5376

原创 【Python】爬虫-----多线程案例

Python创建多线程的方法

2022-02-16 22:29:44 528

原创 【Python】pyqt5-----QLabel

QLabel继承自QFrame构造函数QLabel(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) QLabel(str, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) 设置对齐 setAlignment(Qt.Alignmen

2022-02-10 21:25:57 1469

原创 【Python】pyqt5-----QDialog、QFontDialog、QColorDialog、QFileDialog

QDialog继承自QWidget模态对话框应用程序级别:当该种模态的对话框出现时,用户必须首先对对话框进行交互,直到关闭对话框,然后才能访问程序中其他的窗口。通过exec()来打开对话框——默认值。窗口级别:该模态仅仅阻塞与对话框关联的窗口,但依然允许用户与程序中其它窗口交互,通过open()来打开对话框。非模态对话框...

2022-02-09 20:50:23 1342

原创 【Python】pyqt5----QSlider、QDial

QSlider继承自QAbstractSlider

2022-02-08 11:37:45 469

原创 【Python】pyqt5-----QComboBox、QFontComboBox

QComboBox继承自QWidget数据操作添加条目项addItem(str) 创建条目项。 addItem(QIcon, str) 创建带图标的条目项。 addItems(Iterable[str]) 添加多个条目项。 插入条目项insertItem(int, str) 在int处插入条目项,int为索引值。 insertItem(int, QIcon, str) 插入带图标的条目项。 insertItems(int, Iterable[

2022-02-05 22:08:35 2046

原创 【Python】pyqt5-----QAbstractSpinBox

QAbstractSpinBox继承自QWidget长按步长加快频率设置setAccelerated(bool) 设置长按步长加快频率。 isAccelerated() -> bool 获取是否设置长按步长加快频率。 只读设置setReadOnly(bool) 设置为只读模式。 isReadOnly() -> bool 获取是否设置为只读模式。 ...

2022-02-04 17:14:54 1851

原创 【Python】pyqt5-----QLineEdit、QFrame、QAbstractSlider、QTextEdit

QLineEdit继承自QWidgetQLineEdit创建QLineEdit(parent) QLineEdit创建1。 QLineEdit(str, parent) QLineEdit创建2。 文本相关设置setText(str) 设置内容文本。 insert(newText) 在光标处插入文本。 text() 获取真实内容文本。 displayText() 获取用户能看到的内容文本。 输出模式设置setEchoMode(int

2022-02-03 00:14:31 1545

原创 【Python】pyqt5-----QPushButton、QCommandLinkBut​​ton、QToolButton、QRadioButton、QButtonGroup、QCheckBox

QPushButton继承于QAbstractButton。创建按钮控件QPushButton(parent) 创建控件的同时, 设置父控件。 QPushButton(text, parent) 创建控件的同时, 设置提示文本和父控件。 QPushButton(icon, text, parent) 创建控件的同时, 设置图标, 提示文本和父控件。 菜单相关setMenu(QMenu) 设置菜单。 menu() 获取菜单。 showMenu()

2022-01-21 22:01:09 1236

原创 【Python】pyqt5-----QAbstractButton

QAbstractButton继承自QWidget文本相关setText(str) 设置按钮文本。 text() 获取按钮文本。 图片相关setIcon(QIcon("xxx.png")) 设置图标。 setIconSize(QSize(w, h)) 设置图标大小。 icon() 获取图标 iconSize() 获取图标大小 设置快捷键setShortcut("Alt+G") 绑定快捷键。 setText 如果提示文

2022-01-19 20:20:07 777

原创 【Python】pyqt5-----QWidget

QWidget是QObject的一个子类,父类的功能子类可以用。一、位置大小设置move(x,y) 操控x,y;包括窗口框架。 resize(width,height) 操控宽和高;不包括窗口框架。 setGeometry(x_noFrame,y_noFrame,width,height) 设置用户区域的x,y,宽度和高度。 adjustSize() 根据内容自适应大小。 setFixedSize() 设定固定尺寸。 ...

2022-01-15 16:01:19 2617

原创 【Python】pyqt5-----QObject

这个是我们程序的框架,下面介绍的函数from PyQt5.Qt import *import sysclass Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("ABCDE") self.resize(500, 500) self.ui() def ui(self): obj = QObject.

2021-12-23 12:10:38 1563 1

原创 【C++】类与对象

一、类的定义class Student{ public: //公有成员 private: //私有成员 protected: //保护成员};二、对象的定义Student stu1;class Student{}stu1,*stu2,stu3[5];三、对象中的函数class Student{ public: void Input(string,int); private:

2021-12-17 19:41:12 1086

原创 【Python】体验pyqt5

一、体验pyqt5from PyQt5.Qt import *import sysapp = QApplication(sys.argv)window = QWidget()window.setWindowTitle("pyqt5窗口")window.resize(600,500)window.move(400,200)lable = QLabel(window)lable.setText("Hello World!")lable.move(300,200)window.s

2021-12-14 22:42:03 709

原创 【Python】逆向爬虫-----模拟空中网登录(js混淆)

栗子是:战火互娱通行证一、拿到加密代码

2021-12-12 03:16:23 438 1

原创 【Python】逆向爬虫-----模拟试客联盟登录(RSA)

栗子是:登录 - 试客联盟一、拿到加密代码可以看到密码被加密了,我们在搜索框里搜索 “password ” ,找到并打开包含该关键词的js文件,查看里面的代码。我们找到了这段代码,这段代码里有"RSA"、"encrypted"这些单词,应该是与加密有关的。这段代码的大致意思我们可以读懂:4782行:serializeArray()这个js函数是用来实现序列化的,我们可以看到他作用于loginForm这个ID的标签,loginForm这个标签就是填写登录信息,也就是说formDa...

2021-12-11 17:19:54 1408

原创 【Python】逆向爬虫-----模拟steam登录(RSA)

栗子是:Sign In一、拿到加密代码由图可以看到password被加密了。我们在搜索框里搜索 “password =” 。我们在这行代码中找到了加密代码的语句,是一个RSA的加密。我们在这里设置一个断点。再次提交登录。我们复制这两行代码到js调试工具。把复制过来的代码放进一个函数里,接下来我们要补全函数 。我们回到检测工具定位到getPublicKey()这个函数。通过观察可知,这个js文件里面写的是NSA加密的内容,所以我们把文件里的全部代码...

2021-12-10 16:34:23 1929

原创 【Python】逆向爬虫-----模拟微信公众平台登录(MD5)

栗子是:微信公众平台的登录。由图可以看到password是被加密成一段32个字符的字符串,应该是一个MD5的加密。我们用搜索工具搜索一下pwd,查看它所在的js文件。在js文件里找到了一行可疑是进行加密的代码,因为我们看到它有个substr(0, 16)是用来截取16个字符的函数,我们在这里设置断点。这时我们再次点一下登录,发送请求。OK!我们应该没有猜错,执行函数前我们的pwd还没有被加密。我们在这个函数u里设置一个断点,然后点击“进入下一个函数调用...

2021-12-08 23:55:49 1827 2

原创 【Python】逆向爬虫-----常见的加密方法

一、MD5加密MD5加密是一种被广泛使用的线性散列算法,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整的一致性。且MD5加密之后产生的是一个固定长度(32位或16位)的数据。若要破解MD5加密,需要找到MD5加密的基础源码,然后进行逆向。二、DES/AES加密DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的算法。该加密算法是一种对称加密方式,其加密运算、解密运算需要使用的是同样的密钥(一组字符串)即可。

2021-12-07 21:24:17 3800

原创 【Python】爬虫-----selenium操作Ⅱ

一、截取页面图片selenium可以对页面进行截图并保存。web.save_screenshot("web1.png")如果要把截下来的图片剪切要怎么做呢,虽然它不是selenium的内容。处理图片我们需要PIL这个模块 pip installPillow 。然后确定图片对应的左上角和右下角的坐标。例如,在百度页面截取这个图片:1.获取图片xpath路径code_img_ele = web.find_element_by_xpath('//*[@id="s_lg_img..

2021-12-05 23:49:09 392

原创 【Python】爬虫-----处理cookieⅡ

一、了解cookiecookie:它是存储在客户端的一组键值对。在web中cookie的典型应用是免密登录。

2021-12-04 16:53:13 777

pandas玩转excel

pandas玩转excel

2021-12-19

发条js调试工具.rar

发条js调试工具.rar

2021-12-07

chromedriver——谷歌浏览器驱动-----浏览器版本为96.0.4664.45

chromedriver——谷歌浏览器驱动-----浏览器版本为96.0.4664.45

2021-12-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除