自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从0开始配置服务器PHP + Nginx

用的是阿里云ECS云服务器,不过应该都是些通用的指令,差不了多少,无图形化界面基本上是用来搭在一些php项目,其余配置后续再说,本次先记录Nginx+PHP+mysql配置。

2022-09-09 11:05:15 1261

原创 Vue后台管理系统练习-9 登陆界面及权限检测

目标:在进入页面前先进行用户的权限检测,如果没有权限则跳转登陆界面登陆校验的模拟后台接口如下,比较简单,大部分地方都写好了注释登陆界面的编写这里使用了之前封装好的commonForm组件,直接传入了数据进行组件调用:提交后,commonForm组件返回用户输入的数据,进行post请求:设置全局守卫在main.js中配置全局守卫,跳转页面前先校验权限:至此就完成了登陆界面...

2022-06-28 09:27:37 406

原创 踩坑:vue-router使用全局守卫时$router.push返回undefined

在写项目的登陆页面时,需要用到全局守卫:router.beforeEach最初写的代码大致如下:使用$router.push()时抛出错误undefined,看了很多大佬们的解决方法,但是应该都不太适配这个问题既然只有配置守卫后才出现undefined,那大致是守卫改变了$router本身的指针,使得无法调用(this的位置不对)这里使用了一个图方便的方法,不对login界面进行守卫监听,因此在login页面进行push后会直接进行跳转,不再受router.beforeEach的影响,代码如下:...

2022-06-28 09:11:54 2253

原创 Vue后台管理系统练习-8 user界面的表单修改

本篇在原有界面的基础上增加了逻辑与api接口新增用户首先需要理清,现在需要的是在user页面中点击新增用户,然后显示form组件,把表单设置传入form组件中,form组件中接收用户输入的内容并且将其发送网络请求这里因为是模拟数据,所以网络请求会被mock拦截,并且由user.js中的方法进行处理修改了数据后再重新发送网络请求,对页面进行更新流程图大概是这样:这里我们首先解决一下user.js模拟接口的内置方法,在之前已经通过Mock模拟出了user数据,因此只要对原有的数据进行操作就好了其中cr

2022-06-18 10:32:28 518

原创 Vue后台管理系统练习-7 element表单的简单封装

效果如下,后面table等内容可以看上一篇:由于本项目中多处需要使用表单,在这里做一些简单的封装Element-ui中的el-form需要在el-form组件内绑定存入数据的对象,同时每个el-form-item组件有不同的种类,输入框,单选框,复选框等,因此要实现封装就需要判断每个属性的类型,内容大致如下:这里只写了几个常用的,其余类型可以参见官方文档,其实都差不多几个需要说的点:这里我通过prop接收的父组件数据是form,但是el-form绑定的这个对象是用来储存输入的数据,一定会需要动态修改的

2022-06-18 09:23:28 638

原创 Vue后台管理系统练习-6 Mock与Element-ui展示模拟数据

之前做了一个写死数据的,觉得还是Mock模拟数据接口更模拟真实一点,重新写了一版效果如下图:首先使用Mock模拟需要的数据,因为user页面内容比较多,后期也有增减用户的操作一类,都涉及到Mock方法拦截模拟,因此新建一个user.js用以集中编写,具体生成方式可以查看mockjs官网,大致如下:此处性别、用户类型两个数据使用了数字,因此在获取用户信息列表的时候将它们转化为相应字符串然后在mock.js中引用拦截一下:这样一个简易的数据接口就写好了接下来使用element-ui中的table组件展示

2022-06-15 10:22:37 622

原创 DataFrame中日期格式的转化(逻辑简单的遍历+字符串方法)

Tips:只是做题时忽然想到的一种思路,性能不太ok但可以实现统计df数据的时候经常遇到,数据格式看起来为datetime,实际上是string,如YYYY/MM/DD HH/MM/SS 这样的能够看懂日期但不属于datetime格式的数据,这个时候要提取年或年月日就会比较困难而这些数据本身是具有固定格式的,其年份/月份等等信息在字符串中的位置相对而言比较固定如取年份时,位置一定是字符串前四位因此,有这样一种思路:1.遍历该列的所有数据2.对每一个字符串数据进行切割,或许字符串中需要的片段3.

2022-05-28 22:26:11 4063

原创 Vue后台管理系统练习-5 echarts数据可视化

这部分内容教程视频里用了封装,但没有那么多心思去完善,因此就不做完整的封装了首先还是引入echarts包通过npm下载,因为使用的是vue2,可能存在一些兼容性问题(之前一直加载不出来),因此指定了4.3.0的版本npm i echarts@4.3.0 --save之后,我在组件中增加一个echarts的文件夹,因为这次需要三个表,就用了3个vue文件其实都写在一起也行,不过偷懒直接复制官方的代码目标,不想修改变量名了vue组件中的内容大概如下*主要就是注意引入,注意指定宽高,然后把内容写在

2022-05-27 09:58:28 594

原创 Vue后台管理系统练习-4 axios+mock实现数据模拟

首先安装axios与mocknpm i axios & npm i mockjs在main.js中引用并配置axiosimport http from 'axios'Vue.prototype.$http = http新建config文件夹,创建index.js配置axiosexport default { baseUrl: { dev: '/api/', // 开发环境 pro: '' // 生产环境 }}在项目中新建api文件夹,创建axios

2022-05-21 15:20:55 194

原创 (个人存档)自定义Promise

如题,自存档/* 自定义Promise模块*/(function (window) { const PENDING = 'pending' const RESOLVED = 'resolved' const REJECTED = 'rejected' /* 定义promise类 */ class Promise { /* Promise构造函数 excutor: 执行器函数(同步) */ constructor(excutor){ const that =

2022-05-19 13:58:09 100

原创 Vue后台管理系统练习-3首页主要布局

上周一直在赶期末考试和ddl, 因此一直没有空出时间写这部分的内容主要是一些element-ui组件和css样式的架构, 比较基础因此讲解部分比较少效果如下:整体页面布局采用element-ui的layout布局 + el-card组件layout布局中通过el-row与el-col控制页面el-row::gutter属性可以规定每个分隔的间距:span规定此块占用的列数(一共有24列), 其他的部分具体参见element-ui的文档教程中的table也使用了elementUI的table

2022-05-14 16:49:45 2458 1

原创 Vue + ElementUI: Invalid prop: type check failed for prop “router“. Expected Boolean, got String...

遇到的问题:Invalid prop: type check failed for prop “router”. Expected Boolean, got String with value “true”.检查了各种自己写的prop,都没有类型上的问题到处搜索了一下发现,本项目的原因为写错了element-ui中el-menu自带router的格式,正确格式应当为以下两种:<el-menu :router=”true”><el-menu router>...

2022-05-07 10:00:40 662 1

原创 Vue后台管理系统练习-2首页顶栏搭建

今日效果如下:(因为没有找图所以用了文件内自带的logo图片)首先设置左侧按钮,同样利用element-ui的icon库,配合button组件,将size设置为mini获取更好的视觉感受左侧内容代码如下:<div class="l-content"> <el-button @click="unflod" plain icon="el-icon-menu" size="mini" ></el-button> <h4 style="color

2022-05-07 09:51:21 659

原创 flex布局快速上手

参考博文做了一些筛选和概括,只归纳了简单的部分首先给父元素添加display:flex然后设置父元素flex的属性:1.flex-direction确定排列顺序row(默认):从左到右row-reverse:右到左column:上到下column-reverse:下到上2.flex-wrap确定换行Nowrap(默认):不换行,内容超过屏幕尺寸会被挤压Wrap:正常换行,第一行在上面Wrap-reverse:换行,每一行的内容顺序不变化,第一行位于容器底部,倒序排列*flex-fl

2022-05-06 11:16:20 755

原创 Vue后台管理系统练习-1首页侧栏搭建

这里利用element-ui的container布局,在官网->组件->base里可以找到相关组件的使用方法,以及布局模板,也可以根据自己的需求进行布局使用前先在main.js中引入需要使用的组件:import { Container, Main, Header, Aside } from 'element-ui';Vue.use(Container, Main, Header, Aside)引用后可以直接在Home.vue搭建基本布局,此处使用官网的布局:<el-contai

2022-05-03 17:37:03 1767

原创 Vue后台管理系统练习-0前置准备+项目大致框架确立

本项目整体参照 BV1QU4y1E7qo 以及一些官方文档细节部分会有些许修改使用了vue2,全家桶内容以下内容为vue项目建立(使用的脚手架为VueCLI v5.0.4)以及一些初步准备只涉及路由,暂时不涉及axios的使用(到后面会写)创建项目vue create 项目名称会在当前文件夹下创建以项目名称为名字的项目文件夹,后续操作大都在此文件夹中的src中进行与git仓库建立远程连接在github新建仓库后可以建立连接,有时候失败可能是网络连接原因git remote add or

2022-04-30 10:07:50 278

原创 re库运用_编写函数替换英文小说中的人称代词

近期作业,刚好复习一下re库和正则表达式题目:选取一段英文小说,将文中的人称代词(I,you, she等)替换为“**”编写函数如下:def replaceWord(wordList, repl, contents): # wordlist为需要替换的字符数组,repl为替换词,contents为需要处理的文本 import re # 将单词组转化为正则表达式原生字符串 格式如r'|(\s(abc)\s)|(\s(bcd)\s)' word = "r'|" n = le

2022-02-26 17:28:50 276

原创 【学习笔记】html的标签入门

刚开始学,归总了一些基础标签用法,都记在html文件里了,这样可以点开查看效果想来想去其实也不太适合分享,权当做个归档吧<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>这是title</title></head><body> <h1>这是h1</h1> <h2>这是h2&l

2021-07-19 11:36:39 144

原创 学习笔记_re库入门

re库的基本函数```pythonimport rematch = re.search(r'[1-9]\d{5}', 'BIT 100081') # 在字符串中搜索,返回match#flags函数:re.I 忽略大小写;re.M ^操作符能够给定字符串的每行当作匹配开始;re.S 正则表达式中.操作符能匹配所有字符,默认除换行外的所有字符if match: # 如果match非空 print(match.group(0))match = re.match(r'[1-9]\d{5

2021-02-23 14:29:01 361 2

原创 学习笔记_BeautifulSoup库入门

BeautifuSoup读取内容的基本元素p标签< p class=“title”>…< /p>< p >…< /p >为名称class="title"为属性Attributes(键值对形式)基本元素:Tag:标签,用<>和</>标明开头结尾Name:标签的名字,< p>…< /p>的名字是’p’,格式为:< tag>.nameAttributes:标签的属性,字典形式,格式:&lt

2021-02-19 22:43:38 164

原创 学习笔记_python中的requests库入门

引子:HTTP协议对资源的操作GET 请求获取url位置的资源HEAD 请求获取URL资源的头部信息POST 请求向URL位置的资源后新增内容PUT 请求向URL位置储存资源,覆盖原有资源PATCH 请求局部更新URL位置的资源,即部分改变DELETE 删除URL位置的资源*关于patch与put的区别:patch仅对改变的部分进行改写,put则需要把所有内容全部重写如一组数据中有1,2,3字段,需要改写1,patch可直接修改,put则需要重新提交1,2,3**requests.req

2021-02-16 19:32:58 231

空空如也

空空如也

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

TA关注的人

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