随笔分类 - 项目开发
1
摘要:1、根目录下新建三个环境的配置文件,.env.development(开发环境).env.test(测试环境).evn.production(生产环境) 开发环境 NODE_ENV = 'development' 开发环境,api前缀 VUE_APP_BASE_API = '/api' 开发环境,U
阅读全文
摘要:vuex-persistedstate 持久化插件用来解决数据刷新数据丢失问题 1.指定需要持久化的state npm install vuex-persistedstate --save 引入及配置 在store下的index.js中 import createPersistedState fro
阅读全文
摘要:场景: 表格内的数据太多,导致页面太卡,所以初始化先展示100条数据,然后滚动在添加数据 mounted (){ this.$nextTick(() => { let dom = this.$refs.logTable.bodyWrapper dom.addEventListener("scroll
阅读全文
摘要:通过自定义指令对button进行权限的校验 场景:左侧菜单栏通过调接口获取,每一个菜单下的还有该菜单下的button的权限操作,在mentType为2时,该children就是button权限列表 1.先获取所有有权限的buttom import store from "@/store" expor
阅读全文
摘要:项目场景:表格数据只能勾选一条数据,测试想把多选框换成单选框 <el-radio :label="scope.$index" v-model="templateRadio" @change.native="getTemplateRow(scope.$index,scope.row)"> 注意:1.
阅读全文
摘要:项目场景: 表格中的操作按钮,要是连续点击只能在多少秒内调用一次接口 节流: 创建一个节流函数,在 wait 秒内最多执行 func 一次的函数 import _ from "lodash" methods: { handle () { this._throttle(data) } _throttl
阅读全文
摘要:使用懒加载解决子节点增删后,不刷新新节点数据问题 <el-table :load="load" ref='myTable' data () { return { maps: new Map() } } methods: { load (row, treeNode, resolve) { // 存在m
阅读全文
摘要:项目场景:刷新数据,让滚动条保持在最底部 // jquery 实现滚动条在底部 this.$nextTick(() => { let dom = $(.el-table .el-table_body_wrapper) dom.animate({ scrollTop: dom.prop('scroll
阅读全文
摘要:前端用js登录失败次数上线,倒计时禁止登录 // 取出输入密码错误的次数 let error_times = window.localStorage.getItem('userCode') // 超过登录次数 if(error_times >= 3){ this.disabled = true //
阅读全文
摘要:前端怎么使用AES 实现对登陆密码的加密和解密 import crypto from 'crypto' // @version 1.0 aes-128-gcm 加密 // @params msg 为加密信息 key为32位的16进制key // @return 返回base64编码 export f
阅读全文
摘要:底部向上拉伸的弹窗 import Vue from "vue" Vue.directive('dragHeight', { bind (el,binding){ const dom = el dom.style.overflow = 'auto' //缩小框内的标签会超出dialog //在该dom
阅读全文
摘要:问题场景:数组循环, 在每一次循环中需要调一次接口,然后把请求回来的数据,在原数组上新增一个字段children来接收 答: 1.自执行函数 for (let i = 0; i < arr.length; i++) { (function fn (item) { let data = { id: i
阅读全文
摘要:export function findComponentDownward (context, componentName) { const childrens = context.$children; let children = null; if (childrens.length) { for
阅读全文
摘要:let Socket = '' let setIntervalWesocketPush = null /** 建立websocket连接 @param {string} url ws地址 */ export const createSocket = url => { Socket && Socket
阅读全文
摘要:mounted() { window.addEventListener('beforeunload', e ⇒ this.beforeunloadHandler(e)) window.addEventListener('unload', e ⇒ this.unloadHandler(e)) }, d
阅读全文
摘要:import cookies from 'js-cookie' import store from './store' router.beforeEach(async(to, from, next) ⇒ { if (cookies.get('sessionId')) { if (to.path '/
阅读全文
摘要:function exportFile(url, payload) { const downloadBlob = (data, fileNameS) =>{ if (!data) { return } let blob = new Blob([data], {type: "application/z
阅读全文
摘要:一.axios的封装(http.js文件) 1.安装axios依赖 , npm install axios 2.在项目src下新建个文件,里面含请求的http.js文件和封装接口api.js文件。 import axios from 'axios'; // 引入axios import QS fro
阅读全文
摘要:将el-switch的样式修改成如下的样式的需求 代码如下 ::v-deep .el-switch__core { width: 30px; height: 10px; background: #b1b4bc !important; border: #b1b4bc !important; &:aft
阅读全文
1