最新资讯

  • 【HarmonyOS Next之旅】HarmonyOS开发基础知识(二)

【HarmonyOS Next之旅】HarmonyOS开发基础知识(二)

2025-05-26 22:00:53 7 阅读

目录

1 -> 配置文件说明(Java)

1.1 -> 配置文件的内部结构

1.2 -> app对象的内部结构

1.3 -> deviceConfig对象的内部结构

1.4 -> module对象的内部结构

1.5 -> HAP与HAR的配置文件的合并

1.5.1 -> 配置文件合并规则

1.5.2 -> mergeRule对象的使用

1.5.3 -> bundleName占位符的使用

2 -> 应用数据管理

2.1 -> 本地应用数据管理

2.2 -> 分布式数据服务

2.3 -> 分布式文件服务

2.4 -> 数据搜索服务

2.5 -> 数据存储管理

3 -> 应用安全管理

3.1 -> 应用开发准备阶段

3.2 -> 应用开发调试阶段

3.2.1 -> 编码安全

3.2.2 -> 权限使用

3.3 -> 应用发布分发阶段


1 -> 配置文件说明(Java)

此部分提供配置文件“config.json”中所有属性的详细解释。

DevEco Studio提供了两种编辑“config.json”文件的方式。在“config.json”的编辑窗口中,可在右上角切换代码编辑视图或可视化编辑视图。

1.1 -> 配置文件的内部结构

“config.json”由app、deviceConfig和module三个部分组成,缺一不可。

表1 配置文件的内部结构说明
属性名称含义数据类型是否可缺省
app表示应用的全局配置信息。同一个应用的不同HAP包的app配置必须保持一致。对象不可缺省
deviceConfig表示应用在具体设备上的配置信息。对象不可缺省
module表示HAP包的配置信息。该标签下的配置只对当前HAP包生效。对象不可缺省

1.2 -> app对象的内部结构

app对象包含应用的全局配置信息。

表2 app对象的内部结构说明
属性名称子属性名称含义数据类型是否可缺省
bundleName——

表示应用的包名,用于标识应用的唯一性。

包名是由字母、数字、下划线(_)和点号(.)组成的字符串,必须以字母开头。支持的字符串长度为7~127字节。

包名通常采用反域名形式表示(例如,“com.example.myapplication”)。建议第一级为域名后缀“com”,第二级为厂商/个人名,第三级为应用名,也可以采用多级。

对于元服务,其包名必须以“.hmservice”结尾。

例如,“com.example.myapplication.hmservice”。

使用DevEco Studio创建元服务(Atomic Service)时,会自动添加“.hmservice”。

说明

如需使用ohos.data.orm包的接口,则应用的包名不能使用大写字母。

字符串不可缺省
vendor——表示对应用开发厂商的描述。字符串长度不超过255字节字符串可缺省,缺省值为空
version——表示应用的版本信息。对象不可缺省
name

表示应用的版本号,用于向应用的终端用户呈现。取值可以自定义,长度不超过127个字节。自定义规则如下:

API 5及更早版本:推荐使用三段式数字版本号(也兼容两段式版本号),如A.B.C(也兼容A.B),其中A、B、C取值为0~999范围内的整数。除此之外不支持其他格式。
A段,一般表示主版本号(Major)。

B段,一般表示次版本号(Minor)。

C段,一般表示修订版本号(Patch)。

API 6版本起:推荐采用四段式数字版本号,如A.B.C.D,其中A、B、C取值为0~99范围内的整数,D取值为0~999范围内的整数。
A段,一般表示主版本号(Major)。

B段,一般表示次版本号(Minor)。

C段,一般表示特性版本号(Feature)。

D段,一般表示修订版本号(Patch)。

字符串不可缺省
code

表示应用的版本号,仅用于HarmonyOS管理该应用,不对应用的终端用户呈现。取值规则如下:

API 5及更早版本:二进制32位以内的非负整数,需要从version.name的值转换得到。
转换规则为:code值=A×1,000,000 + B×1,000 + C

例如,version.name字段取值为2.2.1,则code的值为2002001。

API 6版本起:code的取值不与version.name字段的取值关联,开发者可自定义code的取值,取值范围为小于231的非负整数,但是每次应用的版本更新,均需更新code字段的值,新版本code取值必须大于旧版本code的值。

数值不可缺省
minCompatibleVersionCode

表示应用可兼容的最低版本号,用于在跨设备场景下,判断其他设备上该应用的版本是否兼容。格式与version.code字段的格式要求相同。

数值可缺省,缺省值为code标签值
smartWindowSize——

该标签用于在悬浮窗场景下表示应用的模拟窗口的尺寸。

配置格式为“正整数*正整数”,单位为vp。

正整数取值范围为[200,2000]。

字符串可缺省,缺省值为code标签值
smartWindowDeviceType——

表示应用可以在哪些设备上使用模拟窗口打开。

取值为:

智能手机:phone
平板:tablet
智慧屏:tv

字符串可缺省,缺省值为code标签值
targetBundleList——

表示允许以免安装方式拉起的其他HarmonyOS应用,列表取值为每个HarmonyOS应用的bundleName,多个bundleName之间用英文“,”区分,最多配置5个bundleName。

如果被拉起的应用不支持免安装方式,则拉起失败。

字符串可缺省,缺省值为code标签值

app示例:

app示例:

"app": {
    "bundleName": "com.huawei.hiworld.example", 
    "vendor": "huawei", 
    "version": {
        "code": 2, 
        "name": "2.0.0"
    }
}

1.3 -> deviceConfig对象的内部结构

deviceConfig包含在具体设备上的应用配置信息,可以包含default、phone、tablet、tv、car、wearable、liteWearable和smartVision等属性。default标签内的配置是适用于所有设备通用,其他设备类型如果有特殊的需求,则需要在该设备类型的标签下进行配置。

表3 deviceConfig对象的内部结构说明
属性名称含义数据类型是否可缺省
default表示所有设备通用的应用配置信息。对象可缺省,缺省值为空
phone表示手机类设备的应用信息配置。对象可缺省,缺省值为空
tablet表示平板的应用配置信息。对象可缺省,缺省值为空
tv表示智慧屏特有的应用配置信息。对象可缺省,缺省值为空
car表示车机特有的应用配置信息。对象可缺省,缺省值为空
wearable表示智能穿戴特有的应用配置信息。对象可缺省,缺省值为空
liteWearable表示轻量级智能穿戴特有的应用配置信息。对象可缺省,缺省值为空
smartVision表示智能摄像头特有的应用配置信息。对象可缺省,缺省值为空

default、phone、tablet、tv、car、wearable、liteWearable和smartVision等对象的内部结构说明。

表4 不同设备的内部结构说明
属性名称含义数据类型是否可缺省
jointUserld

表示应用的共享userid。

通常情况下,不同的应用运行在不同的进程中,应用的资源是无法共享。如果开发者的多个应用之间需要共享资源,则可以通过相同的jointUserId值实现,前提是这些应用的签名相同。

该标签仅对系统应用生效,且仅适用于手机、平板、智慧屏、车机、智能穿戴。

该字段在API Version 3及更高版本不再支持配置。

字符串可缺省,缺省值为空
process

表示应用或者Ability的进程名。

如果在deviceConfig标签下配置了process标签,则该应用的所有Ability都运行在这个进程中。 如果在abilities标签下也为某个Ability配置了process标签,则该Ability就运行在这个进程中。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串可缺省,缺省为应用软件的包名
supportBackup

表示应用是否支持备份和恢复。如果配置为“false”,则不支持为该应用执行备份或恢复操作。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

布尔值可缺省,缺省值为“false”
compressNativeLibs

表示libs库是否以压缩存储的方式打包到HAP包。如果配置为“false”,则libs库以不压缩的方式存储,HAP包在安装时无需解压libs,运行时会直接从HAP内加载libs库。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

布尔值可缺省,缺省值为“true”
network表示网络安全性配置。该标签允许应用通过配置文件的安全声明来自定义其网络安全,无需修改应用代码。对象可缺省,缺省值为空
表5 network对象的内部结构说明
属性名称含义数据类型是否可缺省
cleartextTraffic

表示是否允许应用使用明文网络流量(例如,明文HTTP)。

  • true:允许应用使用明文流量的请求。
  • false:拒绝应用使用明文流量的请求。
布尔值可缺省,缺省值为“false”
securityConfig表示应用的网络安全配置信息。对象可缺省,缺省值为空

表6 securityConfig对象的内部结构说明
属性名称子属性名称含义数据类型是否可缺省
domainSettings——表示自定义的网域范围的安全配置,支持多层嵌套,即一个domainSettings对象中允许嵌套更小网域范围的domainSettings对象。对象可缺省,缺省值为空
cleartextPermitted

表示自定义的网域范围内是否允许明文流量传输。当cleartextTraffic和securityConfig同时存在时,自定义网域是否允许明文流量传输以cleartextPermitted的取值为准。

  • true:允许明文流量传输。
  • false:拒绝明文流量传输。
布尔值不可缺省
domains

表示域名配置信息,包含两个参数:subdomains和name。

  • subdomains(布尔类型):表示是否包含子域名。如果为 “true”,此网域规则将与相应网域及所有子网域(包括子网域的子网域)匹配。否则,该规则仅适用于精确匹配项。
  • name(字符串):表示域名名称。
对象不可缺省

deviceConfig示例:

 "deviceConfig": {
    "default": {
        "process": "com.huawei.hiworld.example", 
        "supportBackup": false,
        "network": {
            "cleartextTraffic": true, 
            "securityConfig": {
                "domainSettings": {
                    "cleartextPermitted": true, 
                    "domains": [
                        {
                            "subdomains": true, 
                            "name": "example.ohos.com"
                        }
                    ]
                }
            }
        }
    }
}

1.4 -> module对象的内部结构

module对象包含HAP包的配置信息。

表7 module对象的内部结构说明
属性名称含义数据类型是否可缺省
mainAbility

表示HAP包的入口ability名称。该标签的值应配置为“module > abilities”中存在的Page类型ability的名称。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串如果存在page类型的ability,则该字段不可缺省。
package

表示HAP的包结构名称,在应用内应保证唯一性。采用反向域名格式(建议与HAP的工程目录保持一致)。字符串长度不超过127字节。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串不可缺省
name

表示HAP的类名。采用反向域名方式表示,前缀需要与同级的package标签指定的包名一致,也可采用“.”开头的命名方式。字符串长度不超过255字节。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串不可缺省
description

表示HAP的描述信息。字符串长度不超过255字节。如果字符串超出长度或者需要支持多语言,可以采用资源索引的方式添加描述内容。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串可缺省,缺省值为空
supportedModes

表示应用支持的运行模式。当前只定义了驾驶模式(drive)。

该标签仅适用于车机。

字符串可缺省,缺省值为空
deviceType表示允许Ability运行的设备类型。系统预定义的设备类型包括:phone(手机)、tablet(平板)、tv(智慧屏)、car(车机)、wearable(智能穿戴)、liteWearable(轻量级智能穿戴)等。字符串不可缺省
distro

表示HAP发布的具体描述。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

对象不可缺省
metaData表示HAP的元信息。对象可缺省,缺省值为空
abilities表示当前模块内的所有Ability。采用对象数组格式,其中每个元素表示一个Ability对象。对象可缺省,缺省值为空
js表示基于ArkUI框架开发的JS模块集合,其中的每个元素代表一个JS模块的信息。对象可缺省,缺省值为空
shortcuts表示应用的快捷方式信息。采用对象数组格式,其中的每个元素表示一个快捷方式对象。对象可缺省,缺省值为空
defPermissions表示应用定义的权限。应用调用者必须申请这些权限,才能正常调用该应用。对象可缺省,缺省值为空
reqPermissions表示应用运行时向系统申请的权限。对象可缺省,缺省值为空
colorMode

表示应用自身的颜色模式。

  • dark:表示按照深色模式选取资源。
  • light:表示按照浅色模式选取资源。
  • auto:表示跟随系统的颜色模式值选取资源。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串可缺省,缺省值为“auto”
resizeable

表示应用是否支持多窗口特性。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

布尔值可缺省,缺省值为“true”
distroFilter

表示应用的分发规则。

该标签用于定义HAP包对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。

该标签可配置的分发策略维度包括API Version、屏幕形状、屏幕分辨率。在进行分发时,通过deviceType与这三个属性的匹配关系,唯一确定一个用于分发到对应设备的HAP。

对象可缺省。缺省值为空。但当应用中包含多个entry模块时,必须配置该标签。

module示例:

"module": {
    "mainAbility": "MainAbility",
    "package": "com.example.myapplication.entry", 
    "name": ".MyOHOSAbilityPackage", 
    "description": "$string:description_application", 
    "supportedModes": [
        "drive"
    ], 
    "deviceType": [
        "car"
    ], 
    "distro": {
        "deliveryWithInstall": true, 
        "moduleName": "ohos_entry", 
        "moduleType": "entry"
    }, 
    "abilities": [
        ...
    ], 
    "shortcuts": [
        ...
    ],
    "js": [
        ...
    ], 
    "reqPermissions": [
        ...
    ], 
    "defPermissions": [
        ...
    ],
    "colorMode": "light"
}
表8 distro对象的内部结构说明
属性名称含义数据类型是否可缺省
deliveryWithInstall

表示当前HAP是否支持随应用安装。

  • true:支持随应用安装。
  • false:不支持随应用安装。

说明

该属性建议设置为true。

设置false可能导致最终应用上架应用市场异常。

布尔值不可缺省
moduleName表示当前HAP的名称。字符串不可缺省
moduleType

表示当前HAP的类型,包括两种类型:entry和feature。

另外,如果表示HAR类型,请设置为har。

字符串不可缺省
installationFree

表示当前HAP是否支持免安装特性。

  • true:表示支持免安装特性,且符合免安装约束。
  • false:表示不支持免安装特性。

另外还需注意:

  • 当entry.hap该字段配置为true时,与该entry.hap相关的所有feature.hap该字段也需要配置为true。
  • 当entry.hap该字段配置为false时,与该entry.hap相关的各feature.hap该字段可按业务需求配置true或false。
布尔值不可缺省

distro示例:

"distro": {
    "deliveryWithInstall": true, 
    "moduleName": "ohos_entry", 
    "moduleType": "entry",
    "installationFree": true
} 
表9 metaData对象的内部结构说明
属性名称子属性名称含义数据类型是否可缺省
parameters——表示调用Ability时所有调用参数的元信息。每个调用参数的元信息由以下三个标签组成:description、name、type。对象可缺省,缺省值为空
description表示对调用参数的描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。字符串可缺省,缺省值为空
name表示调用参数的名称。字符串可缺省,缺省值为空
type表示调用参数的类型,如Integer。字符串不可缺省
results——表示Ability返回值的元信息。每个返回值的元信息由以下三个标签组成:description、name、type。对象可缺省,缺省值为空
description表示对返回值的描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。字符串可缺省,缺省值为空
name表示返回值的名字。字符串可缺省,缺省值为空
type表示返回值的类型,如Integer。字符串不可缺省
customizeData——表示父级组件的自定义元信息,parameters和results在module中不可配。对象可缺省,缺省值为空
name表示数据项的键名称,字符串类型(最大长度255字节)。字符串可缺省,缺省值为空
value表示数据项的值,字符串类型(最大长度255字节)。字符串可缺省,缺省值为空
extra表示用户自定义数据格式,标签值为标识该数据的资源的索引值。字符串可缺省,缺省值为空

metaData示例:

"metaData": {
    "parameters" : [{
        "name" : "string",
        "type" : "Float",
        "description" : "$string:parameters_description"
    }],
    "results" : [{
        "name" : "string",
        "type" : "Float",
        "description" : "$string:results_description"
    }],
    "customizeData" : [{
        "name" : "string",
        "value" : "string",
        "extra" : "$string:customizeData_description"
    }]
}
表10 abilities对象的内部结构说明
属性名称含义数据类型是否可缺省
name

表示Ability名称。取值可采用反向域名方式表示,由包名和类名组成,如“com.example.myapplication.MainAbility”;也可采用“.”开头的类名方式表示,如“.MainAbility”。

Ability的名称,需在一个应用的范围内保证唯一。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

说明

在使用DevEco Studio新建项目时,默认生成首个Ability的配置,包括生成“MainAbility.java”文件,及“config.json”中“MainAbility”的配置。如使用其他IDE工具,可自定义名称。

字符串不可缺省
description表示对Ability的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。字符串可缺省,缺省值为空
icon

表示Ability图标资源文件的索引。取值示例:$media:ability_icon。

如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含“entity.system.home”,则该Ability的icon将同时作为应用的icon。如果存在多个符合条件的Ability,则取位置靠前的Ability的icon作为应用的icon。

说明

应用的“icon”和“label”是用户可感知配置项,需要区别于当前所有已有的应用“icon”或“label”(至少有一个不同)。

字符串可缺省,缺省值为空
label

表示Ability对用户显示的名称。取值可以是Ability名称,也可以是对该名称的资源索引,以支持多语言。

如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含“entity.system.home”,则该Ability的label将同时作为应用的label。如果存在多个符合条件的Ability,则取位置靠前的Ability的label作为应用的label。

说明

应用的“icon”和“label”是用户可感知配置项,需要区别于当前所有已有的应用“icon”或“label”(至少有一个不同)。

字符串可缺省,缺省值为空
uri表示Ability的统一资源标识符。格式为[scheme:][//authority][path][?query][#fragment]。字符串可缺省,对于data类型的Ability不可缺省
lunchType

表示Ability的启动模式,支持“standard”、“singleMission”和“singleton”三种模式:

  • standard:表示该Ability可以有多实例。“standard”模式适用于大多数应用场景。
  • singleMission:表示此Ability在每个任务栈中只能有一个实例。
  • singleton:表示该Ability在所有任务栈中仅可以有一个实例。例如,具有全局唯一性的呼叫来电界面即采用“singleton”模式。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串可缺省,缺省值为“standard”
permissions表示其他应用的Ability调用此Ability时需要申请的权限。通常采用反向域名格式,取值可以是系统预定义的权限,也可以是开发者自定义的权限。如果是自定义权限,取值必须与defPermissions标签中定义的某个权限的name标签值一致。字符串可缺省,缺省值为空
skills表示Ability能够接收的Intent的特征。对象可缺省,缺省值为空
deviceCapability表示Ability运行时要求设备具有的能力,采用字符串数组的格式表示。字符串可缺省,缺省值为空
metaData

表示Ability的元信息。

  • 调用Ability时调用参数的元信息,例如:参数个数和类型。
  • Ability执行完毕返回值的元信息,例如:返回值个数和类型。

该标签仅适用于智慧屏、智能穿戴、车机。

对象可缺省,缺省值为空
type

表示Ability的类型。取值范围如下:

  • page:表示基于Page模板开发的FA,用于提供与用户交互的能力。
  • service:表示基于Service模板开发的PA,用于提供后台运行任务的能力。
  • data:表示基于Data模板开发的PA,用于对外部提供统一的数据访问抽象。
  • CA:表示支持其他应用以窗口方式调起该Ability。
字符串不可缺省
orientation

表示该Ability的显示模式。该标签仅适用于page类型的Ability。取值范围如下:

  • unspecified:由系统自动判断显示方向。
  • landscape:横屏模式。
  • portrait:竖屏模式。
  • followRecent:跟随栈中最近的应用。
字符串可缺省,缺省值为“unspecified”
backgroundModes

表示后台服务的类型,可以为一个服务配置多个后台服务类型。该标签仅适用于service类型的Ability。取值范围如下:

  • dataTransfer:通过网络/对端设备进行数据下载、备份、分享、传输等业务。
  • audioPlayback:音频输出业务。
  • audioRecording:音频输入业务。
  • pictureInPicture:画中画、小窗口播放视频业务。
  • voip:音视频电话、VOIP业务。
  • location:定位、导航业务。
  • bluetoothInteraction:蓝牙扫描、连接、传输业务。
  • wifiInteraction:WLAN扫描、连接、传输业务。
  • screenFetch:录屏、截屏业务。
  • multiDeviceConnection:多设备互联业务
字符串可缺省,缺省值为空
readPermission

表示读取Ability的数据所需的权限。该标签仅适用于data类型的Ability。取值为长度不超过255字节的字符串。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串可缺省,缺省值为空
writePermission

表示向Ability写数据所需的权限。该标签仅适用于data类型的Ability。取值为长度不超过255字节的字符串。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串可缺省,缺省值为空
configChanges

表示Ability关注的系统配置集合。当已关注的配置发生变更后,Ability会收到onConfigurationUpdated回调。取值范围:

  • mcc:表示IMSI移动设备国家/地区代码(MCC)发生变更。

    典型场景:检测到SIM并更新MCC。

  • mnc:IMSI移动设备网络代码(MNC)发生变更。

    典型场景:检测到SIM并更新MNC。

  • locale:表示语言区域发生变更。

    典型场景:用户已为设备文本的文本显示选择新的语言类型。

  • layout:表示屏幕布局发生变更。

    典型场景:当前有不同的显示形态都处于活跃状态。

  • fontSize:表示字号发生变更。

    典型场景:用户已设置新的全局字号。

  • orientation:表示屏幕方向发生变更。

    典型场景:用户旋转设备。

  • density:表示显示密度发生变更。

    典型场景:用户可能指定不同的显示比例,或当前有不同的显示形态同时处于活跃状态。

  • size:显示窗口大小发生变更。
  • smallestSize:显示窗口较短边的边长发生变更。
  • colorMode:颜色模式发生变更。
字符串可缺省,缺省值为空
mission

表示Ability指定的任务栈。该标签仅适用于page类型的Ability。默认情况下应用中所有Ability同属一个任务栈。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串可缺省,缺省为应用的包名
targetAbility

表示当前Ability重用的目标Ability。该标签仅适用于page类型的Ability。如果配置了targetAbility属性,则当前Ability(即别名Ability)的属性中仅name、icon、label、visible、permissions、skills生效,其它属性均沿用targetAbility中的属性值。目标Ability必须与别名Ability在同一应用中,且在配置文件中目标Ability必须在别名之前进行声明。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

字符串可缺省,缺省值为空。表示当前Ability不是一个别名Ability
multiUserShared

表示Ability是否支持多用户状态进行共享,该标签仅适用于data类型的Ability。

配置为“true”时,表示在多用户下只有一份存储数据。需要注意的是,该属性会使visible属性失效。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

布尔值可缺省,缺省值为“false”
supportPipMode

表示Ability是否支持用户进入PIP模式(用于在页面最上层悬浮小窗口,俗称“画中画”,常见于视频播放等场景)。该标签仅适用于page类型的Ability。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

布尔值可缺省,缺省值为“false”
formsEnabled

表示Ability是否支持卡片(forms)功能。该标签仅适用于page类型的Ability。

  • true:支持卡片能力。
  • false:不支持卡片能力。
布尔值可缺省,缺省值为“false”
forms表示服务卡片的属性。该标签仅当formsEnabled为“true”时,才能生效。对象可缺省,缺省值为空
resizeable

表示Ability是否支持多窗口特性。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

布尔值可缺省,缺省值为“true”

abilities示例:

"abilities": [
    {
        "name": ".MainAbility",
        "description": "himusic main ability",
        "icon": "$media:ic_launcher",
        "label": "HiMusic",
        "launchType": "standard",
        "orientation": "unspecified",
        "permissions": [
        ], 
        "visible": true,
        "skills": [
            {
                "actions": [
                    "action.system.home"
                ],
                "entities": [
                    "entity.system.home"
                ]
            }
        ],
        "configChanges": [
            "locale", 
            "layout", 
            "fontSize", 
            "orientation"
        ], 
        "type": "page"
    },
    {
        "name": ".PlayService",
        "description": "himusic play ability",
        "icon": "$media:ic_launcher",
        "label": "HiMusic",
        "launchType": "standard",
        "orientation": "unspecified",
        "visible": false,
        "skills": [
            {
                "actions": [
                    "action.play.music",
                    "action.stop.music"
                ],
                "entities": [
                    "entity.audio"
                ]
            }
        ],
        "type": "service",
        "backgroundModes": [
            "audioPlayback"
        ]
    },
    {
        "name": ".UserADataAbility",
        "type": "data",
        "uri": "dataability://com.huawei.hiworld.himusic.UserADataAbility",
        "visible": true
    }
]
表11 skills对象的内部结构说明
属性名称子属性名称含义数据类型是否可缺省
actions——

表示能够接收的Intent的action值,可以包含一个或多个action。

取值通常为系统预定义的action值,详见《API参考》中的ohos.aafwk.content.Intent类。

字符串可缺省,缺省值为空
entities——

表示能够接收的Intent的Ability的类别(如视频、桌面应用等),可以包含一个或多个entity。

取值通常为系统预定义的类别,详见《API参考》中的ohos.aafwk.content.Intent类,也可以自定义。

字符串可缺省,缺省值为空
uris——表示能够接收的Intent的uri,可以包含一个或者多个uri。对象可缺省,缺省值为空
scheme表示uri的scheme值。字符串不可缺省
host表示uri的host值。字符串可缺省,缺省值为空
port表示uri的port值。字符串可缺省,缺省值为空
path表示uri的path值。字符串可缺省,缺省值为空
type表示uri的type值。字符串可缺省,缺省值为空

skills示例:

"skills": [
    {
        "actions": [
            "action.system.home"
        ], 
        "entities": [
            "entity.system.home"
        ],
        "uris": [
            {
                 "scheme": "http",
                 "host": "www.xxx.com",
                 "port": "8080",
                 "path": "query/student/name",
                 "type": "text/*"
             }
         ]
    }
]
表12 js对象的内部结构说明
属性名称子属性名称含义数据类型是否可缺省
name——表示JS Component的名字。该标签不可缺省,默认值为".default"。字符串不可缺省
pages——表示JS Component的页面。用于列举JS Component中每个页面的路由信息[页面路径+页面名称]。该标签不可缺省,取值为数组,数组第一个元素代表JS FA首页。数组不可缺省
window——

用于定义与显示窗口相关的配置。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

对象可缺省
designWidth表示页面设计基准宽度。以此为基准,根据实际设备宽度来缩放元素大小。数组可缺省,缺省值为720px
autoDesignWidth表示页面设计基准宽度是否自动计算。当配置为true时,designWidth将会被忽略,设计基准宽度由设备宽度与屏幕密度计算得出。布尔值可缺省,缺省值为“false”
type——

表示JS应用的类型。取值范围如下:

  • normal:标识该JS Component为应用实例。
  • form:标识该JS Component为卡片实例。
字符串可缺省,缺省值为“normal”
mode——

用于定义JS Component的开发模式。该标签可缺省,标签值为对象,包含type和syntax两个子标签。

该标签仅适用于手机、平板、智慧屏、车机、智能穿戴。

mode属性,其优先级高于type属性。

该属性从API Version 6开始支持。

对象可缺省
type

定义该JS Component的功能类型。支持以下类型:

  • pageAbility:表示该JS Component运行在当前应用的Page类型的Ability上
  • form:表示该JS Component作为卡片运行在卡片宿主应用内。
字符串可缺省,缺省值为“pageAbility”
syntax

定义该JS Component的语法类型。支持以下类型:

  • hml:表示该JS Component使用hml/css/js语法进行开发。
  • ets:该JS Component使用ArkTS声明式语法进行开发。

当type设置为form类型时,syntax仅可选择hml语法类型。

字符串可缺省,缺省值为“hml”

js示例:

"js": [
    {
        "name": ".default", 
        "pages": [            
            "pages/index/index",
            "pages/detail/detail"
        ],         
        "window": {
            "designWidth": 720,
            "autoDesignWidth": false
        },
        "type": "form",
        "mode": {
            "type": form,
            "syntax": hml
        }
    }
]
表13 shortcuts对象的内部结构说明
属性名称子属性名称含义数据类型是否可缺省
shortcutld——表示快捷方式的ID。字符串的最大长度为63字节。字符串不可缺省
label——表示快捷方式的标签信息,即快捷方式对外显示的文字描述信息。取值可以是描述性内容,也可以是标识label的资源索引。字符串最大长度为63字节。字符串可缺省,缺省值为空
intents——表示快捷方式内定义的目标intent信息集合,每个intent可配置两个子标签,targetClass, targetBundle。对象可缺省,缺省值为空
targetClass表示快捷方式目标类名。字符串可缺省,缺省值为空
targetBundle表示快捷方式目标Ability所在应用的包名。字符串可缺省,缺省值为空

shortcuts示例:

"shortcuts": [
    {
        "shortcutId": "id",
        "label": "$string:shortcut",
        "intents": [
            {
                "targetBundle": "com.huawei.hiworld.himusic",
                "targetClass": "com.huawei.hiworld.himusic.entry.MainAbility"
            }
        ]
    }
]
表14 forms对象的内部结构说明
属性名称子属性名称含义数据类型是否可缺省
name——表示卡片的类名。字符串最大长度为127字节。字符串不可缺省
description——表示卡片的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。字符串最大长度为255字节。字符串可缺省,缺省值为空
isDefault——

表示该卡片是否为默认卡片,每个Ability有且只有一个默认卡片。

  • true:默认卡片。
  • false:非默认卡片。
布尔值不可缺省
type——

表示卡片的类型。取值范围如下:

  • Java:Java卡片。
  • JS:JS卡片。
字符串不可缺省
colorMode——

表示卡片的主题样式,取值范围如下:

  • auto:自适应。
  • dark:深色主题。
  • light:浅色主题。
字符串可缺省,缺省值为“auto”
supportDimensions——

表示卡片支持的外观规格,取值范围:

  • 1*2:表示1行2列的二宫格。
  • 2*2:表示2行2列的四宫格。
  • 2*4:表示2行4列的八宫格。
  • 4*4:表示4行4列的十六宫格。
字符串不可缺省
defaultDimension——表示卡片的默认外观规格,取值必须在该卡片supportDimensions配置的列表中。字符串不可缺省
landscapeLayouts——

表示卡片外观规格对应的横向布局文件,与supportDimensions中的规格一一对应。

仅当卡片类型为Java卡片时,需要配置该标签。

字符串不可缺省
portraitLayouts——

表示卡片外观规格对应的竖向布局文件,与supportDimensions中的规格一一对应。

仅当卡片类型为Java卡片时,需要配置该标签。

字符串不可缺省
updateEnabled——

表示卡片是否支持周期性刷新,取值范围:

  • true:表示支持周期性刷新,可以在定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)两种方式任选其一,优先选择定时刷新。
  • false:表示不支持周期性刷新。
布尔值不可缺省
scheduledUpdateTime——表示卡片的定点刷新的时刻,采用24小时制,精确到分钟。字符串可缺省,缺省值为“0:0”
updateDuration——

表示卡片定时刷新的更新周期,单位为30分钟,取值为自然数。

  • 当取值为0时,表示该参数不生效。
  • 当取值为正整数N时,表示刷新周期为30*N分钟。
数值可缺省,缺省值为“0”
formConfigAbility——表示卡片的配置跳转链接,采用URI格式。字符串可缺省,缺省值为空
jsComponentName——

表示JS卡片的Component名称。字符串最大长度为127字节。

仅当卡片类型为JS卡片时,需要配置该标签。

字符串不可缺省
metaData——表示卡片的自定义信息,包含customizeData数组标签。对象可缺省,缺省值为空
customizeData——表示自定义的卡片信息。对象可缺省,缺省值为空
name表示数据项的键名称。字符串最大长度为255字节。字符串可缺省,缺省值为空
value表示数据项的值。字符串最大长度为255字节。字符串可缺省,缺省值为空

forms示例:

"forms": [
    {
        "name": "Form_Js",
        "description": "It's Js Form",
        "type": "JS",
        "jsComponentName": "card",
        "colorMode": "auto",
        "isDefault": true,
        "updateEnabled": true,
        "scheduledUpdateTime": "11:00",
        "updateDuration": 1,
        "defaultDimension": "2*2",
        "supportDimensions": [
            "2*2",
            "2*4",
            "4*4"
        ]
    },
    {
        "name": "Form_Java",
        "description": "It's Java Form",
        "type": "Java",
        "colorMode": "auto",
        "isDefault": false,
        "updateEnabled": true,
        "scheduledUpdateTime": "21:05",
        "updateDuration": 1,
        "defaultDimension": "1*2",
        "supportDimensions": [
            "1*2"
        ],
        "landscapeLayouts": [
            "$layout:ability_form"
        ],
        "portraitLayouts": [
            "$layout:ability_form"
        ],
        "formConfigAbility": "ability://com.example.myapplication.fa/.MainAbility",
        "metaData": {
            "customizeData": [
                {
                    "name": "originWidgetName",
                    "value": "com.huawei.weather.testWidget"
                }
            ]
        }
    }
]
表15 distroFilter对象的内部结构说明
属性名称子属性名称含义数据类型是否可缺省
apiVersion——表示支持的apiVersion范围。对象可选
policy表示该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。字符串
value

支持的取值为API Version存在的整数值,例如4、5、6。

场景示例:某应用,针对相同设备型号,同时在网的为使用API 5和API 6开发的两个软件版本,则允许上架2个entry类型的安装包,分别支持到对应设备侧软件版本的分发

数组
screenShape——表示屏幕形状的支持策略。对象可选
policy表示该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。字符串
value

支持的取值为circle(圆形)、rect(矩形)。

场景示例:针对智能穿戴设备,可为圆形表盘和矩形表盘分别提供不同的HAP。

字符串
screenWindow——

表示应用运行时窗口的分辨率支持策略。

该字段仅支持对轻量级智能穿戴设备进行配置。

对象可选
policy

表示该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。

该字段仅支持配置白名单,即“include”。

字符串
value单个字符串的取值格式为:“宽*高”,取值为整数像素值,例如“454*454”。字符串

distroFilter示例:

"distroFilter": 
{
    "apiVersion": {
        "policy": "include",
        "value": [4,5]
    },
    "screenShape": {
        "policy": "include",
        "value": ["circle","rect"]
    },
    "screenWindow": {
        "policy": "include",
        "value": ["454*454","466*466"]
    }
}

1.5 -> HAP与HAR的配置文件的合并

如果应用模块中调用了HAR,在编译构建HAP时,需要将HAP的“config.json”文件与一个或多个HAR的“config.json”文件,合并为一个“config.json”文件。在合并过程中,不同文件的同一个标签的取值可能发生冲突,此时,需要通过配置mergeRule来解决冲突。

1.5.1 -> 配置文件合并规则

HAP与HAR的“config.json”文件合并时,需要将HAR的配置信息全部合并到HAP的配置文件。

HAP的优先级总是高于HAR。当HAP依赖于多个HAR时,先加载的HAR的优先级高于后加载的HAR,按照HAR的加载顺序依次合并到HAP文件。

表16 配置文件合并规则
序号HAPHAR合并结果
1无标签值无标签值无标签值
2有标签值,取值为A无标签值有标签值,取值为A
3无标签值有标签值,取值为B有标签值,取值为B
4有标签值,取值为A有标签值,取值为A有标签值,取值为A
5有标签值,取值为A有标签值,取值为B冲突,需要添加mergeRule。

1.5.2 -> mergeRule对象的使用

mergeRule通常在HAP的“config.json”文件中使用,可以在abilities、defPermissions、 reqPermissions、js等属性中添加。不同属性的合并策略。

注意

  • HAR配置文件中不能包含“action.system.home”和“entity.system.home”配置项,否则会导致编译报错。
  • abilities对象中name字段的取值,必须为完整的类名,否则会导致合并出错。
表17 属性合并规则
属性名称合并规则
一级二级三级
app————只保留HAP的“config.json”文件中的app对象。
deviceConfig————只保留HAP的“config.json”文件中的deviceConfig对象。
modulepackage——只保留HAP的“config.json”文件中的取值。
name——只保留HAP的“config.json”文件中的取值。
description——只保留HAP的“config.json”文件中的取值。
supportedModes——只保留HAP的“config.json”文件中的取值。
deviceType——只保留HAP的“config.json”文件中的取值。
distro——只保留HAP的“config.json”文件中的取值。
shortcuts——只保留HAP的“config.json”文件中的取值。
defPermissions——
  • 当module中的name取值不同时,取值为HAP与HAR的“config.json”文件的并集。
  • 当module中的name取值相同时,需要在HAP的“config.json”文件中的相应属性下添加mergeRule字段,以解决合并冲突。
reqPermissions——
  • 当module中的name取值不同时,取值为HAP与HAR的“config.json”文件的并集。
  • 当module中的name取值相同时,需要在HAP的“config.json”文件中的相应属性下添加mergeRule字段,以解决合并冲突。
js——
  • 当module中的name取值不同时,取值为HAP与HAR的“config.json”文件的并集。
  • 当module中的name取值相同时,需要在HAP的“config.json”文件中的相应属性下添加mergeRule字段,以解决合并冲突。
abilities——
  • 当module中的name取值不同时,取值为HAP与HAR的“config.json”文件的并集。
  • 当module中的name取值相同时,需要在HAP的“config.json”文件中的相应属性下添加mergeRule字段,以解决合并冲突。
permissions取值为HAP与HAR的“config.json”文件中相应属性值的并集。
skills取值为HAP与HAR的“config.json”文件中相应属性值的并集。
backgroundModes取值为HAP与HAR的“config.json”文件中相应属性值的并集。
configChanges取值为HAP与HAR的“config.json”文件中相应属性值的并集。
targetAbility如果targetAbility与abilities中的name冲突,则导致编译报错。
其他abilities中的其他属性如果发生合并冲突,则需要添加mergeRule字段。
表18 mergeRule对象的内部结构说明
属性名称含义数据类型是否可缺省
remove表示HAP与HAR的“config.json”文件合并时,需要移除的标签。字符串可缺省
replace表示HAP与HAR的“config.json”文件合并冲突时,需要替换的标签,始终保留高优先级的值。字符串可缺省

mergeRule的使用示例:

在下面的示例中,HAP与HAR中的Ability的name取值相同,需要对两者“config.json”文件中的Ability进行合并。由于两个文件中的部分字段(例如launchType)存在冲突,需要在HAP的abilities标签下添加mergeRule。

1. 合并前HAP的“config.json”文件,如下所示:

其中,remove表示合并后需要移除的子标签,replace表示合并后需要替换的子标签(HAP替换HAR)。

"abilities": [
    {
        "mergeRule": {
            "remove": ["orientation"],
            "replace": ["launchType"]
        }
        "name": "com.harmony.myapplication.entry.MainAbility",
        "type": "page",
        "launchType": "standard",
        "visible": false
    }
],

2. 合并前HAR的“config.json”文件,如下所示:

"abilities": [
    {
        "name": "com.harmony.myapplication.entry.MainAbility",
        "type": "page",
        "launchType": "singleton",
        "orientation": "portrait",
        "visible": false
    }
],

3. 将上述两个“config.json”文件按照mergeRule进行合并,处理完成后mergeRule字段也会被移除。合并后的结果文件,如下所示:

"abilities": [
    {
        "name": "com.harmony.myapplication.entry.MainAbility",
        "type": "page",
        "launchType": "standard",
        "visible": false
    }
],

1.5.3 -> bundleName占位符的使用

HAR的“config.json”文件中多处需要使用包名,例如自定义权限、自定义action等场景,但是包名只有当HAR编译到HAP时才能确定下来。在编译之前,HAR中的包名可以采用占位符来表示,采用{bundleName}形式。

支持bundleName占位符的标签有actions、entities、permissions、readPermission、writePermission、defPermissions.name。

使用示例:

1. HAR中自定义action时,使用{bundleName}来代替包名。如下所示:

"skills": [
    {
        "actions": [
            "{bundleName}.ACTION_PLAY"
        ],
        "entities": [
            "{bundleName}.ENTITY_PLAY"
        ],
    }
],

2. 将HAR编译到bundleName为“com.huawei.hiworld”的HAP包后,原来的{bundleName}将被替换为HAP的实际包名。替换后的结果如下所示:

"app": {
    "bundleName": "com.huawei.hiworld",
    ……
},
"module": {
    "abilities": [
        {
            "skills": [
                {
                    "actions": [
                        "com.huawei.hiworld.ACTION_PLAY"
                    ],
                    "entities": [
                        "com.huawei.hiworld.ENTITY_PLAY"
                    ],
                }
            ],

2 -> 应用数据管理

HarmonyOS应用数据管理支持单设备的各种结构化数据的持久化,以及跨设备之间数据的同步、共享以及搜索功能。开发者通过应用数据管理,能够方便地完成应用程序数据在不同终端设备间的无缝衔接,满足用户跨设备使用数据的一致性体验。

2.1 -> 本地应用数据管理

提供单设备上结构化数据的存储和访问能力。使用SQLite作为持久化存储引擎,提供了多种类型的本地数据库,分别是关系型数据库(Relational Database)对象关系映射数据库(Object Relational Mapping Database),此外还提供一种轻量级偏好数据库(Light Weight Preference Database),用以满足开发人员使用不同数据模型对应用数据进行持久化和访问的需求。

2.2 -> 分布式数据服务

分布式数据库支持用户数据跨设备相互同步,为用户提供在多种终端设备上一致的数据访问体验。通过调用分布式数据接口,应用可以将数据保存到分布式数据库中。通过结合帐号、应用唯一标识和数据库三元组,分布式数据库对属于不同应用的数据进行隔离。

2.3 -> 分布式文件服务

在多个终端设备间为单个设备上应用程序创建的文件提供多终端的分布式共享能力。每台设备上都存储一份全量的文件元数据,应用程序通过文件元数据中的路径,可以实现同一应用文件的跨设备访问。

2.4 -> 数据搜索服务

在单个设备上,为应用程序提供搜索引擎级的全文索引管理、建立索引和搜索功能。

2.5 -> 数据存储管理

为应用开发者提供系统存储路径、存储设备列表,存储设备属性的查询和管理功能。

3 -> 应用安全管理

3.1 -> 应用开发准备阶段

  1. 依据国家《移动互联网应用程序信息服务管理规定》,同时为了促进生态健康有序发展,保护应用开发者和用户的合法权益,需要每一位HarmonyOS开发者注册账号,并建议同步进行实名认证。实名认证包括个人开发者实名认证和企业开发者实名认证,没有完成实名认证的开发者,无法进行应用上架发布。
  2. 建议使用官方渠道下载的开发工具。
  3. 在发布HarmonyOS应用前,可以在本地进行应用调试。HarmonyOS通过数字证书和Profile文件对应用进行管控,只有经过签名的HAP才允许安装到设备上运行。

3.2 -> 应用开发调试阶段

3.2.1 -> 编码安全

  • 避免不对外交互的Ability可以被其他应用直接访问。
  • 避免带有敏感功能公共事件可以被其他应用直接访问。
  • 避免通过隐式方式进行调用组件,防止组件劫持。
  • 避免通过隐式方式发送公共事件,防止公共事件携带的数据被劫持。
  • 应用作为数据使用方需校验数据提供方的身份,防止被仿冒进行攻击。
  • 对跨信任边界传入的Intent须进行合法性判断,防止应用异常崩溃。
  • 避免在配置文件中开启应用备份和恢复开关。
  • 避免将敏感数据存放到剪贴板中。
  • 避免将敏感数据写入公共数据库、存储区中。
  • 避免直接使用不可信数据来拼接SQL语句。
  • 避免向可执行函数传递不可信数据。
  • 避免使用Socket方式进行本地通信,如需使用,localhost端口号随机生成,并对端口连接对象进行身份认证和鉴权。
  • 建议使用Https代替Http进行通信,并对Https证书进行严格校验。
  • 建议使用校验机制保证WebView在加载网站服务时URL地址的合法性。
  • 对于涉及支付及高保密数据的应用,建议进行手机root环境监测。
  • 建议开启安全编译选项,增加应用分析逆向难度。
  • 禁止应用执行热更新操作,应用更新可以通过应用市场上架来完成。
  • 建议应用在开发阶段进行自测试。

3.2.2 -> 权限使用

  • 应用申请的权限,都必须有明确、合理的使用场景和功能说明,确保用户能够清晰明了地知道申请权限的目的、场景、用途;禁止诱导、误导用户授权;应用使用权限必须与申请所述一致。
  • 应用权限申请遵循最小化原则,只申请业务功能所必要的权限,禁止申请不必要的权限。
  • 应用在首次启动时,避免频繁弹窗申请多个敏感权限;敏感权限须在用户使用对应业务功能时动态申请。
  • 用户拒绝授予某个权限时,与此权限无关的其他业务功能应能正常使用,不能影响应用的正常注册或登录。
  • 业务功能所需要的权限被用户拒绝且禁止后不再提示,当用户主动触发使用此业务功能或为实现业务功能所必须时,应用程序可通过界面内文字引导,让用户主动到“系统设置”中授权。
  • 非系统应用自定义权限名,禁止使用系统权限名前缀(如: 以ohos开头为系统权限),建议以应用包名或公司反域名为前缀,防止与系统或其他应用定义的权限重名。

3.3 -> 应用发布分发阶段

应用调试完毕后,可以进行打包HarmonyOS应用,在AGC提交上架申请。为了确保HarmonyOS应用的完整性,确保提交应用的开发者身份合法,HarmonyOS通过数字证书和Profile文件对应用进行管控。上架到华为应用市场的APP必须通过签名才允许上架。因此,为了保证应用能够顺利发布,需要提前申请相应的发布证书与发布Profile。

提交发布申请后,应用市场将对应用进行安全审核,包括权限、隐私、安全等,如果审核不通过则不能上架;应用发布成功后,华为应用市场会对上架应用进行重签名,原有的应用签名将被替换为新签名。


感谢各位大佬支持!!!

互三啦!!!

本文地址:https://www.vps345.com/12368.html

搜索文章

Tags

docker 容器 运维 java-rabbitmq java PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP centos python linux 机器学习 服务器 深度学习 人工智能 ubuntu 无人机 机器人 macos MacMini Mac 迷你主机 mini Apple 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 ai nlp 自动化 ROS 自动驾驶 pytorch javascript 前端 chrome edge Deepseek Deepseek-R1 大模型 私有化部署 推理模型 ssh漏洞 ssh9.9p2 CVE-2025-23419 数据库 oracle 关系型 安全 分布式 DeepSeek Linux ddos android 网络安全 web安全 jvm 虚拟机 windows 游戏 网络工程师 网络管理 软考 2024 2024年上半年 下午真题 答案 word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 CH340 单片机 嵌入式硬件 串口驱动 CH341 uart 485 harmonyos 华为 部署 https 面试 职场和发展 MCP 学习 笔记 开发语言 音视频 物联网 云计算 ssh flutter Google pay Apple pay vue.js spring boot nginx c++ 计算机外设 bug 网络 tcp/ip 网络协议 经验分享 神经网络 计算机视觉 卷积神经网络 vite vue3 redis YOLO 目标检测 FTP服务器 deepseek DeepSeek-R1 API接口 github git 数据库系统 云原生 iventoy VmWare OpenEuler django conda 操作系统 UEFI Legacy MBR GPT U盘安装操作系统 notepad gnu 具身智能 强化学习 缓存 鸿蒙 arkUI arkTs 鸿蒙系统 opencv webpack 权限 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 程序 编程 内存 性能分析 AIGC 人工智能生成内容 Dify gitee node.js kubernetes prometheus grafana react.js 前端面试题 持续部署 opengl stm32 ansible springsecurity6 oauth2 授权服务器 前后端分离 vscode yolov5 jdk 后端 udp 语言模型 远程桌面 http 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 excel 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 学习方法 程序人生 cursor ssl 自然语言处理 华为云 华为od linux环境变量 hadoop 命令 maxkb ARG svn 大数据 Ubuntu20.04 GLIBC 2.35 Linux 维护模式 tensorflow DNS 负载均衡 ui 游戏引擎 golang k8s qt arm nvm 阿里云 腾讯云 vue 智能体开发 AI 镜像源 嵌入式 ollama 压力测试 大模型压力测试 EvalScope debian RTSP xop RTP RTSPServer 推流 视频 远程连接 Ollama 模型联网 API CherryStudio npm rsyslog kafka llama deepseek-r1 大模型本地部署 microsoft 进程 进程控制 Ubuntu USB转串口 arm开发 架构 ubuntu20.04 开机黑屏 list 数据结构 数据分析 pycharm ide AI编程 mysql 远程工作 ArkUI ArkTS 移动端开发 计算机网络 adb Python教程 Python pycharm安装 bash pygame php ip协议 vnc 7z axure 富文本编辑器 cron crontab日志 Alexnet 工具分享 apache dash json 正则表达式 qps 高并发 微服务 eureka gitlab unity chatgpt oneapi 实时音视频 gitea rust腐蚀 mcu c语言 系统安全 IIS服务器 IIS性能 日志监控 tomcat uni-app kylin oracle fusion oracle中间件 jupyter 性能优化 电脑 NVML nvidia-smi C 环境变量 进程地址空间 wsl 算法 rag ragflow 大模型部署 Qwen2.5-coder 离线部署 mysql安装报错 windows拒绝安装 python2 ubuntu24.04 程序员创富 智能手机 1024程序员节 nohup 异步执行 MobaXterm 文件传输 postgresql intellij-idea visualstudio WSL2 IP 地址 策略模式 spring cloud 爬虫 网络爬虫 iftop 网络流量监控 gcc centos 7 spring dify 知识库 本地化部署 计算生物学 生物信息学 生物信息 基因组 ros ros1 Noetic 20.04 apt 安装 DevOps 软件交付 数据驱动 应用场景 数据安全 devops CPU 使用率 系统监控工具 linux 命令 智能路由器 linuxdeployqt 打包部署程序 appimagetool 命名管道 客户端与服务端通信 unix ACL 流量控制 基本ACL 规则配置 rocketmq SRS 流媒体 直播 升级 CVE-2024-7347 漏洞 回显服务器 UDP的API使用 mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 dell服务器 AutoDL 服务器配置 audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 YOLOv8 NPU Atlas800 A300I pro asi_bench Flask FastAPI Waitress Gunicorn uWSGI Uvicorn RAID RAID技术 磁盘 存储 fastapi flask web3.py go file server http server web server typescript 信息与通信 IM即时通讯 QQ 微信 企业微信 剪切板对通 HTML FORMAT websocket 镜像下载 freebsd es6 qt6.3 g726 区块链 密码学 mcp mysql离线安装 ubuntu22.04 mysql8.0 Cursor 虚拟显示器 远程控制 vim 英语 本地环回 bind vmware 卡死 jellyfin nas xcode 编辑器 kotlin android studio iphone VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 mac gpu算力 linux驱动开发 burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 diskgenius export env 变量 chromium dpi elasticsearch 打不开xxx软件 无法检查其是否包含恶意软件 图像处理 快捷键 旋转屏幕 自动操作 Ubuntu 22.04 MySql 算家云 算力租赁 安装教程 zip unzip cuda Bug解决 Qt platform OpenCV 材料工程 Maxkb RAG技术 本地知识库 selenium LLM langchain 产品经理 AI-native Docker Desktop 大模型应用 C++ 网络药理学 生信 gromacs 分子动力学模拟 MD 动力学模拟 ip命令 新增网卡 新增IP 启动网卡 sql openssl eclipse 指令 ffmpeg 视频编解码 pip 国产数据库 瀚高数据库 数据迁移 下载安装 Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 gpt ip compose JDK Java LInux Windows 图形化界面 VMware ci/cd 防火墙 端口号 开放端口 访问列表 tcpdump 测试工具 rpa Apache Flume 数据采集 安装部署 配置优化 高级功能 大数据工具集成 IPMI agi 大模型微调 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 ipython rpc filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 反向代理 adobe 外网访问 内网穿透 端口映射 硬件工程 asm 串口服务器 GPU 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 vu大文件秒传跨域报错cors 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 jar jmeter Chatbox outlook 错误代码2603 无网络连接 2603 虚拟化 智能电视 华为OD 华为OD机试真题 可以组成网络的服务器 昇腾 大模型训练/推理 推理问题 mindie css css3 html5 shell web 交互 chatbox Agent big data 云计算面试题 私有化 本地部署 网络结构图 protobuf 序列化和反序列化 安装 并查集 leetcode PX4 MAVROS 四旋翼无人机 开发环境 matplotlib fonts-noto-cjk .net 运维开发 QT 5.12.12 QT开发环境 Ubuntu18.04 隐藏文件 虚拟局域网 open webui 链表 pdf IP配置 netplan ollama api ollama外网访问 低代码 进程间通信 grep python3.11 冯诺依曼体系 openjdk maven firewall 智能驾驶 BEVFusion 数据集 腾讯云大模型知识引擎 产测工具框架 IMX6ULL 管理框架 perf glibc mamba Vmamba GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 virtualenv webdav jenkins 框架搭建 ubuntu 18.04 flash-attention 报错 虚拟现实 多线程 单例模式 html fstab 开源 milvus centos-root /dev/mapper yum clean all df -h / du -sh k8s部署 MySQL8.0 高可用集群(1主2从) tar remote-ssh 安装MySQL rdp 远程服务 显卡驱动持久化 GPU持久化 docker desktop 镜像 卸载 软件 列表 京东云 matlab SSE 网络攻击模型 risc-v mcp-proxy mcp-inspector fastapi-mcp agent sse C语言 c# 集成学习 集成测试 交换机 硬件 设备 PCI-Express FTP 服务器 科技 个人开发 阻塞队列 生产者消费者模型 服务器崩坏原因 自定义客户端 SAS 雨云 NPS 常用命令 文本命令 目录命令 NAT转发 NAT Server ping++ 华为认证 react next.js 部署next.js xrdp 银河麒麟 环境迁移 IMM ESP32 NAS Termux Samba PVE 银河麒麟操作系统 国产化 opensearch helm 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 gaussdb grub 版本升级 扩容 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK 驱动开发 C# MQTTS 双向认证 emqx 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 微信小程序 rustdesk lighttpd安装 Ubuntu配置 Windows安装 性能测试 服务器优化 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 postman spark hive Qualcomm WoS QNN AppBuilder asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 信号处理 ftp服务 文件上传 gunicorn p2p 智能合约 哈希算法 匿名FTP 邮件传输代理 SSL支持 chroot监狱技术 visual studio code HTTP状态码 客户端错误 服务器端错误 API设计 安卓 软件需求 RAGFLOW RAG 检索增强生成 文档解析 大模型垂直应用 ArcTS 登录 ArcUI GridItem 多层架构 解耦 灵办AI Redis Desktop VMware安装mocOS macOS系统安装 java-ee ios 重启 排查 系统重启 日志 原因 Mac内存不够用怎么办 高级IO epoll openvpn server openvpn配置教程 centos安装openvpn sublime text linux内核 智慧农业 开源鸿蒙 团队开发 shell脚本免交互 expect linux免交互 其他 iNode Macos deep learning 桌面环境 iot 教程 环境搭建 Maven mongodb vmamba sqlserver 终端工具 远程工具 sublime text3 Linux find grep GPU训练 向量数据库 milvus安装 图文教程 VMware虚拟机 macOS系统安装教程 macOS最新版 虚拟机安装macOS Sequoia photoshop vm js 图论 appium 软件测试 自动化测试 功能测试 docker run 数据卷挂载 交互模式 onlyoffice 实时互动 大模型面经 大模型学习 minicom 串口调试工具 Reactor 设计模式 k8s集群资源管理 云原生开发 政务 分布式系统 监控运维 Prometheus Grafana ue4 着色器 ue5 虚幻 目标跟踪 OpenVINO 推理应用 Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer miniapp 真机调试 调试 debug 断点 网络API请求调试方法 读写锁 AI大模型 大模型技术 本地部署大模型 kali 共享文件夹 ROS2 burp suite 抓包 课程设计 kernel 5G 网易邮箱大师 Linux Vim 一切皆文件 Kali 渗透 Claude Desktop Claude MCP Windows Cli MCP RDP n8n 工作流 xml powerpoint 计算机学习路线 编程语言选择 Docker Docker Compose Kubernetes DrissionPage prompt AI提示词优化 RagFlow 搜索引擎 程序员 企业风控系统 互联网反欺诈 DDoS攻击 SQL注入攻击 恶意软件和病毒攻击 dns llm oceanbase 传统数据库升级 银行 多线程服务器 Linux网络编程 stm32项目 webrtc zotero WebDAV 同步失败 代理模式 pillow IIS .net core Hosting Bundle .NET Framework vs2022 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 live555 rtsp rtp VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 odoo 服务器动作 Server action 数据挖掘 知识图谱 大模型教程 opcua opcda KEPServer安装 做raid 装系统 BMC ssrf 失效的访问控制 孤岛惊魂4 安全威胁分析 统信 国产操作系统 虚拟机安装 DeepSeek行业应用 Heroku 网站部署 ecmascript nextjs reactjs 宝塔面板 同步 备份 建站 监控 自动化运维 Hyper-V WinRM TrustedHosts 大语言模型 LLMs string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 WebRTC 大文件秒传跨域报错cors firefox Unity Dedicated Server Host Client 无头主机 测试用例 火绒安全 express rust 统信UOS 麒麟 bonding 链路聚合 transformer 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 CDN llama.cpp 媒体 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 蓝桥杯C++组 蓝桥杯 HP Anyware numpy ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口服务器 安全漏洞 信息安全 行情服务器 股票交易 速度慢 切换 股票量化接口 股票API接口 券商 股票交易接口api 类型 特点 zabbix mariadb 系统架构 海康 samba 支持向量机 商用密码产品体系 localhost NFS 前端框架 ECS服务器 sse_starlette Starlette Server-Sent Eve 服务器推送事件 宠物 毕业设计 免费学习 宠物领养 宠物平台 HarmonyOS Next linux安装配置 系统 黑苹果 MacOS录屏软件 混合开发 环境安装 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 Ark-TS语言 Linux PID iperf3 带宽测试 yum docker-compose docker compose 进程优先级 调度队列 进程切换 Reactor反应堆 隐藏目录 文件系统 管理器 通配符 安卓模拟器 多产物 elk nohup后台启动 HarmonyOS Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 iTerm2 动静态库 wps Office Ardupilot 车载系统 设备树 毕设 WSL resolv.conf 进程信号 termux hdc Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 mac设置host fpga开发 node 创业创新 管道 匿名管道 Github加速 Mac上Github加速 Chrome浏览器插件 流程图 mermaid SPI 切换root nano 蓝耘科技 元生代平台工作流 ComfyUI 离线部署dify JAVA 开发 中间件 可信计算技术 安全架构 网络用户购物行为分析可视化平台 大数据毕业设计 VMware安装Ubuntu Ubuntu安装k8s ragflow 源码启动 efficientVIT YOLOv8替换主干网络 TOLOv8 vr CrewAI ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 springboot etcd RBAC 监控k8s集群 集群内prometheus WebUI DeepSeek V3 聚类 主从复制 监控k8s 监控kubernetes 文心一言 word Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 dubbo 思科 tcp ebpf uprobe scikit-learn GameFramework HybridCLR Unity编辑器扩展 自动化工具 Mermaid 可视化图表 自动化生成 ubuntu安装 linux入门小白 make命令 makefile文件 esp32 蓝牙 3d 数学建模 电子信息 通信工程 毕业 sdkman 命令行 基础入门 ufw 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 ICMP rtc 磁盘挂载 新盘添加 partedUtil UFW WSL2 上安装 Ubuntu gru ranger MySQL8.0 超级终端 多任务操作 提高工作效率 fabric RAGflow 实验 Trae IDE AI 原生集成开发环境 Trae AI MCP server C/S 王者荣耀 嵌入式实习 c MS Materials RustDesk自建服务器 rustdesk服务器 docker rustdesk aws openEuler 云电竞 云电脑 todesk 大模型入门 intellij idea EasyConnect LDAP MQTT 消息队列 cpu 实时 使用 echarts 信息可视化 网页设计 豆瓣 追剧助手 迅雷 云服务器 HAProxy 多个客户端访问 IO多路复用 TCP相关API vSphere vCenter 软件定义数据中心 sddc 音乐服务器 Navidrome 音流 源码剖析 rtsp实现步骤 流媒体开发 windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 Kali Linux 黑客 渗透测试 信息收集 ukui 麒麟kylinos openeuler Netty 即时通信 NIO DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 r语言 数据可视化 SSH sysctl.conf vm.nr_hugepages KingBase 鲲鹏 Dell R750XS 群晖 文件分享 java-rocketmq gateway Clion Nova ResharperC++引擎 Centos7 远程开发 micropython mqtt KylinV10 麒麟操作系统 Vmware MQTT协议 消息服务器 代码 TCP WebServer 话题通信 服务通信 windows 服务器安装 浪潮信息 AI服务器 代码规范 CNNs 图像分类 视频监控 网站 .netcore 小智 锁屏不生效 deepseak 豆包 KIMI 腾讯元宝 PyQt PySide6 显示器 c/s 软件开发 信任链 日志分析 系统取证 pyside6 界面 shard finebi 教育电商 游戏程序 源代码管理 notepad++ SoC 概率论 考研 Claude 路径解析 webgl 小游戏 五子棋 neo4j 数据仓库 数据库开发 database AI写作 远程 执行 sshpass 操作 chrome devtools chromedriver 小艺 Pura X harmonyOS面试题 单元测试 sonoma 自动更新 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 微信分享 Image wxopensdk edge浏览器 kvm Hive环境搭建 hive3环境 Hive远程模式 Attention NLP cnn threejs 3D DevEco Studio cmos SenseVoice conda配置 conda镜像源 safari trea idea 键盘 系统开发 binder framework 源码环境 Ubuntu22.04 开发人员主页 基础环境 开机自启动 软件工程 软件构建 CLion IO 宝塔面板无法访问 华为证书 HarmonyOS认证 华为证书考试 工具 跨平台 perl 大屏端 System V共享内存 进程通信 su sudo sudo原理 su切换 frp Isaac Sim 虚拟仿真 用户管理 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 yolov8 mybatis 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 llamafactory 微调 Qwen 空间 查错 lio-sam SLAM macbook SecureCRT mybase 裸机装机 linux磁盘分区 裸机安装linux 裸机安装ubuntu 裸机安装kali 裸机 Charles systemctl composer 接口返回 devmem rabbitmq RockyLinux mac安装软件 mac卸载软件 mac book uni-app x 深度求索 私域 eNSP 网络规划 VLAN 企业网络 k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm 健康医疗 互联网医院 环境配置 SSH 密钥生成 SSH 公钥 私钥 生成 Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 firewalld P2P HDLC DenseNet PPI String Cytoscape CytoHubba cudnn anaconda docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos Docker Hub docker pull daemon.json Linux的权限 流水线 脚本式流水线 实战案例 飞牛nas fnos minio 容器技术 设置代理 实用教程 WLAN selete rancher redhat nftables 图片增强 增强数据 K8S k8s管理系统 生活 Docker快速入门 换源 国内源 Debian 免密 公钥 私钥 远程过程调用 Windows环境 VGG网络 卷积层 池化层 WireGuard 异地组网 SystemV 硬件架构 计算机科学与技术 fiddler 信号 ajax trae 网卡 LVM 磁盘分区 lvresize 磁盘扩容 pvcreate 内存管理 考试 autoware ros2 Alist rclone mount 挂载 网盘 软考设计师 中级设计师 SQL 软件设计师 智能体 autogen openai coze linux子系统 忘记密码 Masshunter 质谱采集分析软件 使用教程 科研软件 桥接模式 windows虚拟机 虚拟机联网 hosts hosts文件管理工具 开源软件 UOS 桌面快捷方式 LLaMA-Factory isaacgym Cline Kylin-Server 服务器安装 HistoryServer Spark YARN jobhistory EMQX 通信协议 Xterminal 华为机试 H3C VSCode ruoyi Invalid Host allowedHosts kind ftp 云服务 vscode1.86 1.86版本 ssh远程连接 个人博客 技术 win11 无法解析服务器的名称或地址 vasp安装 kylin v10 麒麟 v10 ocr rc.local 开机自启 systemd 单一职责原则 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 压测 ECS 查询数据库服务IP地址 SQL Server 银河麒麟服务器操作系统 系统激活 移动云 windows日志 kamailio sip VoIP 磁盘监控 直播推流 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 X11 Xming mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 项目部署到linux服务器 项目部署过程 三级等保 服务器审计日志备份 银河麒麟高级服务器 外接硬盘 Kylin cpp-httplib 弹性计算 KVM 计算虚拟化 弹性裸金属 显示管理器 lightdm gdm 雨云服务器 模拟退火算法 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 裸金属服务器 弹性裸金属服务器 创意 社区 思科模拟器 Cisco IPMITOOL 硬件管理 执法记录仪 智能安全帽 smarteye uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 wsgiref Web 服务器网关接口 playbook 剧本 博客 代码调试 ipdb sqlite3 LORA 网站搭建 serv00 VMware创建虚拟机 矩阵 GCC aarch64 编译安装 HPC asp.net上传文件夹 asp.net上传大文件 .net core断点续传 .net mvc断点续传 视觉检测 毕昇JDK 工业4.0 域名服务 DHCP 符号链接 配置 繁忙 服务器繁忙 解决办法 替代网站 汇总推荐 AI推理 微信开放平台 微信公众平台 微信公众号配置 db CPU 主板 电源 TrueLicense Qwen2.5-VL vllm 云桌面 微软 AD域控 证书服务器 互信 云耀服务器 浏览器自动化 React Next.js 开源框架 视频平台 录像 视频转发 视频流 clickhouse 硅基流动 ChatBox visual studio 服务器部署 本地拉取打包 宝塔 笔灵AI AI工具 内网渗透 靶机渗透 负载测试 高效I/O 充电桩平台 充电桩开源平台 umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf ueditor导入ppt web3 区块链项目 金仓数据库 2025 征文 数据库平替用金仓 金仓数据库概述 金仓数据库的产品优化提案 AimRT 飞腾处理器 #STC8 #STM32 框架 nvidia 技术共享 rsync 机架式服务器 1U工控机 RK3588 国产工控机 web开发 bigdata 大模型推理 fpga gitee go OpenGL 图形渲染 accept issue linq GPU状态 粘包问题 多端开发 智慧分发 应用生态 鸿蒙OS VR手套 数据手套 动捕手套 动捕数据手套 医疗APP开发 app开发 僵尸进程 deekseek 捆绑 链接 谷歌浏览器 youtube google gmail alias unalias 别名 crosstool-ng 模拟器 飞牛NAS 飞牛OS MacBook Pro 中兴光猫 换光猫 网络桥接 自己换光猫 Ubuntu Server Ubuntu 22.04.5 在线office bcompare Beyond Compare keepalived 分析解读 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 代理服务器 嵌入式系统开发 CentOS Stream CentOS ESXi Typore 向日葵 AList fnOS 模拟实现 Ubuntu共享文件夹 共享目录 Linux共享文件夹 webstorm 版本 c/c++ 串口 强制清理 强制删除 mac废纸篓 okhttp Xinference top Linux top top命令详解 top命令重点 top常用参数 ArkTs uv 沙盒 DIFY 软链接 硬链接 Linux权限 权限命令 特殊权限 磁盘清理 curl wget CosyVoice 内核 fork wait waitpid exit 网络文件系统 双系统 cmake Mac软件 csrutil mac恢复模式进入方法 SIP 恢复模式 MVS 海康威视相机 stable diffusion AI作画 lvm 终端 linux上传下载 MDK 嵌入式开发工具 论文笔记 wpf pyicu initramfs Linux内核 Grub gpt-3 推荐算法 zookeeper retry 重试机制 玩游戏 实时内核 大版本升 升级Ubuntu系统 Xshell rime wsl2 Echarts图表 折线图 柱状图 异步动态数据 鸿蒙开发 可视化效果 CUPS 打印机 Qt5 vsxsrv csrf OpenCore 需求分析 提示词 miniconda PostgreSQL15数据库 顽固图标 启动台 jdk11安装 jdk安装 openjdk11 openjdk11安装 互联网实用编程指南 AppLinking 应用间跳转 ubuntu24 vivado24 苹果电脑装windows系统 mac安装windows系统 mac装双系统 macbook安装win10双 mac安装win10双系统 苹果电脑上安装双系统 mac air安装win yum换源 树莓派项目 Bluetooth 配对 direct12 cocoapods mac cocoapods macos cocoapods Mac部署 Ollama模型 Openwebui 配置教程 AI模型 OpenHarmony RK3568 编译 烧录 npu YOLOv12 IO模型 ceph GoogLeNet TRAE fd 文件描述符 ollama下载加速 SSH 服务 SSH Server OpenSSH Server RAGFlow 本地知识库部署 DeepSeek R1 模型 跨域 热榜 ubuntu24.04.1 workflow 办公自动化 pdf教程 3GPP 卫星通信 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 DBeaver kerberos pyautogui Logstash 日志采集 ssh远程登录 AnythingLLM AnythingLLM安装 浏览器开发 AI浏览器 openstack Xen DocFlow 拓扑图 seatunnel HiCar CarLife+ CarPlay QT yum源切换 更换国内yum源 rnn 自动化编程 多进程 springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 虚幻引擎 moveit 机器人运动 x64 SIGSEGV xmm0 springcloud log4j 端口 查看 ss Node-Red 编程工具 流编程 GRUB引导 Linux技巧 easyui docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 mq qemu libvirt 网络建设与运维 网络搭建 神州数码 神州数码云平台 云平台 免费域名 域名解析 OpenManus wireshark 显示过滤器 Wireshark安装 openwrt WebVM NLP模型 电视剧收视率分析与可视化平台 copilot lb 协议 import save load 迁移镜像 计算机 Helm k8s集群 netlink libnl3 Apache Beam 批流统一 案例展示 数据分区 容错机制 软件卸载 系统清理 ShapeFile GeoJSON Nginx 网络编程 底层实现 分子对接 autodock mgltools PDB PubChem 机械臂 全文检索 图搜索算法 论文阅读 EVE-NG IPv4/IPv6双栈 双栈技术 网路规划设计 ensp综合实验 IPv4过渡IPv6 IPv4与IPv6 相机 kubeless pthread client-go k8s二次开发 Trae叒更新了? Crawlee Playwright 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? 轮播图 集成 scrapy python高级编程 Ansible elk stack dns是什么 如何设置电脑dns dns应该如何设置 libreoffice 转换 飞书 工作流自动化工具 bushujiaocheng 部署教程 AI算力 租算力 到算家云 网卡的名称修改 eth0 ens33 AD域 v10 物联网开发 armbian u-boot LLM Web APP Streamlit autodl SSL证书 流式接口 junit unity3d HCIE 数通 CORS 游戏机 pyqt 游戏服务器 TrinityCore 魔兽世界 open Euler dde deepin 我的世界 我的世界联机 数码 统信操作系统 深度优先 并集查找 换根法 树上倍增 Spring Security googlecloud 内网环境 token sas 国标28181 监控接入 语音广播 流程 SDP iis TCP服务器 qt项目 qt项目实战 qt教程 聊天服务器 套接字 客户端 Socket ux llama3 Chatglm 开源大模型 远程看看 远程协助 thingsboard 联想开天P90Z装win10 崖山数据库 YashanDB nfs 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 mosquitto 能力提升 面试宝典 IT信息化 C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 大数据平台 算力 致远OA OA服务器 服务器磁盘扩容 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 温湿度数据上传到服务器 Arduino HTTP 服务器主板 AI芯片 我的世界服务器搭建 minecraft W5500 OLED u8g2 camera Arduino XCC Lenovo 半虚拟化 硬件虚拟化 Hypervisor 树莓派 VNC 田俊楠 智能音箱 智能家居 AD 域管理 iBMC UltraISO 服务器管理 配置教程 网站管理 迁移指南 Windsurf 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 gradle 超融合 安防软件 AI员工 banner 机柜 1U 2U Web服务器 多线程下载工具 PYTHON 服务器扩容没有扩容成功 Carla Web应用服务器 授时服务 北斗授时 联机 僵尸毁灭工程 游戏联机 开服 语音识别 zerotier 弹性服务器 联网 easyconnect 代理 arcgis nacos netty 配置原理 VPN wireguard 跨域请求 solidworks安装 servlet 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 laravel 分布式账本 共识算法 wordpress element-ui 上传视频并预览视频 vue上传本地视频及进度条功能 vue2选择视频上传到服务器 upload上传视频组件插件 批量上传视频 限制单个上传视频 文件存储服务器组件 规格说明书 设计规范 Webserver 异步 Qt QModbus qwen2vl 计算机系统 OpenManage LVS rtcp vue在线预览excel和编辑 vue2打开解析xls电子表格 浏览器新开页签或弹框内加载预览 文件url地址或接口二进制文档 解决网页打不开白屏报错问题 muduo 静态NAT 全栈 Java进程管理 DevOps自动化 脚本执行 跨平台开发 远程运维 Apache Exec JSch openssh av1 电视盒子 机顶盒ROM 魔百盒刷机 apt navicat 移动开发 元服务 应用上架 输入法 邮件APP 免费软件 EMUI 回退 降级 Linux24.04 源码 prometheus数据采集 prometheus数据模型 prometheus特点 合成模型 扩散模型 图像生成 Linux的基础指令 mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 交叉编译 历史版本 下载 边缘计算 用户缓冲区 本地部署AI大模型 ArtTS HarmonyOS NEXT 原生鸿蒙 稳定性 看门狗 ShenTong 支付 微信支付 开放平台 etl can 线程池 查看显卡进程 fuser Cookie MacOS vpn MAC ELF加载 xfce g++ g++13 beautifulsoup 线程 子系统 星河版 lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 NVM Node Yarn PM2 物理地址 页表 虚拟地址 Obsidian Dataview 可执行程序 react native STL Linux的基础开发工具 cpolar 欧拉系统 mvc harmonyosnext 导航栏 nac 802.1 portal wifi驱动 GKI KMI IP地址 IPv4 IPv6 计算机基础 影视app 系统内核 Linux版本 多路转接 进程池实现 word转pdf charles clipboard 剪贴板 剪贴板增强 路径规划 技能大赛 影刀 #影刀RPA# 企业网络规划 华为eNSP jina yaml Ultralytics 可视化 fast 实习 AI代码编辑器 Open WebUI cd 目录切换 TCP协议 USB网络共享 xpath定位元素 子网掩码 公网IP 私有IP bot docker命令大全 docker部署Python 序列化反序列化 linux 命令 sed 命令 自动化任务管理 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 显卡驱动 抗锯齿 searxng dity make bat 金融 telnet 远程登录 ruby AI Agent 字节智能运维 proxy模式 钉钉 DeepSeek r1 cfssl 自学笔记 小米 澎湃OS Android 端口聚合 windows11 image virtualbox 网页服务器 web服务器 scapy AzureDataStudio qt5 客户端开发 Zoertier 内网组网 GeneCards OMIM TTD IPv6测试 IPv6测速 IPv6检测 IPv6查询 脚本 GRE webview post.io 企业邮箱 搭建邮箱 postgres Dify重启后重新初始化 less 静态IP 命令模式 Qwen3 qwen3 32b 可用性测试 线程同步 线程互斥 条件变量 d3d12 android-studio deepseek-v3 ktransformers 动态库 GCC编译器 -fPIC -shared 医院门诊管理系统 Modbus TCP MLLMs VLM gpt-4v 4 - 分布式通信、分布式张量 百度云 springboot容器部署 springboot容器化部署 微服务容器化负载均衡配置 微服务容器多节点部署 微服务多节点部署配置负载均衡 通用环境搭建 MySQL 热键 代理配置 企业级DevOps 服务注册与发现 电脑操作 podman registries pppoe radius Radius Kylin OS SVN Server tortoise svn UDP code-server RTMP 应用层 ecm bpm 根服务器 hibernate 内网服务器 内网代理 内网通信 es 恒源云 Wi-Fi bootstrap h.264 Headless Linux 无桌面 XFS xfs文件系统损坏 I_O error SSL 域名 黑客技术 MNN vscode 1.86 api VPS SEO 社交电子 iDRAC R720xd 直流充电桩 充电桩 jetty undertow 相差8小时 UTC 时间 网工 Nuxt.js nuxt3 服务器部署ai模型 MI300x uniapp HTTP 服务器控制 ESP32 DeepSeek 聊天室 URL 宕机切换 服务器宕机 FunASR ASR tailscale derp derper 中转 DOIT 四博智联 业界资讯 AISphereButler Minecraft Anolis nginx安装 linux插件下载 网络穿透 游戏开发 SWAT 配置文件 服务管理 网络共享 加解密 Yakit yaklang chfs ubuntu 16.04 状态管理的 UDP 服务器 Arduino RTOS vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 SysBench 基准测试 skynet Dell HPE 联想 浪潮 idm 北亚数据恢复 oracle数据恢复 embedding OD机试真题 服务器能耗统计 搭建个人相关服务器 pgpool lua VS Code 欧标 OCPP 状态模式 小智AI服务端 xiaozhi TTS 音乐库 飞牛 dba 信创 信创终端 中科方德 win服务器架设 windows server 端口测试 Jellyfin UOS1070e saltstack 服务器正确解析请求体 代码托管服务 powerbi WINCC 服务器ssl异常解决 NFC 近场通讯 智能门锁 Pyppeteer 动态规划 glm4 程序化交易 量化交易 高频交易 massa sui aptos sei 7-zip java-zookeeper 三次握手 Python 视频爬取教程 Python 视频爬取 Python 视频教程 EMC存储 NetApp存储 paddle AWS Putty 花生壳 OpenSSH PTrade QMT 量化股票 pxe pyscenic 生信教程 能源 制造 动态域名 CPU架构 服务器cpu 惠普服务器 惠普ML310e Gen8 惠普ML310e Gen8V2 h.265 腾讯云服务器 轻量应用服务器 linux系统入门 linux命令 anonymous 风扇散热策略 曙光 海光 宁畅 中科可控 socket 站群服务器 分布式数据库 集中式数据库 业务需求 选型误 5090 显卡 AI性能 科勘海洋 数据采集浮标 浮标数据采集模块 Svelte OpenAI aiohttp asyncio 性能监控 分类 语法 移动魔百盒 服务网格 istio sequoiaDB deepseek r1 regedit 开机启动 玩机技巧 软件分享 软件图标 风扇控制软件 嵌入式Linux IPC xshell termius iterm2 Linux环境 whistle macOS 极限编程 archlinux kde plasma brew comfyui comfyui教程 华为鸿蒙系统 ArkTS语言 Component 生命周期 条件渲染 Image图片组件 对比 meld DiffMerge win向maOS迁移数据 数据库管理 bert swift Bandizip Mac解压 Mac压缩 压缩菜单 软件商店 livecd systemtools 实时日志 logs NTP服务器 orbslam2 端口开放 lvs ANDROID_HOME zshrc easyTier 组网 function address 函数 地址 broadcom 截图 录屏 gif 开发工具 基础指令 pipe函数 管道的大小 匿名管道的四种情况 ps命令 手动分区 C/C++ chrome历史版本下载 chrominum下载 Linux的进程概念 cuda驱动 时间轮 flink IMX317 MIPI H265 VCU figma Python基础 Python技巧 运维监控 烟花代码 烟花 元旦 增强现实 沉浸式体验 技术实现 案例分析 AR dock 加速 软负载 seleium 项目部署 deployment daemonset statefulset cronjob 问题解决 性能调优 安全代理 抓包工具 达梦 DM8 接口优化 Sealos 集群管理 零售 输入系统 solr 源代码 watchtower VM虚拟机 docker search anythingllm open-webui docker国内镜像 finalsheel MinIO 漏洞报告生成 mapreduce 定义 核心特点 优缺点 适用场景 红黑树封装map和set web环境 文件共享 LSTM Python学习 Python编程 GPUGEEK 基本指令 模板 openresty 仓库 共享 设置 软路由 Linux指令 影刀证书 分享 亲测 线程安全 CodeBuddy首席试玩官 sql注入 Ubuntu 24.04.1 轻量级服务器 GIS 遥感 WebGIS 僵尸世界大战 游戏服务器搭建 银河麒麟桌面操作系统 服务器时间 AI agent ISO镜像作为本地源 ldap 线性代数 电商平台 佛山戴尔服务器维修 佛山三水服务器维修 大大通 第三代半导体 碳化硅 triton 模型分析 sqlite swoole ai工具 Erlang OTP gen_server 热代码交换 事务语义 备选 调用 示例 xss hugo sentinel 干货分享 黑客工具 密码爆破 流量运营 分布式训练 midjourney 架构与原理 ardunio BLE IDEA hexo 存储维护 西门子PLC 通讯 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 阿里云ECS nosql mcp服务器 client close yashandb 网络原理 免费 logstash vCenter服务器 ESXi主机 监控与管理 故障排除 日志记录 lrzsz 火山引擎 矩池云 数据下载 数据传输 cocos2d 3dcoat 泛型编程 工厂方法模式 自定义登录信息展示 motd 美化登录 实时云渲染 云渲染 3D推流 openvino 环境 非root 站群 多IP 证书 签名 MCP 服务器 JADX-AI 插件 RNG 状态 可复现性 随机数生成 光电器件 LED 大厂程序员 硅基计算 碳基计算 认知计算 生物计算 AGI 系统架构设计 软件哲学 程序员实现财富自由 gitlab服务器 客户端-服务器架构 点对点网络 服务协议 网络虚拟化 网络安全防御 零日漏洞 CVE 机架式 IDC Cache Aside Read/Write Write Behind 生成对抗网络 搜狗输入法 中文输入法 鸿蒙NEXT NVIDIA GRANT REVOKE qtcreator java毕业设计 微信小程序医院预约挂号 医院预约 医院预约挂号 小程序挂号 mujoco OS Ubuntu 24.04 搜狗输入法闪屏 Ubuntu中文输入法 能效分析 nginx默认共享目录 ubantu 青少年编程 自定义shell当中管道的实现 匿名和命名管道 latex IT 护眼模式 文件权限 重置密码 dnf 进程等待 内存泄漏 Navigation 路由跳转 鸿蒙官方推荐方式 鸿蒙原生开发 泰山派 根文件系统 代码复审 codereview code-review 文件清理 李心怡 解决方案 CAD瓦片化 栅格瓦片 矢量瓦片 Web可视化 DWG解析 金字塔模型 知行EDI 电子数据交换 知行之桥 EDI homeassistant 智能问答 Spring AI Milvus Multi-Agent 蜂窝网络 频率复用 射频单元 无线协议接口RAN 主同步信号PSS 手机 学习路线 烟雾检测 yolo检测 消防检测 Web3 Telegram tar.gz tar.xz linux压缩 nmcli 网络配置 5分钟快速学 docker入门 dockerfile 高可用 恒玄BES nacos容器环境变量 docker启动nacos参数 nacos镜像下载 dify部署 安全性测试 写时拷贝 Linux的进程调度队列 活动队列 Linux的进程控制 带外管理 Unity插件 tidb ABAP 数字证书 签署证书 caddy authing pythonai PlaywrightMCP 网络库 aac mcp协议 go-zero Async注解 事件驱动 access blocked 破解 vmware tools 流量 排序算法 选择排序 jQuery 物理服务器 服务器租用 云服务器租用 物理机租用 网络接口 时间间隔 所有接口 多网口 事件分析 边缘服务器 利旧 AI识别 DELL R730XD维修 全国服务器故障维修 独立服务器 实时传输 linux cpu负载异常 slave 网络IO 队列 数据库占用空间 Metastore Catalog MateBook 更换镜像源 红黑树 迁移 SFTP 本地不受DeepSeek CTE AGE gerrit 环境部署 三维重建 FS bootfs rootfs linux目录 数字比特流 模拟信号 将二进制数据映射到模拟波形上 频谱资源 振幅频率相位 载波高频正弦波 容器化 Serverless BCLinux containerd 访问公司内网 MobileNetV3 Linux系统编程 深度强化学习 深度Q网络 Q_Learning 经验回收 微信自动化工具 微信消息定时发送 Jenkins流水线 声明式流水线 华为昇腾910b3 janus rtmp http状态码 请求协议 机器人仿真 模拟仿真 地平线5 asp.net 电子信息工程 EF Core 客户端与服务器评估 查询优化 数据传输对象 查询对象模式 多媒体 低成本 服务器托管 云托管 数据中心 idc机房 网络带宽 问题排查 量子计算 电子器件 二极管 三极管 raid OSB Oracle中间件 SOA RHEL eventfd 高性能 视频服务器 万物互联 工业自动化 工厂改造 debezium 数据变更 android-ndk 嵌入式实时数据库 lstm LSTM-SVM 时间序列预测 AOD-PONO-Net 图像去雾技术 A2A 去中心化 AI导航站 Windows 11 重装电脑系统 相机标定 鼠标 proto actor actor model Actor 模型 系统完整性 越狱设备 Arduino下载开发板 esp32开发板 esp32-s3 pow 指数函数 优化 rxjava 过期连接 若依 内存不足 outofmemory Key exchange 主包过大 开启黑屏 笔记本电脑 Autoware 辅助驾驶 LangGraph 模型上下文协议 MultiServerMCPC load_mcp_tools load_mcp_prompt teamspeak 磁盘IO iostat Unlocker C++11 lambda Windows应急响应 应急响应 webshell 网络攻击防御 网络攻击 linux/cmake 原子操作 AXI 软件安装 权限掩码 粘滞位 信创国产化 达梦数据库 illustrator 回归 dsp开发 MinerU HBase分布式集群 HBase环境搭建 HBase安装 HBase完全分布式环境 NAT Agentic Web NLWeb 自然语言网络 微软build大会 服务发现 模块测试 bug定位 缺陷管理 Featurize Mobilenet 分割 分布式总线 记账软件 容器部署 ICMPv6 VUE Mysql Makefile nvidia驱动 Tesla显卡