自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微信小程序通过知晓云云函数导出excle(无须后台开发)

知晓云介绍知晓云是个好用、顺手的小程序开发工具。它免去了小程序开发中服务器搭建、域名备案、数据接口实现等繁琐流程。让您专注于业务逻辑的实现,使用知晓云开发小程序,门槛更低,效率更高。知晓云官网注册地址开发步骤前期准备nodejs小程序知晓云账号,绑定小程序 balabala的 注册后按照提示操作即可安装命令行工具npm install -g mincloud...

2019-02-11 11:41:43 5321 15

原创 如何使装饰器在vue2中被合理的利用,提高工作效率

什么是装饰器https://github.com/tc39/proposal-decorators装饰器是ES2016提出来的一个提案,当前处于Stage 2阶段,关于装饰器的体验,可以点击 https://github.com/tc39/proposal-decorators查看详情。装饰器是一种与类相关的语法糖,用来包装或者修改类或者类的方法的行为,其实装饰器就是设计模式中装饰者模式的一种实现方式。第一次看到装饰器的时候,立马就跟spring的注解关联起来了。两者都是可以在某一项任务前后嵌入额

2021-12-15 15:52:23 907

原创 vue项目中自动导入svg并愉快的使用

引入图标的几种方式远古时代一个个小图标png图片引入,代码中在一个个引用iconfont时代将整个工程用到的图标,全部打包生成字体文件,在代码中全局引入,只要通过标签和class就能够使用缺点:当新增图标的时候,需要重新生成字体文件,当团队开发的时候,新增图标就显得格外麻烦svg时代优势:svg可以单独引入,不需要像iconfont一起打包封装一个全局组件,就能像iconfont一样,传入class名称就能显示对应svg图标注意点:svg有兼容性问题,使用的时候先跟

2021-12-15 15:23:20 1838 1

原创 node开发企业级开发实践(egg.js+Sequelize+PostgreSQL+jwt)

最近学习了egg.js,发现以前用express开发的node项目真的是惨不忍睹,所以根据之前的express项目进行改造和对比,列一下egg有哪些优势解决了哪些问题。logswagger自动生成validate 参数校验异常处理,统一拦截免router配置sequelize降低前端写sql语句门槛jwt鉴权文章步骤中隐去部分代码,便于展示,文章最后会放上完整的demo项目结构首先展示下,搭建完基础的内容的项目结构app├─router.js // 路由 不过通过JSDoc自动

2021-09-08 10:38:50 1084

原创 通过源码解析,理解vue2中data数据变更和nextTick到底发生了什么

这里写自定义目录标题时间循环机制vue2中data数据变更是怎么触发dom修改的新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入时间循环机制宏任务平常正常执行的js代码setTimeoutsetImmediat

2021-08-05 11:57:53 474

原创 vue3数据响应式与依赖收集

vue3 数据响应式整体思路使用new Proxy对响应式数据进行代理get函数触发trace添加依赖如果get的数据是对象,执行递归new Proxy代理(此处是懒调用,只有对象被使用才会执行new Proxy代理)set函数触发trigger执行get函数收集的相关依赖vue3响应式和vue2的变化从Object.definePrototype =》 new Proxy优点对整个对象使用Proxy代理,并且对象是懒调用(未被使用的对象,不会添加代理),免去整

2021-07-20 16:42:42 580

原创 前端工程打包并自动上传服务器

前因每次打包要经历的步骤执行npm run build命令打开fileZilla打开指定标签(直接进入对应dist目录和服务器目录)拖拉文件到服务器太麻烦了,想着说能不能通过一行命令直接解决这个问题。然后去网上查找资料,终于解决了问题改造后的打包上传命令{ "scripts": { "build-upload": "vue-tsc --noEmit && vite build && cross-env NODE_ENV=dev node ./c

2021-07-14 16:02:23 1479 2

原创 vue响应式原理简单代码实现(学习笔记)

响应式原理简单代码实现最基础的数据拦截function defineReactive(obj, key, val) { // 如果val本身还是对象,则需要递归处理 observe(val) Object.defineProperty(obj, key, { get() { console.log("get", key); return val; }, set(v) { if (v !== val) { //

2021-07-02 16:45:54 415 1

原创 node+pm2服务器部署nodejs服务

node环境传输node-v12.18.0-linux-x64.tar.xz到服务器 /home/aegis/node解压并重命名tar -xvf node-v12.18.0-linux-x64.tar.xzmv node-v12.18.0-linux-x64 nodejs配置环境变量 vim /home/aegis/.bash_profile添加 export NODE_HOME=/home/aegis/node/nodejs添加 PATH=$NODE_HOME/bin:$PATH

2020-06-23 11:19:35 1063

原创 使用nodejs封装pg数据库操作类

首先是源代码下文是TypeScipt的源代码,如果想要JavaScript的源码,点击下载。import pg from 'pg';interface ConnectError { (result: Result): void;}interface ConnectSuccessParams { err: Error; client: pg.PoolClient;}interface ConnectSuccess { (obj: ConnectSuccessParams): vo

2020-06-22 16:18:33 1247

原创 阅读《重构改善既有代码的设计》实践---重构+新增功能

契机上个博客写了何时重构,在公司项目新增功能的时候,遇到了一个接口api,完美符合以上几点。export function getDirections(data) { let coordinates = ''; let coordsArray = []; let paramObject = null; let dataParams = null; // ?geometries=geojson&access_token=&alternatives=true&step

2020-05-15 17:42:49 401

原创 阅读《重构改善既有代码的设计》笔记---何时重构

何时重构预备性重构: 让添加新功能更容易也许已经有个函数提供了我需要对大部分功能,但有几个字面量但值与我但需要略有冲突。如果不做重构,我可能会把整个函数复制过来,修改这几个值,但这就会导致重复代码。重构方法:函数参数化(310)优点:减少重复代码功能变更变得容易问题修复变得容易帮助理解的重构:使代码更易懂我可能看见了一段结构糟糕的条件逻辑,也可能希望复用一个函数,但花费了几分钟才弄懂它到底在做什么,因为它但函数命名实在是太糟糕了。这些都是重构但机会重构方法:语义

2020-05-12 16:49:18 191

原创 微信小程序首页图片本地缓存

来源最近写小程序的时候,因为首页有轮播图、广告图等等,导致我的首屏加载太慢了,想着将一部分图片做下本地缓存。解决办法查询apiFileSystemManager.saveFileFileSystemManager.saveFile(Object object)保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。wx.getSaved...

2019-10-09 16:25:52 3379 1

原创 前端框架选型搭建-vue-vuex-route-elementui+axios

简介开发工具VSCode, WebStorm 。。。可以使用自己喜欢的任意开发工具或者文本编辑器开发环境Node.js, Npm, Cnpm, Webpack, ES6框架Vue.js, Element UI基础概念Node.js Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进...

2018-08-28 19:25:55 1936

原创 使用浏览器自带定位功能初始化百度地图

百度地图自带了定位的api,但是这个定位的精确度确实太低了。 所以我就用浏览器自带的GPS功能获取GPS坐标,再通过百度地图坐标转换的功能,初始化百度地图。<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <me

2017-08-03 10:59:46 1195

原创 ie兼容性问题(持续更新)

ie 6 7 JSON 兼容1、使用jqeury的JSON方法$.parseJson(json)2、eval方法var jsons = req.responseText; var s; if (typeof(JSON) == 'undefined'){ s = eval("("+jsons+")"); }else{ s = JSON.parse(jsons);

2017-08-02 16:44:39 990 3

原创 Cordova+X5(tencent webview)

cordova安装安装node.js安装cordova npm install -g cordova创建cordova工程 cordova create MyApp进入cordova工程 cd MyApp添加工程环境 cordova platform add android(这里以android为例) 至此,就可以使用android studio打开改cordova工程。...

2017-08-01 17:14:24 5066

原创 Vue 响应式原理

将data与dom绑定的原理 首先引用官网的一张图要将data与dom绑定,首先要满足一下几点 1、Vue实例内预先定义了data 2、使用Vue.set(object, key, value)或者vm.$set(object, key, value)方法设置了data因为Vue实例创建的时候,Vue将遍历data内的所有属性并使用 Object.defineProperty 把这些属性全

2017-07-20 15:23:24 1179

原创 Vue computed计算属性的妙用

computedcomputed:相当于method,返回function内return的值赋值在html的DOM上。但是多个{{}}使用了computed,computed内的function也只执行一次。仅当function内涉及到Vue实例绑定的data的值的改变,function才会从新执行,并修改DOM上的内容。computed和method的对比<div id="example">

2017-07-14 00:06:00 32419 1

原创 AES+RSA加密解密(js和java互通)

客户端和服务端数据加解密流程图案例1、客户端生成aes秘钥 jsfunction getAesKey(len) {   len = len || 32;   var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1*...

2017-07-13 18:00:42 9637 3

原创 Vue filters过滤器

简介 先来看看一段代码理解下 html<div id="app"> {{message | filters2| filters3(true,priceCount)}}</div>jsvar app = new Vue({ el: "#app", data: { message: 199, priceCount:.8 },

2017-07-13 15:43:45 543 1

原创 Vue实例

构造器html<div id="app8"> {{message}}</div>js//创建一个可复用的组件构建器var MyComponent = Vue.extend({ data:function () { return { message:"ddddddd" } }})//实例化var myCompon

2017-07-12 15:58:58 445 4

原创 vue基础语法

条件与循环v-if&v-forv-if:<div id="app3"> <a v-if="seen">3、看得到我吗</a></div>var app3 = new Vue({ el: "#app3", data: { seen: true }})setTimeout('app3.seen="false"', 3000);v-if属性绑定Vue实

2017-07-07 18:05:24 387

原创 vue component组件

vue组件

2017-07-07 17:49:23 532

egg企业级开发demo

node开发企业级开发实践 egg.js+Sequelize+PostgreSQL+jwt 包含功能: 1. log 2. swagger自动生成 3. validate 参数校验 4. 异常处理,统一拦截 5. 免router配置 6. sequelize降低前端写sql语句门槛 7. jwt鉴权

2021-09-08

使用nodejs封装pg数据库操作类(TS编译后JavaScript源码),

使用nodejs封装pg数据库操作类(TS编译后JavaScript源码), 使用该类,可以进行数据库增删改查操作, 并且封装类分页查询,等便捷sql查询。 备注:过于复杂sql,需要调用clientQuery查询

2020-06-29

node-v12.18.0-linux-x64.tar.xz 包含pm2离线包

包含pm2到node离线包, ### node环境 1. 传输node-v12.18.0-linux-x64.tar.xz到服务器 /home/用户名/node 2. 解压并重命名 1. `tar -xvf node-v12.18.0-linux-x64.tar.xz` 2. `mv node-v12.18.0-linux-x64 nodejs` 3. 配置环境变量 `vim /home/用户名/.bash_profile` 1. 添加 `export NODE_HOME=/home/用户名/node/nodejs` 2. 添加 `PATH=$NODE_HOME/bin:$PATH` 3. 保存修改 4. 执行 `source /home/用户名/.bash_profile` 3. 执行 `node -v` 验证环境是否配置成功 ### pm2安装 1. `npm install pm2 -g` ### 项目部署 运行 1. 将xxx-server.zip上传至服务器 /home/用户名/node 2. `unzip xxx-server.zip` 3. `cd xxx-server` 4. `npm install` 5. `pm2 start /home/用户名/node/xxx-server/app.js --name xxx-server` 6. `pm2 list`查看服务状态status是否为online,如果不是尝试重新启动`pm2 restart xxx-server` ### 包含pm2 离线node包 下载地址

2020-06-23

使用nodejs封装pg数据库操作类(TS编译后JavaScript源码),

使用nodejs封装pg数据库操作类(TS编译后JavaScript源码), 使用该类,可以进行数据库增删改查操作, 并且封装类分页查询,等便捷sql查询。 备注:过于复杂sql,需要调用clientQuery查询

2020-06-22

AES+RSA加密解密(js和java互通)

rsa aes 加解密 js java 前后端互通

2017-07-13

空空如也

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

TA关注的人

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