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

news/2024/12/26 10:18:54/
1、Image大图使用了.blur会有性能问题,有没有平替方案?

参考demo:

async aboutToAppear(): Promise<void> {let OutData: http.HttpResponsehttp.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 = datalet code: http.ResponseCode | number = OutData.responseCodeif (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.itemthis.url=this.AdData.ad_urlconsole.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.ppmy.cn/news/1558239.html

相关文章

echarts地图可视化展示

地图可视化展示 获取地图json数据下载json数据代码示例 获取地图json数据 全国各地市json文件下载地址&#xff1a; http://datav.aliyun.com/portal/school/atlas/area_selector#&lat33.521903996156105&lng104.29849999999999&zoom4 https://hxkj.vip/demo/ech…

MySQL三层B+树能存多少条数据

参数 在InnoDB中&#xff0c;数据页的默认大小为16KB&#xff0c;可以通过修改innodb_page_size参数调整&#xff0c;真实数据存贮在聚簇索引中&#xff0c;而聚簇索引有以下的结构&#xff1a; 叶子节点页 叶子节点上存放的是完整的数据行&#xff0c;假设数据行的大小为1K…

网络安全与加密

1.Base64简单说明描述&#xff1a;Base64可以成为密码学的基石&#xff0c;非常重要。特点&#xff1a;可以将任意的二进制数据进行Base64编码结果&#xff1a;所有的数据都能被编码为并只用65个字符就能表示的文本文件。65字符&#xff1a;A~Z a~z 0~9 / 对文件进行base64编码…

记一次前端Vue项目国际化解决方案

背景 有一个vue项目&#xff0c;要实现国际化功能&#xff0c;能够切换中英文显示&#xff0c;因为该项目系统的用户包括了国内和国外用户。 需求 1、页面表单上的所有中文标签要国际化&#xff0c;包括表单属性标签、表格列头标签等&#xff0c; title“数量”&#xff1b;…

pycharm断点调试pydevd_comm.py“, line 306, in _on_run r = r.decode(‘utf-8‘)

最近在远程调试pycharm代码时发现会报错&#xff1a; pydevd_comm.py", line 306, in _on_run r r.decode(utf-8) 网上搜索说是有中文路径&#xff0c;但我的调试的文件就没有中文&#xff0c;这是什么原因呢&#xff1f; &#xff08;已解决&#xff09;pycharm…

基于深度学习(HyperLPR3框架)的中文车牌识别系统-搭建开发环境

本篇内容为搭建开发环境。包括&#xff1a;python开发环境&#xff0c;Qt/C开发环境&#xff0c;以及用到的各个库的安装和配置。 一、Python开发环境搭建与配置 1、下载并安装Anaconda 我没有用最新的版本&#xff0c;安装的是 Anaconda3-2021.05-Windows-x86_64.exe&#…

3GPP R18 MT-SDT

Rel-17 指定MO-SDT允许针对UL方向的数据包进行小数据包传输。对于DL,MT-SDT(即DL触发的小数据)可带来类似的好处,即 通过不转换到 RRC_CONNECTED来减少信令开销和UE功耗,并通过允许快速传输(小而少见的)数据包(例如用于定位)来减少延迟。 在R17中,NR_SmallData_INACTIVE的工…

打造高效租赁小程序让交易更便捷

内容概要 在如今节奏飞快的商业世界里&#xff0c;租赁小程序如同一只聪明的小狐狸&#xff0c;迅速突围而出&#xff0c;成为商家与消费者之间的桥梁。它不仅简化了交易流程&#xff0c;还在某种程度上将传统租赁模式带入了互联网时代。越来越多的企业意识到&#xff0c;这种…