自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 vue2+vant2+Laravel7 实现多图上传到七牛云

Vant2 实现多图上传至七牛云

2024-03-14 18:23:24 1016

原创 Laravel7 + easyWeChat 实现微信公众号支付功能

1、点击支付按钮,js提交相应参数到后台支付方法。2、后台接收请求,往你的订单表里插入一条订单数据,状态为1,也就是未支付状态。3、带上这条订单的订单号、价格,请求微信换取prepay_id。4、请求微信成功会返回支付所需要的参数,appidtimestamp等。返回前端js调起支付。5、支付后微信会将支付结果通过回调返回,可根据返回信息修改订单状态。

2024-01-20 11:12:01 973

原创 vue 前端面试题

所谓的虚拟DOM,其实就是用JS来模拟DOM结构,把DOM的变化操作放在JS层来做,尽量减少对DOM的直接操作。当数据有变化时,对比前后两次虚拟DOM的变化,只重新渲染变化了的部分,而没有变化的部分则不会重新渲染diff算法就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点不同的地方,最后用patch记录的消息去局部更新Dom。

2022-09-05 22:11:25 673 1

原创 JS 深浅拷贝详解

这是因为浅拷贝只是把对象的内存地址拷贝了一份赋值给了新对象,地址相同,当修改了新对象的值,原对象的值也跟着修改了。因为浅拷贝只拷贝了对象最外层的数据,而更深层次的对象只拷贝了对象的内存地址。// 4、修改 obj2 的 info 里面的 age。// 判断原对象的属性值属于哪种数据类型。// 2、定义另外一个对象 obj2。// 2、定义另外一个对象 obj2。// 2、定义另外一个对象 obj2。// 4、修改 obj2 的属性值。// 5、修改 obj2 的属性值。// 1、定义一个对象 obj1。..

2022-08-29 16:05:25 403

原创 构造函数和原型与原型链

在典型的OOP语言中,都存在类的概念,类就是对象的模板(图纸),对象就是类的实例,但在ES6之前,js中并没有引入类的概念。ES6,全称,2015.06 发版。在ES6之前,对象不是基于类创建的,而是用一种称为构造函数的特殊函数来定义对象和它的特征。对象字面量 ({})自定义构造函数来看一个例子...

2022-08-26 16:55:13 449

原创 面向对象基础

来看一个例子 < html > < head > < meta charset = " UTF-8 " > < body > < script > // 1、定义一个老师类 class Teacher {// 3、构造函数使用 name 和 age 这两个参数,接收实例化传过来的值 constructor(name , age) {

2022-08-26 12:10:45 317

原创 vue3 使用setup语法糖实现分类管理

直接在script标签中添加setup属性就可以直接使用setup语法糖了。使用setup语法糖后,不用写setup函数,组件只需要引入不需要注册,属性和方法也不需要再返回,可以直接在template模板中使用。本次模块使用实现一个新闻站的后台分类管理模块,其中新增、编辑采用对话框方式公用一个表单。...

2022-08-16 15:02:05 623 2

原创 vue3 快速搭建项目

此步骤省略,跟 vue2 的创建步骤一样,只是版本需选择 vue3 即可。

2022-08-15 13:38:49 478

原创 scroll-view 实现滑动分类

页面左侧显示分类数据,右侧显示每个分类对应的文章列表,点击分类名称,对应右侧文章内容切换显示。点击文章列表跳转到文章详情。最终页面效果如图:在 中页面效果如下1、在 中定义分类数据节点2、调用获取分类列表数据的方法3、定义获取分类列表数据的方法动态渲染左侧的分类列表1、循环出所有分类2、在 中定义默认选中项的索引3、循环渲染结构时,为选中项动态添加 类名4、为分类的 项绑定点击事件处理函数 5、定义 事件处理函数,动态修改选中项的索引动态渲染右侧的文章列表1、在 中定

2022-08-09 16:11:34 985

原创 uniapp实现防抖搜索

用户的关键词还未输入完就已经多次请求了接口,显然是不合理的,要解决这个问题,需了解。防抖:每次用户输入关键词时,先清空定时器,再延时调用接口。

2022-08-05 16:01:32 355

原创 CLWY权限管理(六)--- 权限实现

此时页面都可以正常访问,但是终端会报如下错误,这是因为我们的路由是动态加载的,所以我们侧边栏的菜单也应通过循环出来。4、执行动态添加路由,修改。

2022-07-20 18:49:53 305

原创 CLWY权限管理(五)--- 用户登录

代码】CLWY权限管理(五)---用户登录。

2022-07-19 10:01:48 534

原创 CLWY权限管理(四)--- 菜单与权限模块

添加路由,在 新建 在 1、首先循环出所有菜单2、根据 字段值,点击切换级联菜单显示不同的表单

2022-07-17 20:37:41 412

原创 CLWY权限管理(三)--- 用户组模块

在 新建 在 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DmwFKNwH-1657874381925)(img.png)]新建 用户组列表新增 和 ,代码分别如下新增

2022-07-15 16:41:16 320

原创 CLWY权限管理(二)--- 用户模块

在 新建 在 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xkUoA52Z-1657870152821)(img.png)]新建 用户列表新增 和 ,代码分别如下新增

2022-07-15 15:31:31 288

原创 CLWY权限管理(一)--- 项目搭建

安装依赖添加环境变量新建 文件封装axios新增 文件配置全局过滤器新建 文件CSS 文件新建 文件新建 文件新建 文件新建 文件新建 文件新建 文件新建 文件布局模板新建 组件新建 组件新建 组件修改 文件最后一个文件修改 文件..................

2022-07-15 11:09:15 313

原创 vuex详解

在 中,组件之间共享数据的方式有:以上三种方案只适合在小范围内实现数据共享,如果我们要频繁的或者说在大范围内实现数据共享,那么就需要用到 了。是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享。画图使用 统一管理状态的好处一般情况下,只有组件之间共享的数据,才会必要存储到 中,对于组件中的私有数据,依旧存储在组件自身的 中即可。1、安装依赖包2、在 中导入3、创建对象,在 中4、将对象挂载到实例中,在 中上述步骤其实在我们创建项目的时候就已经完成了,这里只需了

2022-07-05 12:18:21 1518

原创 vue 实现前台用户登录

1、封装登录接口 api,新建 ,添加如下代码:2、准备登录路由,在 中添加登录的路由3、新建 组件并请求登录接口,添加代码:4、封装 拦截器,验证 在 中,全部代码:5、在 中,通过路由全局前置守卫和路由元信息设置访问权限。......

2022-07-01 17:00:10 1525

原创 组件拆分实战

我们以之前做的后台文章管理模块为例,实现组件拆分、组件之间互相传值、方法调用、代码封装等功能。在 里面新建 文件夹,用于存放我们拆分出来的子组件。1、在 里面新建 组件2、在 中拆分工具栏1、在 里面新建 组件2、在 中拆分搜索框1、在 里面新建 组件2、在 中拆分表格1、在 里面新建 组件2、在 中articleshandleSelectionChangehandleSizeChangehandleCurrentChangepagination

2022-06-22 19:13:42 399

原创 vue生命周期详解

从 vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件统称为生命周期生命周期钩子:就是生命周期事件的别名,生命周期钩子 = 生命周期函数 = 生命周期事件1、创建期间的生命周期函数beforeMount:此时已经完成了模板编译,但是还没有挂载到页面中mounted:此时已经将编译好的模板,挂载到了页面指定的容器中显示2、运行期间的生命周期函数...

2022-06-21 12:21:00 463

原创 Vue.js 实现后台用户登录

1、封装登录接口 api,新建 ,添加如下代码:2、准备登录路由,在 中添加登录的路由3、新建 组件并请求登录接口,添加代码:4、封装 拦截器,前台验证 在 中,添加代码:5、判断是否登录,在 中修改代码:至此,前端验证 工作已完成,测试结果:未登录状态下,访问后台请求接口的页面是无法访问的。当用户登录成功后,即 值存在的情况下,可正常访问。但是我们会发现一个严重的问题,只要 值存在,不管对错与否,都能登录后台,这样用户就可以恶意篡改 的值,网站不安全!5、继续封装 拦截器,后

2022-06-07 16:26:52 1374

原创 Ubuntu系统部署Node.js接口项目

环境说明:我的系统是Ubuntu 18.04 64位,CPU&内存是1核2 GiB准备工作1、下载 node 源文件,我这里安装的版本是 v16.13.2。终端ssh连接上自己的服务器,执行下面的命令:curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - 2、安装node.js 和淘宝镜像sudo apt-get install -y nodejs# 查看node版本node -v # v16.13.

2022-03-11 15:09:35 5576

原创 Vue2 + ElementUI快速搭建后台

创建项目此处不做详细描述,请参考:项目创建添加环境变量新建.env.development文件VUE_APP_BASE_API = http://localhost:3000新建 .env.production 文件(根据项目需求,选择性创建)VUE_APP_BASE_API = https://api.xxx.xxx安装基础依赖yarn add element-ui axios moment全局过滤器新增 src/filters/index.js 文件import mome

2022-02-26 11:35:27 1447

原创 uni-app 实现手机端滑动导航栏

创建项目此步骤省略,不会的同学可以参看我的另外一篇文章:创建项目这里以一个微博首页为例,最终实现的页面效果图如下:样式准备1、在 pages/index/index.vue 文件中,添加如下代码:<template> <view class="content"> <scroll-view scroll-x> <view class="scroll"> <vie

2022-02-26 02:11:20 2641 2

原创 vue 小细节功能

Loading1、样式如图:2、在 src/components/shared 里面新建 Loading.vue 组件,里面添加如下代码:<template> <div class="loading"> <div><span></span></div> <div><span></span></div> <div><span>&lt

2022-02-23 17:16:42 1422 1

原创 Vuex 购物车实战

1、在 新建 文件,写上 的基础格式2、在任意组件中拆分购物车组件在 中在 中在 中,部分代码如下刷新页面,能正常显示,终端无报错即可。1、在 里面获取购物车列表数据2、在 组件中3、在子组件 中渲染数据此时刷新购物车页面,如图1、给点击加减符号的按钮绑定事件,去触发 中的 函数。在 中2、在 中,打印一个 此时刷新购物车页面,分别点击加减按钮,看是否触发了 ,如图:3、继续修改 中的代码此时刷新页面,点击加减按钮,发现数据正常显示。由于我们没有对购物车底

2022-02-23 13:27:30 1409

原创 uniapp 项目创建与目录结构

uniapp是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。具有vue和微信小程序的开发经验,可快速上手uniapp。相对于开发者来说,减少了学习成本,因为学会uniapp后,即可开发出iOS、Android、H5,以及各种小程序的应用,不需要再去学习开发其他应用的框架,相对公司而言,也大大减少了开发成本。...

2021-12-27 11:39:26 1838

原创 Mac 系统搭建 Java 开发环境

检查环境1、在搭建 Java 环境之前,先检查下自己的电脑是否已经安装了 JDK打开 Mac 自带终端,输入 java -version 并回车。从上图中,可以看出我的电脑已经安装了,我这里安装的版本是目前最新版。2、如果没有安装 JDK,可以从官网下载需要的版本。链接地址:https://www.oracle.com/java/technologies/javase-downloads.html点击进入下载页面,如下图,选择红框处点击下载即可。3、安装 JDK 很简单,直接一路下一步即

2021-09-13 10:23:54 1773

原创 Python Flask 框架跨域结合 ajax 实战留言板 (二)

上一节,我们讲到了留言首页数据的读取,本节课,主要完成添加留言、编辑留言和删除留言添加留言添加表单和加载公共数据1、在 index.html 中,添加如下代码:<div class="container">..<!--发布留言--> <form class="form-horizontal" style="margin-top: 150px;"> <div class="form-group"> &

2021-04-02 19:46:48 190

原创 Python Flask 框架跨域结合 ajax 实战留言板 (一)

项目简介本次项目主要使用 flask 跨域处理数据,前端使用 ajax 发送请求给后端接口,通过实战留言板,完成对数据的增删改查。在上一节的 cms 项目中,继续开发。创建蓝图首先,我们来创建一个接口蓝图 api_blue,在 app 文件夹中,创建 api 包,并在该文件夹中创建 views.py 文件。在 api/__init__.py 中,创建蓝图对象:from flask import Blueprintapi_blue = Blueprint('api_blue', __name_

2021-04-02 09:15:08 428 3

原创 Flask-cms 实现后台模块 --- 所有项目(六)

删除相册本次功能,我们选择使用 ajax 来实现在 templates/admin/project/edit.html 中,给删除按钮写点样式,代码如下:{% block css %}..<style> .cancel { cursor: pointer; }</style>{% endblock %}{% block js %}<script> $(function () { $('.canc

2021-03-17 18:23:29 302

原创 Flask-cms项目蓝图创建与模型类(二)

前台蓝图这里我们以创建前台蓝图为例,后面的文章会继续创建后台蓝图。首先在 app 文件夹下分别创建 static、templates、home 文件夹(包),用于存放静态文件、模板、前台模块。接下来把前台的样式文件放入 static,在 home 里面创建 views.py 文件,把 manage.py 里面的@app.route('/')def index(): # session['name'] = 'holy' # 原有的这行代码直接删掉,仅用于测试 session

2021-03-11 15:58:13 419

原创 Flask-cms 实现后台模块 --- 所有项目(五)

功能需求介绍本次模块实现对前台文章数据的新增、编辑、删除数据字段有:标题、文章添加时间、文章内容首页:全部文章数据加载,按标题模糊搜索文章、文章分页、文章批量删除(ajax实现)新增和编辑:时间选择插件的用法、富文本编辑器(tinymce)创建文章模块蓝图在 admin 文件夹中创建 article 文件夹(包),并在该文件夹中创建 views.py 文件。在 __init__.py 中:from flask import Blueprint# 创建蓝图对象articl

2021-02-13 21:31:45 573

原创 Flask-cms 后台模块 --项目类型(四)

功能需求介绍本次模块实现一个对前台首页数据的新增和编辑数据有:标题、内容、英文内容、视频地址实现单一页面既能编辑又能新增创建首页数据模块蓝图在 admin 文件夹中创建 index 文件夹(包),并在该文件夹中创建 views.py 文件。在 __init__.py 中:from flask import Blueprint# 创建蓝图对象index_blue = Blueprint('index_blue', __name__)from . import views

2021-02-13 21:29:10 532 1

原创 Flask-cms 后台登录与注册(三)

本章节开始教你一步步实现功能开发。首先,我们从项目后台开始,创建后台蓝图。后台蓝图1、首先在 app 文件夹中创建 admin 文件夹(包),并在该文件夹中创建 views.py 文件。在 admin/__init__.py 中:from flask import Blueprint # 引入 flask 自带的蓝图模块admin_blue = Blueprint('admin_blue', __name__) # 创建蓝图对象from . import views # 引入开发文件 vi

2021-02-13 21:21:08 791

原创 Flask-cms项目搭建与配置(一)

项目简介本次项目是基于python的Flask框架实现一个内容管理系统(cms)。基础模块架构如图所示:|-cms ├── app # app应用程序 Flask对象 │ ├── __init__.py # app模块初始化文件,主要对db和app创建的方法 │ ├── admin # 后台模块 │ │ ├── __init__.py # admin模块初始化文件,创建admin蓝

2021-02-13 21:17:13 1496

原创 如何开发一个简易的MVC框架?

前言MVC 模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC 的目的是实现一种动态的程序设计,便于后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时,也赋予了各个基本部分应有的功能。MVC 架构对于 PHP 开发者来说应该都不陌生,我们在日常的项目开发中所使用到的

2020-05-27 10:11:41 777

原创 Linux宝塔详细使用教程

Linux宝塔面板详细使用教程一、准备工作先购买一台服务器,如:阿里云、腾讯云、华为云等都行。一个纯净版的linux操作系统,常用的 CentOS,Ubuntu 均可,确保没有安装过任何环境。二、登录服务器我这里以 Mac 电脑为例,打开终端,使用如下命令登录进入服务器:ssh [email protected] // 新服务器账号默认为root,可更改输入密码后即可登录,需要注意的是,输入密码的时候是看不到密码的,不要以为没有输入哦。。若是Windows电脑,请移步

2020-05-27 07:53:35 22069 2

原创 Laravel6.0 结合 EasyWechat实现微信支付

创建项目laravel new wechatcd wechatcomposer require laravel/uiphp artisan ui vue --authcnpm installnpm run dev# 修改数据库配置后执行如下命令php artisan migrate# 启动项目php artisan serve 接下来安装 easyWeChat 包文件,执行下面的命令:// 安装easyWeChat包composer require "overtru

2020-05-27 07:51:46 1393

原创 PHP中GD库的使用

概述GD 库是 php 处理图形的扩展库,GD 库提供了一系列用来处理图片的 API ,使用 GD 库可以处理图片,或者生成图片,也可以给图片加水印。在网站上 GD 库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。配置在 php.ini 配置文件中开启 GD 扩展即可使用extension=php_gd2.dll // 把前面的分号去掉画布实现实现画布所用到的函数:名称、格式注解imageline($img , 起始位置

2020-05-27 07:50:43 1347

空空如也

空空如也

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

TA关注的人

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