首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当结果到达客户端时,下一个JS服务端渲染是如何工作的?

当结果到达客户端时,下一个JS服务端渲染(SSR)的工作方式如下:

  1. 客户端发送请求:客户端向服务器发送请求,请求需要渲染的页面或组件。
  2. 服务器处理请求:服务器接收到请求后,根据请求的路径和参数,执行相应的服务器端代码。
  3. 数据获取:服务器端代码可能需要从数据库或其他数据源获取数据,以便渲染页面。
  4. 页面渲染:服务器端使用获取的数据,结合预先定义的模板或组件,生成完整的HTML页面。
  5. 数据注入:服务器端将获取的数据注入到HTML页面中的相应位置,以便客户端渲染时使用。
  6. 页面返回:服务器将生成的HTML页面作为响应返回给客户端。
  7. 客户端接收响应:客户端接收到服务器返回的HTML页面。
  8. 客户端渲染:客户端使用接收到的HTML页面进行渲染,显示页面内容。
  9. JS服务端渲染:在客户端渲染完成后,客户端执行页面中的JavaScript代码。如果页面中包含需要动态生成的内容,客户端会再次向服务器发送请求,请求所需的数据。
  10. 数据获取:服务器接收到客户端的请求后,执行相应的服务器端代码,从数据库或其他数据源获取数据。
  11. 数据返回:服务器将获取的数据作为响应返回给客户端。
  12. 数据注入:客户端将服务器返回的数据注入到页面中的相应位置,更新页面内容。
  13. 客户端渲染更新:客户端使用更新后的数据进行页面渲染,显示最终的内容。

通过以上步骤,实现了在客户端渲染完成后,使用JS服务端渲染来动态生成内容,提升用户体验和页面性能。

在腾讯云的产品中,推荐使用云函数(SCF)来实现JS服务端渲染。云函数是一种无服务器计算服务,可以在云端运行代码,无需搭建和管理服务器。您可以使用云函数编写服务器端代码,处理请求、获取数据并生成HTML页面,然后将生成的页面返回给客户端。云函数支持多种编程语言,如Node.js、Python等,可以根据您的需求选择适合的语言进行开发。

腾讯云云函数产品介绍链接:https://cloud.tencent.com/product/scf

相关搜索:当使用JDBC领域时,欢迎页面是如何工作的?当访问像素值时,item()函数是如何工作的?当只引用基类时,Autowire是如何工作的当动作结果大小大于机器内存时,它是如何工作的?当torch库工作时,BatchNorm1d()方法是如何工作的?当涉及Ruby中的类方法时,继承是如何工作的?当涉及到打印时,嵌套的for循环是如何工作的?当并发调用python print()时,它实际上是如何工作的?当两个ajax调用都绑定到相同的onclick时,如何确保在开始下一个调用之前到达ajax调用的结果?当函数是不同的节点项目时,如何按顺序工作节点函数?当对象的默认生存期是单例时,并发在SpringBoot中是如何工作的react钩子是如何工作的?为什么useState跟踪的值在重新渲染时不会重置?当主取的结果是循环内的特定值时,如何等待JavaScript的二次获取结果?当尝试使用gstreamer webrtc进行流媒体传输时,“on-negotiation needed”是如何工作的?春天。当存在多个具有相同限定符的bean时,bean注入是如何工作的?当要排序的值是计算结果时,如何在Vue中对列进行排序当node js server是缓冲区时,如何读取其中的formdata?当数据被追加到现有数组中时,*ngFor在Angular中是如何工作的?当只有一个组时,正则表达式中的组是如何工作的?当变量是复合字符串时,如何对R中的pivot_wider结果进行排序
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

服务端渲染SSR的理解

服务端渲染SSR的理解 SSR服务端渲染Server Side Render就是当进行请求时,页面上的内容是通过服务端渲染生成的,浏览器直接显示服务端返回的HTML即可。...客户端渲染CSR 通常在构建一个普通的SPA单页应用时,就是构建的客户端渲染的应用,CSR客户端渲染Client Side Render就是当进行请求时,页面上的内容是通过加载的Js文件渲染出来的,Js...消耗的是用户浏览器的性能。 服务端渲染SSR SSR服务端渲染Server Side Render就是当进行请求时,页面上的内容是通过服务端渲染生成的,浏览器直接显示服务端返回的HTML即可。...对于传统服务端渲染,也称为后端模板渲染,如jsp或者php等,这是最早时期的web,是指客户端请求时,在服务器上使用模板引擎将模板与数据拼接成完整的HTML,再发送给客户端,客户端接收后直接解析HTML...而服务端在内网请求,数据响应快,不需要等待Js代码加载,可以先请求数据再渲染可视部分然后返回给客户端,客户端再做二次渲染,这样大部分消耗的是服务端的性能,客户端页面响应时间也更快。

1.4K30

vue ssr服务器渲染:浏览器输入url后发生了什么

主要介绍一下怎么由vue-cli应用经过修改,变成能用于服务端和客户端的通用同构代码。希望能给到新接触SSR的的同学一些指导~ 1、为啥要用服务器端渲染?...你需要更加注意同一份代码在服务器端和客户单端两种环境的执行,,你需要仔细消息各种生命周期的钩子函数,,还有一些可能服务器渲染的结果和客户端渲染不一致导致的报错等。...3、增加node渲染服务端负载。相对于cdn版本,ssr版增加了ssr node server,大流量时,明显需要更多的人力和技术去支撑node server这部分的工作。...3、使用SSR时,输入网址 到 看到页面 是 什么个流程 ? 以开发代码为例。...客户端manifest文件会被利用,把相关的js,css文件等插入到渲染后的html字符串里面。

2.3K20
  • 优化SPA:使得网站对SEO更友好

    每当页面中「很小」的数据变更(例如:提交一个form表单),服务端需要对「整个页面进行重新渲染」并通过网络将最新的页面传到客户端。...当页面中的「部分」内容发生了变更,浏览器只需要向服务端发送用于获取该与该变更信息相关的AJAX。服务端在接收到指定的请求后,经过拼装处理,将浏览器想要的结果(通常是JSON的数据格式)返回。...当客户端向服务端发起页面请求时,浏览器能获取一个「完整」的初始化结构,而不像CSR那样:只获取一个包含指定JS的HTML简易壳子。...采用SSR渲染页面,当JS还在后台加载时,用户已经看到完整的页面信息了。 网络爬虫还可以访问页面的完整HTML版本,并在搜索结果中建立索引和显示。...在后续的操作中,应用又变成了客户端渲染,这样能够保证页面变更内容能更快到达用户。 可以通过一个图,对比CSR和SSR渲染同一页面所用的时间。很明显,SSR渲染,页面的有效内容较早出现。

    2.7K20

    如何搭建一个高可用的服务端渲染工程

    页面的首屏内容到达时间强依赖于js静态资源的加载(因为DOM的渲染由js来执行),使得在网络越差的情况下,白屏时间大幅上升。...)客户端渲染 因为服务端渲染是CPU密集型操作,非首屏的模块或者不重要的模块(比如底部的推荐列表)完全可以采用客户端渲染,只有首屏的核心模块采用服务端渲染。...本地开发阶段:当本地的服务端渲染开发完成之后,首先需要用loadtest之类的压测工具压下性能如何,同时可以根据压测出来的数据做一些优化,如果有内存泄漏之类的bug也可以在这个阶段就能被发现。...QA性能测试阶段:当通过本地开发阶段的压测之后,我们的代码已经是经过性能优化且没有内存泄漏之类严重bug的。...A:首先我们明确一点,服务端渲染比客户端渲染快的是首屏的内容到达时间(而非首屏可交互时间)。

    80410

    SSR再好,也要有优雅降级策略哟~

    4、性能优化 降级的目的是为了预防node服务器压力过大时造成的风险,那么在这之前,也可以通过代码实现来做一定的优化,下面简单介绍下几个常规优化方法 减少服务端渲染DOM数 当页面特别长的时候,譬如我们的常见的首页...那么要实现SSR的降级为CSR,可以理解为需要打包出2份html,一份用来给服务端渲染插件createBundleRenderer当作模版传入输出渲染好的html片段,另外一份是作为客户端渲染的静态模版使用...,当服务端渲染失败或者触发降级操作时,客户端代码要重新执行组件的async方法来预取数据 webpack.base.js在公共打包配置中,需要配置打包出的文件位置、使用到的 Loader 以及公共使用的...当 Node.js 用作嵌入式库时,此值可能为 0,因为在这种情况下可能无法跟踪 ArrayBuffer 的分配。 首先需要关注的是内存堆栈,也就是堆内存的占用。...ssr渲染服务器是独立的,html的获取逻辑回溯到Nginx获取,此时触发客户端渲染。

    4.9K20

    干货 | React Server Components 初探

    如何降低客户端 JS Size 以及更极致地挖掘服务端的优化能力,成为一个待解决的开放性问题。...因此,我们可以得出一个不那么正式的总结:从根服务端组件开始,尽量渲染它能渲染的内容,当遇到原生组件 (divs, spans等) 或者客户端组件时,停止渲染。...客户端渲染好客户端组件后,把渲染后的结果填充到 tag 的位置。...服务端组件引用被block的服务端组件时,服务端组件发现暂时无法处理被block的组件,于是暂时放弃被block的组件,并打上tag,把渲染好的结果返回到客户端。...可以在一定程度上减少 js bundle size 这个是必然的结果,但是反复请求 Server Components 时多次返回某个相同的 UI 片段的问题的解决方案还需要进一步探讨。

    99440

    互动协作白板与音视频实时同步技术实践

    采集阶段是在老师端,老师这边的音视频采集和白板操作其实是同步进行的,经过传输后到达渲染,渲染出的结果并不同步,我们由此可以确定的是,这个问题是在传输阶段产生的。...而文件+信令的模式是依赖信令服务的模式,通过文档服务对文件进行上传、转码、分发、下载和渲染。在这个过程中,当有操作时便通过信令服务转发操作信令。...那么要控制渲染,就需要在接收端进行时间戳的对齐,对齐之后再抛出来渲染。我们的解决思路是,当老师发起白板操作时,白板信令带上当前的时间戳,同时把时间戳注入到音视频流的SEI中。...这个问题的根本原因主要在于冲突导致,这个问题解决方案是:当多端发起操作时服务端如何进行冲突处理,客户端该执行什么样的策略,确保各端执行同样的规则,从而实现多端的一致性。...我们采用的方案是把这个工作交给客户端来做,在客户端进行一个乱序重排,这样可以有效的分担服务端的压力,对服务端的并发和吞吐性具有更好的效果。

    3.7K54

    【Vuejs】335-(超全) Vue 项目性能优化实践指南

    1.7、路由懒加载 Vue 是单页面应用,可能会有很多的路由引入 ,这样使用 webpcak 打包后的文件很大,当进入首页时,加载的资源过多,页面会出现白屏的情况,不利于用户体验。...1.10、服务端渲染 SSR or 预渲染 服务端渲染是指 Vue 在客户端将标签渲染成的整个 html 片段的工作在服务端完成,服务端形成的 html 片段直接返回给客户端这个过程就叫做服务端渲染。...获取到的内容;而 SSR 是直接由服务端返回已经渲染好的页面(数据已经包含在页面中),所以搜索引擎爬取工具可以抓取渲染好的页面; 更快的内容到达时间(首屏加载更快):SPA 会等待所有 Vue 编译后的...js 文件都下载完成后,才开始进行页面的渲染,文件下载等需要一定的时间等,所以首屏渲染需要一定的时间;SSR 直接由服务端渲染好页面直接返回显示,无需等待下载 js 文件及再去渲染等,所以 SSR 有更快的内容到达时间...如果你的项目的 SEO 和 首屏渲染是评价项目的关键指标,那么你的项目就需要服务端渲染来帮助你实现最佳的初始加载性能和 SEO,具体的 Vue SSR 如何实现,可以参考作者的另一篇文章《Vue SSR

    1.9K30

    vue项目性能优化-前端加分项

    1.7、路由懒加载 Vue 是单页面应用,可能会有很多的路由引入 ,这样使用 webpcak 打包后的文件很大,当进入首页时,加载的资源过多,页面会出现白屏的情况,不利于用户体验。...1.10、服务端渲染 SSR or 预渲染服务端渲染是指 Vue 在客户端将标签渲染成的整个 html 片段的工作在服务端完成,服务端形成的 html 片段直接返回给客户端这个过程就叫做服务端渲染。...获取到的内容;而 SSR 是直接由服务端返回已经渲染好的页面(数据已经包含在页面中),所以搜索引擎爬取工具可以抓取渲染好的页面;更快的内容到达时间(首屏加载更快):SPA 会等待所有 Vue 编译后的...js 文件都下载完成后,才开始进行页面的渲染,文件下载等需要一定的时间等,所以首屏渲染需要一定的时间;SSR 直接由服务端渲染好页面直接返回显示,无需等待下载 js 文件及再去渲染等,所以 SSR 有更快的内容到达时间...如果你的项目的 SEO 和 首屏渲染是评价项目的关键指标,那么你的项目就需要服务端渲染来帮助你实现最佳的初始加载性能和 SEO,具体的 Vue SSR 如何实现,可以参考作者的另一篇文章《Vue SSR

    67320

    EventLoop 系列 - 单线程、调用栈、堆、队列、Eventloop 这些概念了解下~

    学习事件循环前置知识 JavaScript 这门编程语言,既可以在客户端浏览器上运行,也可以在服务端 Node.js 上运行。...事件循环中的一些概念,无论是在浏览器或 Node.js 中我们去学习事件循环时,这些都是通用的,了解这些概念对于后面的学习也会相对轻松些。...那也就意味着对于 DOM 的操作只能是单线程,避免 DOM 渲染冲突。 在浏览器环境中 UI 渲染线程和 JavaScript 执行引擎是互斥的,一方在执行时都会导致另一方被挂起。...队列与回调函数 在 JavaScript 中当调用栈有东西还在执行时,我们的程序也不会空闲去执行其它的操作,试想,如果调用栈出现一些很耗时的任务,如果是用在客户端用户会看到页面被卡住了,如果是用在服务端会造成接口响应很慢...setTimeout 不是由 JavaScript 引擎实现的,这个是由 JavaScript 程序所运行的宿主环境提供的,理解这个概念也不难,在客户端我们的宿主环境就是浏览器,如果在服务端就是 Node.js

    1K30

    react 同构初步(5)

    本笔记系列进度已更新到:https://github.com/dangjingtao/react-ssr 服务端性能优化思路 ssr把原来在客户端做的渲染工作摆到了服务端。...在减少了客户端性能压力的同时,增加了服务端的工作量。那作为一个前端开发者,如何去优化服务端的性能呢? 一个最常见的思路就是负载均衡。如果把我们的服务端比作一个饭馆,用户请求服务就是到饭馆吃饭。...那么当前用户,服务端,接口层的的关系是这样的: ? 在当前的服务端代码中,饭馆能提供什么,上菜速度怎样,全由厨房决定。...在此介绍的另外一个思路就是,降级渲染。饭馆无法容纳更多人,可以考虑把食材做成速冻产品,让用户拿回去自己煮着吃。换成专业一点的语言就是:如果用户量到达一定的阀值,就放弃ssr,重回csr。...是因为在纯客户端应用时,不能使用注水方法。 // 客户端 client/index.js if(window.

    91320

    从头开始,彻底理解服务端渲染原理

    这就是服务端渲染。其实非常好理解,就是服务器返回一堆html字符串,然后让浏览器显示。 与服务端渲染相对的是客户端渲染(Client Side Render)。那什么是客户端渲染?...所谓同构,通俗的讲,就是一套React代码在服务器上运行一遍,到达浏览器又运行一遍。服务端渲染完成页面结构,浏览器端渲染完成事件绑定。 那如何进行浏览器端的事件绑定呢?...让我们来分析一下客户端和服务端的运行流程,当浏览器发送请求时,服务器接受到请求,这时候服务器和客户端的store都是空的,紧接着客户端执行componentDidMount生命周期中的函数,获取到数据并渲染到页面...换而言之,关于异步数据的操作始终只是客户端渲染。 现在的工作就是让服务端将获得数据的操作执行一遍,以达到真正的服务端渲染的效果。...当服务端拿到store并获取数据后,客户端的js代码又执行一遍,在客户端代码执行的时候又创建了一个空的store,两个store的数据不能同步。 那如何才能让这两个store的数据同步变化呢?

    2.3K20

    《HTTP2 基础教程》 阅读摘要

    设置优先级的目的是为了让端点表达它所期望对端在并发的多个流之间如何分配资源的行为。更重要的是,当发送容量有限时,可以使用优先级来选择用于发送帧的流。...假设客户端按顺序发送如下请求首部: Header1: foo Header2: bar Header3: bat 当客户端发送请求时,可以在首部数据块中指示特定首部及其应该被索引的值。...6.4 服务端推送 服务端推送让服务器具备了在客户端请求之前就推送资源的能力。 测试表明,如果合理使用推送,页面渲染时间可以减少 20%~50%。...如果用户第一次访问页面时,就能向客户端推送页面渲染所需的关键 CSS 和 JS 资源,那么服务端推送的真正价值就实现了。...理想情况下,服务端正在处理 HTML 页面主体请求时才会发起推送。有时候,服务端需要做一些后台工作来生成 HTML 页面。这时候服务端在忙,客户端却在等待,这正是开始向客户端推送所需资源的绝佳时机。

    1.1K20

    Remix 究竟比 Next.js 强在哪儿?

    与常规的在构建或部署时获取所有数据并将页面以静态文件形式渲染不同,Remix 在流量到达时便准备好缓存,从中提取出文件,同时在后台准备好接收下一个访问的重新验证。...和 SSG 一样,在流量到达时用户无需为下载和渲染花费流量。至于缓存未命中,这一点我们将在后面仔细谈及。...不过如果你通读了 Next.js 的官方文档,你大概会发现他们其实更鼓励开发者们选择 SSG 或者客户端侧的数据抓取,而非是作者更赞同的服务端数据获取、 如果不需要预渲染数据,则应考虑客户端侧数据获取、...比如突变的工作流,既然 HTML 表单 API 和服务端处理程序是正确选项,那么 Remix 就要围绕这个组合搭建。...而在部署时没有完成构建的页面,将由 Next.js 以服务器方式对页面进行渲染,然后再缓存到 CDN 上。

    3.9K60

    从输入url到页面展示到底发生了什么?

    3、查询你输入的网址的DNS请求到达本地DNS服务器之后,本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果,此过程是递归的方式进行查询。...处理办法就是用DNS负载均衡技术,它的原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去...---- 6、服务器处理请求 经过前面的重重步骤,我们终于将我们的http请求发送到了服务器这里,其实前面的重定向已经是到达服务器了,那么,服务器是如何处理我们的请求的呢?...文档时,它就已经开始显示这个页面了,浏览器是如何把页面呈现在屏幕上的呢?...当文档加载过程中遇到js文件,html文档会挂起渲染(加载解析渲染同步)的线程,不仅要等待文档中js文件加载完毕,还要等待解析执行完毕,才可以恢复html文档的渲染线程。

    1.1K10

    【译】JavaScript对SEO的影响

    作者:Akash Joshi 介绍 当为应用程序选择技术栈时,就需要慎重考虑几个方面:选择的编程语言和框架对开发周期的影响、应用程序的性能以及在网络中是否容易被人发现——在线可发现性。...针对这个问题,网络爬虫的开发人员已经做了一些额外的优化。例如,当检测到页面是通过JS渲染内容的,Google的网络爬虫就会将对应页面加入到队列中进行等待渲染。...这可以确保搜索引擎正确的为页面编制索引,并且客户端渲染仍旧可以正常工作。然而,这种类型的渲染使用起来非常复杂,且相比完全由服务端渲染的React应用程序来说也没太大优势。...VueJS 客户端渲染 对于Vue应用的客户端渲染,没有太多框架可以动态设置SEO标签。vue-seo是其中之一,但是已经很久没有更新维护了,因此最好通过预渲染或服务端渲染来达到更好的SEO。...服务端渲染 通过Nuxt.JS这类框架可以轻松实现服务端渲染的Vue应用程序。其允许我们在服务端能够轻松实现应用的渲染、运行客户端侧的应用,或生成预渲染的静态文件。 5.

    2.9K10

    H5开屏从龟速到闪电,企微是如何做到的

    背景 服务端渲染(SSR)是Web主流的性能优化手段。SSR直出相比传统的SPA应用加载渲染规避了首屏拉取数据和资源请求的网络往返耗时。团队针对Web开发也已经支持了SSR能力。...手Q团队的VasSonic是集大成者,主要思路是采用WebView和数据预拉取并行的方式。这套方案需要客户端和服务端采用指定协议改造接入,开发时也有一定的改造工作。...不过结合企业微信业务实际情况,我们列出了如下几点考虑: 首先,接入对客户端和服务端有一定的改造成本,业务开发也有一定的改造工作。其次,我们已经有一套的统一发布平台,希望能复用这套发布能力。...这样客户端请求拦截处理也会比较方便,不需要理解映射规则。当发现离线包不匹配资源时,放过请求透到现网即可。如图展示了我们的离线包结构示例。 3....当执行这些操作时,在下一个页面也复用预热容器的情况下,全局设置没有得到清理重置或者覆盖,用户会看到上个页面的表现。

    3K162

    前端性能优化 24 条建议

    使用服务端渲染 客户端渲染: 获取 HTML 文件,根据需要下载 JavaScript 文件,运行文件,生成 DOM,再渲染。 服务端渲染:服务端返回 HTML 文件,客户端只需解析 HTML。...客户端通过 HTTP 向服务器请求资源,当必要资源都加载完毕后,执行 new Vue() 开始实例化并渲染页面。 服务端渲染过程 访问服务端渲染的网站。...当客户端接收到这个 HTML 页面时,就开始渲染页面 同时,页面也会加载资源,当必要的资源都加载完毕后,开始执行 new Vue() 开始实例化并接管页面。...客户端渲染的网站会直接返回 HTML 文件,而服务端渲染的网站则会渲染完页面再返回这个 HTML 文件。 这样做的好处是什么?是更快的内容到达时间 (time-to-content)。...这就是服务端渲染更快的原因。 4. 静态资源使用 CDN 内容分发网络(CDN)是一组分布在多个不同地理位置的 Web 服务器。我们都知道,当服务器离用户越远时,延迟越高。

    78941

    前端性能优化

    当客户端发送下一个请求的时候,如果首部相同,它可以直接发送这样的首部块:服务器会查找先前建立的表格,并把这些数字还原成索引对应的完整首部。...客户端通过 HTTP 向服务器请求资源,当必要的资源都加载完毕后,执行 new Vue() 开始实例化并渲染页面。 服务端渲染过程 访问服务端渲染的网站。...当客户端接收到这个 HTML 页面时,可以马上就开始渲染页面。与此同时,页面也会加载资源,当必要的资源都加载完毕后,开始执行 new Vue() 开始实例化并接管页面。...客户端渲染的网站会直接返回 HTML 文件,而服务端渲染的网站则会渲染完页面再返回这个 HTML 文件。 这样做的好处是什么?是更快的内容到达时间 (time-to-content)。...这就是服务端渲染更快的原因。 3、静态资源使用 CDN 内容分发网络(CDN)是一组分布在多个不同地理位置的 Web 服务器。我们都知道,当服务器离用户越远时,延迟越高。

    1.3K20

    写给自己的react面试题总结

    (组件的)状态(state)和属性(props)之间有何不同State 是一种数据结构,用于组件挂载时所需数据的默认值。State 可能会随着时间的推移而发生突变,但多数时候是作为用户事件行为的结果。...页面没使用服务渲染,当请求页面时,返回的body里为空,之后执行js将html结构注入到body里,结合css显示出来;SSR的优势:对SEO友好所有的模版、图片等资源都存在服务器端一个html返回所有数据减少...HTTP请求响应快、用户体验好、首屏渲染快1)更利于SEO不同爬虫工作原理类似,只会爬取源码,不会执行网站的任何脚本使用了React或者其它MVVM框架之后,页面大多数DOM元素都是在客户端根据js动态生成...SSR的局限:1)服务端压力较大本来是通过客户端完成渲染,现在统一到服务端node服务去做。...客户端在不同网络环境进行数据请求,且外网http请求开销大,导致时间差客户端数据请求服务端数据请求 2)html渲染 服务端渲染是先向后端服务器请求数据,然后生成完整首屏 html返回给浏览器;而客户端渲染是等

    1.7K20
    领券