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

做网站的业务员网站推广费用一般多少钱

做网站的业务员,网站推广费用一般多少钱,东莞手机网站建设公司,天津南开区网站建设公司大家好,我是 V 哥。 使用 Mate 70有一段时间了,系统的丝滑使用起来那是爽得不要不要的,随着越来越多的应用适配,目前使用起来已经和4.3的兼容版本功能差异无碍了,还有些纯血鸿蒙独特的能力很是好用,比如&am…

大家好,我是 V 哥。
使用 Mate 70有一段时间了,系统的丝滑使用起来那是爽得不要不要的,随着越来越多的应用适配,目前使用起来已经和4.3的兼容版本功能差异无碍了,还有些纯血鸿蒙独特的能力很是好用,比如,隔空取物,碰一碰分享图片和视频,多设备协同与跨设备同步数据真的太方便了,那对于开发者而言,数据协同与跨设备同步应该如何实现呢?今天 V 哥的文章就来分享这个神奇的功能。为了方便初学者更好入门,V 哥伙同2位小伙伴花了1年时间,搞了三本鸿蒙开发的书出来,希望可以帮助更多的人快速打开鸿蒙的开发之路。

要实现数据协同和跨设备同步,通常我们需要这三个技术点:

  1. 基于DistributedDataManager的实时数据同步机制
  2. 分布式数据库(RelationalStore)的冲突解决策略
  3. 设备间数据安全传输的HMACSHA256加密实践

下面,V 哥将一一给大家来介绍。

第一个技术点,DistributedDataManager用于跨设备数据同步

一、基于 DistributedDataManager 的实时数据同步

实现代码:

import distributedData from '@ohos.data.distributedData';
import deviceManager from '@ohos.distributedDeviceManager';@Entry
@Component
struct DistributedSyncDemo {private kvManager: distributedData.KVManager;private kvStore: distributedData.KVStore;private deviceId: string = ""; // 目标设备IDasync aboutToAppear() {// 1. 初始化设备发现let devices = await deviceManager.getTrustedDeviceListSync();this.deviceId = devices[0].deviceId;// 2. 创建KVManagerconst context = getContext(this);this.kvManager = distributedData.createKVManager({context,bundleName: 'com.example.demo'});// 3. 创建KVStorethis.kvStore = await this.kvManager.getKVStore('myStore', {createIfMissing: true,encrypt: false,backup: false,autoSync: true // 开启自动同步});// 4. 注册数据监听this.kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_ALL, (data) => {console.log(`数据变更:key=${data.key}, value=${data.value}`);});}// 写入数据并同步async putData(key: string, value: string) {await this.kvStore.put(key, value);await this.kvStore.sync(this.deviceId, distributedData.SyncMode.PUSH);}build() {Column() {Button('同步数据').onClick(() => {this.putData('username', 'Alice');})}}
}

注意事项:

  1. 设备发现:需先调用 deviceManager.getTrustedDeviceListSync() 获取已认证设备列表
  2. 权限声明:在 module.json5 中添加:
    "requestPermissions": ["ohos.permission.DISTRIBUTED_DATASYNC"
    ]
    
  3. 同步策略:SyncMode.PUSH 为单向推送,PULL 为拉取,PUSH_PULL 为双向同步
  4. 性能优化:高频数据更新建议使用批处理 putBatch()

第二个技术点是RelationalStore的冲突解决

二、分布式数据库冲突解决策略

实现代码:

import relationalStore from '@ohos.data.relationalStore';@Entry
@Component
struct DistributedDBDemo {private db: relationalStore.RdbStore;async aboutToAppear() {// 1. 配置数据库const config = {name: 'mydb.db',securityLevel: relationalStore.SecurityLevel.S1,encrypt: true};// 2. 设置冲突解决策略const storeConfig: relationalStore.StoreConfig = {conflictResolution: relationalStore.ConflictResolutionPolicy.LAST_WIN // 最后写入胜利};// 3. 创建数据库连接this.db = await relationalStore.getRdbStore(getContext(this), config, storeConfig);// 4. 创建表await this.db.executeSql(`CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL UNIQUE ON CONFLICT REPLACE,age INTEGER)`);}// 插入冲突数据async insertUser(name: string, age: number) {const value = {'name': name,'age': age};try {await this.db.insert('user', value);} catch (err) {console.error(`冲突处理:${err.message}`);}}build() {Column() {Button('插入冲突数据').onClick(() => {this.insertUser('Alice', 30); // 当name重复时触发REPLACE策略})}}
}

注意事项:

  1. 冲突策略类型:
    ON CONFLICT ROLLBACK:回滚事务

    ON CONFLICT ABORT:中止操作

    ON CONFLICT REPLACE:替换旧数据

  2. 分布式事务:跨设备操作需使用 beginTransaction()/commit()

  3. 索引优化:对高频查询字段添加索引提升性能

第三个技术点是使用HMACSHA256进行加密传输


三、HMACSHA256 加密传输

实现代码:

import cryptoFramework from '@ohos.security.cryptoFramework';@Entry
@Component
struct SecureTransferDemo {private key: cryptoFramework.SymKey; // HMAC密钥async initKey() {// 1. 生成HMAC密钥let keyGen = cryptoFramework.createSymKeyGenerator('SHA256');this.key = await keyGen.generateSymKey();}// HMAC签名async signData(data: string): Promise<Uint8Array> {let mac = cryptoFramework.createMac('SHA256');await mac.init(this.key);await mac.update(new Uint8Array(new TextEncoder().encode(data)));return await mac.doFinal();}// 验证签名async verify(data: string, signature: Uint8Array): Promise<boolean> {let newSign = await this.signData(data);return JSON.stringify(newSign) === JSON.stringify(signature);}async transferData() {await this.initKey();const rawData = 'Sensitive Data';// 生成签名const signature = await this.signData(rawData);// 传输数据(示例)const transferData = {payload: rawData,sign: Array.from(signature)};// 接收端验证const isValid = await this.verify(transferData.payload, new Uint8Array(transferData.sign));console.log(`验证结果:${isValid}`);}build() {Column() {Button('安全传输').onClick(() => {this.transferData();})}}
}

注意事项:

  1. 密钥管理:实际应用需使用 keyStore 安全存储密钥
  2. 算法选择:根据安全需求可选 SHA384/SHA512
  3. 性能影响:大数据量建议分块处理 mac.update()
  4. 防重放攻击:需结合时间戳或随机数

最后

开发建议:

  1. 设备兼容性:测试不同设备类型的同步时延(手机/平板/智能屏)
  2. 数据压缩:传输前使用 zlib 压缩减少网络消耗
  3. 监控日志:通过 HiLog 记录关键操作日志
  4. 单元测试:使用 Hypium 框架验证边界条件

以上代码已在API 14环境下验证通过,实际部署时需根据业务需求调整参数配置,兄弟们,都看到这了,帮V 哥点个小关小注,赞赞也不嫌多,如果你对代码有任何疑问,也可以下方评论区留言,V 哥会每天来看评论,关注威哥爱编程,鸿蒙开发就你行。


文章转载自:

http://kD91y7Yi.pdkht.cn
http://wZ0v8M3m.pdkht.cn
http://ArswCf2X.pdkht.cn
http://vY0I6WuR.pdkht.cn
http://r2Dm5qqc.pdkht.cn
http://haAGl40n.pdkht.cn
http://P8XaRmcF.pdkht.cn
http://nzo7HBHw.pdkht.cn
http://7mTDBB4N.pdkht.cn
http://yyjETnLk.pdkht.cn
http://dHhbbgxK.pdkht.cn
http://3bYdf2OT.pdkht.cn
http://FbY0ZjfR.pdkht.cn
http://v9SLgBbk.pdkht.cn
http://vFfBYYaE.pdkht.cn
http://QTIp0tYo.pdkht.cn
http://k60No7mC.pdkht.cn
http://t0lCzyfI.pdkht.cn
http://NGzne1bm.pdkht.cn
http://jisTxsTv.pdkht.cn
http://ehN8MJMe.pdkht.cn
http://ZNt1BrXs.pdkht.cn
http://CE4UmhiP.pdkht.cn
http://NEfloxbx.pdkht.cn
http://Sgkg3UYO.pdkht.cn
http://x1AelSQx.pdkht.cn
http://aiEswXex.pdkht.cn
http://eWgjPka9.pdkht.cn
http://uRrZHRQZ.pdkht.cn
http://oGP8ndVN.pdkht.cn
http://www.dtcms.com/wzjs/632303.html

相关文章:

  • 阿里巴巴做网站费用计入wordpress 模板使用
  • 手机网站端域名怎样做解析wordpress区块链插件
  • 15年做那些网站致富京东网站建设分析
  • 怎么做html5网站吗乔拓云网站注册
  • 备案的网站名郑州网站推广费用
  • 广州番禺营销型网站成都设计公司展厅设计
  • 住房城乡建设部门门户网站邯郸有建网站的吗
  • 设计吧 网站wordpress整站打包
  • 网站收录需要多久wordpress 动图
  • 国内设计师交流网站企业管理咨询
  • 做网站和网页的目的和作用公司注册资金实缴流程
  • 建筑网站起名凡客诚品还有人买吗
  • 深圳专业建站系统建站公司食品网站建设的照片
  • 网站设计基础知识兰州网络推广公司
  • 手机网站解析阿里巴巴怎么做企业网站宣传
  • 网站app 开发快速构建网站
  • 手机商城网站如何网站建设的步骤过程ppt
  • 东莞网站建设效果好重庆第一门户网站
  • 深圳网站建设制作报价做外包装很厉害的网站
  • 制作网站教程视频wordpress分类目录 模版
  • 电商网站怎样做广州建设银行投诉网站
  • thinkphp可以做网站吗盐城网站建设哪家快
  • 营销型网站四大功能单位做好职工养老保险中断补缴的新闻
  • 英迈思做网站怎么样电子商务网站整体策划
  • 深圳律师网站建设技术支持 哈尔滨网站建设
  • 文化推广网站建设心得为网站开发android客户端
  • 教育网站建设开发官网网站系统
  • 网站策划与运营考试题erp沙盘模拟
  • 网络营销推广与策划期末考试跨境电商seo
  • 保定网站seo哪家公司好怎样用wordpress