程序使用E2EE支持库编写。示例和源码中的网址是随便写的,替换成你自己上线好的。
调用示例(请自己线上部署,此程序仅演示):
//baidu.com/api?id=a&url=//bbs.125.la&type=1
参数id是短网址,比如你设置为a,短网址就是://baidu.com/a
参数type:01代表删除,1增加,2修改,4查询
参数url:为短网址,当然也可以是文本,甚至html,如果要做url编码也可以,会自动解码。
api示例:
删除短网址://域名/api?id=a&type=0
增加短网址://域名/api?id=a&url=//bbs.125.la&type=1
查询短网址://域名/api?id=a&type=4增加文本://域名/api?id=125&url=精易论坛&type=1
直接上源码,使用E2EE编写,不想下载源码的直接复制到E2EE窗口即可:
这个数据存储使用的json文件,没有用数据库,也可以连接下mysql数据库,或者使用内存对象调用redis也可以,速度很快,还可以实现url地址多久到期,或者有访问就不过期,超过一周不访问就过期等。
.版本 2
.支持库 e2ee
.程序集 窗口程序集_启动窗口
.程序集变量 配置列表, 存取列表, , , 网站的配置列表
.程序集变量 urljson, 存取键值表
.程序集变量 m_file, 文本型
.子程序 __启动窗口_创建完毕
' //////////////////////////////////////////
' // E2EE网站
' // 您可以通过 [工具] / [添加视图/全局函数] 来辅助创建视图函数
' //////////////////////////////////////////
网站.初始化 (取运行目录 ())
网站.订阅视图函数 (&视图_首页, “/:ss”, , )
m_file = 网站.取配置项 (“网页”) + “/url.json”
urljson.从文件载入 (m_file, )
网站.启动 (, 是否为调试版 ())
' // 启动网站
.如果真 (网站.是否运行 () = 假)
信息框 (“网站启动失败!”, #警告图标, “启动失败”, _启动窗口)
结束 ()
.如果真结束
.子程序 视图_首页, 逻辑型
.参数 请求对象地址, 整数型
.参数 响应对象地址, 整数型
.局部变量 请求, 服务器请求
.局部变量 响应, 服务器响应
.局部变量 模板数据, 存取键值表, , , 给模板渲染提供数据
.局部变量 api, 文本型
.局部变量 type, 文本型
.局部变量 网址, 文本型
.局部变量 id, 文本型
.局部变量 url, 文本型
.局部变量 ss, 文本型
.局部变量 html, 文本型
取回请求对象 (请求对象地址, 响应对象地址, 请求, 响应)
type = 请求.取参数 (“type”, ) ' 0删除,1增加,2修改,4查询
网址 = 请求.取参数 (“url”, )
ss = 请求.取参数 (“ss”, )
id = 请求.取参数 (“id”, )
.如果真 (ss ≠ “api”) ' 没有类型,说明是网址
url = urljson.取文本 (ss) ' 要跳转的地址
.如果真 (url = “”)
响应.写出文本 (“无数据,请使用api提交”)
返回 (真)
.如果真结束
.判断开始 (取文本左边 (url, 4) = “http”)
html = 子文本替换 (#常量1, “//www.1.cn/”, url, , , 真) ' 跳转url
响应.写出文本 (html)
.默认
响应.写出文本 (url)
.判断结束
' 响应.重定向 (urljson.取文本 (id), , )
返回 (真)
.如果真结束
.如果真 (id = “”)
响应.写出文本 (“api://www.1.cn/api?id=a&url=www.125.la&type=1<hr class="l" />type:0删除,1增加,2修改,4查询
id:字符串”)
返回 (真)
.如果真结束
.如果真 (type = “0”)
url = urljson.取文本 (id)
urljson.删除 (id)
响应.写出文本 (“删除id:” + id + “
网址:” + url)
返回 (真)
.如果真结束
.如果真 (type = “1” 或 type = “2”)
urljson.置文本 (id, 网址)
响应.写出文本 (“增加&修改id:” + id + “
网址:” + 网址 + “
短网址://域名/” + id)
返回 (真)
.如果真结束
.如果真 (type = “4”)
url = urljson.取文本 (id)
响应.写出文本 (“查询id:” + id + “
网址:” + url)
返回 (真)
.如果真结束
响应.写出文本 (“type参数错误”)
返回 (真)
.子程序 _时钟1_周期事件
.局部变量 file, 文本型
urljson.另存文件 (m_file, )
演示站点已关闭,请自行搭建。 可以使用ng的反向d理实现绑定多域名
纠正:参数type:0代表删除,1增加,2修改,4cha询