一个 基于 cloudflare workers 和 vue ssr 的网络访问计数器

渲染效果主要看你在 url.query 传过来的 svg 模板

做这个主要是因为前几天也在 V2EX 看到一个 计数器,我在下面评论 说可以 一步到胃 直接把渲染模板传过来

我看没什么响应,就自己去实现了,起初是想做一个全局替换的,后来仔细研究了一些 svg 效果,全局替换效果辣鸡

于是想到了 vue 的 ssr 渲染函数,把你的渲染模板通过 url.query 传递到后端

我还没测过实际 http path 最大长度是多少,但是 我在 Edge@95 发长度 8000 的 url 请求没问

当然 模板 越小越好,可以提前 html minimize

数据存储是 cloudflare workers kv, 在 workers 里可以很便捷地使用,基本是 workers 的配套了

有什么错误或者需要改进的地方,请各位大佬 指正,谢谢。

https://github.com/lisonge/visit-counter.git

附上 展示的 svg 模板,可再次刷新此界面查看效果,也可以刷到 99 看看 99 到 100 动画效果

<svg
      xmlns="http://www.w3.org/2000/svg"
      :width="13 * (count + 1 + '').length + 5"
      height="16"
    >
      <g>
        <text
          v-for="n in (count + '').length"
          :key="n"
          style="font-size: 13px"
          :x="
            (n - 1) * 13 +
            ((count + '').length < (count + 1 + '').length ? 13 : 0) +
            5
          "
          y="13"
        >
          {{ (count + "")[n - 1] }}
          <animate
            attributeName="y"
            from="13"
            to="-4"
            :begin="((count + '').length - n) * 300 + 400 + 'ms'"
            dur="700ms"
            fill="freeze"
            v-if="(count + '')[n - 1] != (count + 1 + '')[n - 1]"
          />
        </text>
        <text
          v-for="n in (count + 1 + '').length"
          :key="n"
          style="font-size: 13px"
          :x="(n - 1) * 13 + 5"
          y="30"
        >
          {{ (count + 1 + "")[n - 1] }}
          <animate
            attributeName="y"
            from="30"
            to="13"
            :begin="((count + '').length - n) * 300 + 500 + 'ms'"
            dur="700ms"
            fill="freeze"
            v-if="(count + '')[n - 1] != (count + 1 + '')[n - 1]"
          />
        </text>
      </g>
    </svg>

原创文章,作者:mantou,如若转载,请注明出处:https://v2ez.com/235.html

(0)
mantoumantou
上一篇 2021年10月3日
下一篇 2021年11月14日

相关推荐

  • docker hub 自建镜像加速

    在拉取镜像时发现之前使用的代理已经失效了,而且 auth.docker.io 也被墙,导致网上很多教程都失效了,搜索到一个可用的就写下来当作备忘录。 有两种自建方案,一个是 ngi…

    代码程序 2025年9月14日
  • 在Alist挂载自己的OneDrive网盘

    在之前的文章中,我讲解过如何使用容器云 / VPS搭建Alist。对于Office 365 E5账号,有些小伙伴可以利用这个项目,挂载Alist来实现自动续期的过程。在这篇文章中,…

    2023年7月16日
  • Nginx 反向代理ddns网站

    由于一些原因,需要反向代理一些ip经常变化的站点,最初以为只要把域名填好就行,ip变化的时候,nginx会根据ddns域名来回源,但是事实并非如此,在每一次更换ip地址之后,都要r…

    代码程序 2021年5月16日
  • PHP简洁漂亮的目录程序:files.photo.gallery

    这是一款简洁漂亮的目录程序:files.photo.gallery,直接上传index.php即可使用。 官网:https://files.photo.gallery/ 官网演示:…

    代码程序 2021年4月22日
  • 给网站添加 Chatra 在线客服插件

    今天给大伙介绍另一款名叫Chatra的插件,两者使用差异并不算大,但个人更喜欢Crisp Chatra是一款功能强大且易于使用的聊天软件,可用于网站,使您的客户在离线时通过实时聊天…

    2021年3月27日
  • SSH链式端口转发:本地端口转发+远程端口转发

    SSH本地端口转发与SSH远程端口转发结合起来使用,可以进行链式转发。   假设A主机在公司,B主机在家,C主机为远程云主机。 A主机上运行了Node.js服务,需要在B…

    2021年4月4日
  • virtualizor安装并对接whmcs

    前提 almalinux8或者centos7都可以直接照抄,我是一直用的almalinux8 开始 首先更个新 yum update -y 然后开个心 单押skr echo “15…

    2025年4月25日
  • 记一下rclone同时挂载多个网盘的方法

    前言 下列操作是在centos系统上进行的,其他发行版的方式可以按各个发行版的方式参考修改。 1、安装好rclone 前提是安装好rclone,并且已经挂载好网盘。如何挂载可以看一…

    2021年6月27日
  • IP属地查询源码(包含前端和后端源码) – 支持IPV4/V6

    文章前言 本源码调用纯真和zxinc离线数据库支持IPV4 IPV6数据库 注意 现在纯真已经不维护免费的IP数据库了 大家且用且珍惜吧! 页面截图 源码下载 IP属地查询源码 来…

    2022年12月10日
  • 3种方式修改 wordpress 用户名

    在数字化时代,WordPress作为世界上最流行的开源内容管理系统之一,被无数网站管理员和个人用户所使用,以创建和管理他们的在线存在。然而,随着用户的不断变更和安全需求的提高,修改…

    2025年7月15日

发表回复

登录后才能评论