# idea-sync-utils **Repository Path**: althenwaysatan/idea-sync-utils ## Basic Information - **Project Name**: idea-sync-utils - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2025-05-08 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 便单分布式同步工具 bdSyncKV ## 约束限制: - 本示例仅支持标准系统上运行; - 本示例支持API version 12及以上版本SDK; - 本示例需要使用DevEco Studio 5.0 Release版本进行编译运行; ## 安装教程: 1. 代码克隆到本地,在DevEco Studio 工具栏中选择:文件-新建-导入-导入模块; 2. 在需要调用bdDate的模块文件**oh-package.json5**中的**dependencies**字段新增对应依赖。 ## 功能详情: ``` /** * 初始化快速同步 * @param storeId 存储ID * @param enableSync 是否同步 * @param context 应用上下文 */ initFastKV(storeId: string, enableSync: boolean, context: Context) /** * 获取存储实例 * @param storeId 存储ID * @param enableSync 是否同步 * @param context 应用上下文 * @returns 存储实例 */ getFastKVStore(storeId: string, enableSync: boolean, context: Context): Promise /** * 获取所有同步的键值对,存储在AppStorage内 * @param storeId 存储ID * @param enableSync 是否同步 * @param context 应用上下文 */ getAllFastKVValue(storeId: string, enableSync: boolean, context: Context) /** * 设置数据同步监听 * @param storeId 存储ID * @param enableSync 是否同步 * @param context 应用上下文 */ setSyncFastKVListener(storeId: string, enableSync: boolean, context: Context) /** * 设置需要同步的键值对 * @param storeId 存储ID * @param enableSync 是否同步 * @param key 键值 * @param value 数据 * @param context 应用上下文 */ setSyncFastKVValue(storeId: string, enableSync: boolean, key: string, value: string | undefined, context: Context) ``` ## 快速开始 ``` import { initFastKV, setSyncFastKVValue } from 'bdSyncKV'; // 设备A和B初始化同步(建议放在EntryAbility的onCreate回调中) initFastKV("PersonalData", true, getContext(this)) // 设备A设置生日数据 setSyncFastKVValue("PersonalData", this.isPersonalDataSync, "myBirthday", "20020606", getContext()) // 设备B接收生日数据 @StorageLink("myBirthday") @Watch('myBirthdayChanged') myBirthday: string | undefined = undefined myBirthdayChanged() { console.log(this.myBirthday) } ``` ## 注意事项 - context作为应用上下文,可以使用 getContext() 获取; - 传入的 enableSync 为 false 时将会关闭同步; - 在使用前请先确保使用 initFastKV 初始化;