ZeroNet框架(ZeroFrame)API参考

水平有限,翻译错误的地方还望网友斧正


Wrapper 封装

这些命令可以控制wrapper框架,不用使用websocket发送到UiServer。

wrapperConfirm message,[button_caption]
显示一个带确认按钮的通知框。

参数描述
message你要显示的消息
button_caption(可选)确认的按钮的文字(默认:OK)

返回:确认返回Ture

例子:
# Delete site
siteDelete: (address) ->
site = @sites[address]
title = site.content.title
if title.length > 40
title = title.substring(0, 15)+"..."+title.substring(title.length-10)
@cmd "wrapperConfirm", ["Are you sure you sure? <b>#{title}</b>", "Delete"], (confirmed) =>
@log "Deleting #{site.address}...", confirmed
if confirmed
$(".site-#{site.address}").addClass("deleted")
@cmd "siteDelete", {"address": address}


wrapperGetLocalStorage

返回:浏览器站点本地存储
例子:
@cmd "wrapperGetLocalStorage", [], (res) =>
res ?= {}
@log "Local storage value:", res


wrapperSetLocalStorage data
设置站点在本地浏览器中存储的数据
返回:None
例子:
Page.local_storage["topic.#{@topic_id}_#{@topic_user_id}.visited"] = Time.timestamp()
Page.cmd "wrapperSetLocalStorage", Page.local_storage


wrapperNotification type, message, [timeout]
显示一个通知

参数描述
type可能的值:info,error,done
message你要显示的消息
timeout(可选)消失的时间(毫秒ms)

返回:None
例子:
@cmd "wrapperNotification", ["done", "Your registration has been sent!", 10000]


wrapperPrompt message, [type]
显示一个可以输入文字的提示框。

参数描述
message你要显示的消息
type(可选)输入的类型(默认:text)

返回:输入的文字
例子:
# Prompt the private key
@cmd "wrapperPrompt", ["Enter your private key:", "password"], (privatekey) =>
$(".publishbar .button").addClass("loading")
# Send sign content.json and publish request to server
@cmd "sitePublish", [privatekey], (res) =>
$(".publishbar .button").removeClass("loading")
@log "Publish result:", res


wrapperSetViewport viewport
设置站点viewport元标签内容(移动站点会用到)

参数描述
viewportviewport元标签的内容

返回:None
例子:
# Prompt the private key
@cmd "wrapperSetViewport", "width=device-width, initial-scale=1.0"


UiServer

UiServer对于ZeroNet就像LAMP设置的站点。
UiServer会完成所有的“后台”工作(比如:查询数据库,访问文件,诸如此类)。你可以调用这些API搭建动态网站。

certAdd domain, auth_type, auth_user_name, cert
为当前的用户添加一个证书

参数描述
domain认证所有者的域名
auth_type注册的验证类型
auth_user_name注册的用户名
cert证书内容:将字段auth_address#auth_type/auth_user_name签给站点的所有者

返回:”ok”,”Not changed”或者{“error”:error_message}
例子:
@cmd "certAdd", ["zeroid.bit", auth_type, user_name, cert_sign], (res) =>
$(".ui").removeClass("flipped")
if res.error
@cmd "wrapperNotification", ["error", "#{res.error}"]


certSelect accepted_domains
显示证书选择器

参数描述
accpeted_domains接受认证的列表

返回:None
例子:
@cmd "certSelect", {"accepted_domains": ["zeroid.bit"]}


channelJoin channel
关于站点事件的请求通知

参数描述
channel加入频道

返回:None
Channels:
- siteChanged(默认加入)
Event:peers_added,file_started,file_done,file_failed

例子:
# Wrapper websocket connection ready
onOpenWebsocket: (e) =>
@cmd "channelJoinAllsite", {"channel": "siteChanged"}
route: (cmd, data) ->
if cmd == "setSiteInfo"
@log "Site changed", data
else
@log "Unknown command", cmd, data

例子event data:
{
"tasks":0,
"size_limit":10,
"address":"1RivERqttrjFqwp9YH1FviduBosQPtdBN",
"next_size_limit":10,
"event":[ "file_done", "index.html" ],
[...] # Same as siteInfo return dict
}


dbQuey query

引用
ZeroNet 官方文档 http://zeronet.readthedocs.org/en/latest/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值