跳至主要内容

无服务器 自建短链服务 Url-Shorten-Worker 增加删除某条短链的按钮

 源码GitHub: 

https://github.com/Crap996/Url.CF-Web

搭建方法:

https://blog.uncle.cloudns.org/2023/12/url-shorten-worker.html

localStorage里只写短链的随机字符串


显示urlList的部分不用<ul>里面套<li>了。改为<div>里面套<div>


显示短链的时候,前面加个删除按钮

先把自动加载localStorage关了,然后在html里试着写一下,看看效果。

<div class="card-text">
  <div classs="list-group" id="urlList"> 
    <div class="list-group-item">
      <button type="button" class="btn btn-danger">X</button>
      <span>some text</span>
    </div>
    <div class="list-group-item">
      <button type="button" class="btn btn-danger">X</button>
      <span>some text some text some text some text some text some text some text some text some text some text some text </span>
    </div>
  </div>
</div>

API支持删除短链

POST增加字段

cmd: 取值add, del;

keyPhrase: 在add时,是自定义短链;在del时,是指定删除的短链。


显示urlList的部分 按钮里面加 onclick事件

<div classs="list-group" id="urlList"> 
  <div class="list-group-item">
    <button type="button" class="btn btn-danger" onclick='deleteShortUrl("4rEbzm")'>X</button>
    <span>some text</span>
  </div>
  <div class="list-group-item">
    <button type="button" class="btn btn-danger" onclick='deleteShortUrl("8NKY34")'>X</button>
    <span>some text some text some text some text some text some text some text some text some text some text some text </span>
  </div>
</div>

测试了一下效果,能生效,修改KV


加载localStorage到urlList的部分,用JS实现

function addUrlToList(shortUrl, longUrl) {
  let urlList = document.querySelector("#urlList")

  let child = document.createElement('div')
  child.classList.add("list-group-item")

  let btn = document.createElement('button')
  btn.setAttribute('type', 'button')
  btn.classList.add("btn", "btn-danger")
  btn.setAttribute('onclick', 'deleteShortUrl(\"' + shortUrl + '\")')
  btn.innerText = "X"
  child.appendChild(btn)

  let text = document.createElement('span')
  text.innerText = window.location.host + "/" +shortUrl + " " + longUrl
  child.appendChild(text)

  urlList.append(child)
}

 

规范API

API 添加短链出错时,status不是200, 错误信息不应该放到key里,应该另外保存error。

API 添加短链成功时,status为200, key单纯就是短链关键字段,不应该加上'/ '前缀。

显示API结果时,应该先判断status是否为200(成功),再确定显示key短链,还是显示error错误信息。

 

评论

此博客中的热门博文

解决 ClouDNS 域名申请 CloudFlare SSL 证书问题

Text.  在上篇文章,我讲解过了如何在 ClouDNS 上申请自己的免费二级域名。但是如果使用这个域名并配合 CloudFlare 的 SSL 证书的话,可能会出现这个问题。在这篇文章中,我们就着手来解决这个问题 准备材料 ClouDNS 域名 CloudFlare 账号 部署步骤 打开 CF 的控制面板,然后进入到自己的域名。转到 SSL 中的 Edge Certificates 页面,找到类似 *.xx.cloudns.biz, xx.cloudns.biz 的选项,点击展开,然后复制里面的 TXT 记录和值备用 打开 ClouDNS 的域名 DNS 的 TXT 解析页面,然后点击 “Add new record” 按钮,创建 TXT 记录 将 CF 的解析值填写进来 等待大概 15-30 分钟,然后 Status 出现 “Active” 即可

解决 ClouDNS 域名无法在 CloudFlare DNS 解析的问题

Text. 在我们将 ClouDNS 域名 CloudFlare 之后,估计大家可能发现了一个问题:如果在 CloudFlare 的 DNS 解析这个域名,那这个域名有可能无法使用。这是因为不知道啥的原因,ClouDNS 的域名 DNS 还未完全转接给 CloudFlare 进行托管。这篇教程中,我就来和大家一起来解决 ClouDNS 域名无法在 CloudFlare DNS 解析的问题。 准备材料 ClouDNS 域名及账号 CloudFlare 账号 解决步骤 打开 CF 的 DNS 控制面板,解析自己的域名,并关闭小云朵 我们这时可以尝试 ping,可以发现是很大概率是 ping 不出来的 这时,我们回到 ClouDNS 的域名解析页面,添加一条和 CF DNS 相同样的记录 等待 ClouDNS 解析好之后,再次尝试 ping,如果 ping 出来的 ip 是解析好的 ip,即可代表成功。

节点客户端推荐:Karing,支持 Win / Mac / 安卓 / iOS,并附使用教程

  相信有些小白肯定和我几年前刚入坑一样热衷于使用 XX VPN 这种软件觉得一键上手挺容易,而不去使用机场、自建节点。但是这种 VPN 来说肯定比自建节点来讲是不安全的。那么我们有没有一款软件可以让小白去使用机场、自建节点呢?这篇文章介绍的 Karing,就是这种软件。下面我来和大家一起了解并使用这款软件 准备材料 Win / Mac / 安卓 / iOS 平台的设备 步骤 如为 Win / 安卓设备,打开他们的项目: https://github.com/KaringX/karing/releases ,然后根据自己的平台下载对应的安装包。如为 Mac / iOS 设备,直接在 App Store 搜索 Karing / Karing VPN 安装即可 打开 Karing,这里我们选择简体中文,点击“下一步” 分流规则这里按照默认即可,点击“下一步” 在这里我们可以通过订阅 / 节点链接、导入配置文件和扫码来添加节点 这里就以添加订阅为例,在配置链接处复制粘贴订阅链接,然后填写备注,最后点击右上角按钮添加即可 点击中间的开关按钮,启用代理。这里程序会挑选出延迟最低的节点供你链接 可以点击最下面的框,然后手动选择某一节点进行链接 可以在设置→我的配置处,管理自己的订阅配置 Text. Text.