首页 文章 精选 留言 我的

精选列表

搜索[一键安装包],共10000篇文章
优秀的个人博客,低调大师

纯前端实现一键生成二维码,打开新页面展示二维码(原来可以这么简单)

前言:相信不少同学在实际工作中做项目的时候会遇到点击形成二维码,跳转新的页面展示二维码的项目需求。解决问题的思路实际有很多种,今天笔者介绍一个简单实现的思路,供大家参考,实际实现这个小功能其实是特别简单的。 一 demo效果 二 思考如何让实现 如何实现这个需求呢 首先我们需要生成二维码,而且要打开一个新的页面展示,那么我们需要img标签来展示图片的载体,那么生成图片src必不可少的。无论我们的项目是spa,还是多页面应用,我们这里都要用base64储存图片的信息。所以需要把生成的二维码转化成base64。接下来让我们整理一下思路。 梳理具体思路 第一步:我们需要将目标二维码链接生成二维码。 第二步:将上一步生成的二维码转化成base64格式url,并保存url。 第三步:打开新页面,获取保存的url,展示生成的二维码。 1 引入arale-qrcode库 首先我们需要将连接绘制成二维码,那么我在这里给大家推荐一个形成二维码的库arale-qrcode。它可以根据传入的二维码链接生成svg或table形式的dom节点。 import AraleQRCode from 'arale-qrcode'const result = new AraleQRCode({ render: "svg", /* 生成的类型 'svg' or 'table dom元素类型 */ text:'https://juejin.im/post/6895011670301605896', /* 二维码的链接*/ size: 100 /* 二维码的大小 */})console.log(result) 我们看看AraleQRCode把二维码链接变成了什么东西。 没错,AraleQRCode把我们的二维码变成了,真是的dom的节点,如果是在当前页面展示,现在已经满足需求了,然而这不是我们想要的,因为我们的要在新的页面中展示生成的二维码。接下来我们想的是怎么把当前的node节点转化成base64 2XMLSerializer序列化xml 接下来我们可能用到一个不怎么常用的api XMLSerializer,它的作用是什么?XMLSerializer对象使你能够把一个XML文档或Node对象转化或“序列化”为未解析的XML标记的一个字符串。具体使用我们不需要带参数去实例化它,然后调用serializeToString方法node对象变成一个字符串。 例子: const div = document.createElement('div')div.innerText = 'hello,world'const result = new XMLSerializer().serializeToString(div)console.log(result) 我们看看XMLSerializer到底做了什么。 没错,这样就将一个真实dom变成了字符串。回到正题上来,我们需要上一步生成的svg xml文档转换成字符串。 import AraleQRCode from 'arale-qrcode'const result = new AraleQRCode({ render: "svg", /* 生成的类型 'svg' or 'table dom元素类型 */ text:'https://juejin.im/post/6895011670301605896', /* 二维码的链接*/ size: 100 /* 二维码的大小 */})const svgXml = new XMLSerializer().serializeToString(result)console.log(svgXml) 打印结果如下: 注意:XMLSerializer对于ie浏览器存在着兼容性,所以我们要做额外的兼容处理。 3 window.btoa转化成url,跨页面传递url 接下来我们需要把新出炉的svg字符窜转成base64格式。我们可以通过window.btoa方法。创建一个base-64编码的字符串。除了用到window.btoa外,我们还需要二次转码encodeURIComponent字符串作为URI组件进行编码和解码。unescape可对编码的字符串进行解码。 const src = 'data:image/svg+xml;base64,' + window.btoa(unescape(encodeURIComponent(svgXml))) 终于生成了我们想要的base64格式的图片url,接下来我们做的是跨页面传递url。 这里有一个小技巧,由于我们用的是打开一个新窗口,而且生成的base64文件不会很大,所以我们这里用本地存储localStorage再好不过。 localStorage.setItem('image',src)window.open('http://localhost:8888/image') 将上一步的src保存起来。这样就完成了url的生成到保存。 完整的代码如下 生成二维码页面 const index = () => { const text = ()=>{ const result = new AraleQRCode({ render: "svg", /* 生成的类型 'svg' or 'table dom元素类型 */ text:'https://juejin.im/post/6895011670301605896', /* 二维码的链接*/ size: 100 /* 二维码的大小 */ }) const svgXml = new XMLSerializer().serializeToString(result) const src = 'data:image/svg+xml;base64,' + window.btoa(unescape(encodeURIComponent(svgXml))) localStorage.setItem('image',src) window.open('http://localhost:8888/image') } return <div className="page" > <p className="cur" > 当前url: <span> https://juejin.im/post/6895011670301605896 </span> </p> <div className="btns" > <button onClick={text } >点击生成二维码</button> </div> </div>} 接受二维码页面 function index(){ const img:any = localStorage.getItem('image') localStorage.removeItem('image') return <div className="mast" > <div className="img_content" > <img src={img} /></div> </div>} 注意:当我们接受到url的时候,别忘了清除本地缓存。 三 写在后面 上面总结了一个生成+跨页面展现二维码的具体实现方案,而且已经应用在真正的项目中了,在实际工作中,同学们如果遇到类似问题,希望这篇文章能给大家带来解决此类问题的思路。 最后谢谢大家阅读,大家如果觉得还不错的话,就 点赞 + 关注 一波,持续分享技术文章。 本文分享自微信公众号 - 前端公虾米(gh_0b53c67e23b7)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

大数据、人工智能、VR、Docker、前端、网络,双11技术视频、讲义、文章一键收 ##您的好友演讲视频+PDF讲义已上线##

诚然,每届双11对阿里来说都是一次大考,然而,1207亿的背后,考校的绝不仅是阿里的系统支撑能力,比如: 17.5万笔/秒的交易订单数峰值,2015年是14.05万笔;12万笔/秒的支付峰值,2015年是8.59万笔 无线交易额占比83.72%;100%的服务能力;秒级的终端体验;VR&3D互动体验 全球195个国家和地区,参与了此次双11狂欢 还包括更多背后的英雄: 1207亿,如何让用户最快地发现商品,如何给用户推荐最需要的商品 780秒!第一单签收;6.57亿包裹,如何做好物流预测;花呗授信额度评估如何在数亿买家完成;智能语音客服,97%的电话客服由智能语音机器人接听…… 数据大屏,如何将各种数据第一时间展示 因此,为了更为全面解读2016双11背后的技术创新,12月6日-7日,阿里巴巴集团、阿里巴巴技术发展部、阿里云云栖社区将联合主办阿里巴巴技术论坛,设置大数据、人工智能、VR、Docker、前端、网络等众多议题,带大家窥视阿里技术创新的冰山一角。 目前相关活动视频、整理文章已经出炉,所有用户还可以通过以下两种途径下载所有嘉宾的讲义! 1. 所有已完成预报名的小伙伴可以通过 下方地址直接下载! 2.关注“云栖社区 ”公众号 实在来不及报名的同学,你也可以扫描上方二维码并关注“云栖社区”微信公众号,这里也会发送本次会议的所有讲义和整理内容。此外,欢迎分享本微信公众号给您的朋友,后续更多干货也将由此推送,比如《不一样的双11技术创新》电子书收录的接近40篇技术干货! 12月6日议题 阿里双11背后的网络自动化技术——张铭(阿里巴巴研究员) 讲师&议题简介:https://yq.aliyun.com/articles/64680 演讲视频:https://yq.aliyun.com/edu/lesson/play/452 演讲整理文章:https://yq.aliyun.com/articles/66082 PDF下载:https://yq.aliyun.com/attachment/download/?id=917 阿里大规模数据计算与处理平台——林伟(阿里巴巴资深技术专家) 讲师&议题简介:https://yq.aliyun.com/articles/64680 讲师采访:https://yq.aliyun.com/articles/64923 演讲视频:https://yq.aliyun.com/edu/lesson/play/453 演讲整理文章:https://yq.aliyun.com/articles/66113 PDF下载:https://yq.aliyun.com/attachment/download/?id=918 在线AI技术在搜索与推荐场景的应用——徐盈辉(阿里巴巴研究员) 讲师&议题简介:https://yq.aliyun.com/articles/64680 讲师采访:https://yq.aliyun.com/articles/65029 演讲视频:https://yq.aliyun.com/edu/lesson/play/454 演讲整理文章:https://yq.aliyun.com/articles/66158 PDF下载:https://yq.aliyun.com/attachment/download/?id=920 揭秘阿里虚拟互动实验室——袁岳峰(阿里巴巴高级技术专家) 讲师&议题简介:https://yq.aliyun.com/articles/64680 演讲视频:https://yq.aliyun.com/edu/lesson/play/455 演讲整理文章:https://yq.aliyun.com/articles/66105 PDF下载:https://yq.aliyun.com/attachment/download/?id=921 12月7日议题 阿里超大规模Docker化之路——林昊(阿里巴巴研究员) 讲师&议题简介:https://yq.aliyun.com/articles/64680 讲师采访:https://yq.aliyun.com/articles/64890 演讲视频:https://yq.aliyun.com/edu/lesson/play/456 演讲整理文章:https://yq.aliyun.com/articles/65377 PDF下载:https://yq.aliyun.com/attachment/download/?id=922 双11媒体大屏背后的数据技术和产品——罗金鹏(阿里巴巴高级技术专家) 讲师&议题简介:https://yq.aliyun.com/articles/64680 演讲视频:https://yq.aliyun.com/edu/lesson/play/459 演讲整理文章:https://yq.aliyun.com/articles/66098 PDF下载:https://yq.aliyun.com/attachment/download/?id=923 数据赋能商家背后的AI技术——魏虎(阿里巴巴资深技术专家) 讲师&议题简介:https://yq.aliyun.com/articles/64680 讲师采访:https://yq.aliyun.com/articles/64835 演讲视频:https://yq.aliyun.com/edu/lesson/play/457 演讲整理文章:https://yq.aliyun.com/articles/66159 PDF下载:https://yq.aliyun.com/attachment/download/?id=925 面对双11的前端“极限挑战”——舒文亮(阿里巴巴高级技术专家) 讲师&议题简介:https://yq.aliyun.com/articles/64680 演讲视频:https://yq.aliyun.com/edu/lesson/play/458 演讲整理文章:https://yq.aliyun.com/articles/66106 PDF下载:https://yq.aliyun.com/attachment/download/?id=924 附录: 欢迎将消息分享给你的朋友。

优秀的个人博客,低调大师

企业级实践:内训课件规模化生成——福昕 Office 助手 Skill 一键把讲义批量产出带备注的汇报 PPT

在千人以上规模的企业里,内训部门通常同时承担新员工入职、合规考试、产品轮训、晋升答辩等多条培训线,每条线对应若干份讲义(Word 章节稿 + Excel 数据表),最终都需要交付带演讲者备注的 PPT。讲师手工完成一份 30 页 PPT 平均 6 至 8 小时,全年内训课件总量动辄上百份。

优秀的个人博客,低调大师

Claude Code 国内一键安装脚本:不装 Node.js、不手配环境变量,一条命令跑起来(2026 年 9 月实测)

先给结论:有。macOS / Linux / WSL 一条 curl,Windows 一条 PowerShell,脚本会自己装 Node.js(缺的话装便携版,不要管理员权限)、装官方 Claude Code、用 6 位配对码在浏览器里授权拿 Key(不用复制粘贴密钥)、写好环境变量、最后真发一次请求验证连通。适用条件:你打算接国内的接入服务;如果你要直连 Anthropic 官方 API,用官方脚本就够了,本文的脚本对你没有意义。

优秀的个人博客,低调大师

我用Qwen3.8-Max搭了电商AI运营工作台,店铺复盘2小时人工活5分钟一键落地

我是一名前端开发者,日常长期帮电商商家搭建运营辅助工具,商家普遍被文案批量撰写、海量用户评价整理、直播脚本策划等重复工作困扰。市面上多数大模型长文本理解碎片化、结构化输出混乱,前端接入后需要大量二次排版修改,落地成本居高不下,因此决定自研一套轻量化商用 AI 工作台。

优秀的个人博客,低调大师

BRPC+ETCD高并发文件上传下载,GTest全链路验证+Protobuf接口设计,CMake一键构建之文件管理子服务实现!

本文围绕文件操作子服务(FileServer)展开,设计支持单/多文件上传下载功能,基于BRPC通信与ETCD服务注册,通过Protobuf定义接口协议,C++实现服务端存储逻辑与客户端调用,结合GTest验证四大接口可靠性,CMake管理项目模块构建,实现高效服务端可靠的文件管理子服务。

优秀的个人博客,低调大师

开源日报 | 特斯拉FSD入华箭在弦上;BAT决战AI之巅;Linux“蓝屏死机”;程序员制作“一键脱衣”软件;新的Transformer架构;SaaS的“大模型焦虑”

程序员基于开源 AI 模型制作“一键脱衣”软件,结局很刑 北京某公司程序员白某某研发“一键脱衣”AI软件,通过AI软件将他人提供的女明星、女同事、女同学照片等女性图片制作成裸体图片,以1块5一张的价格贩卖牟利

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册