- 博客(56)
- 收藏
- 关注
原创 宝塔部署dify,实现智能问答
本文详细介绍了在宝塔面板中使用Docker安装Dify应用的完整流程,包括:1)通过宝塔Docker搜索安装Dify;2)配置域名和端口;3)登录后安装AI大模型并设置API密钥;4)创建知识库并优化数据分段;5)在工作室内创建应用并发布到网站。文章还提供了Dify的官方文档、GitHub项目地址和在线体验链接。整个教程图文并茂,涵盖了从安装部署到应用开发的各个环节,特别强调了知识库优化和模型配置的关键技巧。
2025-12-04 15:08:55
268
原创 使用gemini 3 pro实现可视化大屏
Google AI Studio推出Gemini 3 Pro模型测试,开发者可通过该平台快速生成UI代码。测试显示,该模型能根据上传的UI图片生成可运行的HTML代码,效果优于同类产品,能显著提升开发效率。但存在自适应布局问题,后续尝试集成到Cursor时出现报错,需进一步研究解决。平台地址:https://aistudio.google.com/。
2025-12-03 17:15:12
356
原创 echarts tooltip数据太长导致显示不全
【摘要】针对ECharts图表中tooltip数据过长显示不全的问题,通过配置tooltip的extraCssText属性设置最大高度为600px并启用垂直滚动条,同时添加enterable属性允许鼠标进入查看完整内容。修改后tooltip会在超出高度时自动显示滚动条,用户可通过鼠标滚动画查看全部数据,解决了数据截断问题。实现代码简单有效,仅需在tooltip配置中添加max-height、overflow-y和z-index样式即可。
2025-10-21 16:36:44
178
原创 使用dify 实现文件解释助手,并引入项目
摘要:本文介绍如何通过Dify平台实现前端AI文档助手的集成。解决方案包括:1)本地部署Dify环境;2)创建聊天助手应用,上传知识库文件;3)测试AI对文档问题的回答能力;4)发布应用并嵌入网站。实施步骤配有界面截图,展示了从创建助手到最终集成的完整流程,实现基于文档内容的智能问答功能。相关部署文档已提供参考链接。(150字)
2025-10-21 14:14:07
280
原创 v0实现ui界面
v0.dev是由Vercel推出的AI驱动UI生成工具,支持React/Vue/Svelte等框架,通过TailwindCSS快速生成精美界面。用户只需输入提示词或上传UI图,AI即可自动生成代码,并允许通过对话反馈进行微调。每次修改会生成新版本便于追溯。目前生成效果良好,操作简单,后续计划探索与VSCode集成及可视化大屏的实现能力。官网地址:https://v0.dev/。
2025-07-09 16:06:53
466
原创 echarts 地图 海南省全岛完整展示
针对海南省周边群岛显示不全的问题,通过更换更完整的中国地图JSON数据源实现优化。优化前后对比显示,新方案成功展示了完整的群岛分布。解决方案推荐使用特定JSON文件(提供在线链接和本地引用两种方式),有效解决了区域显示缺失问题。该方法简单易行,适用于需要完整展示中国南海诸岛的地图可视化场景。
2025-06-11 15:20:52
281
原创 前端缓存--浏览器缓存
但是有一些 “聪明” 的用户会点击浏览器左上角的刷新按钮去刷新页面,这时候就算资源没有过期(1年没这么快过),浏览器也会直接去请求服务器,这就是额外的请求消耗了,这时候就相当于是走协商缓存的流程了(下面会讲到)。由于Cache-Control的优先级比expires,那么直接根据Cache-Control的值进行缓存,意思就是说在600秒内再次发起该请求,则会直接使用缓存结果,强制缓存生效。协商缓存就是强制缓存失效后,浏览器携带缓存标识向服务器发起请求,由服务器根据缓存标识决定是否使用缓存的过程。
2025-04-18 13:53:53
854
原创 项目中嵌入vite-plugin-vue-mcp
是一个基于 Vite 的 Vue 应用插件,它为开发者提供了一套强大的组件树、状态和路由调试工具。通过在开发环境中启动一个 MCP(Model Context Protocol)服务器,vite-plugin-vue-mcp 允许开发者实时查看和编辑 Vue 应用中的组件树、状态、路由和 Pinia 状态,从而提升了开发效率和调试体验。
2025-04-17 14:30:07
1828
原创 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
328
原创 VS Code Copilot 与 Cursor 对比
优点:功能强大,插件丰富,AI能力出色,社区活跃,多IDE支持,价格相对合理。缺点:插件过多可能影响性能,部分高级功能需要付费。优点:独特的用户交互设计,出色的代码补全体验,Composer功能潜力大,支持VS Code插件。缺点:价格较高,高级功能需使用Cursor自有模型,部分复杂需求处理能力有限。总结与建议追求功能全面和成熟稳定的体验,选择 VS Code Copilot。追求独特交互体验和尝鲜,项目复杂度不高并且不差钱,选择 Cursor。
2024-12-20 11:35:59
8493
原创 structuredClone()与 lodash.cloneDeep与 JSON.parse & JSON.stringify()拷贝对比
structuredClone()与 lodash.cloneDeep与 JSON.parse & JSON.stringify()拷贝对比。
2024-12-03 17:10:22
431
原创 整理git上的模板框架
技术栈的app框架 功能:基于 uni-app,一端发布多端通用,目前已经适配 H5、微信小程序、QQ小程序、Ios。功能:实现登入点击文字和拉动滑块的登录校验,具体的交互看这篇。后台管理平台(用于日常练手的项目,存放一些封装的组件)taro3 框架小程序跨端平台。功能:前台官网的网站项目模板。
2024-03-28 14:22:21
548
原创 在企业微信里面添加h5页面 进行登录授权
1.需求:在企业微信里面添加h5页面 进行登录授权,获取到用户的code,进行登入id的验证。在企业微信内部进行配置,拿到appid,redirect_uri,agentid参数。② 直接将授权的操作写在首页中,在首页进行授权,然后再跳转首页(我用的是这种方式)① 有一个页面用于授权,然后在跳转首页。
2024-03-27 14:27:27
4300
1
原创 font-weight元素失效
原因:由于在字上运用了字体,然后对于这个字体添加粗细失效了,字体包很大有10mb,使用导致了在刚刚进入页面的时候字体显示正常,等字体文件加载完成之后,font-weight元素失效。问题:在h5 的页面上无论设置font-weight多少的值都没有效果;手机上一开始文字有显示加粗的效果,可是等资源加载完成之后就会使字体粗细这个效果失效。解决方案:移除字体,直接在字上面添加font-weight元素。
2024-03-27 14:06:39
1600
原创 h5 tailwind 使用rounded类导致安卓端样式显示有问题
问题: h5 页面使用了tailwindcss插件,运用了rounded 类,发现在ios和安卓上显示不一致,安卓上样式乱了。由于tailwindcss里面的默认元素的默认的单位为rem,导致了在安卓手机端尺寸有误。将默认得rem单位,改为px的单位。
2024-03-27 13:58:51
555
原创 vite 安装tailwindcss失效
需求:在vite5 + vue3 + ts中安装tailwindcss。在mian.ts 里面导出 style.css 文件 就可以了哈。问题:按照tailwindcss的。进行安装,可是一直不生效。
2024-03-12 16:50:37
1225
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
1439
原创 pc端与flutter通信失效, Method not found
报错情况描述:pc端与flutter通信,ios端能实现通信,安卓端通信报错。报错内容:安卓端报错。
2023-08-09 18:23:28
1014
原创 vue-cli3项目优化
*原理:**如果一些第三方模块没有AMD/CommonJS规范版本,可以使用 noParse 来标识这个模块,这样 Webpack 会引入这些模块,但是不进行转化和解析,从而提升 Webpack 的构建性能 ,例如:jquery 、lodash。我们使用 DllPlugin 将不会频繁更新的库进行编译,当这些依赖的版本没有变化时,就不需要重新编译。**原理:**有些时候,如果所有的JS文件都打成一个JS文件,会导致最终生成的JS文件很大,这个时候,我们就要考虑拆分 bundles。
2023-08-04 16:03:03
1943
原创 算法--辗转相除法
考题出处: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
738
原创 文心一言vs通义千问 之前端文件夹命名
今天心血来潮想试试国内百度和腾讯的AI在解决前端难题–文件命名方面的效果。综上,是百度会更贴近一些哈。大伙有什么命名的好工具嘛?
2023-06-30 09:48:12
317
原创 前后端实现:行为验证码---文字点选
④ 验证数据随表单提交到后台后,后台需要调用captchaService.verification做二次校验。git地址:https://github.com/susanliy/point_captcha。后端代码逻辑:https://gitee.com/anji-plus/captcha。最近接到一个新的需求,由于客户是内网,你能使用腾讯的验证码了,需要改为前后端实现。⑤ 第4步返回校验通过/失败到产品应用后端,再返回到前端。③ 用户提交表单,前端将第二步的输出一同提交到后台。具体的代码已经提交git。
2023-06-25 17:17:39
1391
1
原创 vite优化
优化真的很费时又不能确保一定能有很飞跃的效果,在不断摸索中前进~~1.使用 yarn 在 package.json 内配置(推荐)2、vite中去使用:vite.config.ts中配置。2.使用 npm,在电脑 host 文件加上如下配置即可。gzip 与 brotli 在 nginx 内的配置。插件进行进行代码体积分析,从而优化你的代码。在需要的组件内加载echarts,绘制图表。
2023-06-25 16:38:41
942
原创 升级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
1840
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
998
2
原创 深拷贝与浅拷贝
虽然 JSON.parse(JSON.stringify()) 方法是一种简单易用的实现深拷贝的方法,但它并不完美,使用时需要注意其缺陷。用JSON.stringify将对象转成JSON字符串,再用JSON.parse()把字符串解析成对象,一去一来,新的对象产生了,而且对象会开辟新的栈,实现深拷贝。如果原始对象中存在循环引用,即对象的某个属性引用了该对象本身,使用该方法就会抛出 TypeError 异常。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
2023-04-11 10:11:39
402
原创 webpack Tree-shaking与Gizp的理解
一般来说,Gzip 压缩是服务器的活儿:服务器了解到我们这边有一个 Gzip 压缩的需求,它会启动自己的 CPU 去为我们完成这个任务。而压缩文件这个过程本身是需要耗费时间的,大家可以理解为我们以服务器压缩的时间开销和 CPU 开销(以及浏览器解析压缩文件的开销)为代价,省下了一些传输过程中的时间开销。服务器的 CPU 性能不是无限的,如果存在大量的压缩需求,服务器也扛不住的。根据这个原理,文件中代码的重复率越高,那么压缩的效率就越高,使用 Gzip 的收益也就越大。解压 Gzip,浏览器要花时间。
2023-03-20 17:08:58
321
原创 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
1459
原创 关于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
3324
原创 更改 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
5403
5
原创 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
555
原创 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
4908
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅