- 订单双视图:商品订单/处方/挂号列表新增卡片视图(CardList)、视图切换组件 view-mode-switch、stat-islands 统计岛、constants 字典 - 工作台:新增工作日历 Widget、待办日历、即将到访预约、公告滚动 NoticeTicker、日历面板 CalendarPanel - 医生排班:新增排班 API、ScheduleDrawer 抽屉、schedule-calendar 组件、门店设置弹窗 - 日志与通知:新增排班变更日志页、排班变更通知视图 - 挂号提醒:新增挂号语音播报资源与 register-notify 工具 - 桌面端:新增 apps/desktop 壳及 desktop 工具方法 - 其他:处方/订单导出、聊天设置与 WebSocket 等小幅优化
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { app } from 'electron';
|
||
import log from 'electron-log/main';
|
||
|
||
/**
|
||
* 开机自启:基于系统登录项实现(Windows 写 HKCU\...\Run 注册表、mac 写「系统设置 → 登录项」),
|
||
* 无需管理员权限;系统登录项本身就是持久化存储,无需额外落盘记录状态。
|
||
*/
|
||
|
||
/** 读取当前开机自启状态(直接以系统登录项为准,避免自维护状态与系统不同步) */
|
||
export function getAutoLaunchEnabled(): boolean {
|
||
// 开发模式下登录项指向 electron 开发二进制,无意义,统一视为关闭
|
||
if (!app.isPackaged) return false;
|
||
return app.getLoginItemSettings().openAtLogin;
|
||
}
|
||
|
||
/**
|
||
* 设置开机自启
|
||
* --hidden 参数让开机自启时静默进托盘(主进程入口据此不弹主窗口),避免开机打扰
|
||
*/
|
||
export function setAutoLaunchEnabled(enable: boolean): boolean {
|
||
if (!app.isPackaged) {
|
||
log.warn('开发模式不支持设置开机自启(登录项会错误指向开发二进制)');
|
||
return false;
|
||
}
|
||
app.setLoginItemSettings({
|
||
openAtLogin: enable,
|
||
args: enable ? ['--hidden'] : [],
|
||
});
|
||
return getAutoLaunchEnabled();
|
||
}
|