跳转到主要内容

将Odoo变为PWA

项目描述

Beta License: LGPL-3 OCA/web Translate me on Weblate Try me on Runbot

将Odoo变成一个可安装的渐进式网络应用。

渐进式网络应用在桌面和移动设备上提供可安装的、类似应用的使用体验,它们是通过网络直接构建和交付的。它们是快速可靠的网页应用。最重要的是,它们在任何浏览器中都能工作。如果你今天正在构建网页应用,你已经在通往构建渐进式网络应用的道路上了。

  • 开发者信息。

服务工作者是用‘Odoo类’构建的,以具有与‘用户页面’相同的类继承行为。请注意,‘Odoo Bootstrap’不受支持,因此你在这里不能使用‘require’。

所有服务工作者内容都可以在‘static/src/js/worker’中找到。用户页面和服务工作者之间的管理是在‘pwa_manager.js’中完成的。

此模块的目的是提供一个构建PWA应用的基础。

目录

安装

安装此模块后,在手机上浏览Odoo时,您将能够将其安装为PWA。

强烈建议与响应式布局一起使用此模块,例如由web_responsive提供的布局。

此模块旨在由Odoo后端用户(员工)使用。

安装渐进式网络应用后,它看起来和表现就像所有其他已安装的应用一样。它从与其他应用相同的启动位置启动。它在没有地址栏或其他浏览器UI的应用中运行。并且像所有其他已安装的应用一样,它在任务切换器中是一个顶级应用。

在Chrome中,渐进式网络应用可以通过三个点的上下文菜单安装。

如果之前已安装 web_pwa,请在安装 openupgradelib 后,使用 odoo shell 运行以下步骤。

>>> from openupgradelib import openupgrade
>>> openupgrade.update_module_names(env.cr, [('web_pwa', 'web_pwa_oca')], merge_modules=False)
>>> env.cr.commit()

配置

此模块允许您在设置中设置以下参数,以自定义应用程序的显示。

  • PWA 名称(默认为“Odoo PWA”)

  • PWA 简短名称(默认为“Odoo PWA”)

  • PWA 图标(《SVG》)(默认为“/web_pwa_oca/static/img/icons/odoo-logo.svg”)

配置您的 PWA

  1. 前往 设置 > 常规设置 > 进度式网页应用

  2. 设置参数(《注意》:图标 必须是 SVG 文件

  3. 保存

使用

使用您的 PWA

  1. 使用支持浏览器打开 Odoo 网页应用(请参阅https://caniuse.cn/?search=A2HS

  2. 打开浏览器选项

  3. 点击“添加到主屏幕”(或在其他浏览器中为“安装”)

**也许您需要刷新页面,以便在启用选项后加载服务工作者。

已知问题/路线图

  • 集成通知 API

  • 集成Web Share API

  • 创建 portal_pwa 模块,供前端用户(客户、供应商等)使用

  • 当前 John Resig 的继承 实现不支持 async 函数,因为 this._super 不能在 promise 中调用。因此,我们需要使用以下解决方案

    • 自然‘async/await’示例(这会破坏“_super”调用)

      var MyClass = OdooClass.extend({
          myFunc: async function() {
              const mydata = await ...do await stuff...
              return mydata;
          }
      });
    • 相同的代码,使用解决方案

      var MyClass = OdooClass.extend({
          myFunc: function() {
              return new Promise(async (resolve, reject) => {
                  const mydata = await ...do await stuff...
                  return resolve(mydata);
              });
          }
      });
  • 修复尝试在 localhost 上运行多个数据库时的问题。浏览器不发送 cookie,并且 web 清单返回 404。

  • Firefox 无法检测“standalone”模式。请参阅 https://bugzilla.mozilla.org/show_bug.cgi?id=1285858

  • Firefox 在私有模式下禁用服务工作者。请参阅 https://bugzilla.mozilla.org/show_bug.cgi?id=1601916

错误跟踪器

错误在 GitHub Issues 上跟踪。如果遇到问题,请检查是否已报告您的问题。如果您是第一个发现它的人,请帮助我们通过提供详细且受欢迎的 反馈

请不要直接联系贡献者以获取支持或技术问题的帮助。

鸣谢

作者

  • TAKOBI

  • Tecnativa

贡献者

  • TAKOBI:

    • 洛伦佐·巴蒂斯蒂尼

  • Tecnativa:

    • 亚历山大·D·迪亚斯

    • 若昂·马奎斯

维护者

此模块由 OCA 维护。

Odoo Community Association

OCA,或 Odoo 社区协会,是一个非营利组织,其使命是支持 Odoo 功能的协作开发并促进其广泛使用。

当前 维护者

eLBati

此模块是 GitHub 上的 OCA/web 项目的组成部分。

欢迎您贡献。要了解如何贡献,请访问 https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

此版本没有可用的源分发文件。请参阅 生成分发存档 的教程。

构建分发

odoo13_addon_web_pwa_oca-13.0.1.0.2-py3-none-any.whl (123.5 kB 查看散列值)

上传时间 Python 3

由以下支持