跳至内容
后端多平台桥接
应用图标

后端多平台桥接

¥ 800.00
v 19.0 0
一次性购买
技术名称
eist_web_multiplatform
许可证
其他专有许可
其他可用版本
v 19.0

EIST 后端多平台适用于 Odoo 19

将此模块与 Odoo桌面客户端客户持有已登录的账户、打印、显示和缩放服务,以及注册的设备。 Odoo 在该窗口内打开。一旦客户进入,导航栏插件会报告 “检测到外部应用程序”,并且后端报告可以通过主机打印。

主机桥

方法仅在应用程序列出时出现。下载、账户、阅读器和返回按钮使用相同的规则。

本地打印

PDF 和文本报告调用 printFile。如果应用无法打印,Odoo 会发出警告并退回到下载。

可见状态

导航栏插件显示是否检测到外部应用。正常浏览器保持“未检测到”。

首页、服务和设备

主页列出了已登录用户、正在运行的服务和注册的设备。服务包括打印机、显示器和秤。设备是您注册的硬件。

会议、语言、主题和关于

从窗口工具栏中,您可以切换已登录的帐户、界面语言、主题颜色和深色模式,并打开关于。

设置

系统设置JS桥接端口和UI字体。语言、日志和ESC/POS打印选项是其他设置页面。

Odoo 在客户端

Odoo opens in the client window. The navbar plug reports that the external application was detected. Client tools stay beside the Odoo page.

主机桥

core.js follows the Flet / multi-platform host bridge. It does not invent a second protocol.

  • 该 shell 在文档开始时注入 window.OdooDeviceUtility,在此脚本运行之前。
  • list_plugins() 返回 [{name, action}, …]。每个 name 变成一个方法;action 是 execute 接收到的内容。
  • execute(action, argsJson, requestId) 的回答是 odoo.native_notify。 success: true 解决了这个承诺;其他任何内容都会拒绝它。
  • 在 WebKit 中,裸全局变量在 ES 模块内部可能是不可见的,因此桥接还会读取 window.OdooDeviceUtility,如果外壳延迟附加,则可以再次进行水合。
  • 仅在方法存在后调用它。在普通浏览器中,没有实用对象,因此方法表保持为空。

后台报告打印

可用性仅仅是“主机是否注入了printFile?”。它不考虑屏幕大小或用户代理。 当该插件被列出时,同样的检查适用于桌面和移动外壳(Windows、Linux、macOS、Android、iOS)。

  • 报告操作 qweb-pdf 和 qweb-text 被发送到 printFile,包含报告的 URL、名称、CSRF 令牌和上下文。PDF 仍然需要一个有效的 wkhtmltopdf 状态(ok 或 upgrade)。
  • 如果本地打印失败,用户会收到警告,处理程序会返回,以便Odoo可以下载报告。一键跳过会阻止该下载再次调用printFile。
  • 直接的 /report/download 请求首先尝试 printFile,然后是主机下载(如果没有主机,则是浏览器)。
  • 当 printFile 缺失时,处理程序不会替换设备的直接打印:它返回并将作业留给 Odoo。

通过主机下载

当主机列出 downloadFile 时,后端下载(包括打印回退)将转到应用下载管理器。 URL 被缩减为路径、查询和哈希,并附加了 CSRF 令牌。该调用不会阻塞 Web 客户端。 如果没有插件,Odoo 自己的下载将会运行。

账户,快捷方式,阅读器和返回

这些项目仅在匹配的插件在 list_plugins() 中时注册。它们不会在普通浏览器中显示。

  • 切换/添加账户 替代了注销和 Odoo 账户菜单项,并调用 switchAccount。
  • 添加到主屏幕 将当前应用程序的标题、URL 和网页图标发送到 addHomeShortcut。
  • 账户同步 在保存偏好设置时,通过 updateAccount 推送名称、用户名和一个 128px 的头像 (image_medium,与 avatar_128 相关)。
  • 读者 — 该 移动 服务(保持该名称以供 POS 和其他呼叫者使用)启动 enableReader 并在有监听时轮询 getReaderData,然后停止读者。
  • 返回按钮 — overrideBackButton 是引用计数的。当弹出窗口打开时,主机的返回键会关闭它们。
  • 错误 — 未捕获的前端错误会在该插件存在时转发到 crashManager。
  • 如果主机提供 hashChange,则路由更改将在 popstate 上报告。

桌面客户端

此模块旨在与 Odoo桌面客户端客户保留已登录的账户、打印、显示和缩放服务以及注册的设备。 Odoo 本身在该窗口内打开。

系统托盘主机指示器

在客户端,导航栏插件意味着检测到一个外部应用程序,因为它注入了 printFile。 点击它会刷新检查并显示“检测到外部应用程序”。 普通浏览器没有 OdooDeviceUtility,因此同样的插件保持“未检测到”。

销售点资产

POS 不加载后端资产包。此模块将 core.js 和 print_bridge.js 添加到 point_of_sale._assets_pos,以便 POS 模块可以导入 printFile 并填充桥接。收据、现金抽屉和客户显示行为存在于这些 POS 模块中,而不是这里。

常见问题

普通浏览器可以进行本地打印和下载吗?
不可以。没有 OdooDeviceUtility,这些方法是缺失的。下载使用 Odoo,报告没有发送到 printFile,而系统托盘显示未检测到外部应用。

可以与 web_mobile 一起安装吗?
不可以。此模块排除了 web_mobile 和 eist_web_mobile。请勿在同一数据库中安装这两个桥接。

公共包是否替代企业模块?
它并不声明为企业替代品。它依赖于 web 和 eist_erp_base。

该模块调用了哪些主机方法?
printFile、downloadFile、switchAccount、addHomeShortcut、updateAccount、enableReader、getReaderData、overrideBackButton、hashChange 和 crashManager — 每个方法仅在主机列出时调用。Toast、振动、条形码扫描和推送令牌是主机插件;该模块不为它们添加屏幕。

需要帮助吗?

  • 技术名称:eist_web_multiplatform
  • 依赖: eist_erp_base, web
  • 排除: web_mobile, eist_web_mobile
  • 版本: 19.0.0.1
  • 许可证: 其他专有 — EIST科技有限公司
  • 网站: https://eist.com.cn

高级EIST模块。截图显示了桌面应用程序和在其中运行的Odoo。 需要 Odoo桌面客户端.

许可证

其他专有许可

依赖模块

官方模块
web
EIST 模块
eist_erp_base