自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zwj

  • 博客(113)
  • 收藏
  • 关注

原创 【 Node 】Token的生成与验证、密码的加密与验证

目录结构搭建服务器express框架mongoose连接数据库配置passport 方便后面的token验证server.jsconst express = require('express');const app = express();const mongoose = require('mongoose');// 验证tokenconst passport = require('passport');// 引入路由const users = require('./route

2021-11-14 17:23:45 2716

原创 【 webpack 】配置的拆分、合并

拆分配置根据mode模式的不同 可以将webpack.config.js拆分开来webpack.base.config.js 基本配置module.exports = { // 配置基本的webpack配置}webpack.pro.config.js 生产环境// 引入基本webpack的配置const baseConfig = require('webpack.base.config.js')// 设置生产模式下的配置const proConfig = { mode:"produc

2021-11-13 22:00:32 793

原创 【 总结 】数组扁平化

数组自带方法 实现扁平化array.flat(deepth)deepth : 指定要提取嵌套数组的结构深度 var arr = [1,[2,[3,[4,5]]],6] // 数组自带方法 实现扁平化 console.log(arr.flat(Infinity)) console.log(arr.flat(3))递归 var arr = [1,[2,[3,[4,5]]],6] const newArr = [

2021-11-03 17:44:55 285

原创 【 总结 】BFC

BFC块级格式化上下文 指一个独立的块级渲染区域,该区域拥有一套渲染规则来约束块级盒子的布局一个父级盒子不设置height 当内容子元素都浮动时 无法撑起高度如何创建BFCfloat 不能是noneposition 不能是static或者relativedisplay : inline-block || flex || inline-flexoverflow : hidden || auto作用解决盒子高度塌陷的问题阻止元素被浮动元素覆盖float <div clas

2021-11-03 17:12:43 80

原创 【 总结 】组件通信

父子组件父组建向子组件传值通过自定义事件接收事件;子组件通过props接收数据<template> <div id="app"> // 父组件 传递数据给 子组件 <MyInput :list="list" /> </div></template>子组件向父组件传值子组件通过$emit 向父组件传递自定义事件<template> <div id="app"> // 父组件

2021-11-03 16:21:01 69

原创 【 总结 】数组去重

Set var arr =[1,1,2,2,3,4,5,5,6,7,8,9,9] // 数组去重 function unique(arr){ return Array.from(new Set(arr)) } console.log(unique(arr))

2021-11-03 16:03:57 79

原创 【 总结 】创建对象的方式

字面量var person = { name: 'zwj', age: 22}new Objectvar people = new Object( { name: "zwj", age: 22, sex: "male" });带参构造函数function Person(name, age) { this.name = name; this.age = age; this.sayName = function () { console.log(

2021-11-03 14:58:08 65

原创 【 总结 】作用域

执行期的上下文当代码执行的前期,创建一个执行期的上下文的内部对象AO(作用域)这个内部的对象是预编译的时候创建的 因为当函数被调用的时候 会先进行预编译在全局代码执行的前期会创建一个执行期的上下文对象GO函数作用域的预编译创建AO对象 AO{ }找形参和变量声明 将变量和形参名 作为AO对象的属性名 值为undefined实参和形参的值统一找函数声明 值赋予函数体函数声明 function fn( ){ }函数表达式 var a = function ( ){ }全局作用

2021-11-03 13:12:25 75

原创 【 总结 】TCP三次握手与四次挥手

三次握手作用是为了确认双方的接收与发送能力是否正常为了防止服务器端开启一些无用的连接增加服务器开销以及防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误ACK字段:在TCP报文段中,字段ACK=1时,确认号字段才有效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置1。第一次客户端向服务器发送TCP报文 开启 SYN = 1 序列号 seq = xSYN = 1 seq = x标记位为SYN,表示“请求建立新连接”服务器端接收到来自客户端的TCP报文之后 服务

2021-11-03 10:26:23 110

原创 【 总结 】继承

原型链的继承对象的继承 只能继承自身原型的属性和方法 // =========================== function Super() { this.a = "nice" this.b = [1, 2, 3, 5] } Super.prototype.fuc = function () { console.log('222'); } // =====

2021-10-01 21:25:30 127 2

原创 【 uniapp 】选项卡切换

【 微信小程序 】选项卡切换

2021-10-01 17:05:26 2081

原创 【 微信小程序 】全局共享数据

mobx-miniprogram创建Store实例对象// 引入import {observable} from "mobx-miniprogram"// 导出export const store = observable({ // 存放共享的数据、方法等等 a:10, b:20, // 定义计算属性 get sum(){ return this.a+this.b }, sayHello() { consol

2021-10-01 16:57:26 296

原创 【 uniapp 】导航栏适配

设置样式{ "pages": [ //pages数组中第一项表示应用启动页 { "path": "pages/index/index", "style": { "navigationBarTitleText": "uni-app", // 去掉原生导航栏 "navigationStyle": "custom" } } ], "globalStyle": { "navigationBarTextStyle": "black", "navi

2021-10-01 16:57:03 818

原创 【 总结 】原型、原型链、构造函数

原型链原型链就是实例对象和原型对象之间的链接每个函数都有一个prototype属性,这个prototype属性就是我们的原型对象通过new 构造函数出来的实例对象有一个__proto__属性,通过该属性指向他的构造函数的原型对象这样构造函数和实例对象之间就通过( _proto_ )连接在一起形成了一条链子 就叫做原型链构造函数在JavaScript中,用 new 关键字来调用的函数,称为构造函数。首字母一般大写实例对象使用 new 调用构造函数 实例化之后 返回的对象构造函数内部的this

2021-10-01 16:53:36 429 1

原创 【 微信小程序 】图标的使用

图标的使用阿里巴巴矢量库搜索icon添加到购物车添加至项目Font class 生成在线链接复制在线链接 点开 复制代码 保存到代码文件夹里面<template> // 使用 // 阿里巴巴矢量库 <view class="iconfont icon-search"></view> <view class="iconfont icon-user"></view></template><script

2021-10-01 16:52:27 215

原创 【 错误总结 】API ‘getMenuButtonBoundingClientRect/‘ is not yet implemented

报错信息API 'getMenuButtonBoundingClientRect/' is not yet implemented这是api不支持 ,当前平台不支持这个api,注意添加条件编译解决办法H5 || APP-PLUS || MP-ALIPAY 不支持胶囊按钮样式的API// 根据微信小程序的右上侧的胶囊样式 设置导航栏内容的高度// #ifndef H5 || APP-PLUS || MP-ALIPAY const menuInfo = uni.getMenuButtonBoun

2021-10-01 16:51:56 6171 7

原创 【 微信小程序 】behaviors

behaviors实现组件间代码共享module.exports = Behavior({ // 常用这四个 data:{}, properties:{}, methods:{}, // 引用其他的behaviors behaviors:[], // ========================== created(){}, attached(){}, ready(){}, moved(){}, deatched(){}})========================

2021-09-27 10:43:17 141

原创 【 微信小程序 】父子组件通信

属性绑定父向子传值 只能传递put数据的数据 无法将方法传递给子组件// 父元素// xxx.wxml<view> // 使用子组件 并绑定值 传递给子组件 <test data="{{count}}"></test> <text>=====================</text> <view>父组件定义的count的值是{{count}}</view></view>

2021-09-27 10:43:10 89

原创 【 微信小程序 】组件所在页面的生命周期函数

生命周期**组件实例刚刚被创建时执行 created 组件实例刚好被创建好 此时还不能调用setData 主要给组件的this添加一些自定义的属性字段****组件进入页面节点数时执行 attached 完全初始化完毕 进入页面节点数树 this.data已经初始化完毕 主要用于获取数据**组件在视图层布局完成后执行 ready组件实例被移动到节点数另一个位置时执行 moved**组件实例被从页面节点树移除时执行 detached 组件离开页面节点树 退出

2021-09-26 09:58:18 304

原创 【 微信小程序 】引用组件

全局引用组件app.json配置{ "pages":[], "window":{}, "usingComponents":{ "test":"/components/test/test" },}xxx.wxml文件使用组件<view> <test></test>></view>局部引用组件局部页面.json文件配置{ // 引入组件 键值对形式 "usingComponents": {

2021-09-26 09:57:46 212

原创 【 微信小程序 】WXS脚本

WXS脚本特点典型的应用场景就是过滤器隔离性wxs不能调用js中定义的函数wxs不能调用小程序的API函数性能较好 在IOS上 会比js快 安卓上 运行效率无差异// xxx.wxml<view> <text>内嵌WXS脚本</text> <view> {{one.toLower(inner)}} </view></view><wxs module="one"&

2021-09-26 09:57:28 199

原创 【 微信小程序 】生命周期

生命周期生命周期 : 自动按次序执行生命周期是个时间段生命周期函数是个时间点应用生命周期小程序启动 ----> 运行 ----> 销毁的过程app.jsApp({ // 当小程序初始化完成 全局只触发一次 onLaunch(options) {}, // 当小程序启动后 或者 从后台进入前台显示 触发 onShow(options){}, // 当小程序从前台进入后台时 触发 onHide(){}})页面生命周期小程序中每个页面的加载 ---

2021-09-26 09:57:16 56

原创 【 微信小程序 】上拉触底事件

上拉触底手指在屏幕上的上拉滑动操作 从而加载更多数据页面上拉触底事件触发时距页面的距离 默认50px (滚动条距离底部的距离 自动加载更多数据) "onReachBottomDistance" : Number页面相关事件处理函数Page({ data:{}, // 监听上拉触底事件 onReachBottom(){ console.log('上拉触底'); }})配置上拉触底距离{ "usingComponents": {}, "onReachBott

2021-09-25 10:07:49 736

原创 【 微信小程序 】下拉刷新事件

下拉刷新手指在屏幕上的下拉活动操作 重新加载页面数据的行为全局开启app.json{ "window":{ "enablePullDownRefresh" : true }}局部开启在页面的.json配置文件中设置{ "usingComponents": {}, "enablePullDownRefresh" : true}/ ===============================================下拉刷新时 能显示的刷新部分窗口的背景色 "

2021-09-25 10:07:42 162

原创 【 微信小程序 】页面导航

声明式导航设置一个<navigator> 导航组件 点击实现页面跳转<navigator> 需要制定url和open-type属性url 需要跳转的页面地址 必须以 / 开头open-type 表示跳转的方式 必须是 switchTab导航到tabBar页面{ "pages":[ "pages/index/index", "pages/home/home", "pages/contact/contact" ],}// inde

2021-09-24 15:48:35 183

原创 【 微信小程序 】网络数据请求

数据请求为了安全 只能请求HTTPS类型的接口必须将接口的域名添加到信任列表中小程序的宿主是微信客户端跨域问题只存在于浏览器的开发中小程序不存在跨域问题不能叫发起Ajax请求 叫做 发起网络数据请求配置request合法域名微信公众平台 —> 开发管理 —> 开发设置 —> 服务器域名GET请求配置request合法域名详情 ---> 项目配置 (刷新)请求数据// 结构部分 xxx.wxml<view> <b

2021-09-24 15:48:22 175

原创 【 微信小程序 】页面配置项

页面配置当页面配置和全局配置冲突时 根据就近原则 最终效果以页面配置为准配置项导航栏部分设置导航栏标题文字内容 "navigationBarTitleText" : "xxxxx" 导航栏背景颜色 "navigationBarBackgroundColor" : "16进制颜色"导航栏标题颜色 仅支持white 、 black "navigationBarTextStyle" : "white / black"// ==================================

2021-09-24 15:48:12 145

原创 【 微信小程序 】全局配置项

全局配置当页面配置和全局配置冲突时 根据就近原则 最终效果以页面配置为准app.jsonpages记录当前小程序的所有页面的存放路径window全局设置小程序窗口的外观tabBar设置小程序的地步的效果样式style是否启用新版的组件样式(启用:v2)基本结构{ "pages":[ "pages/index/index" ], "window":{ "backgroundTextStyle":"light", "navi

2021-09-24 15:48:00 120

原创 【 Vue 】暗黑模式切换

暗黑模式

2021-09-21 13:19:53 1609

原创 【 错误总结 】Git 报错

Git 报错

2021-09-21 11:38:08 244

原创 【 错误总结 】MongoServerError : E11000 duplicate key error

MongoServerError:E11000 duplicate key error....mongodb在插入数据时出现id重复错误解决在设定的数据模型里面新加一个idconst mongoose = require('mongoose')const UserSchema = new mongoose.Schema({ id: { type: Number, default: new Date() }, name: {

2021-09-17 14:29:18 906

原创 【 Vue 】配置跨域

配置跨域vue.config.jsmodule.exports = { // 配置跨域 devServer: { proxy: { '/api': { // 接口路径 target: 'http://localhost:5050/', // 是否跨域 changeOrigin: true, ws:

2021-09-17 14:21:50 81

原创 【 Node 】生成token、存储到cookie

介绍JWT(Json Web Token)是实现token技术的一种解决方案,JWT由三部分组成: header(头)、payload(载体)、signature(签名)jsonwebtokencookie-parser下载npm install jsonwebtoken cookie-parser --save加密// (需要加密的对象,<自定义key>,参数) jwt.sign(payload, secretOrPrivateKey, [options, callback])

2021-09-16 16:39:31 602

原创 【 Node】MongoDb的集合关联与删除

数据关联course数据关联了mscamp数据 实现数据关联展示后导入的数据course 先导入的数据mscamps创建数据模型Mscamp.js// 创建数据模型const mongoose = require("mongoose");const MscampSchema = new mongoose.Schema( { name: { type: String, required: [true, "请填写培训课程的名

2021-09-15 16:19:05 575

原创 【 Node 】导入本地Json到MongoDB

MongoDB Compass直接导入导入数据mongoimport -d <数据库名字> -c <集合名字> --file <需要导入的数据路径>执行代码const mongoose = require('mongoose')const colors = require('colors')const dotenv = require('dotenv')const fs = require('fs')const Mscamp = require('./

2021-09-15 15:28:18 244

原创 【 错误总结 】axios请求本地 Json

结构目录将模拟的数据存储在mock文件夹下 配置vue.config.jsconst login = require('./src/mock/login.json')const sort = require('./src/mock/sort.json')const city = require('./src/mock/city.json')const classify = require('./src/mock/classify.json')const shop = require('./sr

2021-09-13 16:04:47 218

原创 【错误总结 】Uncaught (in promise) Error: Navigation ...

报错原因是vue-router内部错误,导致导航跳转问题,往同一地址跳转时会报错的情况push和replace 都会导致这个情况的发生。解决办法 // main.jsimport Vue from 'vue'import Router from 'vue-router'//解决编程式路由往同一地址跳转时会报错的情况const originalPush = VueRouter.prototype.push;const originalReplace = VueRouter.prototy

2021-09-13 15:17:27 2006

原创 【 Vue 】关闭Eslint检查

// vue.config.jsmodule.exports = { //关闭eslint检查 lintOnSave: false }

2021-08-21 10:01:06 83

原创 【 Vue 】模块化中的命名空间

命名空间默认情况下 模块内部的getters 、mutations、actions是注册在全局下的 可以通过this.$store直接调用为了保证内部模块的高封闭性 需要采取namespaced给子模块设置 namespaced : true 就无法使用全局 直接调用了namespaced new Vuex.Store({ state:{}, getters:{ token: state => state.user.token, name: state =&gt

2021-08-20 15:05:45 400

原创 【 Vue 】构建脚本

构建脚本通常一个基于NPM托管的项目都会有一个package.json文件它是对项目的描述文件 它的内容实际上时一个标准的JSON对象配置 script 字段作为执行脚本// package.json{ "script":{ // "<自定义名字>":"<执行命令>" "serve": "vue-cli-service serve",   "build": "vue-cli-service build", }}npm run serve 实际运行的是

2021-08-20 14:12:13 498

空空如也

空空如也

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

TA关注的人

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