- 博客(70)
- 收藏
- 关注
原创 npm 安装依赖出问题时 常用命令
在 npm 7 及以上版本中,默认安装 peer dependencies,如果版本不匹配会导致安装失败。使用这个标志可以回退到 npm 6 的行为,即忽略 peer dependencies 的自动安装,从而避免因 peer dependencies 版本问题导致的安装失败。它也会绕过缓存,并忽略可能导致安装失败的冲突。–fallback-to-build:如果预编译的二进制包无法下载或安装,则尝试从源代码构建。如果已经安装了二进制包,使用此标志会强制重新下载或重新构建二进制包。忽略已缓存的二进制文件。
2026-02-07 16:52:29
325
原创 Math.random 漏洞记录
此漏洞是因代码使用了 Math.random()(统计学伪随机数生成器,PRNG),其输出可预测,不满足加密安全要求,被 CodeSec 判定为 “使用不安全的随机数生成器”。
2026-02-05 10:05:12
324
原创 uni-app列表滚动加载更多数据 (模版)
这是一个基于uni-app框架实现的分页列表组件,主要功能包括: 顶部搜索栏和分段选项卡(全部/待办/已办) 滚动加载功能,支持上拉加载更多数据 数据为空时显示空状态提示 实现了分页加载逻辑(每页50条,最多加载3页模拟数据) 包含搜索和选项卡切换时重置数据的功能 自适应计算滚动区域高度 组件特点: 使用uni-search-bar实现搜索功能 通过uni-segmented-control实现选项卡切换 采用scroll-view实现滚动列表 使用uni-load-more显示加载状态 包含完善的加载状态
2025-11-15 10:56:22
102
原创 vue Ai 流试回答实现打字效果
这段代码实现了一个基于SSE(Server-Sent Events)的流式GPT问答界面,具有打字机效果展示功能。主要特点包括: 使用EventSourcePolyfill接收服务端推送的问答数据流 通过打字机动画效果逐字显示内容(speed=20ms/字符) 区分思考过程(thinkContent)和最终结果(valueContent) 支持Markdown渲染(marked)和代码高亮(hljs) 包含完善的错误处理和状态管理(AIstatus) 图表初始化(initEcharts)在内容显示完成后触发
2025-09-21 14:24:25
415
2
原创 vxetable 合并横向树结合checkbox进行多选
接口数据格式为树形结构 right:1 标记为当前项为选中状态,right:0标记为没选中状态。
2024-02-05 14:37:42
1572
原创 vue 项目 打包或者本地运行时 通过package.json 修改 环境变量
在 Vue 项目的 package.json 文件中,您可以使用 cross-env 包来指定环境变量,以在构建过程中使用特定的配置。测试环境打包 npm run build:development。如果您有其他自定义的环境变量,可以按照相同的方式添加它们。正式环境打包 npm run build。在这个示例中,我们使用。
2024-01-04 09:47:12
2248
1
原创 antd vue 全局配置loading
2.在main.js将函数挂在在vue上 做了个传boolean的简易传值;再做了个对象类型的校验/兼容,防止外面乱传参数。1.在app.vue组件注入。3.在vue、js中调用。
2022-11-30 17:38:16
4725
原创 Ant Design of Vue 时间选择器(时间限定)
Ant Design of Vue 时间选择跨度最多选七天(选完开始时间,决定时间段限定)Ant Design of Vue 时间选择最多选七天(直接限定开始和结束时间)
2022-09-13 17:25:23
2400
2
原创 vue项目部署 nginx 二级目录刷新404 资源找不到白屏 (history模式)
vue项目部署 nginx 二级目录刷新404 资源找不到白屏 (history模式)
2022-07-08 14:05:50
3164
原创 vue h5移动端长按时间
js里面没有长按事件 通过 touchstart 和 touchend 来实现自定义指令html 使用js事件css样式
2022-06-29 15:54:35
936
原创 vue中echart乡镇地图报错Error: Invalid geoJson format Cannot read properties of undefined (reading ‘length‘)
vue中echart使用乡镇地图报错Error: Invalid geoJson format Cannot read properties of undefined (reading ‘length’)解决办法按下图文件位置结构在node_modules找到parseGeoJson.js文件在parseGeoJSON.js文件中找到parseGeoJSON函数用下边的同名函数将其替换即可export default function parseGeoJSON(geoJson, nameProperty
2022-06-25 21:25:40
1987
1
原创 vue + elementui 自定义后台权限(带按钮权限)
先看后台的主体样式 左侧菜单和右侧红框(PageTabs)第一步:与后端同学讨论菜单的返回格式。可以随便定义,下面是项目中定义的第二步就是在登录的时候添加能够显示的菜单项第三步看下store的数据 (actions.js,mutations.js,states.js,index.js) 下面按顺序展示index.jsNavi.vue 左侧菜单组件PageTabs.vue 右侧组件下面重要的一步设置路由 新建permission.js 在main.js里面引入......
2022-06-20 16:52:42
1667
原创 vue项目 index.html 引入静态资源,刷新页面问题。
<script src="https://cdn.jsdelivr.net/npm/jsencrypt@3.2.1/bin/jsencrypt.min.js"></script><script src="https://cdn.jsdelivr.net/npm/proxy-polyfill@0.3.0/proxy.min.js"></script>项目中引入这两个cdn。但是这两个cdn 都挂完了,后来改成了本地引用。在 pubilc 文件夹下 创建了s
2022-05-17 09:39:43
3712
原创 uniapp 小程序更新提示
```javascript<script> export default { globalData: { // username: '' }, onLaunch() { // 1.1.0版本之前关于http拦截器代码,已平滑移动到/common/http.interceptor.js中 // 注意,需要在/main.js中实例化Vue之后引入如下(详见文档说明): // import httpInterceptor from '@/common/http.
2022-05-13 14:46:56
1078
原创 JS多种继承方式
数据类型判断。typeof可以正确识别:undefined、boolean、number、string、symbol、function等类型的数据,但是对于其他的都会认为是object,比如Null、Date等,所以通过typeof来判断数据类型会不准确。但是可以使Object.prototype.toString实现。function typeOf(obj){ return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase(
2022-05-07 11:17:23
200
原创 vue 3.0 Proxy的使用
一个 Proxy 对象包装另一个对象并拦截诸如读取/写入属性和其他操作,可以选择自行处理它们,或者透明地允许该对象处理它们。语法:let proxy = new Proxy(target, handler)target —— 是要包装的对象,可以是任何东西,包括函数。handler —— 代理配置:带有“钩子”(“traps”,即拦截操作的方法)的对象。比如 get 钩子用于读取target属性,set 钩子写入 target 属性等等。对 proxy 进行操作,如果在 handler 中存
2022-03-18 12:00:11
9271
2
原创 es6 新增 WeakMap
WeackMapconst toProxy = new WeackMap()注意:WeakMap对Key有限制,它必须是Object(Symbol也不行)weackMap的方法有 delete、get、has、set。以前还有个clear,后来被弃用了。var map = new Map();var weakmap = new WeakMap();(function INIT(){ var ka = {x: 1}; var kb = {y: 2}; map.set(k
2022-03-17 17:40:08
525
原创 vscode CRLF自动转LF
在项目更目录新建 .editorconfig 文件root = true[*]charset = utf-8indent_style = spaceindent_size = 2end_of_line = lfinsert_final_newline = truetrim_trailing_whitespace = true[*.md]insert_final_newline = falsetrim_trailing_whitespace = false
2022-02-25 17:33:21
2690
原创 页面刷新 vuex数据持久化
安装插件npm install vuex-persistedstate --savestore/index.js 下配置import Vue from 'vue';import Vuex from 'vuex';import state from '@/store/states';import getters from '@/store/getters';import mutations from '@/store/mutations';import actions from '@/st
2021-12-09 11:32:01
603
原创 判断设备系统信息
function versions(){ const u = navigator.userAgent; // let app = navigator.appVersion return { iphonex: /iphone/gi.test(u) && window.devicePixelRatio && window.devicePixelRatio === 3 && window.screen.width === 375 &am
2021-11-20 16:34:08
244
原创 前端导出excel文件 合并表头单元格。
首先安装依赖npm install xlsx file-saver -Snpm install script-loader -S -D设计图 页面展示效果图,导出的话 也需要这样的格式。下面是导出的文件图片 //导出Excel handleDownLoad(params) { var that = this; //需要在项目src下创建vendor文件夹 (Export2Excel.js 附在下面) import("@/vendor/Export2
2021-11-18 16:08:08
1966
6
原创 常用的表单项验证。身份证,手机号,用户名。
js 精确判断身份证格式身份证第16位 对2取余等于1的是男 等于2的是女。const idCardReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/;identityCodeValid(code) { // 判断身份证格式 const city = { .
2021-11-18 09:57:04
462
原创 Session和Cookie的定义和区别
cookie和session的定义Cookie是服务器发送到用户浏览器,并保存在浏览器本地的一小块文本串数据。它会在浏览器下次向同一服务器再发起请求是,被携带发送到服务器。通常它用于告知服务器两个请求是否来自同一浏览器,一样用于保持用户的登陆状态等。Cookie使基于无状态的HTTP协议记录稳定的状态信息成为了可能。session指的就是服务器和客户端一次会话的过程。Session利用Cookie进行信息处理的。当用户首先进行了请求后,服务端就在用户浏览创建了一个cookie,当这个session结束时
2021-07-28 11:09:52
213
原创 TCP 的三次握手和四次挥手
开始客户端和服务器都处于closed(关闭)的状态,然后服务端开始监听某个端口,近入LISTEN(监听)状态。第一次握手(SYN = 1,seq = x)发送完毕后,客户端进入SYN_SEND状态。第二次握手(SYN = 1,ACK = 1,seq = y,ACKnum = x +1)发送完毕后,服务器进入SYN_RCV状态。第三次握手(ACK = 1,ACKnum = y+1)发送完毕后。当服务器端接收到这个包时,客户端进入ESTABLISHED(连接)状态。四次挥手第一次挥手(FIN .
2021-07-28 10:34:03
113
原创 原型、原型链和继承
一、原型 prototype 和 proto每个对象都有一个__proto__属性,并且指向它的prototype原型对象。每个构造函数都有一个prototype原型对象 prototype原型对象里的constructor指向构造函数本身prototype 和 __proto__有什么用呢?实例对象的__proto__指向构造函数的prototype,从而实现继承。(只有对象才有__proto__)prototype对象相当于特定类型所有实例对象都可以访问的公共容器。// 构造函数
2021-07-06 14:31:07
316
原创 获取url的所有参数
function getWindowHref() { //获取数据 例 ?id=5&type=9&status=10 var sHref = window.location.href; var args = sHref.split('?'); if (args[0] == sHref) { return "" } var hrefArr = args[1].split('#')[0].split('&'); // hrefArr = [ 'id=
2021-06-23 16:52:37
560
原创 常用的数组和字符串 方法
// 借用Object原型上的toString方法function type(parameter) { //call 修改this的指向 return Object.prototype.toString.call(parameter)}//使用set数据去重 set里面不能存在同样的值function unique1(arr) { return [...new Set(arr)]}//使用对象方式,filter会过滤出返回true的元素。function unique2(..
2021-06-23 10:47:28
100
原创 图片上传之前进行压缩
//图片压缩 参数file为file文件类型。Vue.prototype.compressImg = function (file, callback) { var fileSize = parseFloat(parseInt(file['size']) / 1024 / 1024).toFixed(2); var read = new FileReader(); read.readAsDataURL(file); read.onload = function (e) {
2021-06-07 10:15:25
166
原创 G2自定义图例,数据更新时渲染问题。
这是问题解决后的样式,顶部还有一个筛选条件,筛选之后 图片数据更新。第一次会通过 new Chart 获得图表对象,第二次触发的改变的时候 是用对象调用changeData放法来改变。 但是这里自定义了图例,就报错了。平常的图例没有 冒号和后面的数量 百分比。// data是获取的数据this.terminal.legend({ position: 'right', flipPage: false, itemName: { for.
2021-02-03 17:12:38
2482
原创 统计 浏览项目的时长、观看每个页面的时长、打开项目的设备信息。
let url = 'http://localhost:3000';let obj = { toPage: '', fromPage: document.referrer, inTime: new Date(), outTime: '', openTimeLength: 0, currentPage: '', viewTimeLength: 0, baseInfoId: '', userId: '', unLoginId: ''}let key = '';le
2021-01-07 17:28:45
459
原创 uni-app IOS端 Safari浏览器键盘抬起页面混乱。
// 为元素添加blur事件 @blur=‘resetView’ 重置页面resetView() {uni.pageScrollTo({scrollTop: 0,duration: 100})},
2020-10-30 14:52:00
591
原创 扫描pc端页面二维码,在手机上签名
npm install qrcodejs2npm install signature_pad在移动端需要安装 vant和jquerynpm install vantnpm install jquery<template> <div v-loading="loading" class="dashboard-container"> <div v-if="imgState" class="autograph-wrapper"> <img
2020-09-10 11:40:29
2558
8
原创 预览打印 pdf
<html><head></head><body> ## A4纸宽度 180mm <div style="width:180mm"> <table border="1" cellspacing="0" cellpadding="15" style="width:100%"> <caption> <div style="font-size:20px;
2020-09-03 15:06:32
207
原创 admin-elemenUI 权限设置
1.首先看下项目结构,设置权限用到的文件(一个是在store下modules下面的permission.js和 src下的permission.js)2.先看src下面的permisssion.jsrouter.beforeEach(async(to, from, next) => { // start progress bar NProgress.start() // set page title document.title = getPageTitle(to.meta.t
2020-08-17 15:38:29
277
原创 解决图片缓存导致页面刷新无效果问题
场景:一条数据里面有图片,编辑完一条数据的时候。重新获取数据,并且展示图片。但是图片的信息还是之前的,这是因为缓存问题,同一个链接请求服务器,浏览器会认为同一个图片,就会缓存下来。所以点击的时候总是同一张图片,没有刷新。解决的办法:在url后面 拼上 '?’+ Math.random().随机数。这样每次点击的时候都是新的链接。<img style="width:100%;" :src=...
2020-05-18 16:14:07
1225
2
原创 URL中传递数组 location.href
location.href=“1.php?a[]=”+jsonlocation.href = “1.php?a=” + escape(JSON.stringify(json)); 支持多维 obj = { ids: this.selectTable, list_ids: this.list_ids ...
2019-11-22 18:01:20
2890
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅