跳到主要内容

系统模式

概述

dejaOS 系统提供三种主要运行模式,每种模式具有不同的系统行为,模式之间可以相互切换:

  • 开发模式(dev)
  • 生产模式(prod)
  • 测试模式(test)

1. 开发模式

开发模式是开发设备的默认模式。在开发模式下:

  • 默认不启动应用程序:设备重启后不会自动启动任何应用程序。
  • 无界面显示:如果设备有屏幕,不会显示应用程序相关界面。
  • 调试应用程序:系统自动启动内置的调试应用程序,用于通过 USB 线缆与 VSCode 交互。此模式适合将开发中的 JavaScript 代码同步到设备。

2. 生产模式

生产模式是生产设备的默认模式。在生产模式下:

  • 启动生产应用程序:设备重启后会自动启动对应的生产应用程序。
  • 应用程序界面显示:如果设备有屏幕,会显示应用程序相关界面。
  • 禁用调试:调试应用程序不会启动,无法通过 VSCode 同步代码到设备。

3. 测试模式

在测试模式下,生产应用程序和调试应用程序同时运行,通常用于特殊测试需求。在此模式下:

  • 启动生产应用程序:设备重启后会自动启动对应的生产应用程序并显示应用程序界面(如果设备有屏幕)。
  • 启动调试应用程序:设备启动后会自动启动调试应用程序,允许通过 VSCode 同步代码到设备。

模式切换

您可以通过以下两种方式在不同模式之间进行切换:

1. 通过系统管理应用切换

这是最常用的切换方式,您可以使用系统管理应用(System Manager App)将设备切换到所需的模式。

详情请参考 系统管理应用

2. 通过代码切换

您也可以通过代码触发模式切换,这通常用于特定的业务场景,例如扫描二维码、接收 MQTT 指令或通过特定手势触发。

您可以使用 dxOs 模块的 setMode 函数进行切换:

import dxos from "../dxmodules/dxOs.js";
if (condition1) {
dxos.setMode("prod"); // 支持的参数包括:dev, test, prod
} else if (condition2) {
dxos.setMode("dev"); // 支持的参数包括:dev, test, prod
}

⚠️ 注意:

  • 切换模式后,设备会自动重启。
  • 最好有条件地触发模式更改,而不是在应用程序启动时,以防止连续重启。
  • 切换到生产模式后,无法再通过 VSCode 修改代码,因此必须有方法切换回开发模式。
  • 通常,这是通过外部命令触发的,如二维码或 MQTT。参考通过二维码触发更改的示例

模式行为对比表

模式启动应用程序显示界面支持调试应用场景
开发模式开发和调试阶段
生产模式商业部署、正式发布
测试模式集成测试、预发布验证

有关如何在批量设备中设置默认模式或进行出厂前模式烧录配置的信息,请联系 DejaOS 官方支持。