@brftech/ filex-app-ui (英语)
SDK 一个应用程序自己的接口捆绑到聊天 文件x。 。 。 .
一个app可能带来自己的HTML/JS/CSS接口. filex 从应用程序服务它
已核准软件包并运行在一个沙箱框架,其政策不允许
连接、 没有存储和没有饼干 - 除了狭义的例外
请求和安装审查显示: 它自己的软件包文件
(单位:千美元)package_fetch),并从文件x 0.55框中取出自己的软件包页面
(单位:千美元)frame_package和 blob: 改为:connect_blob) (中文(简体) ). 浏览器不能完整
停止发送数据的页面 - 参见文件x的APP- PLUGINS.md. 界面所做的一切
通过一个已检查的信道通过文件x,这个软件包就是那个信道:几个KB,没有依赖性.
npm install @brftech/filex-app-ui
import { connect } from '@brftech/filex-app-ui';
const fx = await connect(); // the handshake; rejects outside filex
const file = await fx.open(); // { name, ext, size, mime, readOnly, text(), bytes(), stream(), read(), save() }
editor.value = await file.text();
editor.addEventListener('input', () => fx.dirty(true));
fx.onSave(() => editor.value); // filex's Save, a draft's "Save to disk", Ctrl+S
没有捆绑船,船 dist/filex-app-ui.iife.js 在你的捆绑和装入
带有 <script src>: 它定义 window.FilexAppUI.connect。 。 。 .
| 打电话 | 它会做什么 |
|---|---|
fx.session | 应用程序和视图、读者的语言和方向、文件x的颜色、人物的显示名称、文件(每个文件都有) encrypted: 'folder' | 'vault' | 'file' 当它被端到端加密时, filex 0.55 - 只有它自己的信息: 文件是 readOnly 而不诵读; plaintext: true 旁边 encrypted: 'folder' 或者说 'vault', filex 0.56: 请求的应用程序 encrypted_folders 并 filex 在清晰中将文件交接 - 在个人浏览器中解密 open(),再次加密于 save()最多 LIMITS.maxEncryptedBytes· ; saveAs 在打开文件时不提供模块),赠款 |
fx.open(i) 编号 : fx.save(data) 编号 : fx.saveAs(name, data) | 读取打开的文件; 保存在文件之上(新版本,或草稿是); 保存新文件,由个人选择。 A 类 .csv (文件编号:0.57): file.read(as) 答题 text_dialect - 其分界线、字节顺序标记、行尾和编码 text() 在编码中解码; fx.save(data, {csv: {delimiter, encoding, bom, eol}}) 说保存的 CSV 是怎样写的, 哪个文件x在以自己的方式写文件之前, 检查字节(APP-PLUGINS-API.md → CSV文件(中文(简体) ) |
fx.dirty(on), (中文(简体) ), fx.title(t), (中文(简体) ), fx.toast(t, tone), (中文(简体) ), fx.confirm(opts), (中文(简体) ), fx.close() | 告诉文件x 未保存的更改; 请求文件x 绘制线条、 问题、 关闭( 敬酒和问题带有您的应用程序名称) |
fx.copy(text) | 将文本放入剪贴板 - 从点击或按键中调用它 : 没有一个, 文件x先询问对象 |
fx.download(name, data, mime?) | 将个人文件交给他们自己的磁盘("ui": { "download": true } 从点击,或文件x询问; 最多256 MiB; Chromium 将其流入他们选择的文件 |
fx.print(name, pdf) | 打印一个PDF(文件0.55; "ui": { "print": true } 列表中:一个沙盒框可能不会打开打印对话框,所以filex从自己的页面打印出来 - filex每次询问和打印到个人允许,最多64个MiB(LIMITS.maxPrintBytes; 文件x 0.54 和旧答案 unknown_method,其打印页面可能无法显示的主机 unavailable |
fx.coedit.join() 编号 : .subscribe(from) 编号 : .append(kind, body) 编号 : .lease(op, seen) 编号 : .cursor(c) 编号 : .putBlob 编号 : .getBlob 编号 : .leave() | 一起编辑(文件x 0.56) "co_edit": {"open": true},作为 files:co-edit:filex封存会话日志并通过其中继命令,应用程序从不持有密钥. join 答题 created 当该成员开始会话时 - 它会放入基准文档(putBlob('base', …)在其他人加入之前; fx.save(data, {through}) 告诉会话保存什么 。 文件x 0.55 个答案 unavailable - 单独编辑吧 |
fx.call(method, params) | 询问应用程序自己的模块( a)ui_call(中文(简体) ) |
fx.submit(action, params) | 队列该应用程序在打开的文件上的动作之一 - 如 copy,从点击或文件x询问 |
fx.state.get(key) 编号 : fx.state.set(key, value) | 用于此应用程序和这个人的小商店( 清晰打开的加密文件夹的文件: 单独的商店, 封入浏览器) |
fx.license.get() | 该应用程序的许可证,用于从商店安装的付费应用程序(filex 0.52.0): {status: 'free'},或 {status: 'valid', valid_until, updates_until} - 没有钥匙,没有许可证 |
fx.on('theme' | 'locale' | 'file.changed' | 'close.request' | 'app.updated', fn) | 监听文件x(合并编辑后添加) coedit.entry, (中文(简体) ), coedit.cursor, (中文(简体) ), coedit.dropped(中文(简体) ) |
connect() 涂装文件x的颜色( i)--fe-* 自定义属性), lang, (中文(简体) ), dir
财务报告和审定财务报表 data-theme 打开 <html> 并保持它们流畅;通过
{ applyTheme: false } 亲自动手.
整个合同 - 显示,服务政策,每一个信息 - 是
docs/APP-PLUGINS-API.md ——"一个应用程序自己的接口";如何构建和包接
一个接口是 docs/PLUGIN-KIT.md ——"写出接口". 协议
本身是 src/protocol.ts (也导出为 @brftech/filex-app-ui/protocol, (中文(简体) ),
filex 本身的框架导入,所以双方不能漂移.
麻省理工学院