自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 node项目部署以及搭建nginx服务器

因为阿里云的服务器就要到期,所以就需要重新购买服务器,考虑到服务器续费有点贵而又赶上腾讯云在搞周年庆的活动,所以这次就购买了腾讯云的服务器,也因为更换了服务器,所以就得重新部署博客项目想查看更多文章,请访问:深的个人博客博客项目技术栈前端vue全家桶axioselementUIvue-socket.ioecharts后端node (koa2)socket.io数据库mongodb服务器nginx上线流程服务器购买,域名购买,域名备案,公安备案购买服务器的流

2020-11-14 17:37:16 4942 2

原创 uni-app 即时聊天:朋友圈

在写uni-app即时聊天项目的时候,就想着用uni-app实现微信朋友圈的功能,在完成这些功能的时候,也遇到了很多的问题,比如数据表的设计(个人动态表,朋友圈动态表,通知表等),因为也是第一次去制作这种功能,所以可能在思路上还是有所不足的,以下代码仅供参考,如果有更好的方式,请大佬们提出来(可在评论区留言)功能设计简图关于个人动态的操作个人动态表的部分操作会导致朋友圈动态表的改变,例如发布动态和删除动态关于朋友圈动态的操作表设计个人动态表const mongoose = req.

2020-11-11 22:23:42 2436 3

原创 uni-app 即时聊天

项目介绍前段时间在B站看到了有一个UP主在讲uni-app即时聊天的项目(逸刻时光),在看了这个视频之后,感觉还是挺有兴趣的,所以在看他的讲解视频之后,就自己动手写了这个即时聊天项目,在样式方面跟(逸刻时光)相比改动的地方还是比较多的,后端的是我使用的是node的koa框架,而(逸刻时光)的up主是使用express,个人觉得还是koa框架用起来比较好用,没有那么多的嵌套,可以使用async和await来解决回调地狱等,另外就是(逸刻时光)的up主更新这个项目是更新的比较慢的,所以前后端的很多问题都得自己

2020-08-04 14:03:08 23669 32

原创 360浏览器安装扩展程序

360浏览器中打开该网址: http://chrome.360.cn/extensions/

2021-09-01 14:36:03 1067

原创 微信小程序蓝牙对接热敏打印机

最近开发的一个小程序里需要对接热敏打印机打印小票,在此记录一下对接的过程项目开发注意点:1、因为项目中有多个页面的数据是需要进行打印的,为了保持蓝牙的连接状态和数据,所以连接蓝牙的操作和数据会在vuex里面进行统一管理。2、打印模板会统一进行管理3、打印数据前需要对上一次打印的数据进行清理 使用 printerJobs 对象里的 clear() 方法实现清理数据4、在原有的sdk上增加三列打印的方法技术栈uni-app参考资料微信小程序蓝牙打印项目效果图打印效果图项.

2021-07-28 11:20:59 8111 7

原创 在React项目中的使用Apollo graphql 客户端

Apollo Server 是一个 Apollo 开源的一个基于 Nodejs 的 GraphQL 后端服务集成方案。主要提供 GraphQL 后端的数据解析,查询,突变等解析功能,可以提供给任何的 GraphQL 客户端查询。Apollo Client 是一个全功能的 GraphQL 客户端,用于 React 、Angular 的交互。允许你轻松通过 GraphQL 获取数据并构建 UI 组件。安装npm install @apollo/client graphql创建/** * apo..

2021-07-08 18:43:15 788 1

原创 React 后台管理制作历史导航条

更多文章请访问 深的个人博客效果图项目目录分析1、在Tabs组件里使用 this.props.history.listen 监听路由变化,路由变化时就添加对应的历史记录2、在Tabs组件和LeftMenu组件里使用事件订阅进行通信(pubsub-js), 当点击Tabs组件里的标签时,leftMenu跳转到相应的菜单栏Tabs组件注意点1、因为Tabs组件的标签是有展开和隐藏功能,所以需要获取到相应盒子的高度,使用refs获取盒子高度时,可以先执行this.setState({})更

2021-06-27 12:56:35 539

原创 使用webview实现小程序本地文件上传

最近因为公司有个小程序的项目需求是让用户上传本地文件(使用uni-app开发),查阅了小程序的api,发现小程序只开放了两个相应的apiAPIwx.chooseImage(Object object)从本地相册选择图片或使用相机拍照wx.chooseMessageFile(Object object)从客户端会话选择文件(注意:从客户端会话选择文件是指从微信聊天里选择对应的文件)因为这两个API都不能实现项目需求,所以在查阅了相应的资料后,发现目前只能走一条路:使用we

2021-04-17 14:16:46 7090 9

原创 pm2的安装和常用指令

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能

2021-01-13 22:11:00 258

原创 uni-app canvas实现环形刻度进度条

因为项目中需要使用到一个环形刻度进度条,所以就需要实现这个需求,在uni-app插件市场找了一圈,也没有找到这种插件,只找到了一个环形进度条,所以就在该插件上修改,实现了一个环形刻度进度条参考uni-app插件市场:弧形进度条微信小程序canvas画原型带刻度进度条效果图代码<template> <view class="progress_box"> <canvas class="progress_bg" canvas-id="cpbg"><.

2021-01-02 12:31:24 6681 5

原创 uni-app 项目问题总结

uni-app项目中使用Tailwind CSSTailwind CSS 是一个工具集 CSS 框架,助你快速实现定制化的网站设计。Tailwind CSS 是一个高度可定制的基础层 CSS 框架,它为您提供了构建定制化设计所需的所有构建块,而无需重新覆盖任何内建于框架中的设计风格。Tailwind CSS官网使用体验:第一次用到这个工具集css框架,说实话,使用了之后能够大大提高写页面的速度,真的是不很不错的一个工具,推荐使用uni-app 页面关于状态栏的背景设置在网上搜索了一下怎么

2021-01-02 12:12:57 1325

原创 uni-app 即时聊天:制作分组导航

样式图效果图制作方法用户分组制作分组导航首先要做的就是将用户分组,在这个项目中我是根据用户昵称的首字母来进行分组的,所以就需要将汉字转为拼音,转换的方法大家可以在网上搜索,另外就是这个操作你可以在前端执行也可以在后端执行,当然还是在前端执行比较好,我是在后端执行好的,只作为参考,方法如下: let result = await Friend.findOne({ userID: tokenRes.id }).populate("friend_list.user", "avatars")

2020-08-19 15:04:59 614

原创 js 滚轮事件

谷歌浏览器滚轮事件 :mousewheel火狐浏览器滚轮事件 :DOMMouseScroll鼠标滚轮滚动方向: 谷歌:e.wheelDelta 120倍数 向前 e.wheelDelta -120倍数 向后 火狐:e.detail -3 向前 e.detail 3 向后鼠标滚轮事件兼容函数function mousewheel(dom,callback)...

2019-10-30 12:24:17 250

原创 ES6 let,const和for循环块级作用域

let和var的区别var能够在同一个作用域中重复声明变量let不能够在同一个作用域中重复声明变量全局作用域中var声明的变量,会自动成为window对象的属性全局作用域中let声明的变量,不会自动成为window对象的属性变量提升 JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。 JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。...

2019-10-30 11:41:04 546

原创 ES6解构赋值

解构赋值:拆解数据解构,来给变量赋值如果左边模式只匹配到右边模式的所有,则这个解构是完全解构如果左边模式只匹配到右边模式的一部分,则这个解构是不完全解构如果左侧模式中的个别变量没有匹配到右边模式,则这个解构是不成功解构//数组解构赋值let [ a , b ] = [ 5 , 6 ]; //a=5,b=6;//字符串解构赋值let [a, b, c, d, e] = 'hel...

2019-10-30 10:08:29 130

原创 git基础

gitgit:分布式版本控制软件命令git add 将本地文件 增加 到暂存区git commit 将暂存区的内容 提交到 本地仓库(本地分支,默认master分支)git push 将本地仓库的内容 推送到 远程仓库(远程分支)git pull 将远程仓库的内容(远程分支) 拉取到 本地仓库(本地分支)安装git下载地址:https://git-scm.com/do...

2019-10-26 23:20:35 135

原创 Node.js express

expressexpress是一个基于node.js的极简、灵活的web开发框架。可以实现非常强大的web服务器功能。express的特点 可以设置中间件响应或过滤http请求。 可以使用路由实现动态网页,响应不同的http请求。 内置支持ejs模板(默认是jade模板)实现模板渲染生成html。使用express框架初始化项目npm init安装npm install ...

2019-10-26 21:40:51 236

原创 Node.js http模块

http模块的作用以及基本使用http模块是专门用来搭建服务的,供客户端请求以及向客户端响应创建服务 当客户端向服务端发起请求时,就会触发回调函数 回调函数的参数 req 请求体 res 响应体const http =require ("http")//创建服务var server=http.creatServer(function(req,res){ //设置响应的...

2019-10-26 20:31:20 350

原创 node.js 基本网络知识

网络网络是一个共享、传输信息的虚拟平台。网络协议每天有大量的数据在网络上传输,都需要遵循相应的规则,规则就是网络协议。http协议http(hypertext transfer protocol)即超文本传输协议,传输超文本内容(文字、图片、视频、音频、动漫...)http协议规定了数据在服务器与浏览器之间传输数据的格式和过程。http协议规定的细节HTTP交互特点 htt...

2019-10-20 16:59:17 169

原创 node.js path模块和URL模块

path模块path模块是node.js中提供的一个系统模块,用于格式化或凭借一个完整的路径path模块常用方法: path.join() 将多个字符串拼接成一个完整的路径 path.dirname() 返回路径中的文件夹部分 path.basename(); 返回路径中的文件部分 path.extname(); 返回路径中的扩展名部分 path.normalize(); ...

2019-10-20 16:40:36 709

原创 node.js 缓存区和文件系统模块

缓存区缓存区是在内存中开辟一个临时区域用于存储要运算的字节码创建缓存区的方式:创建指定长度的缓存区var buf=new Buffer(大小)按指定的数组(编码)创建缓存区var buf=new Buffer([10进制编码])//var buf=new Buffer([97,98,99,65,66]);按指定字符创建缓存区var buf=new Buffer("字符串")...

2019-10-20 14:54:29 557

原创 Vue指令

v-textv-text的作用跟插值表达式是一样的,但是不同的地方在于:v-text会覆盖元素中原本的内容,插值表达式只会替换自己的这个占位符,不会把整个元素的内容清空,而且v-text默认是没有闪烁问题的<h4 v-text="msg"></h4>v-htmlv-html会解析字符串中的html代码<h4 v-html="msg2"></h4...

2019-10-19 21:27:44 92

原创 Vue基础

基础代码结构导入Vue<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>基础代码结构<body> //new的Vue实例会控制ID为app的div元素中的所有内容 //Vue实例所控制的这个元素区域,就是MVVM模式中的V <div id="ap...

2019-10-19 20:26:41 94

原创 js拖拽

拖拽使用的三个事件onmousedown //鼠标按下onmousemove //鼠标移动onmouseup //鼠标抬起<head> <style> img{ position:absolute; left:0; top:0; ...

2019-10-19 18:03:22 161

原创 js事件

事件的分类鼠标事件滚轮事件键盘事件DOM0级事件通过事件绑定的形式,dom元素只能有一个事件处理函数,则这种形式叫做DOM0级事件通过DOM0级事件绑定点击事件var box=document.getElementById("box");box.onclick=function(){ console.log("我被点击了");}移除绑定的点击事件box.onclick...

2019-10-19 17:43:49 123

原创 JavaScript脚本化CSS

行内样式和计算样式元素节点.style:获取的是行内样式表一般使用行内样式表来设置某些css属性含有连词符的css属性,需要使用小驼峰写法float是js里面的保留字,一般使用cssFloatvar box = document.getElementById("box");console.log(box.style.height);window.getComputedStyle...

2019-10-16 13:30:11 103

原创 webpack的安装以及配置

webpack安装方式一:运行 npm i webpack -g 全局安装webpack,这样就能在全局使用webpack的命令方式二:项目根目录中运行 npm i webpack --save-dev 安装到项目依赖中webpack在项目当中的配置初始化项目运行 npm init 初始化项目,使用npm管理项目中的依赖包创建项目中的基本目录结构创建index.html和main....

2019-10-15 14:51:42 145

原创 NPM包管理工具

NPMnpm(Node Package Manager)是基于nodejs的包管理工具什么是包包===项目模块===文件package.jsonpackage.json是node.js项目的包描述文件,以JSON格式的形式描述项目创建package.jsonnpm initnpm init -y//自动以全部为yes的形式生成package.json文件package....

2019-10-14 13:32:18 151

原创 Node.js的模块

Node.js的模块化什么是模块在node.js中所有的功能都是以模块形式存在的(每一个文件就是一个模块),所有用户编写的代码都会自动封装在一个模块汇总,模块与模块之间相互独立,如果说要在一个模块中使员工另一个模块的功能,就需要引入模块,另一个模块就需要将数据暴露出来。什么是自定义模块我们自己写的模块就是自定义模块暴露数据exports.属性或方法名=值;引入模块require(“...

2019-10-14 13:09:59 191

原创 Node.js的安装

Node.jsnode.js是一个基于Chrome V8引擎的JavaScript运行环境node.js与javaScript的区别node.js是一个js运行环境,与浏览器的JS执行功能是一样的。js是一门编程语言node.js的安装下载node.js____node.js官方网站安装node.jsnext…finish!配置环境变量鼠标右击我的电脑,属性—高级系统设置—环境...

2019-10-14 12:33:30 192

原创 DOM基础操作

javaScript的组成js语法:ECMAScriptDOM:Document Object Model(文本对象模型),可以操作html+cssBOM:Browser Object Model(浏览器对象模型)DOM树结构图DOM节点类型基于节点树的查询childNodes 查询所有的子节点们firstChild 查询第一子节点lastChild 查询最后一个子节点...

2019-10-14 11:10:39 192

原创 js正则表达式

正则表达式的作用:专门用来匹配字符串正则是一个引用数据类型:typeof 正则----->"object"创建正则表达式的方法//方式一:var reg=new RegExp("匹配的字符串");//方式二:var reg=/匹配的字符串/正则表达式的常用方法str.match(reg)按照指定的正则匹配,匹配出str中的符合规则的字符,如果没有则返回nullvar s...

2019-10-13 22:28:18 251

原创 js数组的常用方法

数组里面可以放任意的数据类型,数组的索引是字符串类型的,如果不是字符串类型,则会隐式转换成字符串类型数组的length属性储存了数组的长度push(数据1,数据2,…)向数组最后面添加多个数据,原数组被改变,返回值是改变后数组的lengthlet arr=[1,2,3];arr.push(4,5,6);//arr=[1,2,3,4,5,6];unshift(数据1,数据2,…)向数...

2019-10-12 11:44:22 88

原创 js字符串方法

str.length获取字符串的长度let str="javaScript"console.log(str.length); //10str[索引值]获取对应索引位置的字符串let str="javaScript"console.log(str[0]); //jstr.charAt(索引值)获取对应索引位置的字符串let str="javaScript"console.l...

2019-10-11 23:45:21 163

原创 JavaScript运算符

算数运算符加法运算符 : +加号两侧都是数字类型 作用:求两个数字的和NaN和任何数字做运算,结果都是NaNlet a=1+2;console.log(a)//a的结果为3加号有一侧是字符串类型或者是引用值时 作用:字符串拼接编译原理:1.会把非字符串的类型转换成字符串。2.转换的字符串与另一个字符串拼接let a=null+"ymeng" 计算过程:...

2019-10-07 18:32:06 260

原创 JavaScript 数据类型与数据转换

javaScritp数据类型与数据类型转换数据类型:数字类型:(Number)1 , 2 , -1 ,0字符串类型(String) 用一组单引号或者一组双引号包裹的数组‘1’ ,“1” ,“string”布尔类型(Boolean)true falseundefined 类型undefined 未定义的null 类型null 空对象数组...

2019-10-07 13:11:48 157

空空如也

空空如也

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

TA关注的人

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