自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (5)
  • 收藏
  • 关注

原创 electron+vue3+vite2 如何使用打印

electron打印大概有两种:第一种:通过window的webcontent对象,使用此种方式需要单独开出一个打印的窗口,可以将该窗口隐藏,但是通信调用相对复杂。第二种:使用页面的webview元素调用打印,可以将webview隐藏在调用的页面中,通信方式比较简单。两个对象调用打印方法的使用方式都一样。本文是通过第二种方法实现静默打印。作者:Danile_1226链接:https://www.jianshu.com/p/cc0751955826来源:简书著作权归作者所有。商业转载请联系作

2021-08-14 14:36:32 2167 5

原创 vue 实现手机端显示pdf

废话不多说直接上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>hello world</title></head><body>

2020-12-28 09:34:24 608

原创 docker 搭建mysql主从环境

废话不多说,什么是主从之类的自己上网查。我就不多说了,相信来看这边文章的大多数都知道的吧。环境搭建要求:用docker搭建mysql主从,必须得先安装docker。再而得熟悉docker的一些常用命令。我这里搭建的环境是mysql5.7+docker1.安装docker因为官网打开太慢所以赋上菜鸟教程地址https://www.runoob.com/docker/centos-docker-install.html2.下载mysql5.7镜像docker pull mysq

2020-11-19 15:21:37 310

原创 Redis 搭建主从集群服务

Windows 搭建redis主从1.下载redis,安装2.打开redis安装文件夹,新建从服务目录3.将redis-windows.conf 文件和 redis-server.exe 复制存放到三个从服务目录中4.修改从服务目录中的redis.windows.conf配置文件,每个从服务都得配置配置从服务redis端口号配置主服务器地址5.到这里一主三从redis服务就创建好了,下面创建哨兵(哨兵的作用是如果主redis服务宕机了则从从服务中选一个做为主的服务

2020-11-13 14:19:48 207

原创 koa2 项目构建 安装使用

koa2 是什么?一个简约、扩展性强,基于Node.js平台的web开发框架。安装安装之前得先安装node 版本要大于node v7.6.0想使用koa,我们肯定首先想到去官网看看,没准有个guide之类的能够轻松入门,可是koa官网跟koa本身一样简洁。如果要我一点点搭建环境的话,感觉好麻烦,所以先去找了找有没有项目生成器,然后就发现了狼叔-桑世龙写的koa-generator。#安装koa2脚手架npm install -g koa-generator#查看是否安装成功k

2020-10-14 16:22:48 373 1

翻译 tp5.1的门面模式

门面(Facade)门面为容器中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个facade类。例:1.定义一个Test类 --> 有一个hello动态方namespace app\common;class Test{ public function hello($name) { return 'hello,' . $name; }}2.接下来,我们给这个类定义一个静态代

2020-09-16 14:43:28 720

原创 redis 之数据持久化

redis持久化是什么 redis 是基于内存的,当你的内存关闭后数据则消失了。但是有的需求是数据继续保留当你下一次连接打开的时候 数据还在。这里就可以使用redis的数据持久化,它是每隔多少时间把你的数据自动存储到你的磁盘里生成持久化文件。这样就能实现数据的保留(个人理解)(redis5.0之前是单线程的,6.0版本是多线程的,redis服务端接收客户端发送的请求,会生成一个队列,一个一个进行处理)redis实现数据持久化提供了两种方式:RDB:指定的时间间隔内保存数据快照AOF:

2020-09-10 16:08:47 241

翻译 容器和依赖注入原理 (易懂)

<?php namespace app\index\controller; /** * 容器与依赖注入原理: * --------------------------------------------------------------- * 任何URL访问,最终都会定位到一个控制器,由控制器中具体方法来完成 * 一个控制器对应着一个类,如果对这些类进行统一管理呢?容器是一个好方案 * 容器: 除了类管理工具,还可用于将类的实例(实例是啥 对象啊)做为参数,传递给类方法时,触发对.

2020-09-04 16:30:48 506

转载 vue 3.0文档

https://juejin.im/post/6858558735695937544#heading-150

2020-08-29 13:58:48 1511

原创 uniapp 之版本检测自动更新机制

在做APP时需要用到自动更新升级机制,当版本更新了则提示用户升级下载更新。下面是我实现的逻辑版本更新后端数据库存入版本号,APP访问时获取当前版本和后端接口返回版本号是否一致。如一致则是最新版本,如不一致则提示用户更新下载新的版本。1.编写后台接口检测版本(为了方便测试和理解 我这里使用的是原生php的代码)创建index.php文件,编写如下代码<?phpheader("Access-Control-Allow-Origin: *");// 允许所有地址跨域请求clas

2020-08-29 11:02:39 4051 2

原创 uniapp 之检测用户是否已经安装APP

有时候需要APP需要分享H5链接给用户,用户点击链接检测当前用户是否已经安装APP,如果安装了则打开指定页面。没有安装则跳转下载链接。实现这个需求需要在APP打包上线时设置好 scheme 本地协议,然后访问H5页面时检测本地协议(其实就是在app中将http协议转换为本地协议)android第一步 打开uniapp配置文件manifest.json -> 源码视图把"schemes": ["hulian"]添加到"app-plus"->"distribute"->"an...

2020-08-29 10:24:48 4359

原创 TP6 安装和多应用模式部署

安装前准备:附上composer下载地址:https://getcomposer.org/Composer-Setup.exe安装TP6TP6提供了两种版本安装方式,这里我们选择稳定版本进行安装composer create-project topthink/think chat安装完成后,cd到chat目录下执行php think run这里执行成功后 直接访问http://localhost:8000 就可以访问成功了如果访问失败,可能是端口被占用了 这里可以

2020-08-15 15:19:23 1446 1

原创 通过 await 和 async 语法糖将异步代码变成同步

Promise 与 await-async,await-async是ES7推出的Promise语法糖,基础Promise之上下面我们看一段代码是await-async实现的异步阻塞同步执行function readSync(isTrue) { return new Promise((resolve, reject) => { setTimeout(function(){ if(isTrue){ resolve('成功!')

2020-08-06 09:38:35 1070

原创 node.js介绍和安装教程

node.js是什么node.js构建于Chrome V8引擎之上Chrome V8引擎是世界上目前公认解析执行javasript代码最快的node.js不是库、不是框架、不是一门语言,是一个javascript运行时环境,简单来说node.js能够解析和执行javascript代码。if在很早之前javascript只能依赖于浏览器来执行,然后有了node.js的出现使javascript可以完全的脱离浏览器来运行,一切都归功于:node.jsnode.js中不存在BOM和DOM,只.

2020-07-29 10:57:22 323

原创 React安装使用

react是什么?react是Facebook开发出的一款JS库react特点:react 不适用模板 react 不是一个MVC框架 react 响应式(数据更新的时候非常简单) reacr 是一个轻量级的js库react原理:虚拟Dom react当中把dom抽象成一个js对象,通过这个js对象实时更新真实的Dom,操作虚拟Dom的速度远远大于操作真实Dom,这样就提升了我们操作Dom的性能 diff算法 当页面数据发生变化 先更新虚拟Dom 而不去更新真实Dom 跟新js对象

2020-06-19 17:31:33 190

原创 docker精髓之DockerFile

dockerfile是什么?dockerfile是用来构建docker镜像的文件!命令参数脚本!构建步骤:编写一个dockerfile文件 docker build 构建成为一个镜像 docker run 运行镜像 docker push 发布镜像(docker Hub、阿里云仓库)查看一下官方是怎么做的?很多官方的镜像都是基础包,我们需要的镜像可能需要有linux + nginx + mysql + php环境 ,很多功能没有。所以我们通常会自己搭建自己的镜像。官方既然

2020-06-09 18:22:04 182

原创 docker精髓之容器卷

容器数据卷如果数据都再容器中,那么我们容器删除,数据就会丢失! 需求:数据可以持久化MySQL 容器删除了,删库跑路了!需求:MySQL数据可以存储在本地!容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地!这就是卷技术!目录的挂载,将我们容器内的目录挂载到linux上面!从上面这张图可以看出 容器mysql 内的/usr/mysql 目录是可以挂载到 linux的/home/mysql 目录实现两个目录数据同步总结: 容器持久化和同步操作! 容器间也是.

2020-06-09 15:25:50 205

原创 Docker常用命令 ---学习笔记

如果数据都再容器中,那么我们容器删除,数据就会丢失! 需求:数据可以持久化MySQL 容器删除了,删库跑路了!需求:MySQL数据可以存储在本地!容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地!这就是卷技术!目录的挂载,将我们容器内的数据

2020-06-06 14:23:55 227

原创 webpack安装使用 4.x

众所周知webpack是一款打包项目的打包工具本质上,webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle。安装webpack之前请确保你已安装了node.js如果没有安装请点击下载安装:官网下载安装地址webpack四个核心概念:入口entry 出口..

2020-06-05 15:26:55 326

原创 PHP 基础之掌握位运算符

位运算符是变量值转换成二进制进行比较1. &按位与(And) $a& $b//二者都为 1 时为 1 ,否则为 0。即把 $a 和 $b 中都为 1 的位设为 1 ,否则设为 0$a = 2; //00000010$b = 1; //00000001$c = 3; //00000011var_dump($a & $b); //falsevar_dump($b & $c); //true2. ^按位异或(Xor) $a ^$b...

2020-06-04 17:58:46 130

原创 vue创建项目升级成 3.0

首先确保已经安装了 vue-cli 3.0没有升级之前的版本如下图所示cd 项目名称vue add vue-next修改项目文件package.json 以下代码"fix":"eslint --fix --ext .js,.vue src"执行fix命令npm run fix重新编译项目npm run serve再打开package.json文件查看vue版本...

2020-06-01 11:10:18 478

翻译 yarn的安装和使用

yarn的简介:Yarn是facebook发布的一款取代npm的包管理工具。yarn的特点:速度超快。 Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。 超级安全。 在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。 超级可靠。 使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。yarn的安装:下载node.js,使用npm安装npm install -g

2020-06-01 10:50:33 220

原创 typescript 安装使用,基础类型详解

TypeScript 是JacaScript的超集 (包含js ES567语法),同时也新增了一些语法,例如类型和面向对象的。但是新增的这部分语法不能被浏览器和node.js无法识别并执行的,所以就需要一个工具将ts代码转换成浏览器、node.js识别的代码安装ts前提要先安装node.js(这里不多说直接官网下载对应版本选择安装路径下一步就好了)node.js安装下载地址https://nodejs.org/zh-cn/安装完成 查看对应版本号是否安装成功node -v全局安装ts.

2020-05-28 11:58:30 370

原创 vue实现浏览器全屏

1.安装npm install --save screenfull2.引入到页面import screenfull from 'screenfull'3.调用全屏事件/** * 全屏事件 */screenfull() { if (!screenfull.enabled) { this.$message({ message: 'Your browser does not work', type: 'warning'

2020-05-26 09:33:58 840

原创 小程序显示图片空白

将网络图片转换成本地图片显示//将网络图片转换成本地图片wx.getImageInfo({ src: 'https://01.jpg', success: function (res) { console.log(res.path);//得到处理后的本地图片路径 }})完美解决

2020-05-22 18:04:39 1172

原创 php文件遍历批量改后缀名 Linux脚本批量改文件后缀名教程

需要安装php 用php执行当前文件1.php遍历文件批量改后缀名<?php/** * @param $dirname * @return bool * 修改文件后缀名 */function list_file($dirname){ if(!is_dir($dirname)) { echo "{$dirname} not effective dir"; return false; } $handle=opendir(

2020-05-21 11:52:14 216

原创 微信小程序 boundingClientRect 获取元素节点位置信息不准确

微信小程序 获取页面元素视图位置的 高度不准确,官方没有明确的给解决方式。wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){ rect.id // 节点的ID rect.dataset // 节点的dataset rect.left // 节点的左边界坐标 rect.right // 节点的右边界坐标 rect.top ...

2020-05-21 11:30:14 18594 8

原创 去掉小程序默认样式

1.打开app.json

2020-05-19 13:56:18 922

原创 微信小程序之条形码和二维码生成

1.首先在utils文件下创建barcode.js与index.js两个文件barcode.js 代码如下var CHAR_TILDE = 126;var CODE_FNC1 = 102;var SET_STARTA = 103;var SET_STARTB = 104;var SET_STARTC = 105;var SET_SHIFT = 98;var SET_CODEA = 101;var SET_CODEB = 100;var SET_STOP = 106;var REP

2020-05-19 13:32:54 2785

原创 小程序之scroll-view组件scroll-y失效

开始我以为是小程序scroll-view组件scroll-y失效,查了很多网上说的都没有确切的解决掉问题下面是我写的代码 <scroll-view class="VerticalNav nav" scroll-y scroll-with-animation scroll-top="{{VerticalNavTop}}" style="height:calc(100vh - ({{topHeight}}px + 50px))"> <view class="cu-

2020-05-15 16:54:57 3115

原创 vue路由history模式 部署到nginx服务器 直接访问路由/刷新 404

nginx.conf配置location / { try_files $uri $uri/ /index.html;}

2020-05-14 10:46:31 738

原创 微信小程序request封装 和 Token鉴权流程

1.utils下面新建config文件用来配置请求接口文件utils/config.jsclass Config { constructor() {}}//接口请求地址Config.restUrl = "";export { Config }; 2.创建token文件token.js// 引用使用es6的module引入和定义// 全局变量以g_开头// 私有函数以_开头import { Config } from 'config.js';class Tok

2020-05-11 18:03:30 3134

原创 IE 浏览器下面显示时间为NAN完美解决

因为js的new Date()方法,在不同的浏览器兼容的格式不一样谷歌就可以显示 IE下就NAN 把获取的时间格式 例如:2020-04-01 21:33:32替换文本在进行new date();再转换成你想要的时间格式 代码如下var time = date.replace(/-/g, "/"); #文本替换return format(time);#转换成你想要的的格式fu...

2020-04-20 14:08:55 4785

原创 centos 7.2 安装 php7.2.29+nginx+mysql5.7+swoole扩展

php7.2.29安装php官网:https://www.php.net/downloads.php1.从官网找到对应php版本号 鼠标右键复制下载链接地址2.在/home 目录下面创建一个package文件夹用来存放安装包cd /homemkdir packagecd package3.下载php安装包wget https://www.php.net/di...

2020-04-16 16:03:56 1213

翻译 redis锁机制处理高并发

这里我们主要利用Redis的setnx的命令来处理高并发。setnx 有两个参数。第一个参数表示键。第二个参数表示值。如果当前键不存在,那么会插入当前键,将第二个参数做为值。返回 1。如果当前键存在,那么会返回0。创建库存表CREATETABLE`storage`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`nu...

2020-04-15 09:19:11 732

原创 layui 富文本编辑器之修改赋值使用 空格转换

// 初始化富文本框layui.use(['form','layedit'], function () { var layedit = layui.layedit; $("#demo").text(data.org_desc); index = layedit.build('demo',{tool: ['strong', 'italic','underline','de...

2020-04-14 12:43:05 999

原创 vue-cli3.0 配置请求跨域nginx代理转发 微信 {“errcode“:40066,“errmsg“:“invalid url hint: [FZbxRA0556sz12!]“}错误

1.vue-cli3.0项目 新建一个vue.config.vue文件中配置代理路径devServer: { // port: 3000, // 端口号 // 允许外网访问 //disableHostCheck: true, proxy: { '/wxapi': { //这里最好有一个 / ...

2020-04-14 11:50:35 834

原创 npm 安装vue教程

1.安装vue全局命令(如果安装失败先执行第二条命令执行完成再进行安装)npm install -g vue-clinpm cache clean --force #安装失败执行当前命令2.安装失败删除vue-cli文件重新安装3.安装完成后运行vue如下图所示则安装成功...

2019-10-31 10:40:38 1109

原创 centos7 swoole 安装教程

版本要求php版本> php5.41.更新服务器(先更新下服务器以确保后面安装正常)yum update2.安装php、pre、dev、httpd、gcc等安装包yum install php php-pear php-devel httpd gcc3.pecl安装swoolepecl install swoole4.让php支持swoole 修改php...

2019-10-22 13:17:29 498

翻译 linux目录结构

2019-07-22 10:25:38 107

pdf.js 手机端或H5显示pdf

pdf.js 手机端或H5显示pdf

2020-12-28

VUE自定义带中文软件盘

VUE自定义带中文软件盘

2020-12-28

webpack_demo.zip

webpack4.x安装使用 核心概念实战源

2020-06-05

云通信开发

表情文件,云通信签名文件、和title组件。

2019-03-25

html+jQuery+canvas实现手机拍照上传(这里上传的是预览图的大小,原图大小路径获取已上传参考)

简单方便实现手机拍照上传功能,本人亲自测试。

2018-06-23

空空如也

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

TA关注的人

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