跳转到主要内容

将Odoo变成PWA

项目描述

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

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

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

  • 开发者信息。

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

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

此模块的目的是提供一个制作PWA应用程序的基础。

目录

安装

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

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

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

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

在Chrome浏览器中,渐进式Web应用可以通过三个点菜单进行安装。

如果您之前已安装了 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()

配置

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

  • 渐进式Web应用名称(默认为“Odoo PWA”)

  • 渐进式Web应用简称(默认为“Odoo PWA”)

  • 渐进式Web应用图标(SVG)(默认为“/web_pwa_oca/static/img/icons/odoo-logo.svg”)

配置您的PWA

  1. 转到 设置 > 通用设置 > 渐进式Web应用

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

  3. 保存

使用

使用您的PWA

  1. 使用支持的浏览器打开Odoo Web应用(见 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:

    • Lorenzo Battistini

  • Tecnativa:

    • Alexandre D. Díaz

    • João Marques

    • Sergio Teruel

维护者

此模块由OCA维护。

Odoo Community Association

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

当前 维护者

eLBati

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

欢迎您贡献力量。有关如何贡献的信息,请访问 https://odoo-community.org/page/Contribute

项目详情


下载文件

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

源分发

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

构建分发

odoo_addon_web_pwa_oca-16.0.1.0.0.6-py3-none-any.whl (126.7 kB 查看散列值)

上传时间: Python 3

由以下提供支持