当前位置: 首页 > news >正文

鸿蒙开发接口定制管理:【@ohos.enterpriseDeviceManager (企业设备管理)】

企业设备管理

说明:

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import enterpriseDeviceManager from '@ohos.enterpriseDeviceManager';

enterpriseDeviceManager.activateAdmin

activateAdmin(admin: Want, enterpriseInfo: EnterpriseInfo, type: AdminType, callback: AsyncCallback): void

以异步方法根据给定的包名和类名激活设备管理员应用,使用Callback形式返回是否激活成功。

需要权限:  ohos.permission.MANAGE_ADMIN

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
admin[Want]设备管理员应用
enterpriseInfo[EnterpriseInfo]设备管理员应用的企业信息
type[AdminType]激活的设备管理员类型
callbackAsyncCallbackcallback方式返回是否激活成功

示例

let wantTemp = {bundleName: "com.example.myapplication",abilityName: "com.example.myapplication.MainAbility",
};
let enterpriseInfo = {name: "enterprise name",description: "enterprise description"
}
enterpriseDeviceManager.activateAdmin(wantTemp, enterpriseInfo, enterpriseDeviceManager.AdminType.ADMIN_TYPE_NORMAL, (error, result) => {if (error != null) {console.log("error occurs" + error);return; }console.log("result is " + result);
});

enterpriseDeviceManager.activateAdmin

activateAdmin(admin: Want, enterpriseInfo: EnterpriseInfo, type: AdminType): Promise

以异步方法根据给定的包名和类名激活设备管理员应用,使用Promise形式返回是否激活成功。

需要权限:  ohos.permission.MANAGE_ADMIN

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
admin[Want]设备管理员应用
enterpriseInfo[EnterpriseInfo]设备管理员应用的企业信息
type[AdminType]激活的设备管理员类型

返回值:

类型说明
PromisePromise形式返回是否激活成功

示例

let wantTemp = {bundleName: "com.example.myapplication",abilityName: "com.example.myapplication.MainAbility",
};
let enterpriseInfo = {name: "enterprise name",description: "enterprise description"
}
enterpriseDeviceManager.activateAdmin(wantTemp, enterpriseInfo, enterpriseDeviceManager.AdminType.ADMIN_TYPE_NORMAL)
.then((result) => {console.log("result is " + result);
}).catch(error => {console.log("error occurs" + error);
});

enterpriseDeviceManager.deactivateAdmin

deactivateAdmin(admin: Want, callback: AsyncCallback): void

以异步方法根据给定的包名和类名将设备普通管理员应用去激活,使用Callback形式返回是否去激活成功。

需要权限:  ohos.permission.MANAGE_ADMIN

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
admin[Want]普通设备管理员应用
callbackAsyncCallbackcallback方式返回是否去激活成功

示例

let wantTemp = {bundleName: "bundleName",abilityName: "abilityName",
};
enterpriseDeviceManager.deactivateAdmin(wantTemp, (error, result) => {if (error != null) {console.log("error occurs" + error);return; }console.log("result is " + result);
});

enterpriseDeviceManager.deactivateAdmin

deactivateAdmin(admin: Want): Promise

以异步方法根据给定的包名和类名将设备普通管理员应用去激活,使用Promise形式返回是否去激活成功。

需要权限:  ohos.permission.MANAGE_ADMIN

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
admin[Want]普通设备管理员应用

返回值:

类型说明
PromisePromise形式返回是否激活成功

示例

let wantTemp = {bundleName: "bundleName",abilityName: "abilityName",
};
enterpriseDeviceManager.deactivateAdmin(wantTemp).then((result) => {console.log("result is " + result);
}).catch(error => {console.log("error occurs" + error);
});

enterpriseDeviceManager.deactivateSuperAdmin

deactivateSuperAdmin(bundleName: String, callback: AsyncCallback): void

以异步方法根据给定的包名将设备超级管理员应用去激活,使用Callback形式返回是否去激活成功。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
bundleNameString超级设备管理员应用的包名
callbackAsyncCallbackcallback方式返回是否去激活成功

示例

let bundleName = "com.example.myapplication";
enterpriseDeviceManager.deactivateSuperAdmin(bundleName, (error, result) => {if (error != null) {console.log("error occurs" + error);return; }console.log("result is " + result);
});

enterpriseDeviceManager.deactivateSuperAdmin

deactivateSuperAdmin(bundleName: String): Promise

以异步方法根据给定的包名将设备超级管理员应用去激活,使用Promise形式返回是否去激活成功。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
bundleNameString超级设备管理员应用的包名

返回值:

类型说明
PromisePromise形式返回是否激活成功

示例

let bundleName = "com.example.myapplication";
enterpriseDeviceManager.deactivateSuperAdmin(bundleName).then((result) => {console.log("result is " + result);
}).catch(error => {console.log("error occurs" + error);
});

enterpriseDeviceManager.isAdminAppActive

isAdminAppActive(admin: Want, callback: AsyncCallback): void

以异步方法根据给定的包名和类名判断设备管理员应用是否被激活,使用Callback形式返回是否处于激活状态。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
admin[Want]设备管理员应用
callbackAsyncCallbackcallback方式返回是否处于激活状态

示例

let wantTemp = {bundleName: "bundleName",abilityName: "abilityName",
};
enterpriseDeviceManager.isAdminAppActive(wantTemp, (error, result) => {if (error != null) {console.log("error occurs" + error);return; }console.log("result is " + result);
});

enterpriseDeviceManager.isAdminAppActive

isAdminAppActive(admin: Want): Promise

以异步方法根据给定的包名和类名判断设备管理员应用是否被激活,使用Promise形式返回是否处于激活状态。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
admin[Want]设备管理员应用

返回值:

类型说明
PromisePromise形式返回是否处于激活状态

示例

let wantTemp = {bundleName: "bundleName",abilityName: "abilityName",
};
enterpriseDeviceManager.isAdminAppActive(wantTemp).then((result) => {console.log("result is " + result);
}).catch(error => {console.log("error occurs" + error);
});

enterpriseDeviceManager.isSuperAdmin

isSuperAdmin(bundleName: String, callback: AsyncCallback): void

以异步方法根据给定的包名判断设备超级管理员应用是否被激活,使用Callback形式返回是否处于激活状态。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
bundleNameString设备管理员应用
callbackAsyncCallbackcallback方式返回是否处于激活状态

示例

let bundleName = "com.example.myapplication";
enterpriseDeviceManager.isSuperAdmin(bundleName, (error, result) => {if (error != null) {console.log("error occurs" + error);return; }console.log("result is " + result);
});

enterpriseDeviceManager.isSuperAdmin

isSuperAdmin(bundleName: String): Promise

以异步方法根据给定的包名判断设备超级管理员应用是否被激活,使用Promise形式返回是否处于激活状态。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数

参数名类型必填说明
bundleNameString超级设备管理员应用

返回值:

类型说明
PromisePromise形式返回是否处于激活状态

示例

let bundleName = "com.example.myapplication";
enterpriseDeviceManager.isSuperAdmin(bundleName).then((result) => {console.log("result is " + result);
}).catch(error => {console.log("error occurs" + error);
});

enterpriseDeviceManager.getDeviceSettingsManager

getDeviceSettingsManager(callback: AsyncCallback): void

获取DeviceSettingsManager对象,使用callback形式返回DeviceSettingsManager对象。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数:

参数名类型必填说明
callbackAsyncCallbackcallback方式返回DeviceSettingsManager对象

示例:

let wantTemp = {bundleName: "bundleName",abilityName: "abilityName",
};
enterpriseDeviceManager.getDeviceSettingsManager((error, mgr) => {if (error != null) {console.log("error occurs" + error);return; }mgr.setDateTime(wantTemp, 1526003846000, (error, value) => { if (error != null) {console.log(error);} else {console.log(value);}});
});

enterpriseDeviceManager.getDeviceSettingsManager

getDeviceSettingsManager(): Promise

获取DeviceSettingsManager对象,使用Promise形式返回DeviceSettingsManager对象。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

返回值:

类型说明
PromisePromise方式返回DeviceSettingsManager对象

示例:

let wantTemp = {bundleName: "bundleName",abilityName: "abilityName",
};
mgr.getDeviceSettingsManager().then((mgr) => {mgr.setDateTime(wantTemp, 1526003846000).then((value) => {console.log(value);}).catch((error) => {console.log(error);})
}).catch((error) => {console.log(error);
})

enterpriseDeviceManager.setEnterpriseInfo

setEnterpriseInfo(admin: Want, enterpriseInfo: EnterpriseInfo, callback: AsyncCallback): void

设置设备管理员应用的企业信息,使用callback形式返回是否设置成功。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数:

参数名类型必填说明
admin[Want]设备管理员应用
enterpriseInfo[EnterpriseInfo]设备管理员应用的企业信息
callbackAsyncCallbackcallback方式返回是否设置企业信息成功

示例:

let wantTemp = {bundleName: "com.example.myapplication",abilityName: "com.example.myapplication.MainAbility",
};
let enterpriseInfo = {name: "enterprise name",description: "enterprise description"
}
enterpriseDeviceManager.setEnterpriseInfo(wantTemp, enterpriseInfo)
.then((result) => {console.log("result is " + result);
}).catch(error => {console.log("error occurs" + error);
});

enterpriseDeviceManager.setEnterpriseInfo

setEnterpriseInfo(admin: Want, enterpriseInfo: EnterpriseInfo): Promise

设置设备管理员应用的企业信息,使用Promise形式返回是否设置成功。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数:

参数名类型必填说明
admin[Want]设备管理员应用
enterpriseInfo[EnterpriseInfo]设备管理员应用的企业信息

返回值:

类型说明
Promise;Promise方式返回是否设置企业信息成功

示例:

let wantTemp = {bundleName: "com.example.myapplication",abilityName: "com.example.myapplication.MainAbility",
};
let enterpriseInfo = {name: "enterprise name",description: "enterprise description"
}
enterpriseDeviceManager.setEnterpriseInfo(wantTemp, enterpriseInfo)
.then((result) => {console.log("result is " + result);
}).catch(error => {console.log("error occurs" + error);
});

enterpriseDeviceManager.getEnterpriseInfo

getEnterpriseInfo(admin: Want, callback: AsyncCallback): void

获取设备管理员应用的企业信息,使用callback形式返回设备管理员应用的企业信息。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数:

参数名类型必填说明
admin[Want]设备管理员应用
callbackAsyncCallback<[EnterpriseInfo]>callback方式返回设备管理员应用的企业信息

示例:

let wantTemp = {bundleName: "com.example.myapplication",abilityName: "com.example.myapplication.MainAbility",
};
enterpriseDeviceManager.getEnterpriseInfo(wantTemp, (error, result) => {if (error != null) {console.log("error occurs" + error);return; }console.log(result.name);console.log(result.description);
});

enterpriseDeviceManager.getEnterpriseInfo

getEnterpriseInfo(admin: Want): Promise

获取设备管理员应用的企业信息,使用Promise形式返回设备管理员应用的企业信息。

系统能力:  SystemCapability.Customation.EnterpriseDeviceManager

参数:

参数名类型必填说明
admin[Want]设备管理员应用

返回值:

类型说明
Promise<[EnterpriseInfo]>Promise方式返回设备管理员应用的企业信息对象

示例:

let wantTemp = {bundleName: "com.example.myapplication",abilityName: "com.example.myapplication.MainAbility",
};
enterpriseDeviceManager.getEnterpriseInfo(wantTemp).then((result) => {console.log(result.name);console.log(result.description);
}).catch(error => {console.log("error occurs" + error);
});

EnterpriseInfo

设备管理员应用的企业信息

系统能力:  以下各项对应系统能力均为SystemCapability.Customation.EnterpriseDeviceManager

名称读写属性类型必填描述
name只读string表示设备管理员应用所属企业的名称。
description只读string表示设备管理员应用所属企业的描述。

AdminType

设备管理员应用的管理员类型。

系统能力:  以下各项对应系统能力均为SystemCapability.Customation.EnterpriseDeviceManager

名称默认值说明
ADMIN_TYPE_NORMAL0x00普通管理员
ADMIN_TYPE_SUPER0x01超级管理员

相关文章:

鸿蒙开发接口定制管理:【@ohos.enterpriseDeviceManager (企业设备管理)】

企业设备管理 说明&#xff1a; 本模块首批接口从API version 9开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import enterpriseDeviceManager from ohos.enterpriseDeviceManager;enterpriseDeviceManager.activateAdmin activate…...

Pytorch实用教程:多分类任务中使用的交叉熵损失函数nn.CrossEntropyLoss

nn.CrossEntropyLoss 在 PyTorch 中是处理多分类问题的常用损失函数,它是两个函数 nn.LogSoftmax 和 nn.NLLLoss(Negative Log Likelihood Loss)的组合。使用这个损失函数可以直接从模型得到原始的输出分数(logits),而不需要单独对输出进行 Softmax 处理。下面详细介绍这…...

智慧冶金:TSINGSEE青犀AI+视频技术助力打造高效、安全的生产环境

一、建设背景 冶金行业因其特殊的生产环境和工艺要求&#xff0c;对安全生产、环境保护以及质量监控等方面有着极高的要求。因此&#xff0c;将视频智能监控技术引入冶金行业&#xff0c;不仅有助于提升生产效率&#xff0c;更能有效保障生产安全&#xff0c;降低事故风险。 …...

【ARM+Codesys案例】基于全志T3+Codesys软PLC的3C点胶边缘控制解决方案:整合了运动控制、视觉、激光测高等技术

视觉精密点胶控制方案 针对直交型机构的平面点涂胶应用&#xff0c;基于CODESYS软件平台开发的一站式PC型控制器解决方案&#xff0c;包含运动控制器硬件和点胶应用软件。方案整合了运动控制、视觉、激光测高等技术&#xff0c;高效精密的控制胶水点涂于产品表面或内部&#x…...

描述JSP的内置对象

JSP&#xff08;JavaServer Pages&#xff09;内置对象&#xff08;也称为隐式对象或预定义对象&#xff09;是JSP容器为每个页面提供的Java对象&#xff0c;开发者可以直接在JSP页面中使用它们&#xff0c;而无需显式声明。这些内置对象提供了对JSP页面运行环境信息的快速访问…...

MongoDB CRUD操作:可重试写入

MongoDB CRUD操作&#xff1a;可重试写入 文章目录 MongoDB CRUD操作&#xff1a;可重试写入使用的先决条件部署的限制支持的存储引擎3.6 MongoDB 驱动程序MongoDB 版本写确认 可重试写入和多文档事务启用可重试写入MongoDB驱动mongosh 可重试的写操作行为持续的网络错误故障切…...

Microsoft Outlook Lite 引入短信功能

随着科技的不断进步&#xff0c;我们的沟通方式也在不断演变。微软最新推出的 Outlook Lite 应用&#xff0c;不仅为我们提供了一个轻量级的电子邮件管理工具&#xff0c;现在更是带来了一项令人兴奋的新功能——短信服务。 Outlook Lite&#xff1a;轻量级&#xff0c;功能全…...

Redis的数据结构以及对应的使用场景

Redis支持的数据结构包括字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)等。这些数据结构在应用开发中扮演着重要的角色&#xff0c;它们各自适用于不同的使用场景和需求。以下是对Redis各数据结构的详细分析及它们的使用场景&#xff1a; 字符串(S…...

Vue中如何获取dom元素?

在Vue中&#xff0c;通常我们不直接操作DOM元素&#xff0c;因为Vue是一个声明式渲染的框架&#xff0c;它鼓励我们使用数据驱动视图的方式来更新UI。然而&#xff0c;在某些情况下&#xff0c;你可能需要直接访问DOM元素。在这种情况下&#xff0c;你可以使用Vue的ref属性和$r…...

前端最新面试题(基础模块HTML/CSS/JS篇)

目录 一、HTML、HTTP、WEB综合问题 1 前端需要注意哪些SEO 2 img的title和alt有什么区别 3 HTTP的几种请求方法用途 4 从浏览器地址栏输入url到显示页面的步骤 5 如何进行网站性能优化 6 HTTP状态码及其含义 7 语义化的理解 8 介绍一下你对浏览器内核的理解? 9 html…...

matlab模拟太阳耀斑喷发

代码 function simulate_solar_flare% 参数设置gridSize 100; % 网格大小timeSteps 200; % 时间步数dt 0.1; % 时间步长% 初始化网格[X, Y] meshgrid(linspace(-5, 5, gridSize));Z zeros(size(X));% 设置耀斑初始位置和强度flareCenter [0, 0]; % 耀斑中心位置flareRad…...

WebStorm 2024.1.1 Mac激活码 前端开发工具集成开发环境(IDE)

WebStorm 2024 Mac激活码 搜索Mac软件之家下载WebStorm 2024 Mac激活版 WebStorm 2024 功能介绍 WebStorm 2024是由JetBrains公司开发的一款专为前端开发设计的集成开发环境&#xff08;IDE&#xff09;。它提供了一整套功能&#xff0c;旨在提高Web开发者的工作效率和代码质…...

多项目的.net core解决方案(项目间引用)如何使用Docker部署

解决方案内部项目之间引用很正常&#xff0c;但我docker不是很熟&#xff0c;对一些基础命令含义还理解不深入&#xff0c;部署引用其他项目的项目总不成功。搜到了一篇非常适合初学者&#xff0c;从dockerfile命令讲解&#xff0c;到解决引用其他项目时如何docker部署的文章。…...

使用raise语句抛出异常

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 如果某个函数或方法可能会产生异常&#xff0c;但不想在当前函数或方法中处理这个异常&#xff0c;则可以使用raise语句在函数或方法中抛出异常。rai…...

vue组件中data为什么必须是一个函数?

在 Vue 中&#xff0c;组件的 data 必须是一个函数&#xff0c;而不是一个对象&#xff0c;这是为了保证每个组件实例都可以维护一份被返回对象的独立的拷贝。如果 data 是一个对象&#xff0c;那么所有的组件实例将共享同一个引用&#xff0c;导致一个组件实例的数据变化会影响…...

10-Django项目--Ajax请求

目录 Ajax请求 简单示范 html 数据添加 py文件 html文件 demo_list.html Ajax_data.py 图例 Ajax请求 简单示范 html <input type"button" id"button-one" class"btn btn-success" value"点我"> ​ ​ <script>/…...

二进制安装Prometheus

从 https://prometheus.io/download/ 下载相应版本&#xff0c;安装到服务器上官网提供的是二进制版&#xff0c;解压就 能用&#xff0c;不需要编译 1、下载软件 [rootlocalhost ~]# wget -c https://github.com/prometheus/prometheus/releases/download/v2.45.5/prometheus…...

Git配置SSH-Key

git config --global user.name 沈健 git config --global user.email sjshenjianoutlook.com初次使用 SSH 协议进行代码克隆、推送等操作时&#xff0c;需按下述提示完成 SSH 配置 1 生成 RSA 密钥 ssh-keygen -t rsa2. 获取 RSA 公钥内容&#xff0c;并配置到 SSH公钥 中 …...

处理多语言文案的工具

处理多语言文案的工具 离线的处理多语言文案的工具 用于开发软件过程中&#xff0c;加速多语言文案的导出&#xff0c;导入&#xff0c;校对&#xff0c;复用已经翻译的多语言文案 SDL Trados Studio&#xff1a;一款专业的离线多语言翻译管理工具&#xff0c;支持导入、导出…...

手把手教你MMDetection实战

论文下载地址:点击这里 本页提供有关MMDetection用法的基本教程。有关安装说明,请参阅INSTALL.md。 目录 预训练模型的推论训练模型有用的工具如何预训练模型的推论 我们提供测试脚本以评估整个数据集(COCO,PASCAL VOC等),还提供一些高级api,以便更轻松地集成到其他项…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

&#x1f4e2; Vue 3 WebSocket 实战&#xff1a;公司通知实时推送功能详解 &#x1f4cc; 收藏 点赞 关注&#xff0c;项目中要用到推送功能时就不怕找不到了&#xff01; 实时通知是企业系统中常见的功能&#xff0c;比如&#xff1a;管理员发布通知后&#xff0c;所有用户…...