一个后端工程师对前端云 Vercel 的体验和探索

这篇具有很好参考价值的文章主要介绍了一个后端工程师对前端云 Vercel 的体验和探索。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天小猿姐特邀咱们资深的程序猿为大家带来产品的体验报告。

Vercel 概述

Vercel 是一个为前端开发者设计的一体化平台(前端云),可以帮助开发者快速地将网站和应用程序部署到各种环境中,并且提供了一个灵活、可扩展和安全的平台,非常适合开发者在不同平台和环境中进行开发和部署。

Vercel 的主要特点包括:

  • 通过自动配置构建设置和提供详细的构建日志,简化了部署管理过程。
  • 借助集成的 CI/CD 功能,开发者可以预览其更改,并无缝合并到主分支进行生产部署。
  • 支持自定义域名,可以轻松配置并为部署分配个性化的 URL。
  • 提供了检查、分析和使用情况等监控工具,以跟踪网站性能和用户参与度。

借助 Vercel,开发者可以简化开发流程,实现快速、个性化的 Web 内容交付。

Vercel 的用户非常广泛,也为许多不同类型的企业提供服务,例如 Facebook、Chipotle 和 Carhartt。

Vercel 的发展历史

产品演进

迄今为止,Vercel已经经过了8年的发展。

时间线

1.2015 创建 Zeit(Vercel 前身)
2.2016 年核心产品 Now 发布

针对小公司和个人开发者,Now 与如今的 Vercel 在产品逻辑上已经十分接近。

3.2016 年 Zeit 推出开源的 React 上层框架 Next.js

简单的学习曲线和强大的性能,使得 Next.js 很快成为了热门开源项目。Next.js 项目的成功也让大量开发者间接了解到了 Zeit 和 Now。

并且相比部署普通 Web 网站,功能更强大并复杂的 Next.js 部署起来也更加复杂。主导极简部署的 Now 便适时地深度集成了 Next.js,实现了双剑合璧。与 Next.js 的融合,也让 Zeit 的社区日益繁荣。

4.2020 完成 A 轮融资,改名为 Vercel,集成 React 以外主流框架

截至 2020 年 4 月,Zeit 一共赢得了 30多万 用户。开发者的青睐助力 Zeit 完成 2100w 美元 A 轮融资。

也让 Zeit 团队确立了新的目标:集成更多功能,让开发者在一个页面内完成开发、预览、部署的整个过程。

为了快速树立全新的品牌形象,Zeit 改名为 Vercel,意为:Versatile + accelerate + excel

5.自那之后,Vercel 陆续完成了 B、C、D 轮融资,总融资额达到 3.13 亿美元

让用户可以使用 Vercel 进行 develop, preview and ship

6.2023 推出 Serverless Storage

7.2023 推出 AI 加速计划

借着AI的东风,Vercel开始助力开发者 AI 应用开发。

核心产品介绍

Vercel:极简主义的部署体验

创始人 Guillermo 为了解决当时前端开发者最两个明显的痛点,推出了 Now,帮助开发者轻松将应用部署到云端,拉开了 Vercel 商业化进程的帷幕。

  1. 这套架构虽然设计并不复杂,但在实际实施时却困难重重,往往需要云上部署经验丰富的 devops 帮助落地,而这也被认为是中大型公司的专利,小公司与个人开发者缺少对应的人力。
  2. 公有云服务众多且逻辑复杂,普通开发者想学习并达成最佳实践,所耗费的时间甚至高于开发应用本身。

Vercel 本身并没有开发复杂的云上基础设施,而是帮用户将应用部署到 AWS 等公有云上。结合 Guillermo 过往丰富的 Web 应用开发经验,他将域名配置、DNS 解析、SSL 证书、CDN 缓存等一系列工作封装到了产品内部,让用户真正做到一键部署应用,并享受最佳实践带来的性能优势

早期阶段 Vercel 的商业逻辑已经清晰:

  • 通过简化公有云部署节省用户人力;
  • 通过生产环境最佳实践提升应用表现。

前者不难理解,用户节省的人力成本可以转换为付费的意愿,后者则是 Zeit/Vercel 持续至今的思路:用户最愿意为生产环境付费以提升稳定性与性能。

而这一模式的难点则是用户如何产生粘性而不是转向成本更低的公有云或者其他定位相同的部署平台。Guillermo 的答案是从自己精通的 Node.js 与前端技术出发,以开源的方式切入市场。

Next.js

是基于 React 的上层框架,Vercel 最核心的开源项目。

  • React 等前端框架默认提供的是前端渲染,也就是后端返回数据,前端根据 js 生成 HTML。
  • 前端渲染不方便 SEO。
  • Next.js 提供后端渲染,前端渲染,静态页面渲染,作为 API server 等额外的能力。开发者可以根据需求对不同的页面选择不同的渲染方式,达到最佳效果。
  • 除了自身的各种脚手架和优点,结合 Vercel 的 serverless 服务和流程的部署集成,Next.js 的应用开发体验非常得棒。
竞争对手
  • Remix ,主要支持 React,但是目标也支持其他的框架;
  • Nuxt ,支持 Vue。
边缘网络

Edge Network 使您能够在靠近客户或数据的区域存储内容并运行计算,从而减少延迟并提高终端用户的性能。

边缘网络包括大家熟知的 CDN,还做了边缘缓存,边缘函数计算等能力。

后端存储

提供开发常用的存储服务,比如边缘配置分发,KV 存储,关系型数据库,对象存储等。

也提供了很多第三方的集成方案,包括 PlanetScale,MongoDB 等。

AI 应用开发加速

AIGC 时代,Vercel 也快速做出了自己的动作,开启了 Vercel AI Accelerator 项目,直接举行活动并提供相关工具和基础设施支持,为 AI 应用开发者加速。

团队组建

创始人

Guillermo Rauch 本身就是一个开发者工具生态的明星玩家,专注开发者体验,拥有大量知名作品(他的博客个人简介里就列举一一些),并且常年活跃在开源社区,与很多顶级开发者和公司都有不错的关系(不限于前端,和国内 PingCAP 的关系也不错, PingCAP 最新的开源项目 ossinsight-light 就是和 Vercel 合作)。

社区引进

Vercel 的招聘策略显得十分清晰,作为面向开发者提供服务的商业公司,从开发者重度依赖的开源项目中挖掘人才可以有效提升产品竞争力,还能增加自己在开源社区中的话语权

正是由于 Vercel 坚持活跃在开源社区,通过开源社区提高用户粘性,吸引了众多明星开发者加入。比如下面的几个:

  • Next.js 的 lead developer Tim Neutkens(自家社区发展出来的)
  • webpack 的创造者 Tobias Koppers
  • SWC 的作者 Donny
  • React 核心团队的灵魂人物 Sebastian Markbåge
  • React 的官方脚手架项目 create-react-app 中招聘了核心维护中 Joe Haddad,简化 next.js 的快速上手体验
  • SWR 等知名工具作者 Shu Ding
  • Svelte 框架(主流框架之一,后端同学喜欢)的作者 Rich Harris(后续可能会招聘 Vue.js 或者 Nuxt.js 的 core team)

总结

整体来看,Vercel无论是发展路线还是产品矩阵都具备以下特点:

  • 始于社区,随社区一起发展,坚持活跃在开源社区;
  • 从解决实际问题出发,极致的开发者体验。

与一般的应用程序相比,一款开发工具需要服务于两个用户群体,Vercel 在这两方面很多优化:

  • 使用工具的开发者,开发效率和开发体验 DX,通过部署入手;
  • 开发者用这款工具开发出的产品的用户,产品的性能和使用体验 UX,上线后提升应用性能。

基本实现当初的愿景,正在往前端云发展。

使用体验

官网

Vercel 的官网 具有优秀的设计体验,极简主义的追求贯穿了 Vercel 的产品定义与视觉设计,黑白相间的优雅界面成为了他们最早的名片,非常值得认真体验。

如果登录后,访问官网会默认重定向到 Dashboard 页面,差不多就是产品控制台了。
vercel,程序人生,前端,数据库

控制台首页也非常简洁,下面就通过创建新应用和导入一个 GitHub 的老项目为例,展示 Vercel 的基本体验。
vercel,程序人生,前端,数据库

创建新应用

选择基于模板创建一个新的应用,模板选择页面有非常多的模板(有官方的,也有第三方的),并且按照多个维度分类,use case 是第一个列表,还可以按照框架,使用的数据库,headless CMS 等维度选择。官方模板很多维护在 GitHub 仓库里的 examples ,也有很多在单独的 repo。
vercel,程序人生,前端,数据库

这里我选择他放在第一个的 Next.js 模板创建一个新应用,这个是基于create-next-app 脚手架生成好的项目。

  • 左侧可以选择直接 Deploy,或者访问模板的代码仓库。
  • 右侧都包含一个 Demo
    (就是这个模板部署到了 Vercel,可以直接访问查看),下面就是 README。
    vercel,程序人生,前端,数据库

选择 Deploy,则会在你的 GitHub 账户下创建一个同名项目,然后就可以会直接部署。

下面可以看到详细的部署日志。
vercel,程序人生,前端,数据库

不到一分钟,就部署好了,真的快~

  • 部署完后会自动生成一个域名,点击左侧的预览图,就可以访问了。https://nextjs-boilerplate-pi-cyan.vercel.app/

  • 右侧有下一步引导:

    • 切个其他分支开发修改后,可以直接快速预览修改后的效果
    • 可以添加绑定自己的域名
    • 可以打开 Speed insights(下面会展示)
  • 点击右上角会访问到项目详情页。
    vercel,程序人生,前端,数据库

项目详情页,基本一个页面就包含了所有操作入口,包括各种日志查看,访问地址,回滚按钮,当前部署的 commit ID 等。
vercel,程序人生,前端,数据库
vercel,程序人生,前端,数据库

脚手架(next.js 脚手架的功劳)生成的项目非常完备,clone 下来,同步下依赖就可以开发测试了,切个分支做一些修改,再 push 后可以看看会有啥变化。
vercel,程序人生,前端,数据库
vercel,程序人生,前端,数据库

代码 push 到 origin 后,Vercel 就自动构建部署了,然后可以预览,可以邀请其他人来查看,甚至还在预览页面可以协作评论
vercel,程序人生,前端,数据库
vercel,程序人生,前端,数据库

项目页面就可以看到评论,开发者就可以去看大家的意见。
vercel,程序人生,前端,数据库

预览完毕后,发一个 PR merge 到 main,main 分支就开始重新编译部署。
vercel,程序人生,前端,数据库
vercel,程序人生,前端,数据库

下面体验一下 Analytics 和 Speed Insights 两个功能。
vercel,程序人生,前端,数据库

都可以免费使用一些额度,这也可以让所有人都能体验到完整的功能(白嫖党的狂欢)。
vercel,程序人生,前端,数据库

点击 Enable,然后可以看到引导步骤,如何在代码里添加埋点。
vercel,程序人生,前端,数据库

按照引导添加好埋点,push 一个新的分支,然后可以看到分析数据,比较类似 Google Analysis。
vercel,程序人生,前端,数据库

下面再看看 Speed Insights工作,主要是性能指标和相关聚合数据。
vercel,程序人生,前端,数据库

Enable Speed Insights 则不需要埋点,只需要重新部署应用,然后等待有数据过来就好。按住 cmd+R 不放持续刷新页面,然后可以看到性能数据,包括整体和每个页面的。这个体验得分是基于真实用户访问(The combined score of your Speed Insights experienced by your visitors)
vercel,程序人生,前端,数据库

Settings 页面功能很丰富,基本围绕应用业务相关的功能都有,比如域名管理/日志清洗/Webooks/函数计算/定时任务/环境变量等。
vercel,程序人生,前端,数据库

托管老应用

和创建新应用差不多,唯一的区别就是不需要创建一个新的 GitHub repo,而是 import 一个现有的。
vercel,程序人生,前端,数据库
vercel,程序人生,前端,数据库

点击 Deploy 以后就和上面的流程一样了,访问地址: https://non-stop-nyan-cat.vercel.app/
vercel,程序人生,前端,数据库

Serverless

上面主要都是静态页面,动态页面依赖 API,这里主要体验 Storage 和 Functions 这两类服务,通过这两类服务提供一个 API。

Database

Vercel 内置的 PG

项目页上方就有 Storage 的 tab,点击选择 PG 创建。
vercel,程序人生,前端,数据库

后端数据库服务是 Neon 提供的,故意和应用选择不同的 region 数据库还会有提醒。
vercel,程序人生,前端,数据库
vercel,程序人生,前端,数据库

1s 就创建完成,会给项目创建对应 PG 访问方式的环境变量。
vercel,程序人生,前端,数据库

点击 Connect 就到了关联项目到这个数据库服务,会直接跳转到数据库页面。
vercel,程序人生,前端,数据库

Projects 可以查看关联项目的环境变量配置(是分不同的环境 Production/Preview/Dev…,这里选择三个共用),也可以关联其他项目。
vercel,程序人生,前端,数据库

Settings 里有以下四个功能:

  • 修改数据库名称;
  • 数据迁移,数据服务可以迁移到其他团队和账户下;
  • 重置访问方式,环境变量会更新;
  • 删除这个数据库服务。
    vercel,程序人生,前端,数据库

下面使用 Next.js 写一个简单的 API,先访问创建一个表,写几条数据。
vercel,程序人生,前端,数据库

添加代码。
vercel,程序人生,前端,数据库

本地启动,可以看到数据已经查询渲染了,push 修改到新的分支就可以线上 preview。
vercel,程序人生,前端,数据库

第三方的数据库
PlanetScale

点击 Connect Store 选择 Create New ,选择查看数据库集成,就可以看到所有已经集成的数据库。
vercel,程序人生,前端,数据库
vercel,程序人生,前端,数据库

这里选择 PlanetScale。
vercel,程序人生,前端,数据库

选择关联的项目。
vercel,程序人生,前端,数据库

配置权限。
vercel,程序人生,前端,数据库

然后跳转到了 PlanetScale,选择 GitHub 登录。
vercel,程序人生,前端,数据库

然后由于在 PlanetScale 没有可用的数据库(之前创建过一个数据库,free plan 很久没有用就冻结了,点击 Wake。这个 Waking 有点慢,等了好几分钟,从 Vercel 的各种快速对比,PlanetScale 的慢有点不适应了),并没有直接跳转到两者的集成页面==!
vercel,程序人生,前端,数据库

再从 Vercel 控制台操作一遍集成 PlanetScale 终于跳到了集成页面,页面还挺简单的
vercel,程序人生,前端,数据库

点击 Connect database,然后又等了一两分钟==!
vercel,程序人生,前端,数据库

完成后就自动跳转到了 Integrations 页面(注意不是 Project 页面下的 Storage 里,果然不是亲儿子)。
vercel,程序人生,前端,数据库

然后自己到关联项目的 Settings 查看环境变量就可以看到这个数据库访问配置。
vercel,程序人生,前端,数据库

然后由于我不太熟悉 Node.js 开发,上面的页面也没有直接的 Example,所以这里就不尝试,找了 一篇文档 大概看了看,相比内置的 PG,也只是需要多做 client 初始化,然后就可以类似 Vercel PG 一样在 Component 里查询渲染页面了
vercel,程序人生,前端,数据库
vercel,程序人生,前端,数据库

PlanetScale 也有好几个应用模板可以参考使用。
vercel,程序人生,前端,数据库

Storage

目前还需要申请 wishlist,体验应该和数据库类似,暂时没有申请体验。

Edge Network

边缘网络服务是 Vercel 的核心服务之一,主要是为了提升应用性能和体验,这块暂时没有合适的应用,所以也没有体验,后面有机会再试试。

CLI

安装 CLI 直接随便执行一个 CLI 命令会提示登录,我按照上面体验 serverless 数据库的引导操作,使用了 CLI,Vercel 的 CLI 交互能力很强,这里也记录下。 看了下文档基本控制台能干的,差不多都可以干

登录有多种选择,可以鼠标上下移动选择
vercel,程序人生,前端,数据库

选择邮箱登录。
vercel,程序人生,前端,数据库

邮箱点击确认,复制上面的 code(最后也没有使用,估计其他地方需要使用)。
vercel,程序人生,前端,数据库

点击 verify 会打开 Vercel 的一个页面,点击 verify 按钮即可。
vercel,程序人生,前端,数据库

确认后 CLI 会提示登录成功,但是没有 link 的项目,需要先 link。
vercel,程序人生,前端,数据库

Vercel link 会交互式让你选择项目。
vercel,程序人生,前端,数据库

然后就可以拉去环境变量到本地方便开发。
vercel,程序人生,前端,数据库

AI

这里主要体验了一下 Vercel 为 AI 应用开发提供的工具。

Playground

是 Vercel 提供的一个免费体验各种模型的地方,让大家调试 prompts,然后生成代码,结合 AI SDK 和 Vercel 的应用性能体验优化,就可以方便和应用集成,方便开发者快速构建 AI 应用,提升应用体验。

体验地址:https://sdk.vercel.ai/
vercel,程序人生,前端,数据库

AI SDK

AI SDK 是 Vercel 加速 AI 应用开发里的核心部分,AI SDK 提供了场景 AI 应用所需的工具和框架,适配了主流的大模型,大大简化了框架性的工作,可以专注应用开发。

体验地址:https://sdk.vercel.ai/docs
vercel,程序人生,前端,数据库

AI 应用模板

AI SDK 看起来已经很好,但是还有更快直接的方式。

作为加速的一部分,和其他类别一样,Vercel 快速提供了各种 AI 应用模板,来适配不同的大模型和应用场景,可以用来作为开发参考或者作为脚手架使用。

体验地址:https://vercel.com/templates/ai

开发部署体验

这里使用 Next.js + Huggingface 的模板来部署一个应用进行体验一下。

唯一需要配置就是一个 huggingface API key,点击 Learn More 直接跳转到了 Huggingface 官网(这种外部文档链接也有适配,非常贴心)。
vercel,程序人生,前端,数据库
花了一分钟,生成了 Huggingface API key 后配置继续部署。

部署完毕后直接访问就可以有一个自己的 Chat 网站了,测试了下回答速度还挺快,虽然页面比较简陋,自己可以进一步开发优化,或者使用更加完备的应用模板。

体验地址:https://ai-next-huggingface-one.vercel.app/
vercel,程序人生,前端,数据库

Demo Day

作为 Vercel 的一部分,多只 AI 创业团队参加了 Vercel AI Accelerator Demo Day,对做 AI 应用感兴趣的也可以去看看大家都做了哪些 AI 应用。

体验地址:https://vercel.com/blog/vercel-ai-accelerator-demo-day

总结

上面主要体验了一下 Vercel 应用部署的大概流程,内置 Serverless PG 和基于 Vercel AI SDK 和应用模板。

作为一个后端工程师,对于 Vercel 的体验感到了很多惊喜。前端的基础设施越来越完善,也越来越不需要传统的后端服务,可以更加专注自己的业务开发。文章来源地址https://www.toymoban.com/news/detail-854172.html

  • 应用部署体验上
    • 非常 Stupidly and easily,很多细节都做的不错,可以说非常爽了,基本就没有看过任何文档。
  • 数据体验上
    • 内置的 PG 使用起来非常简单好用,部署上基本没有感觉到数据库配置啥的,管理也统一在 Vercel 的项目控制台;应用层面也不需要代码层面初始化客户端,添加个依赖就可以使用;
    • 第三方的数据库集成,都需要 cloud database provider 先创建配置数据库,然后再集成,最终是把数据库的访问方式写到 Vercel 应用的环境变量里,让应用可以访问使用。
  • CLI 体验上
    • 没有完整体验,但是使用起来非常好用,各种交互引导,高亮提示都很贴心,也完全不需要看文档。
  • AI 工具体验上
    • 免费的 Playground 对于开发者体验还挺好,可以对比模型,然后基于 prompts 生成代码;
    • 继承了 Vercel 一贯的风格,通过 AI SDK 提供了主流模型的 providers,详细的文档和大量模板和 example 可以参考使用。

到了这里,关于一个后端工程师对前端云 Vercel 的体验和探索的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 芯片工程师的ChatGPT初体验(上)

    2022年11月30日一定是一个载入人类AI发展史的一天,这一天第一个版本的Chat GPT(全称:Chat Generative Pre-trained Transforme)发布了。毫不夸张地说,chatGPT的发布和用户体验,将整个AI话题推上了一个前作未有的高度(包括最早的深蓝,AlphaGo,Boston Dynamics 等产品)。这是利用大语言

    2024年02月03日
    浏览(34)
  • java后端工程师八股文合集

    1、 SQL调优的基本步骤如下: 确认性能瓶颈 :首先要确定数据库中哪些查询是慢的,哪些查询最需要优化。可以通过监控数据库的CPU、磁盘I/O、网络I/O、缓存等指标来确定性能瓶颈。 优化查询语句 :如果查询语句本身存在问题,例如使用了不必要的子查询、重复的连接操作

    2024年02月11日
    浏览(39)
  • 后端开发工程师需要了解的数据库知识

      作为一为 Java 开发工程师,写数据的查询 SQL 是必备的技能。在 日常生活中,是否统计过读数据和写数据的频率。以来开发经验来说,查询数据的操作语言是多于写数据的。   有的信息系统,数据只初始化一次,甚至是服务一辈子。   接触过很多的 web 开发系统,都是为

    2024年02月08日
    浏览(52)
  • 前端开发工程师

        前端开发工程师,又叫web前端开发工和师,在国外早就有此职业,我国在2000年后开始兴起互联网,也就是在此时段开始,我国 慢慢的就有了前端开发这个职业,慢发展进程持续到2013年2014年以后,前端开发工程师这个职业最终被重视,于是市场上便逐渐大量出现各类IT职

    2024年02月01日
    浏览(43)
  • 探索大模型时代下的算法工程师前景与发展路径

    🎉欢迎来到AIGC人工智能专栏~探索大模型时代下的算法工程师前景与发展路径 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:AIGC人工智能 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ 随着

    2024年02月12日
    浏览(52)
  • 前端工程师面试题汇总

    HTML Doctype作用?严格模式与混杂模式如何区分?它们有何意义? HTML5 为什么只需要写 ? 行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 页面导入样式时,使用link和@import有什么区别? 介绍一下你对浏览器内核的理解? 常见的浏览器内核有哪些? html5有哪些新特性、

    2024年02月09日
    浏览(46)
  • 前端工程师如何突破瓶颈期

    前端工程师在职业生涯中可能会遇到瓶颈期,这时需要有一定的策略和方法来突破,以下是一些建议: 持续学习:前端技术更新换代非常快,需要不断学习新技术和新知识,保持自己的竞争力。 扩展技能:在掌握核心技能的基础上,可以扩展自己的技能范围,例如学习后端

    2024年02月06日
    浏览(44)
  • 成为一名高级前端开发工程师

    前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库  web前端面试题库 VS java后端面试题库大全 随着互联网技术的不断发展,前端开发已经成为了一项非常重要的职业。如果您希望成为一名高级前端开发工程师,那么以下几点建议可能会对您有所帮助。 1

    2024年02月12日
    浏览(51)
  • 一名【合格】前端工程师的自检清单

    前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的。 winter 在他的《重学前端》课程中提到: 到现在为止,前端工程师已经成为研发体系中的重要岗位之一。可是,与此相对的是,我发现极少或者几乎没

    2024年02月08日
    浏览(56)
  • 浅谈ChatGPT取代前端开发工程师

    1.ChatGPT 是什么? ChatGPT 是一种基于深度学习的自然语言处理技术,它可以生成高质量的自然语言文本。该技术是由 OpenAI 团队 开发,旨在使计算机能够像人类一样理解和产生自然语言。ChatGPT 使用了深度神经网络和自然语言处理技术,通 过对大量语言数据的学习和建模,实现

    2023年04月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包