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

【每日学点鸿蒙知识】大图性能问题、WebView加载网页问题、H5页面数据更新问题、安全控件位置影响数据保存、企业内部应用发布

1、Image大图使用了.blur会有性能问题,有没有平替方案?

参考demo:

async aboutToAppear(): Promise<void> {
  let OutData: http.HttpResponse
  http.createHttp().request("http:myURL.jpg",
  (error: BusinessError, data: http.HttpResponse) => {
  if (error) {
    console.error(`http reqeust failed with. Code: ${error.code}, message: ${error.message}`);
  } else {
  OutData = data
  let code: http.ResponseCode | number = OutData.responseCode
  if (http.ResponseCode.OK === code) {
  let imageData: ArrayBuffer = OutData.result as ArrayBuffer;
  let imageSource = image.createImageSource(imageData.slice(0));
  imageSource.createPixelMap().then(async pixelMap => {
  let radius = 15;
  let headFilter = effectKit.createEffect(pixelMap);
  if (headFilter != null) {
  headFilter.blur(radius);
}
this.img = await headFilter.getEffectPixelMap();
})
}
}
2、HarmonyOS WebviewController 加载的网页不显示?
controller: web_webview.WebviewController = new web_webview.WebviewController()
  onPageShow() {
    const params:Params = router.getParams() as Params; // 获取传递过来的参数对象
    if (params) {
      let resultJson: Params = new Params();
      resultJson.item=params.item;
      this.AdData=resultJson.item
      this.url=this.AdData.ad_url
      console.info('http opageshow:' + this.url);
      //日志 http opageshow: https://www.huawei.com/
    }
  }
  build() {
    Column() {
      this.Title()
      Web({src:this.url, controller: this.controller })
// Web({ src: 'https://www.huawei.com', controller: this.controller })
// 这样可以显示。是哪里不对?
    }
    .width(CommonConstants.FULL_WIDTH)
    .height(CommonConstants.FULL_HEIGHT)
    .backgroundColor($r('app.color.page_background'))
  }

从代码里看到渲染web是在build方法内,而获取url是在onPageShow方法内,由于build先于onPageShow执行,因此加载web时并没有获取到url,应该在 aboutToAppear方法内获取url,这样即可正确加载

3、使用webview组件时,怎么清空H5页面的localstorage数据,混合开发的场景,切换账号后,H5页面的数据没更新

removeCache清除应用中的资源缓存文件,此方法将会清除同一应用中所有webview的缓存文件。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#removecache

4、HarmonyOS savebutton的使用影响图片保存?

savebutton位置影响保存功能,SaveButton和Text的位置互换,会影响保存的功能。

Row() {
  SaveButton({ text: SaveDescription.SAVE, buttonType: ButtonType.Normal })
    .fontColor(Color.White)
    .backgroundColor(Color.Black)
    .width(100)
    .onClick(async () => {
      if (this.imgBuffersMap.get(this.selectedIndex - 1)) {
        this.saveImage(this.imgBuffersMap.get(this.selectedIndex - 1)).then(() => {
          promptAction.showToast({
            message: $r("app.string.saveImgSuccess"),
            duration: 2000
          })
        }).catch(() => {
          promptAction.showToast({
            message: $r("app.string.saveImgFail"),
            duration: 2000
          })
        })
      }
    })
  Text(this.selectedIndex + "/" + this.imgUrls.length)
    .fontColor(Color.White)
    .fontSize(FontSizeUtil.getFontSize(15))
    .padding({ right: adapt(20) })
}
.width("100%")
.justifyContent(FlexAlign.SpaceBetween)
.padding({ bottom: adapt(30) })

当前控件要求:安全控件不能放到屏幕边缘,如果超出屏幕范围一点也会失败。请参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/security-component-overview-V5#ZH-CN_TOPIC_0000001884756418__%E7%BA%A6%E6%9D%9F%E4%B8%8E%E9%99%90%E5%88%B6

运作机制如下:
开发者调用接口时,运作流程如图所示。
在这里插入图片描述

  1. 应用开发者在ETS文件中集成安全控件,通过JS引擎解析后,在ArkUI框架中生成具体的控件。
  2. 安全控件注册控件信息到安全控件管理服务,安全控件管理服务检查控件信息的合法性。
  3. 用户点击事件分发到安全控件。
  4. 安全控件将点击事件上报到安全控件管理服务。
  5. 安全控件管理服务根据控件种类对应不同权限,调用权限管理服务进行临时授权。
  6. 授权成功后,安全控件回调OnClick通知应用层授权成功。
  7. 应用调用相应的特权操作,如获取地理位置、读取剪贴板信息、媒体库中创建文件等。
  8. 不同类型的安全控件,对于权限的使用方式不同、授权的有效期也不同,详情请查阅具体安全控件的开发指导。
  9. 对应的服务会调用权限管理服务或安全控件管理服务,获取授权结果,返回鉴权结果。
5、HarmonyOS 发布企业内部应用,证书类型没有“组织内部发布证书”这个选项?

发布企业内部应用请参考下面文档,需要注册新账号,不能使用之前的旧账号 参考文档:
https://developer.huawei.com/consumer/cn/doc/app/agc-help-harmonyos-internalrelease-0000001756878768

发布流程:
在这里插入图片描述


http://www.kler.cn/a/452028.html

相关文章:

  • LabVIEW软件开发的未来趋势
  • GFPS扩展技术原理(七)-音频切换消息流
  • 发际线不断后移,生发液排行榜第一名,让绒毛碎发爆出来
  • 【C++基础】09、结构体
  • 云原生后端开发(一)
  • 大语言模型学习工具及资源总结和落地应用
  • 双重判定锁来解决缓存击穿问题
  • VTK知识学习(27)- 图像基本操作(二)
  • Cyberchef实用功能之-批量提取XML数据文件的字段内容
  • Win10提示“缺少fbgemm.dll”怎么办?缺失fbgemm.dll文件的修复方法来啦!
  • 4-pandas常用操作
  • LeetCode:257. 二叉树的所有路径
  • 一、后端到摄像头(监控摄像头IOT)
  • Docker--宿主机执行docker容器的命令
  • 【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(三):基于BT行为树实现复杂敌人BOSS-AI
  • MVC 参考手册
  • Flink中并行度和slot的关系——任务和任务槽
  • VUE前端实现防抖节流 Lodash
  • TCN-Transformer+LSTM多变量回归预测(Matlab)添加气泡图、散点密度图
  • “自动驾驶第一股” 图森未来退市转型:改名 CreateAI、发布图生视频大模型 “Ruyi”
  • 大模型-Dify使用笔记
  • QT安装5.15之后的版本和安装后添加其他漏装模块
  • mac中idea中英文版本切换
  • 金融数据可视化实现
  • mac启ssh服务用于快速文件传输
  • [创业之路-204]:《华为战略管理法-DSTE实战体系》- 5-平衡记分卡绩效管理