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元標籤內容(移動站點會用到)

參數 描述
viewport viewport元標籤的內容

返回: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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章