Arkts加载网页url的pdf发票黑屏问题

使用模拟器会闪退,连接真机预览正常

import { HMRouter, HMRouterMgr, HMParamType, HMPageParam } from "@hadss/hmrouter";
import { BaseTitle, RouterConstants } from "commonlib";
import { webview } from '@kit.ArkWeb';
import { PDFView } from '@hjm/pdfview'
import { ImagePreview } from "@rv/image-preview";/*发票PDF查看界面*/
@HMRouter({ pageUrl: RouterConstants.INVOICE_PDF_PAGE})
@ComponentV2
export struct InvoicePDFPage {@Local invoiceUrl: string = ''; // 直接存储URLprivate webviewController: WebviewController = new webview.WebviewController()private scroller: Scroller = new Scroller()aboutToAppear(): void {// 获取传递的参数let param = HMRouterMgr.getCurrentParam(HMParamType.all);// 安全地访问参数try {const paramStr = JSON.stringify(param);console.log('接收到的参数:', paramStr);// 使用字符串匹配提取URLconst match = paramStr.match(/"invoiceUrl"\s*:\s*"([^"]+)"/);if (match && match[1]) {this.invoiceUrl = match[1];// 解码可能的URL转义字符try {this.invoiceUrl = decodeURIComponent(this.invoiceUrl);} catch (e) {// 如果解码失败,使用原始URL}console.log('提取到的发票URL:', this.invoiceUrl);} else {console.log('未找到invoiceUrl字段');}} catch (e) {console.log('参数处理失败:', e);}}build() {Column() {BaseTitle({showBackBtn: true,customTitle: this.titleBuilder,bgColor: $r('app.color.title_primary_bg'),onBack: () => {HMRouterMgr.pop()}})Scroll(this.scroller){Column(){if (this.invoiceUrl && this.invoiceUrl.length > 0) {ImagePreview() {PDFView({/* 数据源 */pdfUrl: this.invoiceUrl,})}// 不使用任何可能不存在的额外属性} else {Column() {Text("发票链接无效").fontSize($r('app.float.16_font')).fontColor($r('app.color.tips_font'))}.width('100%').height('100%').justifyContent(FlexAlign.Center)}}}}.width('100%').height('100%')}@BuildertitleBuilder() {Row() {Text($r('app.string.invoice_pdf_title')).fontSize($r('app.float.20_font')).fontColor($r('app.color.title_primary_font'))}.width('100%').justifyContent(FlexAlign.Center)}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919544.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 mongosh 设置 MongoDB 账号密码

可以使用 mongosh(MongoDB 6.0+ 的现代Shell)来设置账号密码。mongosh 是官方推荐的新一代MongoDB Shell工具,替代了传统的 mongo 命令。 【本人博文提到的ip均为随机生成的,不是实际的ip,仅供参考,如有雷同,纯属巧合】 使用 mongosh 设置 MongoDB 账号密码 1. 首先连…

HTML+CSS:浮动详解

在HTMLCSS布局中,浮动(float) 是一种经典的布局技术,用于控制元素在页面中的排列方式。它最初设计用于实现文字环绕图片的效果,后来被广泛用于复杂布局,但随着Flexbox和Grid的兴起,其使用场景有…

GPIO初始化及调用

下面把 HAL 库 和 标准外设库(SPL) 初始化 GPIO 点亮/熄灭 LED 的完整步骤、示例代码和常用 API 逐一说清楚。用例默认 PC13 接 LED(蓝板常见;低电平点亮,高电平熄灭——若板子相反,只把写 1/0 对调即可&am…

【GPT入门】第48课 LlamaFacotory 合并原模型与LoRA模型

【GPT入门】第48课 LlamaFacotory 合并原模型与LoRA模型1.合并原模型与LoRA训练的增量模型2. 测试模型1.合并原模型与LoRA训练的增量模型 llamafactory-cli webui 执行合并 合并后模型大小 (base) rootautodl-container-b4b04ea4f2-b5ee47d1:~# du -sh /root/autodl-tmp/mod…

Python爬虫实战:研究tumblr,构建博客平台数据采集分析系统

1. 引言 1.1 研究背景 在信息爆炸的时代,社交媒体平台已成为人们获取信息、表达观点和进行社交互动的主要渠道。这些平台上积累的海量数据包含了用户偏好、社会趋势、文化现象等丰富信息,对学术研究、市场分析、产品开发等领域具有重要价值。 Tumblr 作为一个综合性的轻博客…

集成算法学习总结

一、集成学习基础认知 核心思想:集成学习(ensemble learning)通过构建并结合多个个体学习器来完成学习任务,类似于 “多个专家共同决策”,通常比单个学习器的性能更优。其核心逻辑是利用多个学习器的优势互补&#xff…

线程安全的产生以及解决方案

线程安全原子性(Atomicity)、可见性(Visibility)、有序性(Ordering) 是保证线程安全的三大核心要素 —— 线程安全问题的本质,几乎都是这三个特性中的一个或多个被破坏导致的。操作不会被 “中途…

Spring Cloud Netflix学习笔记01

文章目录前言一、微服务概述什么是微服务?微服务与微服务架构微服务优缺点优点缺点微服务技术栈有那些?二.SpringCloud入门概述SpringCloud是什么?SpringCloud和SpringBoot的关系Dubbo 和 SpringCloud技术选型总结SpringCloud能干嘛&#xff…

专题:2025母婴行业消费洞察与分龄营养趋势报告|附40 +份报告PDF、交互图表数据汇总下载

原文链接:https://tecdat.cn/?p43654 当95后妈妈拿着计算器对比DHA纯度,当爸爸们为“防红屁屁纸尿裤”货比三家,母婴行业的风向早就变了。从“一把奶粉喂到3岁”到“按月龄定制营养包”,从“进口就好”到“看专利数据下单”&…

redhat6/centos6 配置yum源

由于RHEL6/centos6系统官方早就停止通知维护了,公司的开发服务器有比较老,发现竟然scp都没有装。。。今天配置个本地yum源,安装一下常规软件和开发环境比较简单,直接上代码1.上传一个centos6的iso文件CentOS-6.5-x86_64-bin-DVD1.…

day31 SQLITE

数据库相关函数数据库创建int sqlite3_open( const char *filename, sqlite3 **ppDb);功能:打开数据库,不存在则创建参数:const char *filename 数据库名sqlite3 **ppDb 二级指针,传出ppDb数据库的一级指…

嵌入式-SPI番外之按钮驱动程序的编写-Day15

目录 一、按钮简单操作回忆 二、按钮新操作实现 (1)按钮的点击实现灯亮/灭 ①连接电路 ②初始化板载LED和按钮 ③按钮程序的基本原理(核心仍为0亮/1灭) ④按钮消抖的原理 三、按钮封装的操作-点击,双击&#xf…

星域智链科技:用科技点亮生活,以 AI 拓展无限可能

星域智链科技(东莞市)有限公司简介 星域智链科技(东莞市)有限公司,理念是 让科技便利生活、丰富生活,专注于科技、AI领域。 全场景 GPS 定位器 —— 精准追踪,守护安全,适用于车辆…

国内代理IP在SEO行业中的应用

随着互联网的快速发展,SEO(搜索引擎优化)已经成为了数字营销的重要组成部分。无论是企业还是个人站长,都希望通过SEO提升自己网站的排名和流量。然而,随着竞争的激烈,传统的SEO优化手段已经逐渐显现出局限性…

Linux + arm 内存屏障

ARM 硬件层的屏障指令DMB (Data Memory Barrier):保证在它之前的内存访问(符合给定域/类型)在它之后的内存访问之前对可见性排序。常用域:ish(Inner Shareable),sy(system-wide&…

网络安全中的远程控制活动检测与防御策略

本文还有配套的精品资源,点击获取 简介:远程控制技术在IT领域中用于网络连接和设备操作,但同样被黑客利用进行非法入侵。端口占用情况是识别远程控制活动的关键因素,使用工具如"cports"可以监控这些端口。系统中未知…

UIGestureRecognizer 各个子类以及其作用

在 iOS 里,UIGestureRecognizer 是一个抽象基类,专门用来处理手势事件。它本身不能直接用,必须用它的 子类。这些子类分别对应常见的手势识别器。常见的 UIGestureRecognizer 子类及作用1. UITapGestureRecognizer作用:点击手势&a…

计算机网络 HTTPS 全流程

HTTPS 通信的全流程(特别是 TLS 握手阶段)中使用的三个随机数是保障安全性的核心设计,不能随意减少。每个随机数都承担着至关重要的安全职责。下面详细解释 HTTPS 全流程,并重点分析这三个随机数的作用和必要性:&#…

DL00271-基于YOLOv11的激光雷达LiDAR船舶目标检测含完整数据集

【CSDN推荐】基于YOLOv11的激光雷达(LiDAR)船舶目标检测——含完整数据集!🚢 科研人员必看! 高校老师、学生和研究者们,前沿技术来了!本论文利用YOLOv11模型,结合激光雷达&#xff0…

SQL-leetcode—3374. 首字母大写 II

3374. 首字母大写 II 表:user_content -------------------- | Column Name | Type | -------------------- | content_id | int | | content_text| varchar | -------------------- content_id 是这张表的唯一主键。 每一行包含一个不同的 ID 以及对应的文…