mock.js 前端虚拟api数据
创建一个mock.js文件用于设置虚拟数据接口//mock import Mock from "mockjs"; Mock.setup({ timeout: '300-500' }); /行业数据扩展 Mock.Random.extend({ industry(min, max) { const data = ["financial", "bes", "it", "agriculture", "estate", "medic...
找了半天没找到一个合适的dropdown模块,本来就很简单的需求,就是希望在hover的时候能显示一个二维码小窗口出来,实在无奈,自己造了个模块用了。预览图支持四个方向简单快速使用方式资源下载: 蓝奏云 密码:6szx下载模块,layui使用自定义模块不用多说吧,不知道看我博客发布的layui模块文章,然后自己把对应的样式css单独引入就行了。html格式<div class="layui-dropdown" id="dropdown"> <button class="layui-dropdown-toggle...
传统的vue组件切换,无非是Vue.component定义一个组件,然后设置一个名字,再通过component自定义html元素加上is属性去动态切换组件。vue-cli的话,在components里面将import的组件激活,然后也是is属性配合component自定义html元素进行切换。那么异步组件的优点在哪里呢?无非是组件会作为一个单独的js文件存在,需要时才被调用,这个特性再开发单页的时候最明显,他是会在打包后将异步组件单独生成一个js文件,在调用时下载并使用。如何创建一个异步组件Vue.component创建异步组件这个方法适合script引入vue.js的那种方式,估计也用...
官方对于layui模块化的说明只言片语,看得我着实有点懵逼,还好有万能群友帮助,总算明白要怎么写了,为此特意出个教程。模块化优点相比于传统的jq模块,layui模块他在于导入方式和不占据浏览器资源请求额度(一般一次只能6个),且调用也方便。jq模块是需要自己手动在html里创建script元素并src引用js文件,这样即便我们丢到body的最后面加载,也是需要占用下载数量的,并且如果你要调用这个模块,你的js必须在该模块之后才行。这也是传统js调用的一个模式。layui模块他的原理是js创建script元素并插入,而这样创建的script是不占据下载资源数量的,并且调用时只需要在layu...
simplebar的使用,千万不要使用GitHub上的bate版本,会有问题。目前还是6.0的bate测试版,正式版为5.2.1官网githubnpmnpm那支持vue和其他框架,用法要在那看。普通html使用无需jq,只需要new出这个构造函数,并将需要设置滚动条的dom传入即可。引用<link rel="stylesheet" href="https://cdn.staticfile.org/simplebar/5.2.1/simplebar.min.css" /> <script src="https://cdn....
Reach 基于Bootsarp4的响应式博客主题,目的是为了更好的阅读体验,更快捷的使用方式,更优质的UI而存在。历经时间打磨,更贴合需求预览变化基于以前的Reach主题进行重构,V2版本修复了之前的一些bug,也更新了新的功能。[x] 整个框架重构,更加符合现代化代码要求[x] 主题加入可视化操作[x] 评论快捷展示作为消息通知放在顶部[x] 轮播模块调整,可关闭[x] 加入标签云[x] pro版天气样式优化,天气可切换,可关闭[x] 完美的自定义page分页[x] 友链模板调整,精简部分js代码提高性能[x] 关于模板重写,统计视觉设计(强烈推荐)[x] 主题ui设置本地化处理(黑...
既然开放了注册,那么用户组就是一个问题,我们需要进行鉴权。获取用户处在什么用户组typecho有5个角色,一个是访客,我们通过是否登录来判断。剩下四个为:administrator 管理员editor 编辑contributor 贡献者subscriber 关注者具体权限可以查看官方的这个说明: 用户组<?php echo get_object_vars($this->user)['row']['group'];?>通过这个可以判断当前用户的用户组是什么,管理员就输出administrator鉴权<?php $user...
最近应群友要求写一个前台注册,从泽泽那拿到了form,但是有一个问题,就是我要怎么才能知道,这个前台注册是可以用的。所以要判断博客是否开启了允许注册,于是从官方的login页拿到了一个东西,自己改了下,效果一样。不多说,上代码:<?php if($this->options->allowRegister): ?> <a href="<?php $this->options->registerUrl(); ?>"><?php _e('用户注册'); ?></a>...
一直想找一个动效,因为以前一直都是使用mode="out-in";这种一般也就fade这种动效好看,如果要更好看一点,就需要花点心思了。效果原理通过给每个路由的自定义属性meta设置一个层级,第一层,第二层,第三层,也可以理解为第一页,第二页,第三页。然后通过这个层级关系判断页面是往左还是往右。源码[hide]vue<template> <div id="app"> <transition :name="transitionName"> <keep-alive&g...
听别人说node可以写爬虫,然后我去尝试了一下,有点累啊,大概原理其实用jq都能做出来效果,只是说没有后台操作了。原理利用http模块发出请求获取到网页信息通过cheerio插件进行提取信息保存遇到的一些问题首先就是提取信息,因为获取到的其实是一个html页面的内容,我们需要进行提取,这里当然用jq会方便很多,但是node里面没有jq,只有cheerio这个伪jq,所以很多jq的方便的方法,使用这个插件用不出来。特别是$(".box:nth-child(2)")这种选择器就无法使用,只能通过eq,和find进行截取,然后再each循环,性能上应该很浪费。转义有的站点他...
我找了很多个插件,发现都好难用,npm哪里的说明等于没有,你根本不知道他哪些配置参数怎么弄,百度的文章真的是五花八门,不是抄就是缺胳膊短腿, 想来想去还是自己写好了。日志的格式我是仿 koa-logger,我感觉他这个样式还不错,但是他这个插件只能console输出,如果是测试环境,还行,但是上线后作为日志保存,就不太行。我尝试去用他的方法去保存,会乱码,编码我也设置为utf8了,所以无解啊。(超蛋疼有没有)预览相对来说还是比较简单。原理通过中间件的形式,正常请求和发生错误,为此,我们需要创建一个全局的错误处理中间件,在这个里面我们触发自己写的日志方法。const logger = re...
centos 跨域模板location * { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS,DELETE,PATCH'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Contr...
首先我们需要安装node,具体本博客搜索node,有一篇对应的教程。首先我们需要宝塔,因为需要ng反代,node他本身不能绑定域名的,所以就很蛋疼,如果我们还要配置https,用node来做就头疼的要死,用宝塔不到三分钟就搞定了。[hide]部署文件我们创建一个用于存放serve服务的文件夹,然后将server后端的一系列文件都传上去。cd /xxx/xx/xxx/xx 进入你的存放文件的目录此时我们可以像平时一样输入node server.js来启动后端服务,此时我们可以进行调试的。但是有个问题,这样启动的话,ssh命令界面一关闭,这个服务也就关闭了,我们不可能长期开着这个ssh窗口...
这个问题一般是出现在在路由鉴权的功能上。我们在路由守卫里面判断,当用户已经登录了,点击进入访客页,那么在进入之前我们next({name:"Home"})跳转到首页。然后就会报错:Error: Redirected from X to Y via a navigation guard.百度和谷歌找了好久,很多人都说是代码里面重定向过多,拜托,这种应该是键盘侠,如果真的过多,早就解决问题,还问个鸡腿。首先这个问题大部分都是出现在vue-router v3.1及以上的版本我觉得可能是插件的问题,因为出现这个问题的提问时间基本都是这两个月内出现的。唯一的解决办法就是降级,将...
es6的解构非常好用,可以省去很多代码。为此我测试了一些场景的错误没有对应的keyconst {data} = {datas:"文本"};这种情况下,有值,但是key无法解析,那么就会返回undefined,也就是data输出是个undefined没有值const {data} =null;这种情况就会报错,这个报错会停止js的运行,所以我们需要用try--catch捕获key对应的值为nullconst {data} ={datas:null};这种情况也不会报错,他会把null拿到综合情况const {data,test} ={datas:null};这种情况并不...
这个玩意真的太恶心了,强行换行,原本一行解决问题,现在要三行,真是日了狗了。找了半天发现只有一个方法:安装Beautify插件安装完毕后打开首选项 ---- 搜索 setting 随便找个选项,只要他有显示 在settings.json 中编辑 点击这个进入到配置文件他就是一个json对象,我们在第一个花括号里面加上如下内容:"beautify.config": { "brace_style": "collapse,preserve-inline" }实际效果应该是:{ xxxxxx这里有很多自定义的配置...
生成管理员账号一般如果自己手动去改文件,设置一个name一个password也行,但是太麻烦了,node有一个模块,可以以问题得形式询问用户,然后用户输入内容,回车后会触发一个回调,回调的参数就是用户输入的内容。首先我们需要引入一个官方的模块:readline;libs/rl.jsconst readline = require("readline"); let rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.questionAs...
对于密码的话,一般使用md5签名转成唯一的32位字符。md5不管文件有多大,都是只会生成32位,并且同一个文件,签名后结果都是相同的,而且这个结果不能反向破解,只能一个个的试,这种也称为暴力破解。暴力破击可以破解相对比较简单的密码,比如:123456 这种纯数字的。而且就算我们对同一个密码做两次md5,第一次生成的md5,第二次将第一次md5再次签名,一样也容易被人暴力破解。所以一般在第二次加密的时候,使用一段随机的字符,长度无所谓,中文都可以。libs/md5.jsmd5方法需要引入原生加密模块crypto。const crypto = require("crypto&quo...
整合一下服务:核心模块koa 框架koa-router 路由koa-static 发送静态文件(静态化文件)promise-fs 文件读写uuid 全局唯一标识符数据处理koa-better-body post数据和文件koa-convert koa-better-body的转换async方式的插件memorystream 内存流,高速数据生成promise-mysql 数据库sessionkoa-session sessionredis和bluebird redis后端渲染koa-ejs目录结构libs 用于存放自己写的通用模块log 用于存...
最近评论