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

相关推荐

  • 利用jsdelivr和github搭建免费又好用的全球节点CDN

    什么是jsDelivr 官网地址:https://www.jsdelivr.com/众所周知国内一些如阿里云,腾讯云,七牛云,又拍云超过一定额度都会产生费用,我记得几年前用七牛云一…

    2021年3月27日
  • 自建音乐云服务–我的音乐精灵melody

    大家好,我叫 Melody,你的音乐精灵,旨在帮助你更好地管理音乐。目前的主要能力是帮助你将喜欢的歌曲或者音频上传到音乐平台的云盘。 相关链接 GitHub:https://git…

    2022年8月14日
  • docker hub 自建镜像加速

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

    代码程序 2025年9月14日
  • SSH链式端口转发:本地端口转发+远程端口转发

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

    2021年4月4日
  • 利用cloudflare的workers反向代理onemanager

    由于在国内访问巨硬的onedrive,速度实在是不太理想,大多数地区下载可能就仅仅比某度盘好那么一点点,而世纪互联又太贵(tj什么时候翻车?),所以只好用上cf的workers来给…

    2021年4月4日
  • cloudflare配置详解

    本篇文章会以我目前的能力,来尽量解释cloudflare每一个功能,肯定会有错误 欢迎指出 可以点击右侧目录调转到自己需要的章节 已学习: website Overview Ana…

    2023年3月3日
  • WordPress迁移更换域名 固定链接404 修改SSH端口

    前言 WordPress迁移可以分为以下几种情况: 仅更改域名 仅更改服务器 变更域名+服务器 下面就以这三种情况,可以实现的方式有很多,选取了一种适合自己的,把需要进行的操作记录…

    代码程序 2021年4月15日
  • Azure双栈网络及纯IPV6教程

    前情提要: 采用Cli或者第三方API面板开机可实现双栈网络,本教程为Azure网站手动配置,可避免使用API被风控。我用于演示的服务器是 基本 动态 IPV4 的香港机器,其它情…

    2024年3月6日
  • Linux VPS一键添加/删除Swap虚拟内存[超实用]

    说明: 很多人的VPS服务器由于内存太小,会导致很多进程被杀掉,这时候就需要我们添加Swap虚拟内存了,之前在一大佬的博客里发现这个非常方便的一键脚本,这里就转载一下——方便懒人或…

    2021年3月20日
  • 一键查看浏览器中保存的明文密码

    有时候为了方便,总是把密码让浏览器把密码记住,这样时间久了可能就会忘记密码。今天就分享一个利用收藏JS代码的方法让密码明文化。 使用方法 在浏览器新建一个新的标签(收藏夹), 把下…

    2021年4月3日

发表回复

登录后才能评论