響き喵の響け ~

ゆうの·響

【Slink Update】Slink for PHP 第二版更新

🔗 https://nyau.us -> https://nya.vc

简介

Slink 是什么? - 答:是一个由 Nodejs 实现的短链系统服务。一开始由 Daocloud 托管,后来由于 Daocloud 不再面向个人开发者用户,导致无法长时间启动 Slink 服务。所以迁移至 Hostker,语言也由 Nodejs 改写更换为 PHP。数据系统由 MongoDB 转为 MySQL。

从那次大更新开始,Slink 就有两个版本。现在将慢慢实现。

  • PHP 版本,版本号为 2.xxA。主要承接 Slink 的短链 302 跳转服务。
  • Nodejs 版本,即将以 2.xxB 的方式上线,是一个泛用式Reverse Proxy系统。具体的会在专门的文章中说明。

至于这样的问题:直接全用 Nodejs 不好吗?偏要用 PHP,搞得这玩意儿不伦不类。我的解释是,对于我个人而言,302 跳转稳定性为主,RP 拓展性为主。因此用不同的语言重写。其余的,如果实在想用 Nodejs 的短链,请自行到相同 Repo 下切换 Tree 至老版本,这里就不赘述了。

更新简介

这次的更新主要是把原来零散的代码整合起来。 Gayhub 还没有 Po,所以不用找了,等 B 版本同步出来的时候,我再一起 Po。

本次实现的一些拓展功能虽然没什么特别大的作用,但是总算可以把 Slink 作为协助开发工具了。

新版的 Slink for PHP 支持直接跳转至结果页面。

1
2
3
POST/GET https://nya.vc
DATA url: https://nekoyu.cc
task: set

这样就可以直接跳转到结果页面,
其中,传入两个数据,一个是url,表示源网页,另一个是task,表示是跳转设置任务。

另一种API形式

1
2
3
POST/GET https://nya.vc
DATA url: https://nekoyu.cc
(callback: ?)

如果不存在 task 这一项,就是默认 API 格式,此时,会返回一个 JSON。

如果不传入callback,结果大概是这样的:

1
2
3
4
5
6
7
{
"status":1,
"url":"https:\/\/nekoyu.cc",
"msg":"Success!",
"skey":"XrEJ",
"slink":"https:\/\/nya.vc\/XrEJ"
}

其中,五个参数分别表示了,bool/int状态,源网址,转换信息,短链key,完整的短链。

如果传入callback,返回的信息就会被打包成一个 jsonp 格式,用于 cross domain 调用。

1
2
3
POST/GET https://nya.vc
DATA url: https://nekoyu.cc
callback: jsonp_callback_nejkfow83

返回

1
jsonp_callback_nejkfow83({"status":1,"url":"https:\/\/nekoyu.cc","msg":"Success!","skey":"XrEJ","slink":"https:\/\/nya.vc\/XrEJ"})

更新日志

v2.01A

  • 加入API功能
  • 精简调用逻辑
  • 支持直接跳转至结果页面
  • Class化项目

以上