- 博客(50)
- 收藏
- 关注
原创 echarts 地图 海南省全岛完整展示
针对海南省周边群岛显示不全的问题,通过更换更完整的中国地图JSON数据源实现优化。优化前后对比显示,新方案成功展示了完整的群岛分布。解决方案推荐使用特定JSON文件(提供在线链接和本地引用两种方式),有效解决了区域显示缺失问题。该方法简单易行,适用于需要完整展示中国南海诸岛的地图可视化场景。
2025-06-11 15:20:52
21
原创 前端缓存--浏览器缓存
但是有一些 “聪明” 的用户会点击浏览器左上角的刷新按钮去刷新页面,这时候就算资源没有过期(1年没这么快过),浏览器也会直接去请求服务器,这就是额外的请求消耗了,这时候就相当于是走协商缓存的流程了(下面会讲到)。由于Cache-Control的优先级比expires,那么直接根据Cache-Control的值进行缓存,意思就是说在600秒内再次发起该请求,则会直接使用缓存结果,强制缓存生效。协商缓存就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程。
2025-04-18 13:53:53
792
原创 项目中嵌入vite-plugin-vue-mcp
是一个基于 Vite 的 Vue 应用插件,它为开发者提供了一套强大的组件树、状态和路由调试工具。通过在开发环境中启动一个 MCP(Model Context Protocol)服务器,vite-plugin-vue-mcp 允许开发者实时查看和编辑 Vue 应用中的组件树、状态、路由和 Pinia 状态,从而提升了开发效率和调试体验。
2025-04-17 14:30:07
1192
原创 Cursor+Devbox 纯AI实行todoList功能
后端代码:https://github.com/susanliy/todoList-cursor-node。前端代码:https://github.com/susanliy/todoList-cursor-vue。如果是复杂的项目 不太能想视频说说得那么轻松 还是需要对代码上下文有理解,有一定的技术基础。链接:https://jgbboqtokdxl.sealoshzh.site/对于特定复杂的ui实现程度有限,如果是不需要特定ui的话,实现起来效果不错。提示词的编写需要一定的时间成本,灵活性缺乏。
2024-12-23 13:59:59
250
原创 VS Code Copilot 与 Cursor 对比
优点:功能强大,插件丰富,AI能力出色,社区活跃,多IDE支持,价格相对合理。缺点:插件过多可能影响性能,部分高级功能需要付费。优点:独特的用户交互设计,出色的代码补全体验,Composer功能潜力大,支持VS Code插件。缺点:价格较高,高级功能需使用Cursor自有模型,部分复杂需求处理能力有限。总结与建议追求功能全面和成熟稳定的体验,选择 VS Code Copilot。追求独特交互体验和尝鲜,项目复杂度不高并且不差钱,选择 Cursor。
2024-12-20 11:35:59
6454
原创 structuredClone()与 lodash.cloneDeep与 JSON.parse & JSON.stringify()拷贝对比
structuredClone()与 lodash.cloneDeep与 JSON.parse & JSON.stringify()拷贝对比。
2024-12-03 17:10:22
351
原创 整理git上的模板框架
技术栈的app框架 功能:基于 uni-app,一端发布多端通用,目前已经适配 H5、微信小程序、QQ小程序、Ios。功能:实现登入点击文字和拉动滑块的登录校验,具体的交互看这篇。后台管理平台(用于日常练手的项目,存放一些封装的组件)taro3 框架小程序跨端平台。功能:前台官网的网站项目模板。
2024-03-28 14:22:21
528
原创 在企业微信里面添加h5页面 进行登录授权
1.需求:在企业微信里面添加h5页面 进行登录授权,获取到用户的code,进行登入id的验证。在企业微信内部进行配置,拿到appid,redirect_uri,agentid参数。② 直接将授权的操作写在首页中,在首页进行授权,然后再跳转首页(我用的是这种方式)① 有一个页面用于授权,然后在跳转首页。
2024-03-27 14:27:27
3494
1
原创 font-weight元素失效
原因:由于在字上运用了字体,然后对于这个字体添加粗细失效了,字体包很大有10mb,使用导致了在刚刚进入页面的时候字体显示正常,等字体文件加载完成之后,font-weight元素失效。问题:在h5 的页面上无论设置font-weight多少的值都没有效果;手机上一开始文字有显示加粗的效果,可是等资源加载完成之后就会使字体粗细这个效果失效。解决方案:移除字体,直接在字上面添加font-weight元素。
2024-03-27 14:06:39
1392
原创 h5 tailwind 使用rounded类导致安卓端样式显示有问题
问题: h5 页面使用了tailwindcss插件,运用了rounded 类,发现在ios和安卓上显示不一致,安卓上样式乱了。由于tailwindcss里面的默认元素的默认的单位为rem,导致了在安卓手机端尺寸有误。将默认得rem单位,改为px的单位。
2024-03-27 13:58:51
453
原创 vite 安装tailwindcss失效
需求:在vite5 + vue3 + ts中安装tailwindcss。在mian.ts 里面导出 style.css 文件 就可以了哈。问题:按照tailwindcss的。进行安装,可是一直不生效。
2024-03-12 16:50:37
1069
1
原创 vscode 设置vue3 通用页面模板
prefix:定义了在代码编辑器中触发该代码片段的前缀,这里设定为 “Vue3.2+” body:定义了代码片段的主体部分,它是一个数组,包含多行模板代码 description:对该代码片段的描述。2.在vue文件中输入 “Vue3.2+”(会有自动提示) 按下 Tab 键,就会自动插入这段模板代码。你可以根据需要自行修改和完善这个模板。1.在项目的 .vscode 目录下创建一个名为 vue3.2.code-snippets 的文件,它是一个 JSON 格式的代码片段文件。
2023-11-20 10:04:35
1302
原创 pc端与flutter通信失效, Method not found
报错情况描述:pc端与flutter通信,ios端能实现通信,安卓端通信报错。报错内容:安卓端报错。
2023-08-09 18:23:28
985
原创 vue-cli3项目优化
*原理:**如果一些第三方模块没有AMD/CommonJS规范版本,可以使用 noParse 来标识这个模块,这样 Webpack 会引入这些模块,但是不进行转化和解析,从而提升 Webpack 的构建性能 ,例如:jquery 、lodash。我们使用 DllPlugin 将不会频繁更新的库进行编译,当这些依赖的版本没有变化时,就不需要重新编译。**原理:**有些时候,如果所有的JS文件都打成一个JS文件,会导致最终生成的JS文件很大,这个时候,我们就要考虑拆分 bundles。
2023-08-04 16:03:03
1806
原创 算法--辗转相除法
考题出处:https://leetcode.cn/problems/greatest-common-divisor-of-strings/submissions/+ t(t 自身连接 1 次或多次)时,我们才认定 “t 能除尽 s”。返回 最长字符串 x,要求满足 x 能除尽 str1 且 x 能除尽 str2。辗转相除法是以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数的计算公式。7 / 5 = 1 (余2)5 / 2 = 2 (余1)2 / 1 = 2 (余0)
2023-07-07 16:29:14
710
原创 文心一言vs通义千问 之前端文件夹命名
今天心血来潮想试试国内百度和腾讯的AI在解决前端难题–文件命名方面的效果。综上,是百度会更贴近一些哈。大伙有什么命名的好工具嘛?
2023-06-30 09:48:12
299
原创 前后端实现:行为验证码---文字点选
④ 验证数据随表单提交到后台后,后台需要调用captchaService.verification做二次校验。git地址:https://github.com/susanliy/point_captcha。后端代码逻辑:https://gitee.com/anji-plus/captcha。最近接到一个新的需求,由于客户是内网,你能使用腾讯的验证码了,需要改为前后端实现。⑤ 第4步返回校验通过/失败到产品应用后端,再返回到前端。③ 用户提交表单,前端将第二步的输出一同提交到后台。具体的代码已经提交git。
2023-06-25 17:17:39
1285
1
原创 vite优化
优化真的很费时又不能确保一定能有很飞跃的效果,在不断摸索中前进~~1.使用 yarn 在 package.json 内配置(推荐)2、vite中去使用:vite.config.ts中配置。2.使用 npm,在电脑 host 文件加上如下配置即可。gzip 与 brotli 在 nginx 内的配置。插件进行进行代码体积分析,从而优化你的代码。在需要的组件内加载echarts,绘制图表。
2023-06-25 16:38:41
790
原创 升级vite4 报错
将插件 “vite-plugin-theme”: “^0.8.1” 改为 “vite-plugin-theme”: “git+https://github.com/tt-sevth/vite-plugin-theme.git”,另外可以把预加载卸载了,因为vite3版本之后就内置了预加载功能。vite-plugin-theme插件造成的。vben vite2 升级vite4报错。
2023-05-26 16:23:49
1725
1
原创 vben 使用表格添加时间组件fieldMapToTime参数失效
因为整个项目的时间传输格式都是{endTime: “2023-05-10”,startTime: “2023-04-06”},所以直接干脆在useFormValues.ts 里面把格式写死输入。因为BasicTable中注册useForm的时候没有传入config导致useForm内部的validate拿不到props.fieldMapToTime。vben 使用表格添加时间组件fieldMapToTime参数失效。*要是大家有更好的方式,麻烦告知一下哈😊。
2023-04-26 09:35:47
877
2
原创 深拷贝与浅拷贝
虽然 JSON.parse(JSON.stringify()) 方法是一种简单易用的实现深拷贝的方法,但它并不完美,使用时需要注意其缺陷。用JSON.stringify将对象转成JSON字符串,再用JSON.parse()把字符串解析成对象,一去一来,新的对象产生了,而且对象会开辟新的栈,实现深拷贝。如果原始对象中存在循环引用,即对象的某个属性引用了该对象本身,使用该方法就会抛出 TypeError 异常。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
2023-04-11 10:11:39
386
原创 webpack Tree-shaking与Gizp的理解
一般来说,Gzip 压缩是服务器的活儿:服务器了解到我们这边有一个 Gzip 压缩的需求,它会启动自己的 CPU 去为我们完成这个任务。而压缩文件这个过程本身是需要耗费时间的,大家可以理解为我们以服务器压缩的时间开销和 CPU 开销(以及浏览器解析压缩文件的开销)为代价,省下了一些传输过程中的时间开销。服务器的 CPU 性能不是无限的,如果存在大量的压缩需求,服务器也扛不住的。根据这个原理,文件中代码的重复率越高,那么压缩的效率就越高,使用 Gzip 的收益也就越大。解压 Gzip,浏览器要花时间。
2023-03-20 17:08:58
301
原创 pc端实现屏幕自适应
然后把node_moudles下lib-flexible下flexible.js复制出来 引入就可以了,可以将lib-flexible卸载了。原文链接:https://blog.youkuaiyun.com/weixin_43957384/article/details/125184706。参考文档:https://blog.youkuaiyun.com/weixin_43957384/article/details/125184706。采用:postcss-px-to-viewport + lib-flexible。
2023-02-28 23:11:11
1405
原创 关于xss攻击解决方案
如何防止XSS攻击?1.innerHTML —xss攻击2.DOMParser().parseFromString()–性能最差,会受到xss攻击3.Range.createContextualFragment()–会执行内联的script js代码,这个方法尽量不要使用,不安全4.insertAdjacentHTML()–会受到xss攻击5.createContextualFragment ()–安全性能差,会受到xss攻击。
2023-01-11 15:45:49
3193
原创 更改 ant design vue 更改modal样式 vue3.0
antd中大部分组件的样式都可以使用/deep/直接修改,但modal这个组件有点特殊,用这个方法没有效果,最后用了以下方法:步骤:1.需要在外部包一个div ref=“globalModal”2.调用getContainer api :getContainer=“() => $refs.globalModal”3.利用deep 对于css进行样式更改...
2022-06-17 14:44:39
5196
4
原创 ant design vue 树形列表新增数据 图表不响应
问题:ant design vue 树形列表新增数据 数据打印有增加可是图表不响应需要的效果:const add = () => { const newData = { id: treeData.value?.length + 10, title: 'test', pid: 0, name: 2, change: true, key: treeData.value?.length + 10, }; treeData.value
2022-05-11 16:45:54
519
原创 ant 封装弹窗报错 Unexpected mutation of “visible“ prop.
封装ant 弹窗时报错:Unexpected mutation of “visible” prop.原因:大概就是说不允许在子级修改父级的数据。解决:更改前: <a-modal v-model:visible="visible" title="Basic Modal" @ok="handleOk">更改后: <a-modal :visible="visible" @update:visible="updateVisible" > const upd
2022-05-06 14:51:05
4766
原创 git push 报错
传送门,真实有用:1.https://juejin.cn/post/68449041931703418962.https://blog.youkuaiyun.com/weixin_40922744/article/details/107576748
2022-03-24 17:58:51
252
原创 vue3.0 vite axios挂载全局获取不到
在main.ts中代码:import axios from 'axios'app.config.globalProperties.$http = axios在普通页面去调用$http//获取当前组件的实例、上下文来操作router和vuex等import { getCurrentInstance } from 'vue'setup(){ const { ctx } = getCurrentInstance() as any console.log('ctx', ctx, ctx
2021-12-30 14:18:00
1463
1
原创 element-plus 自动导入导致message样式错误
项目采用的是element-plus自动导入<template> <el-button :plain="true" @click="open">Show message</el-button></template><script lang="ts">import { defineComponent, h } from 'vue'import { ElMessage } from 'element-plus'export defa
2021-12-29 11:26:06
3126
原创 vue3.0获取$refs
<login-pop ref="login"></login-pop> setup() { const login = ref() const openDialog = () => { login.value?.openDialog() } return { openDialog, login }//**记得把所需要的方法和属性值都要return** },
2021-12-24 17:26:25
7840
原创 vite element-plus自动导入 如何设置全局size ,index
在main.ts里面设置//element 全局默认大小为smallapp.config.globalProperties.$ELEMENT = { size: 'small',}原问题来源 : https://github.com/element-plus/element-plus/discussions/3829
2021-12-22 10:20:55
1938
2
原创 vue 3.0 keep-alive 失效 报错 Cannot read properties of null (reading ‘parentNode‘)
版本:vue “3.2.4”vue-loader “16.4.1”vue-router “4.0.11” <router-view v-slot="{ Component }"> <keep-alive> <suspense timeout="0"> <template #default> <component :is="Component" />
2021-12-07 17:17:02
5991
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人