其它

Account

属性

属性名 说明
id 当前已登录账户的账户 ID
is_login `True/False`, 当前是否出于登录状态
is_admin `True/False`, 当前登录用户是否是网站管理者(即所有者)
sites 获得当前已登录账户所拥有的站点列表
clouds 获得当前已登录账户所关联的云端服务列表

基本函数

函数名 接受参数 返回值 说明
need_login 空字符 要求当前页面必须出于登录状态才能被访问到
need_admin 空字符 要求站长处于登录状态的时候才能被访问到
login callback_url='/' 登录的 HTML 代码片段 `callback_url`是登录成功之后需要跳转到的页面地址
logout 页面跳转 退出当前已登录的账户
create_site redirect_url=None HTML 片段或页面跳转 在用户登录的状态下,创建一个网站,成功后跳转到到某个指定 URL (redirect_url)
get_site site_id site 数据对象 (dict) 获得当前账户下的某个 site 对象
delete_cloud cloud_id 空字符串 作用: 取消已经关联的某个 Cloud 服务;这个一般要与`account.clouds`配合使用

Mail

注意: 只有在当前网站在设置中设定了sender,才会生效;sender是指邮件中心中创建的类似xxx@bitcron.com的邮箱地址。

send

作用: 通过 API,使用指定的 Bitcron Mail 发送邮件,调用方式为+mail.send(xxxxx)
参数: to, subject, content='', key='', **kwargs
to: 收件人地址
subject: 邮件标题
content: 邮件内容 (非 HTML 格式,普通文本)
key: 默认为空,如果有指定 key,则在发送的时候,会尝试寻找mails/<key>.html这个站点内的文件作为邮件内容发送。
message: 额外的信息,默认为空,如果是一个 Markdown 文档的路径,会自动寻址,并将Markdown 编译后的 HTML 作为 message 的 value。
kwargs: 是指后续其它 k=v 类似的变量,如果有 key 匹配到的模板,会进一步用 kwargs 中的变量替换模板内 {{ key }} 这样的变量声明。

模板调用说明:
send 调用的时候,传入key这个参数,会尝试寻找_mails/<key>.html的模板文件,并将 kwargs 内的变量重新渲染,即替换 {{ key }} or {{ key.attr }},但不能处理 if/else等额外逻辑。
同时,要注意,邮件模板有其特殊性,不能调用 css、scss 文件,所有样式应该是内嵌式的。如果涉及到了图片,请务必保证图片的地址是全地址,而不是相对地址。

默认调用

由于 Bitcron 系统内的一些默认调用,会产生一些邮件通知的请求,从而调用Mail.send这个命令进行邮件的发送。

comment

在评论产生、或者评论@某某而会产生这个调用。
对应的 key 为comment, 如果需要修改邮件模板,对应修改、创建的模板地址为_mails/comment.html
调用Mail.send命令的时候,其中 kwargs 由以下几个变量构成:
link: 所评论页面的 URL
comment: 一个数据对象,包含 ip、email、site(网址)、content(评论内容)属性可调用。
parent: 所评论的数据对象,比如一篇日志。
message: 固定值为 _messages/comment.md

license

在 License 发送的行为(License.register)中会产生的调用。
对应的 key 为license, 如果需要修改邮件模板,对应修改、创建的模板地址为mails/license.html
调用Mail.send命令的时候,其中 kwargs 由以下几个变量构成:
app_name: License 的名称
order_id: 订单 ID,可能为空
license_key: License 的实际 key
message: 默认值为 messages/ license.md

Pay

这是支付接口,目前仅提供支付宝的支持。
文档待补充....

Realtime

这是通过 websocket 进行实时通讯、通知的相关接口,目前主要是处理文件同步时的通知。

属性

ws_domain: 当前 Node(服务器) 对应的 websocket 协议下的域名
site_ws_url: 当前 ws_domain 下,当前网站下的文件同步变更的 websocket 协议下的 URL

其中,ws_domain 类似 realtime-api-192-168-1-2.bitcron.com;site_ws_url 类似 ws://<ws_domain>/site/<site_id>

文件变更的通知

每一次文件的更新、删除、添加,都会通过site_ws_url对应的websocket 地址,推送一个JSON数据,以此通知各个正在访问当前页面的浏览器,以调用一些必要的前端脚本来响应。
其有这些属性:
site_id: 网站的id (一般用不到)
path: 文件的路径 (相对于站点路径,全小写)
doc_type: 文件类型,tempalte、post、image、csv、file其中之一
date: 事件发生的时间戳
is_deleted: true/false, 表示是否为删除文件的操作。

listen_files

作用: 当网站内的文件发生更新、新增的时候,页面可以实时地做出响应的对应。
接收参数: <callback_func> , callback_func是一个字符串类型,表示一个在前端脚本中定义的、可直接调用的Javascript的函数名。

callback_func将接收一个数据对象,这个数据对象的属性,也即是文件变更的通知中提及的。

License

namespace 为 license

待补充...