鸿蒙电子病历查看(历史就诊记录/处方药提醒)详解

举报
鱼弦 发表于 2025/10/13 10:32:55 2025/10/13
【摘要】 一、引言在医疗健康领域,电子病历(Electronic Medical Record, EMR)是患者诊疗信息的核心载体,包含历史就诊记录、检查检验结果、处方用药等关键数据。随着鸿蒙操作系统(HarmonyOS)在智能终端(如手机、平板、车机、智能手表)的普及,用户对 ​​跨设备便捷查看电子病历​​ 的需求日益增长——例如,在手机上快速查阅近期就诊记录,在车机上接收处方药的服药提醒,在平板上...


一、引言

在医疗健康领域,电子病历(Electronic Medical Record, EMR)是患者诊疗信息的核心载体,包含历史就诊记录、检查检验结果、处方用药等关键数据。随着鸿蒙操作系统(HarmonyOS)在智能终端(如手机、平板、车机、智能手表)的普及,用户对 ​​跨设备便捷查看电子病历​​ 的需求日益增长——例如,在手机上快速查阅近期就诊记录,在车机上接收处方药的服药提醒,在平板上与医生共享历史病历。
传统电子病历查看方式存在 ​​信息孤岛​​(不同医院系统不互通)、​​设备局限​​(仅能在医院电脑或特定APP查看)、​​提醒不及时​​(依赖手动查看处方药信息)等问题。鸿蒙凭借 ​​分布式技术​​(分布式软总线、分布式数据库)和 ​​多设备协同能力​​,为电子病历的 ​​跨终端同步​​ 与 ​​智能化提醒​​ 提供了全新解决方案。
本文将围绕 ​​鸿蒙电子病历查看功能​​,聚焦 ​​历史就诊记录查询​​ 和 ​​处方药提醒​​ 两大核心场景,详细介绍其技术实现原理、代码开发流程及实际应用效果,帮助开发者构建高效、便捷的医疗健康应用。

二、技术背景

1. 鸿蒙分布式技术核心能力

鸿蒙操作系统的分布式技术是其区别于传统操作系统的关键,主要包含以下核心能力:
  • ​分布式软总线​​:实现不同鸿蒙设备(手机、平板、车机、智能穿戴)之间的 ​​低延迟、高带宽通信​​,无需依赖Wi-Fi直连或蓝牙配对,自动发现并连接周边设备。
  • ​分布式数据库​​:提供 ​​跨设备数据同步​​ 能力,通过统一的分布式数据服务(Distributed Data Service, DDS),将电子病历等关键数据存储在云端或本地分布式节点,多设备实时共享最新状态。
  • ​分布式任务调度​​:支持跨设备运行同一应用的不同组件(如手机发起查询,车机显示提醒),实现业务逻辑的无缝迁移。
  • ​原子化服务​​:电子病历查看功能可封装为 ​​鸿蒙原子化服务卡片​​,用户通过负一屏、桌面快捷入口快速访问,无需打开完整APP。

2. 电子病历数据特点与挑战

电子病历数据具有 ​​敏感性高​​(涉及患者隐私)、​​结构复杂​​(包含文本、影像、用药记录等多类型数据)、​​时效性强​​(处方药提醒需精准到时间点)等特点。在鸿蒙环境下开发电子病历查看功能,需重点解决以下技术挑战:
  • ​数据安全与隐私保护​​:通过鸿蒙的 ​​分布式安全框架​​(如数据加密、设备认证、权限管控),确保只有授权设备(如用户本人的手机、车机)可访问病历数据。
  • ​跨设备数据一致性​​:当患者在手机端更新就诊记录(如新增检查报告),车机、平板等设备需通过分布式数据库实时同步最新数据。
  • ​处方药提醒的精准触发​​:结合鸿蒙的 ​​定时任务能力​​(如AlarmManager)和分布式数据监听,当处方药的服药时间到达时,自动在车机屏幕或智能手表上推送提醒通知。

三、应用使用场景

1. 历史就诊记录查询(多设备便捷查阅)

​场景描述​​:患者在手机上通过鸿蒙电子病历应用查看近期的就诊记录(如最近3次的门诊诊断、检查检验结果),或在车机上通过语音指令快速调取历史病历(如“显示我上个月的就诊记录”),无需携带纸质病历或登录医院系统。
​适用场景​​:患者日常健康管理、复诊前准备、多设备协同查阅(手机+车机+平板)。

2. 处方药提醒(精准用药通知)

​场景描述​​:医生开具处方后,电子病历系统自动记录药品名称、服用剂量、频次(如“每日2次,每次1片,早晚餐后服用”)和疗程(如“连续服用7天”)。鸿蒙应用通过分布式数据库同步处方信息,并在服药时间到达时,自动在车机屏幕(行车途中)、智能手表(随身提醒)或手机(常规场景)推送服药提醒通知,避免漏服或错服。
​适用场景​​:慢性病患者长期用药管理、术后康复用药提醒、多设备协同提醒(主设备+备用设备)。

3. 跨设备病历共享(医患协同)

​场景描述​​:患者授权医生通过鸿蒙原子化服务查看其历史就诊记录(如最近的血常规报告、影像检查结果),医生在平板或车机上快速获取关键信息,辅助诊断决策。
​适用场景​​:远程问诊、复诊随访、医患数据共享。

四、不同场景下详细代码实现

场景 1:历史就诊记录查询(手机端)

​需求​​:用户在手机上打开鸿蒙电子病历应用,点击“历史就诊记录”页面,展示近期的就诊记录列表(包含就诊日期、医院名称、科室、主要诊断等信息),数据通过分布式数据库同步自云端。

1.1 核心代码实现(HistoryRecords.ets)

// src/main/ets/pages/HistoryRecords.ets
import { DistributedDataManager } from '../utils/DistributedManager.ets';

@Entry
@Component
struct HistoryRecords {
  @State private distributedManager: DistributedDataManager = new DistributedDataManager(this.context);
  @State private records: Array<VisitRecord> = []; // 就诊记录列表

  // 就诊记录数据结构
  interface VisitRecord {
    id: string;
    visitDate: string; // 就诊日期(格式:YYYY-MM-DD)
    hospitalName: string; // 医院名称
    department: string; // 科室
    mainDiagnosis: string; // 主要诊断
  }

  aboutToAppear() {
    this.loadHistoryRecords();
  }

  // 加载历史就诊记录(从分布式数据库获取)
  private loadHistoryRecords() {
    this.distributedManager.getHistoryRecords().then((fetchedRecords) => {
      this.records = fetchedRecords || []; // 若无数据则显示空列表
    }).catch((error) => {
      console.error('加载就诊记录失败:', error);
      this.records = []; // 错误时清空列表
    });
  }

  build() {
    Column() {
      Text('历史就诊记录')
        .fontSize(24)
        .fontWeight(FontWeight.Bold)
        .margin({ bottom: 20 });

      if (this.records.length === 0) {
        Text('暂无就诊记录')
          .fontSize(16)
          .fontColor('#999')
          .margin({ top: 50 });
      } else {
        List() {
          ForEach(this.records, (record: VisitRecord) => {
            ListItem() {
              Column() {
                Text(`日期: ${record.visitDate}`)
                  .fontSize(16)
                  .fontWeight(FontWeight.Medium)
                  .margin({ bottom: 5 });
                Text(`医院: ${record.hospitalName}`)
                  .fontSize(14)
                  .fontColor('#666')
                  .margin({ bottom: 3 });
                Text(`科室: ${record.department}`)
                  .fontSize(14)
                  .fontColor('#666')
                  .margin({ bottom: 3 });
                Text(`诊断: ${record.mainDiagnosis}`)
                  .fontSize(14)
                  .fontColor('#333')
                  .margin({ bottom: 10 });
              }
              .width('100%')
              .padding(15)
              .backgroundColor('#f8f8f8')
              .borderRadius(8)
              .margin({ bottom: 10 });
            }
          });
        }
        .layoutWeight(1)
        .padding(10);
      }
    }
    .width('100%')
    .height('100%')
    .padding(20);
  }
}

1.2 分布式数据管理工具类(DistributedManager.ets)

// src/main/ets/utils/DistributedManager.ets
import distributedData from '@ohos.data.distributedData';
import { BusinessError } from '@ohos.base';

export class DistributedDataManager {
  private context: any; // 鸿蒙上下文(通过构造函数传入)

  constructor(context: any) {
    this.context = context;
  }

  // 获取历史就诊记录(从分布式数据库)
  public async getHistoryRecords(): Promise<Array<HistoryRecords.ets['VisitRecord']>> {
    try {
      // 打开或创建分布式数据库(数据标识符为 'EMR_HistoryRecords')
      const preferences = await distributedData.getPreferences(this.context, 'EMR_HistoryRecords');
      // 读取存储的就诊记录(JSON 格式字符串)
      const recordsJson = await preferences.get('records', '[]');
      // 解析 JSON 为对象数组
      const records: Array<HistoryRecords.ets['VisitRecord']> = JSON.parse(recordsJson);
      return records;
    } catch (error) {
      const err = error as BusinessError;
      console.error(`获取就诊记录失败,错误码: ${err.code}, 消息: ${err.message}`);
      throw new Error('分布式数据库读取失败');
    }
  }

  // 保存历史就诊记录(同步到分布式数据库,其他设备自动同步)
  public async saveHistoryRecords(records: Array<HistoryRecords.ets['VisitRecord']>) {
    try {
      const preferences = await distributedData.getPreferences(this.context, 'EMR_HistoryRecords');
      // 将记录转换为 JSON 字符串存储
      await preferences.put('records', JSON.stringify(records));
      await preferences.flush(); // 确保数据写入磁盘并同步到分布式节点
    } catch (error) {
      const err = error as BusinessError;
      console.error(`保存就诊记录失败,错误码: ${err.code}, 消息: ${err.message}`);
      throw new Error('分布式数据库写入失败');
    }
  }
}
​运行结果​​:
  • 用户打开“历史就诊记录”页面后,自动从分布式数据库加载就诊记录列表(如最近3次就诊信息),展示医院名称、科室、诊断等关键信息;
  • 若无历史记录,显示“暂无就诊记录”提示;
  • 当患者在其他设备(如平板)新增就诊记录时,手机端通过分布式数据库自动同步更新列表。

场景 2:处方药提醒(车机端)

​需求​​:用户在医院就诊后,医生开具处方(如“阿莫西林胶囊,每日2次,每次1片,早晚餐后服用,连续7天”)。鸿蒙应用将处方信息(药品名称、服用时间、剩余天数)存储到分布式数据库,并在车机上通过 ​​定时任务​​ 监听服药时间,到达指定时间时(如早餐后9:00、晚餐后19:00)推送服药提醒通知(包含药品名称和服用剂量)。

2.1 核心代码实现(MedicationReminder.ets)

// src/main/ets/pages/MedicationReminder.ets
import { DistributedDataManager } from '../utils/DistributedManager.ets';
import timer from '@ohos.timers';

@Entry
@Component
struct MedicationReminder {
  @State private distributedManager: DistributedDataManager = new DistributedDataManager(this.context);
  @State private medications: Array<Medication> = []; // 处方药列表

  // 处方药数据结构
  interface Medication {
    id: string;
    drugName: string; // 药品名称
    dosage: string; // 单次剂量(如“1片”)
    frequency: Array<{ time: string; period: string }>; // 服用时间(如 [{time: '09:00', period: '早餐后'}, {time: '19:00', period: '晚餐后'}])
    startDate: string; // 开始日期(格式:YYYY-MM-DD)
    durationDays: number; // 疗程天数
  }

  aboutToAppear() {
    this.loadMedications();
    this.startMedicationReminders();
  }

  // 加载处方药信息(从分布式数据库)
  private loadMedications() {
    this.distributedManager.getMedications().then((fetchedMeds) => {
      this.medications = fetchedMeds || [];
    }).catch((error) => {
      console.error('加载处方药信息失败:', error);
      this.medications = [];
    });
  }

  // 启动处方药提醒(定时检查服药时间)
  private startMedicationReminders() {
    // 每分钟检查一次当前时间是否匹配服药时间
    timer.setInterval(() => {
      const now = new Date();
      const currentTime = `${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}`;
      
      this.medications.forEach((med) => {
        med.frequency.forEach((schedule) => {
          if (currentTime === schedule.time) {
            this.showMedicationNotification(med, schedule);
          }
        });
      });
    }, 60 * 1000); // 每60秒检查一次
  }

  // 显示服药提醒通知(车机端通过弹窗或语音播报)
  private showMedicationNotification(med: Medication, schedule: { time: string; period: string }) {
    // 实际项目中可调用鸿蒙的通知API(如 notification.requestPermission() + notification.createNotification())
    console.log(`【服药提醒】${schedule.period}请服用 ${med.drugName},剂量:${med.dosage}`);
    // 示例:车机屏幕弹窗提示(简化实现)
    alert(`【服药提醒】${schedule.period}请服用 ${med.drugName},剂量:${med.dosage}`);
  }

  build() {
    Column() {
      Text('处方药提醒')
        .fontSize(24)
        .fontWeight(FontWeight.Bold)
        .margin({ bottom: 20 });

      if (this.medications.length === 0) {
        Text('暂无处方药提醒')
          .fontSize(16)
          .fontColor('#999')
          .margin({ top: 50 });
      } else {
        List() {
          ForEach(this.medications, (med: Medication) => {
            ListItem() {
              Column() {
                Text(`药品: ${med.drugName}`)
                  .fontSize(16)
                  .fontWeight(FontWeight.Medium)
                  .margin({ bottom: 5 });
                Text(`剂量: ${med.dosage}`)
                  .fontSize(14)
                  .fontColor('#666')
                  .margin({ bottom: 5 });
                Text(`服用时间: ${med.frequency.map(f => `${f.period}(${f.time})`).join(', ')}`)
                  .fontSize(14)
                  .fontColor('#666')
                  .margin({ bottom: 5 });
                Text(`疗程: ${med.durationDays}天(开始于${med.startDate})`)
                  .fontSize(14)
                  .fontColor('#666');
              }
              .width('100%')
              .padding(15)
              .backgroundColor('#fff3cd')
              .borderRadius(8)
              .margin({ bottom: 10 });
            }
          });
        }
        .layoutWeight(1)
        .padding(10);
      }
    }
    .width('100%')
    .height('100%')
    .padding(20);
  }
}

2.2 分布式数据管理工具类(扩展)

// 在 DistributedManager.ets 中扩展处方药相关方法
// ...(其他代码同历史记录管理)

// 获取处方药信息(从分布式数据库)
public async getMedications(): Promise<Array<MedicationReminder.ets['Medication']>> {
  try {
    const preferences = await distributedData.getPreferences(this.context, 'EMR_Medications');
    const medsJson = await preferences.get('medications', '[]');
    const medications: Array<MedicationReminder.ets['Medication']> = JSON.parse(medsJson);
    return medications;
  } catch (error) {
    const err = error as BusinessError;
    console.error(`获取处方药信息失败,错误码: ${err.code}, 消息: ${err.message}`);
    throw new Error('分布式数据库读取处方药失败');
  }
}

// 保存处方药信息(同步到分布式数据库)
public async saveMedications(medications: Array<MedicationReminder.ets['Medication']>) {
  try {
    const preferences = await distributedData.getPreferences(this.context, 'EMR_Medications');
    await preferences.put('medications', JSON.stringify(medications));
    await preferences.flush();
  } catch (error) {
    const err = error as BusinessError;
    console.error(`保存处方药信息失败,错误码: ${err.code}, 消息: ${err.message}`);
    throw new Error('分布式数据库写入处方药失败');
  }
}
​运行结果​​:
  • 车机端应用启动后,自动加载处方药信息(如“阿莫西林胶囊,每日2次,早晚餐后服用”),并在每天9:00和19:00通过弹窗或语音播报提醒用户服药;
  • 若用户在其他设备(如手机)新增或修改处方药信息,车机端通过分布式数据库实时同步更新提醒规则。

五、原理解释

1. 鸿蒙电子病历查看的核心流程

  1. ​数据存储与同步​​:
    • 电子病历数据(历史就诊记录、处方药信息)通过 ​​分布式数据库(Distributed Data Service)​​ 存储,数据标识符(如 EMR_HistoryRecordsEMR_Medications)唯一标识不同类型的数据集合。
    • 当患者在某一设备(如手机)新增或修改就诊记录/处方药信息时,数据会通过分布式软总线自动同步到其他已授权的鸿蒙设备(如车机、平板),确保多端数据一致性。
  2. ​历史就诊记录查询​​:
    • 用户在手机端打开“历史就诊记录”页面,组件通过调用 DistributedDataManager.getHistoryRecords()方法,从分布式数据库读取存储的就诊记录(JSON 格式字符串解析为对象数组),并展示在列表中。
    • 分布式数据库的 getPreferences()方法用于获取指定标识符的数据节点,flush()方法确保数据写入磁盘并同步到分布式网络。
  3. ​处方药提醒​​:
    • 处方药信息(药品名称、服用时间、疗程)同样存储在分布式数据库中,车机端应用启动时通过 DistributedDataManager.getMedications()加载数据。
    • 通过鸿蒙的 ​​定时任务(timer.setInterval)​​ 每分钟检查当前时间是否匹配处方药的服用时间(如 09:0019:00),若匹配则调用 showMedicationNotification()方法推送提醒(实际项目中可集成鸿蒙的通知API实现弹窗或语音提醒)。
  4. ​跨设备协同​​:
    • 分布式软总线自动发现周边鸿蒙设备(如手机与车机处于同一Wi-Fi网络或蓝牙范围内),建立安全连接通道,实现电子病历数据的低延迟同步。
    • 用户在不同设备上登录同一鸿蒙账号(或通过设备认证授权),确保只有授权设备可访问敏感的病历数据。

2. 关键技术点

  • ​分布式数据服务(DDS)​​:提供跨设备的键值对存储(Preferences)和关系型数据存储(RelationalStore),本文使用 Preferences 存储结构化的就诊记录和处方药信息(JSON 格式),适合小规模数据的快速读写。
  • ​数据安全与隐私​​:通过鸿蒙的 ​​分布式安全框架​​,对分布式数据库的数据进行加密存储(AES-256),并对访问设备进行身份认证(基于设备ID和用户账号),防止未授权设备获取病历信息。
  • ​定时任务与状态监听​​:处方药提醒通过定时任务轮询当前时间,实际项目中可优化为基于系统闹钟(AlarmManager)的精准触发(如只在服药时间点唤醒应用推送通知)。
  • ​原子化服务集成​​:电子病历查看功能可封装为鸿蒙原子化服务卡片,用户通过负一屏或桌面快捷入口快速查看最近就诊记录或待服药提醒,提升使用便捷性。

六、核心特性

特性
说明
​跨设备同步​
通过分布式数据库实现历史就诊记录和处方药信息的多设备实时同步(手机↔车机↔平板)。
​精准提醒​
基于定时任务和分布式数据监听,在服药时间到达时自动推送提醒(车机/手表/手机)。
​隐私保护​
采用分布式安全框架加密数据,仅授权设备可访问病历信息,符合医疗数据合规要求。
​多终端适配​
支持手机、车机、平板等鸿蒙设备,界面布局自适应不同屏幕尺寸(如车机大屏横向布局)。
​数据一致性​
任一设备的病历数据更新(如新增就诊记录)会自动同步到其他设备,确保信息最新。
​低延迟通信​
分布式软总线提供毫秒级设备发现与数据传输,保障跨设备操作的流畅性。

七、原理流程图及原理解释

原理流程图(电子病历查看与提醒的整体流程)

+-----------------------+       +-----------------------+       +-----------------------+
|  用户操作(手机/车机)|       |  分布式数据库(DDS)  |       |  其他鸿蒙设备(同步) |
|  (查询记录/设置提醒)| ----> |  (存储就诊记录/处方药)| ----> |  (自动接收最新数据) |
+-----------------------+       +-----------------------+       +-----------------------+
          |                             |                             |
          |  读取/写入数据请求          |  数据持久化与同步         |  
          |--------------------------->|                         |
          |                             |  通过分布式软总线广播     |  其他设备监听并更新本地缓存
          |  返回数据(JSON解析后展示)|                         |
          |                             |  确保多端数据一致性       |

原理解释

  1. ​数据存储​​:用户的就诊记录和处方药信息通过分布式数据库(Preferences)以 JSON 格式存储,数据标识符(如 EMR_HistoryRecords)唯一标识不同类型的数据集合。
  2. ​数据同步​​:当患者在某一设备(如手机)新增或修改数据时,分布式数据库通过分布式软总线将变更推送到其他已连接的鸿蒙设备(如车机、平板),其他设备自动更新本地缓存,实现多端数据一致性。
  3. ​查询与展示​​:用户在手机或车机上打开电子病历应用时,组件通过调用分布式数据管理工具类(DistributedDataManager),从分布式数据库读取对应的数据(如历史就诊记录或处方药信息),解析后展示在页面列表中。
  4. ​提醒触发​​:车机端通过定时任务(或系统闹钟)每分钟检查当前时间是否匹配处方药的服用时间,若匹配则调用提醒方法(如弹窗或语音播报),确保用户按时服药。

八、环境准备

1. 开发环境

  • ​操作系统​​:Windows 10/11 或 macOS(推荐)。
  • ​开发工具​​:DevEco Studio(鸿蒙官方IDE,版本 ≥ 3.1)。
  • ​SDK​​:HarmonyOS SDK(版本 ≥ 3.2),包含分布式软总线、分布式数据库等相关模块。
  • ​设备​​:支持鸿蒙操作系统的手机(如华为P50)、车机(如问界M5)、平板(如MatePad)(用于真机测试)。

2. 项目创建

# 通过 DevEco Studio 创建鸿蒙应用项目
- 选择模板:Empty Ability(空能力模板)
- 设备类型:支持 Phone、Car、Tablet(多设备适配)
- HarmonyOS SDK 版本:≥ 3.2

3. 权限配置(config.json)

在项目的 src/main/resources/base/profile/config.json中添加分布式数据访问和通知权限:
{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.DISTRIBUTED_DATASYNC" // 分布式数据同步权限
      },
      {
        "name": "ohos.permission.NOTIFICATION" // 通知权限(用于处方药提醒)
      }
    ]
  }
}

九、实际详细应用代码示例实现

完整示例:历史就诊记录 + 处方药提醒组合

​需求​​:在手机端查看历史就诊记录,在车机端接收处方药提醒,验证跨设备数据同步与提醒功能。

9.1 项目结构

src/
├── main/
│   ├── ets/
│   │   ├── pages/
│   │   │   ├── HistoryRecords.ets      // 历史就诊记录页面
│   │   │   └── MedicationReminder.ets  // 处方药提醒页面
│   │   └── utils/
│   │       └── DistributedManager.ets  // 分布式数据管理工具类
│   └── resources/
│       └── base/
│           └── profile/
│               └── config.json         // 权限配置
└── entry/
    └── src/
        └── main/
            └── ets/
                └── abilities/
                    └── MainAbility.ets   // 应用入口(路由配置)
​运行结果​​:
  • 手机端打开“历史就诊记录”页面,显示近期的就诊信息(如“2024-01-15,北京协和医院,内科,高血压复诊”);
  • 车机端打开“处方药提醒”页面,显示当前疗程的药品信息(如“阿莫西林胶囊,每日2次,早晚餐后服用”),并在每天9:00和19:00推送服药提醒;
  • 当患者在手机端新增就诊记录或修改处方药信息时,车机端自动同步更新。

十、运行结果

  • ​场景 1(历史就诊记录)​​:手机端页面加载后,展示近期的就诊记录列表(包含日期、医院、诊断等关键信息),数据通过分布式数据库同步自云端或其他设备。
  • ​场景 2(处方药提醒)​​:车机端在指定服药时间(如9:00和19:00)自动弹出提醒通知(包含药品名称和剂量),确保用户按时用药。
  • ​跨设备协同​​:在手机端新增一条就诊记录后,车机端刷新页面即可看到最新数据,验证了分布式同步的有效性。

十一、测试步骤及详细代码

测试场景 1:历史就诊记录查询

  1. ​初始状态​​:手机端“历史就诊记录”页面为空(或显示默认提示)。
  2. ​模拟数据写入​​:通过分布式数据库工具(或代码模拟)向 EMR_HistoryRecords写入一条就诊记录(如 {id: '1', visitDate: '2024-01-15', hospitalName: '北京协和医院', department: '内科', mainDiagnosis: '高血压复诊'})。
  3. ​验证展示​​:手机端刷新页面,确认显示新增的就诊
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。