برنامه نویسی

همکاری بین برنامه‌ای انواع داده‌های سفارشی در HarmonyOS بعدی: پیاده‌سازی مدیریت اسناد در سطح سازمانی

Summarize this content to 400 words in Persian Lang

هدف این مقاله بررسی عمیق جزئیات فنی سیستم Huawei HarmonyOS Next (تا API 12 تا کنون) است و بر اساس شیوه‌های توسعه واقعی خلاصه می‌شود. این عمدتا به عنوان وسیله ای برای اشتراک گذاری و ارتباطات فنی عمل می کند. اشتباه و کوتاهی اجتناب ناپذیر است. از همکاران استقبال می شود که نظرات و سوالات ارزشمندی را مطرح کنند تا بتوانیم با هم پیشرفت کنیم. این مقاله محتوای اصلی است و هر نوع تجدید چاپ باید منبع و نویسنده اصلی را ذکر کند.

نمای کلی

سیستم های مدیریت اسناد در سطح سازمانی نیاز به پشتیبانی از اشتراک گذاری داده ها و کار مشترک بین برنامه ها و دستگاه ها دارند. از طریق چارچوب مدیریت داده یکپارچه (UDMF) و Ark Data Management (ArkData) Huawei HarmonyOS، ما به راحتی می‌توانیم انواع داده‌های استاندارد شده سفارشی ایجاد کنیم تا به تعامل صاف داده‌ها مانند اسناد، تصاویر و صدا بین برنامه‌ها و دستگاه‌های مختلف دست یابیم. با در نظر گرفتن مدیریت اسناد سازمانی به عنوان مثال، این مقاله نحوه ایجاد انواع داده های سفارشی و اجرای اشتراک گذاری اسناد بین دستگاهی و ویرایش مشترک در چندین برنامه را نشان می دهد.

سناریوی عملی

ما یک سیستم مدیریت اسناد سازمانی را توسعه خواهیم داد که از عملکردهای زیر پشتیبانی می کند:

ایجاد انواع داده های استاندارد شده سفارشی برای سند، تصویر و فایل های صوتی.
اجرای متقابل کشیدن و رها کردن و به اشتراک گذاری داده با استفاده از UDMF.
استفاده از اشیاء توزیع شده برای دستیابی به همگام سازی داده های اسناد و ویرایش مشترک در چندین دستگاه. ### 1. ایجاد انواع داده های سفارشی HarmonyOS از توسعه دهندگان برای ایجاد انواع داده های استاندارد شده سفارشی برای مدیریت داده هایی مانند اسناد سازمانی، تصاویر و صدا پشتیبانی می کند. ابتدا باید این انواع سفارشی را در آن تعریف کنیم utd.json5 فایل درخواست
مرحله اول: انواع داده های سفارشی را برای اسناد، تصاویر و صدا تعریف کنید

{
  “UniformDataTypeDeclarations”: [
    {
      “TypeId”: “com.company.document”,
      “BelongingToTypes”: [“general.file”],
      “FilenameExtensions”: [“.docx”, “.pdf”],
      “MIMETypes”: [“application/vnd.openxmlformats-officedocument.wordprocessingml.document”, “application/pdf”],
      “Description”: “Enterprise Document”,
      “ReferenceURL”: “”
    },
    {
      “TypeId”: “com.company.image”,
      “BelongingToTypes”: [“general.image”],
      “FilenameExtensions”: [“.jpg”, “.png”],
      “MIMETypes”: [“image/jpeg”, “image/png”],
      “Description”: “Enterprise Image”,
      “ReferenceURL”: “”
    },
    {
      “TypeId”: “com.company.audio”,
      “BelongingToTypes”: [“general.audio”],
      “FilenameExtensions”: [“.mp3”, “.wav”],
      “MIMETypes”: [“audio/mpeg”, “audio/wav”],
      “Description”: “Enterprise Audio File”,
      “ReferenceURL”: “”
    }
  ] }

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در این فایل، ما سه نوع داده سفارشی ایجاد کرده ایم: اسناد، تصاویر و فایل های صوتی، مربوط به فرمت های فایل مانند .docx، .pdf، .jpg، و .mp3 به ترتیب.مرحله دوم: استفاده از انواع داده های سفارشیدر برنامه، ما انواع داده های سفارشی را از طریق ساختار داده یکپارچه ArkData در اشیاء داده کپسوله می کنیم تا امکان کشیدن و رها کردن و اشتراک گذاری بین برنامه ها را فراهم کنیم.

import { uniformDataStruct, uniformTypeDescriptor, unifiedDataChannel } from ‘@kit.ArkData’;
let documentDetails: Record<string, string> = {
  ‘author’: ‘John Doe’,
  ‘created_at’: ‘2024-10-01’,
};
let document: uniformDataStruct.File = {
  uniformDataType: ‘com.company.document’,
  filename: ‘enterprise_document.docx’,
  filePath: ‘/documents/enterprise_document.docx’,
  details: documentDetails,
};
// Create image data
let imageDetails: Record<string,强队{“resolution”: “1920×1080”};
let image: uniformDataStruct.Image = {
  uniformDataType: ‘com.company.image’,
  url: ‘/images/enterprise_image.jpg’,
  description: ‘Enterprise Image’,
  details: imageDetails,
};
// Create audio data
let audioDetails: Record<string, string> = {
  ‘duration’: ‘120s’,
};
let audio: uniformDataStruct.Audio = {
  uniformDataType: ‘com.company.audio’,
  url: ‘/audio/enterprise_audio.mp3’,
  description: ‘Enterprise Audio File’,
  details: audioDetails,
};

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از طریق کد بالا، اسناد، تصاویر و فایل های صوتی سفارشی را در اشیاء ساختار داده استاندارد شده کپسوله کرده ایم.

2. استفاده از ساختار داده یکپارچه UDMF برای مدیریت کشیدن و رها کردن سند متقابل و اشتراک گذاری

در مرحله بعد، توابع کشیدن و رها کردن و اشتراک گذاری سند متقابل را پیاده سازی می کنیم. UDMF یک رابط ساختار داده یکپارچه را فراهم می کند که به داده ها اجازه می دهد بین برنامه های مختلف کشیده و به اشتراک گذاشته شوند.مرحله سوم: عملکرد Cross-Application Drag-and-Drop را اجرا کنیددر برنامه A، کاربران می توانند اسناد سازمانی را به ناحیه مورد نظر بکشند:

let unifiedData = new unifiedDataChannel.UnifiedData();
let documentRecord = new unifiedDataChannel.UnifiedRecord(uniformTypeDescriptor.UniformDataType.FILE, document);
let imageRecord = new unifiedDataChannel.UnifiedRecord(uniformTypeDescriptor.UniformDataType.IMAGE, image);
let audioRecord = new unifiedDataChannel.UnifiedRecord(uniformTypeDescriptor.UniformDataType.AUDIO, audio);
unifiedData.addRecord(documentRecord);
unifiedData.addRecord(imageRecord);
unifiedData.addRecord(audioRecord);
// Initiate the drag-and-drop operation to drag the data to the target application
unifiedDataChannel.setDragData(unifiedData);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در برنامه هدف B، داده های کشیده شده را دریافت می کنیم و اسناد، تصاویر و فایل های صوتی را تجزیه می کنیم:

unifiedDataChannel.getDropData().then((data) => {
  let records = data.getRecords();
  records.forEach((record) => {
  let recordType = record.getValue()[‘uniformDataType’];
  switch (recordType) {
      case ‘com.company.document’:
      console.log(‘Document received: ‘, record.getValue()[‘filename’]);
      break;
      case ‘com.company.image’:
      console.log(‘Image received: ‘, record.getValue()[‘url’]);
      break;
      case ‘com.company.audio’:
      console.log(‘Audio received: ‘, record.getValue()[‘url’]);
      break;
      default:
      console.log(‘Unknown data type received.’);
      }
  });
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این کد کشیدن و دریافت داده ها را بین برنامه ها پیاده سازی می کند و می تواند اسناد، تصاویر و فایل های صوتی شرکت را پردازش کند.

3. پیاده سازی مدیریت اشیاء توزیع شده انواع داده های سفارشی و کار مشترک بین دستگاهی

برای پشتیبانی از همگام سازی و همکاری داده های بین دستگاهی، از اشیاء داده توزیع شده برای مدیریت انواع داده های سفارشی استفاده می کنیم. از طریق اشیاء داده توزیع شده، سند اصلاح شده توسط کاربر در دستگاه A به طور خودکار با دستگاه B همگام می شود و از ثبات در چندین پایانه اطمینان حاصل می کند.مرحله چهارم: ایجاد و همگام سازی اشیاء داده های توزیع شدهدر دستگاه A، سند سفارشی را به عنوان یک شی توزیع شده همگام می کنیم:

import { distributedDataObject } from ‘@kit.ArkData’;
// Create a distributed data object
let sessionId = distributedDataObject.genSessionId();
let distributedDocument = distributedDataObject.create(this.context, document);
// Set the sessionId for synchronization
distributedDocument.setSessionId(sessionId);
// Listen to status changes
distributedDocument.on(‘status’, (sessionId: string, networkId: string, status: string) => {
  if (status == ‘restored’) {
  console.log(‘Document restored on device: ‘, networkId);
  }
});
// Save the document to Device B
let targetDeviceId = ‘device_B_network_id’; // The network ID of the target device
distributedDocument.save(targetDeviceId);

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله پنجم: سند را در دستگاه B دریافت کنید و به طور مشترک ویرایش کنیددر دستگاه B، با گوش دادن به وضعیت همگام‌سازی، می‌توان اصلاح سند روی دستگاه A را به موقع دریافت کرد:

let receivedDocument = distributedDataObject.create(this.context, null);
// Set the same sessionId to synchronize data
receivedDocument.setSessionId(sessionId);
// Listen to document synchronization
receivedDocument.on(‘change’, (sessionId: string, fields: Array<string>) => {
  fields.forEach((field) => {
  console.log(`Document field ${field} changed on session ${sessionId}`);
  });
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این کد همگام‌سازی و همکاری اسناد بین دستگاهی را تضمین می‌کند و به کاربران امکان می‌دهد اسناد را در زمان واقعی در چندین دستگاه ویرایش کنند و همه تغییرات در بین دستگاه‌ها همگام‌سازی می‌شوند.

خلاصه

از طریق این مقاله، نحوه ایجاد انواع داده‌های سفارشی و پیاده‌سازی اشتراک‌گذاری داده‌ها و همکاری در سناریوهای بین برنامه‌ای و بین دستگاهی از طریق Ark Data Management و چارچوب مدیریت داده یکپارچه HarmonyOS را نشان داده‌ایم. مراحل کلیدی عبارتند از:

انواع داده های استاندارد شده سفارشی را برای مدیریت اسناد، تصاویر و فایل های صوتی ایجاد کنید.
از UDMF برای پیاده‌سازی داده‌های متقابل کشیدن و رها کردن و اشتراک‌گذاری استفاده کنید و از تعامل یکپارچه بین برنامه‌های مختلف اطمینان حاصل کنید.
از اشیاء داده های توزیع شده برای دستیابی به همگام سازی داده ها و کار مشترک بین چندین دستگاه استفاده کنید. از طریق این فناوری‌ها، ما می‌توانیم به راحتی یک سیستم مدیریت اسناد در سطح سازمانی بسازیم و به ویرایش مشترک و اشتراک‌گذاری داده‌ها در میان پایانه‌های متعدد دست یابیم و در نتیجه تجربه کاربر را افزایش دهیم.

هدف این مقاله بررسی عمیق جزئیات فنی سیستم Huawei HarmonyOS Next (تا API 12 تا کنون) است و بر اساس شیوه‌های توسعه واقعی خلاصه می‌شود. این عمدتا به عنوان وسیله ای برای اشتراک گذاری و ارتباطات فنی عمل می کند. اشتباه و کوتاهی اجتناب ناپذیر است. از همکاران استقبال می شود که نظرات و سوالات ارزشمندی را مطرح کنند تا بتوانیم با هم پیشرفت کنیم. این مقاله محتوای اصلی است و هر نوع تجدید چاپ باید منبع و نویسنده اصلی را ذکر کند.

نمای کلی

سیستم های مدیریت اسناد در سطح سازمانی نیاز به پشتیبانی از اشتراک گذاری داده ها و کار مشترک بین برنامه ها و دستگاه ها دارند. از طریق چارچوب مدیریت داده یکپارچه (UDMF) و Ark Data Management (ArkData) Huawei HarmonyOS، ما به راحتی می‌توانیم انواع داده‌های استاندارد شده سفارشی ایجاد کنیم تا به تعامل صاف داده‌ها مانند اسناد، تصاویر و صدا بین برنامه‌ها و دستگاه‌های مختلف دست یابیم. با در نظر گرفتن مدیریت اسناد سازمانی به عنوان مثال، این مقاله نحوه ایجاد انواع داده های سفارشی و اجرای اشتراک گذاری اسناد بین دستگاهی و ویرایش مشترک در چندین برنامه را نشان می دهد.

سناریوی عملی

ما یک سیستم مدیریت اسناد سازمانی را توسعه خواهیم داد که از عملکردهای زیر پشتیبانی می کند:

  • ایجاد انواع داده های استاندارد شده سفارشی برای سند، تصویر و فایل های صوتی.
  • اجرای متقابل کشیدن و رها کردن و به اشتراک گذاری داده با استفاده از UDMF.
  • استفاده از اشیاء توزیع شده برای دستیابی به همگام سازی داده های اسناد و ویرایش مشترک در چندین دستگاه. ### 1. ایجاد انواع داده های سفارشی HarmonyOS از توسعه دهندگان برای ایجاد انواع داده های استاندارد شده سفارشی برای مدیریت داده هایی مانند اسناد سازمانی، تصاویر و صدا پشتیبانی می کند. ابتدا باید این انواع سفارشی را در آن تعریف کنیم utd.json5 فایل درخواست
    مرحله اول: انواع داده های سفارشی را برای اسناد، تصاویر و صدا تعریف کنید
{
  "UniformDataTypeDeclarations": [
    {
      "TypeId": "com.company.document",
      "BelongingToTypes": ["general.file"],
      "FilenameExtensions": [".docx", ".pdf"],
      "MIMETypes": ["application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/pdf"],
      "Description": "Enterprise Document",
      "ReferenceURL": ""
    },
    {
      "TypeId": "com.company.image",
      "BelongingToTypes": ["general.image"],
      "FilenameExtensions": [".jpg", ".png"],
      "MIMETypes": ["image/jpeg", "image/png"],
      "Description": "Enterprise Image",
      "ReferenceURL": ""
    },
    {
      "TypeId": "com.company.audio",
      "BelongingToTypes": ["general.audio"],
      "FilenameExtensions": [".mp3", ".wav"],
      "MIMETypes": ["audio/mpeg", "audio/wav"],
      "Description": "Enterprise Audio File",
      "ReferenceURL": ""
    }
  ]
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در این فایل، ما سه نوع داده سفارشی ایجاد کرده ایم: اسناد، تصاویر و فایل های صوتی، مربوط به فرمت های فایل مانند .docx، .pdf، .jpg، و .mp3 به ترتیب.
مرحله دوم: استفاده از انواع داده های سفارشی
در برنامه، ما انواع داده های سفارشی را از طریق ساختار داده یکپارچه ArkData در اشیاء داده کپسوله می کنیم تا امکان کشیدن و رها کردن و اشتراک گذاری بین برنامه ها را فراهم کنیم.

import { uniformDataStruct, uniformTypeDescriptor, unifiedDataChannel } from '@kit.ArkData';
let documentDetails: Record<string, string> = {
  'author': 'John Doe',
  'created_at': '2024-10-01',
};
let document: uniformDataStruct.File = {
  uniformDataType: 'com.company.document',
  filename: 'enterprise_document.docx',
  filePath: '/documents/enterprise_document.docx',
  details: documentDetails,
};
// Create image data
let imageDetails: Record<string,强队{"resolution": "1920x1080"};
let image: uniformDataStruct.Image = {
  uniformDataType: 'com.company.image',
  url: '/images/enterprise_image.jpg',
  description: 'Enterprise Image',
  details: imageDetails,
};
// Create audio data
let audioDetails: Record<string, string> = {
  'duration': '120s',
};
let audio: uniformDataStruct.Audio = {
  uniformDataType: 'com.company.audio',
  url: '/audio/enterprise_audio.mp3',
  description: 'Enterprise Audio File',
  details: audioDetails,
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از طریق کد بالا، اسناد، تصاویر و فایل های صوتی سفارشی را در اشیاء ساختار داده استاندارد شده کپسوله کرده ایم.

2. استفاده از ساختار داده یکپارچه UDMF برای مدیریت کشیدن و رها کردن سند متقابل و اشتراک گذاری

در مرحله بعد، توابع کشیدن و رها کردن و اشتراک گذاری سند متقابل را پیاده سازی می کنیم. UDMF یک رابط ساختار داده یکپارچه را فراهم می کند که به داده ها اجازه می دهد بین برنامه های مختلف کشیده و به اشتراک گذاشته شوند.
مرحله سوم: عملکرد Cross-Application Drag-and-Drop را اجرا کنید
در برنامه A، کاربران می توانند اسناد سازمانی را به ناحیه مورد نظر بکشند:

let unifiedData = new unifiedDataChannel.UnifiedData();
let documentRecord = new unifiedDataChannel.UnifiedRecord(uniformTypeDescriptor.UniformDataType.FILE, document);
let imageRecord = new unifiedDataChannel.UnifiedRecord(uniformTypeDescriptor.UniformDataType.IMAGE, image);
let audioRecord = new unifiedDataChannel.UnifiedRecord(uniformTypeDescriptor.UniformDataType.AUDIO, audio);
unifiedData.addRecord(documentRecord);
unifiedData.addRecord(imageRecord);
unifiedData.addRecord(audioRecord);
// Initiate the drag-and-drop operation to drag the data to the target application
unifiedDataChannel.setDragData(unifiedData);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در برنامه هدف B، داده های کشیده شده را دریافت می کنیم و اسناد، تصاویر و فایل های صوتی را تجزیه می کنیم:

unifiedDataChannel.getDropData().then((data) => {
  let records = data.getRecords();
  records.forEach((record) => {
  let recordType = record.getValue()['uniformDataType'];
  switch (recordType) {
      case 'com.company.document':
      console.log('Document received: ', record.getValue()['filename']);
      break;
      case 'com.company.image':
      console.log('Image received: ', record.getValue()['url']);
      break;
      case 'com.company.audio':
      console.log('Audio received: ', record.getValue()['url']);
      break;
      default:
      console.log('Unknown data type received.');
      }
  });
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این کد کشیدن و دریافت داده ها را بین برنامه ها پیاده سازی می کند و می تواند اسناد، تصاویر و فایل های صوتی شرکت را پردازش کند.

3. پیاده سازی مدیریت اشیاء توزیع شده انواع داده های سفارشی و کار مشترک بین دستگاهی

برای پشتیبانی از همگام سازی و همکاری داده های بین دستگاهی، از اشیاء داده توزیع شده برای مدیریت انواع داده های سفارشی استفاده می کنیم. از طریق اشیاء داده توزیع شده، سند اصلاح شده توسط کاربر در دستگاه A به طور خودکار با دستگاه B همگام می شود و از ثبات در چندین پایانه اطمینان حاصل می کند.
مرحله چهارم: ایجاد و همگام سازی اشیاء داده های توزیع شده
در دستگاه A، سند سفارشی را به عنوان یک شی توزیع شده همگام می کنیم:

import { distributedDataObject } from '@kit.ArkData';
// Create a distributed data object
let sessionId = distributedDataObject.genSessionId();
let distributedDocument = distributedDataObject.create(this.context, document);
// Set the sessionId for synchronization
distributedDocument.setSessionId(sessionId);
// Listen to status changes
distributedDocument.on('status', (sessionId: string, networkId: string, status: string) => {
  if (status == 'restored') {
  console.log('Document restored on device: ', networkId);
  }
});
// Save the document to Device B
let targetDeviceId = 'device_B_network_id'; // The network ID of the target device
distributedDocument.save(targetDeviceId);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله پنجم: سند را در دستگاه B دریافت کنید و به طور مشترک ویرایش کنید
در دستگاه B، با گوش دادن به وضعیت همگام‌سازی، می‌توان اصلاح سند روی دستگاه A را به موقع دریافت کرد:

let receivedDocument = distributedDataObject.create(this.context, null);
// Set the same sessionId to synchronize data
receivedDocument.setSessionId(sessionId);
// Listen to document synchronization
receivedDocument.on('change', (sessionId: string, fields: Array<string>) => {
  fields.forEach((field) => {
  console.log(`Document field ${field} changed on session ${sessionId}`);
  });
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این کد همگام‌سازی و همکاری اسناد بین دستگاهی را تضمین می‌کند و به کاربران امکان می‌دهد اسناد را در زمان واقعی در چندین دستگاه ویرایش کنند و همه تغییرات در بین دستگاه‌ها همگام‌سازی می‌شوند.

خلاصه

از طریق این مقاله، نحوه ایجاد انواع داده‌های سفارشی و پیاده‌سازی اشتراک‌گذاری داده‌ها و همکاری در سناریوهای بین برنامه‌ای و بین دستگاهی از طریق Ark Data Management و چارچوب مدیریت داده یکپارچه HarmonyOS را نشان داده‌ایم. مراحل کلیدی عبارتند از:

  1. انواع داده های استاندارد شده سفارشی را برای مدیریت اسناد، تصاویر و فایل های صوتی ایجاد کنید.
  2. از UDMF برای پیاده‌سازی داده‌های متقابل کشیدن و رها کردن و اشتراک‌گذاری استفاده کنید و از تعامل یکپارچه بین برنامه‌های مختلف اطمینان حاصل کنید.
  3. از اشیاء داده های توزیع شده برای دستیابی به همگام سازی داده ها و کار مشترک بین چندین دستگاه استفاده کنید. از طریق این فناوری‌ها، ما می‌توانیم به راحتی یک سیستم مدیریت اسناد در سطح سازمانی بسازیم و به ویرایش مشترک و اشتراک‌گذاری داده‌ها در میان پایانه‌های متعدد دست یابیم و در نتیجه تجربه کاربر را افزایش دهیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا