一个 基于 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日

相关推荐

  • 2024-Alist安装教程,十分钟搭建一个属于自己的网盘系统

    AList是一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序,由 gin 和 Solidjs 驱动。简单的来说就是能够帮助你管理各种网盘应用,类似于CloudDriv…

    2024年6月6日
  • 服务器sysctl内核调优参数, 新思路

    网上看到一些别人的sysctl调优片段,你也看不懂里面的意思,都不知道抄谁的更好,那怎么办,这时就可以参考gpt的答案来调整,对你来说,抄别人的你也看不懂多少,抄gpt的你也看不懂…

    代码程序 2025年7月10日
  • aws光帆超出流量自动关机一键脚本

    是否会因为光帆跑的流量统计而烦恼,是否担心流量跑超了,产生费用,那么他来了~ 废话不多说,直接贴我自己写的脚本 ==================================…

    代码程序 2024年9月5日
  • 灵活解除网页操作限制

    前言 下午帮客户分析某文学登陆业务中,发现有页面禁用了网页右键,非常影响调试,平时遇到这种情况通常都是JS即可,但是网上查阅了资料后发现用控制台调节更灵活一些,毕竟禁用 JS 可能…

    代码程序 2021年3月21日
  • Docker 搭建开源文件同步工具 Syncthing

    简介 Syncthing 是一个开源的文件同步工具,可以在不同设备之间同步文件和文件夹。它使用了点对点的方式进行同步,如果点对点连接成功则不需要通过云服务器中转,因此更加安全和私密…

    2023年12月7日
  • 自用DD脚本分享,亲测可用!

    脚本一 原文:https://www.hostloc.com/thread-645870-1-1.html 支持重装的系统: Debian 9/10 Ubuntu 18.04/16…

    代码程序 2022年1月16日
  • WordPress导航菜单添加小字hot、new、推荐等

    如果你看到别人的WordPress网站,导航菜单有小字,也叫角标,自己不知道怎么添加,那么下面的教程可以让你也用上。 比如我网站上的限时优惠和感谢打赏这两个小字都是一样的方式实现的…

    代码程序 2021年3月21日
  • 在 GitHub 中隐藏自己的邮箱地址

    如何找到Github用户的邮箱 在介绍隐藏前首先咱们要知道,如何查看开发者的邮箱。 情况一 :对方主页上写了邮箱 这种最简单,大部分的开发者都会在Github主页留下自己的联系邮箱…

    2024年9月20日
  • 分享个bing壁纸项目

    https://github.com/androidmumo/bing这老哥5年前我就用了他做的第一版本,23年底发现更新了果断部署前段时间改了下代码采集了2010年到现在的壁纸数…

    2025年4月5日
  • 解锁ChatGPT,给你的vps添加原生IP

    ChatGPT现状ChatGPT目前封锁了绝大多数的数据中心IP,倘若你现在正好在使用vps作为主力代理,那么应该会在ChatGPT首页看到无法使用的封锁消息!现在,又有了一个新的…

    代码程序 2023年5月2日

发表回复

登录后才能评论