一个 基于 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日
  • 使用 acme.sh 部署通配符证书申请与分发服务

    你是不是也遇到过这些问题:太穷买不起年付的通配符证书,手上有好几台白嫖的服务器,有的还没有 80 和 443 端口,证书申请起来麻烦,手动申请和部署的话每几个月还要维护一次(免费证…

    代码程序 2022年4月5日
  • 如快-跨平台启动器

    之前一直在 mac 端使用 Raycast 这款启动器,觉得挺好用也挺好看的,特别是里面的快捷链接功能,非常的好用。 后面每次用自己的 Windows 的时候,总是感觉少了点什么,…

    2025年6月30日
  • Nginx 反向代理ddns网站

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

    代码程序 2021年5月16日
  • 2023年B2 PRO主题最新版绕过授权方法

    B2 PRO主题最新版4.2.6绕过授权方法: 1、附件中的b2.zip是原版压缩包 2、附件中的b2-active.php是免授权激活文件,上传到WordPress根目录,浏览器…

    代码程序 2023年4月3日
  • 花海API更新v1.2

    地址:https://api.hhisite.cn v1.2更新内容 1.更换使用mdui,界面舒适度更高,更简洁。 2.修复随机二次元图片api偶尔图片链接失效问题。 3.修复获…

    代码程序 2021年8月11日
  • IP 查询新选择

    分享一个自己利用 cf wk 搭的,后台用的是 vip 版本的数据库,每日更新,哪天没钱续费了可能就黄了。 查当前 ip 信息 curl https://iplookup.forb…

    代码程序 2023年11月1日
  • 给别人发送图片获取别人IP小技巧

    只需要用到cloudflare 把域名解析到機子上,套上cflare 防火牆規則添加 完整uri包含自己域名 ,動作 封鎖 域名後面隨便寫一個路徑,用來識別對方,比如https:/…

    2021年4月4日
  • Docker 搭建开源文件同步工具 Syncthing

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

    2023年12月7日
  • nginx一个端口代理多个前后端服务

    必须使用alias—-(这我很不理解为什么,都用root就会404,有知道的大神请告知下!)使用alias和root区别:在于资源路径的匹配解读上!访问root定义的资…

    2024年1月11日

发表回复

登录后才能评论