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

Python中构建终端应用界面利器——Blessed模块

在现代开发中,命令行应用已经不再仅仅是一个简单的文本输入输出工具。随着需求的复杂化和用户体验的重视,终端界面也逐渐成为一个不可忽视的设计环节。

如果你曾经尝试过开发终端UI,可能对传统的 print() 或者 input() 函数感到不满足,它们虽然功能简单,却无法提供足够的灵活性。而像 curses 这样的库,虽然功能强大,但往往让开发者感到繁琐与复杂。

在这个背景下,Blessed 库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑。今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高效的。

一、安装与配置:简单、快速、无障碍

首先,安装 Blessed 极其简单,只需通过 pip 安装:

pip install blessed 

它支持 Python 3.6 及以上版本,并且在 Windows、Linux 和 macOS 平台上均可顺利运行,无需额外配置,完全可以跨平台使用。

二、基本功能:从彩色文本到动态交互

1. 显示基本内容

在cmd终端中,显示一些基础的文本和控制符号是最常见的需求。 Blessed 提供了非常简洁的接口来完成这一任务。

from blessed import Terminalterm = Terminal()# 清屏并显示彩色文本
print(term.clear)
print(term.red + 'Hello' + term.normal + ' World!')# 在指定位置显示文本
with term.location(x=6, y=5):print('此文本位于第5行,第6列') 

Blessed 的强大之处在于它支持链式操作。你可以将颜色、样式和文本位置等特性流畅地组合在一起,极大地简化了代码的复杂度。

实际显示:

彩色显示打印的文字

2. 创建链接和特殊效果

你还可以在终端中创建可点击的链接:

print(term.link('点击这里', 'https://baidu.com')) 

这样,终端不仅能显示静态文本,还能为用户提供丰富的交互功能。

三、进阶技巧:动画效果与进度条

1. 实现动态进度条

Blessed 使得在终端中创建实时动态效果变得异常简单。假设你需要在终端显示一个进度条,只需几行代码即可完成。

from blessed import Terminal
import timeterm = Terminal()def display_progress_bar(percent):with term.location(y=10):print(term.center(f'{term.green}进度: [{term.white}{"#" * int(percent / 2):<50}{term.green}] {percent}%'))# 展示进度条动画
for i in range(101):display_progress_bar(i)time.sleep(0.05)

通过这种方式,你可以创建具有视觉吸引力的进度条,并且实时更新。结合 sleep() 函数,你可以轻松模拟任何类型的动态进度。

最终效果可以通过ipython更加清晰地显示出来,如下图所示:

进度条显示

2. 键盘输入与交互

Blessed 不仅限于显示文本,它还支持键盘输入的实时监测。通过这个功能,你可以轻松创建交互式终端应用。例如,我们可以捕捉键盘输入并进行相应的处理。

with term.cbreak():while True:key = term.inkey()if key.is_sequence:if key.name == 'KEY_ESC':breakprint(f'按下了特殊键: {key.name}')else:print(f'按下了字符: {key}')

上面的代码可以帮助我们实现一个简单的交互系统,当用户按下特殊键时,可以触发相应的事件。

四、实战案例:构建一个终端菜单系统

我们来看一个实际的应用场景,使用 Blessed 来构建一个简单的终端菜单系统。这个系统会显示一个菜单,让用户选择操作,支持通过上下箭头选择和回车确认。

from blessed import Terminal
import systerm = Terminal()def show_menu(options, selected=0):with term.fullscreen():print(term.clear)print(term.center('  主菜单'))print()for idx, option in enumerate(options):if idx == selected:print(term.center(f'{term.black_on_white} > {option} < {term.normal}'))else:print(term.center(f'   {option}   '))def main():options = ['新建项目', '打开文件', '系统设置', '退出']current = 0with term.cbreak(), term.hidden_cursor():while True:show_menu(options, current)key = term.inkey()if key.is_sequence:if key.name == 'KEY_UP':current = (current - 1) % len(options)elif key.name == 'KEY_DOWN':current = (current + 1) % len(options)elif key.name == 'KEY_ENTER':if current == len(options) - 1:sys.exit(0)if __name__ == '__main__':main()

这个菜单系统不仅可以显示在终端中,还支持用户通过键盘进行操作,增强了命令行界面的交互性。

五、总结与展望:终端UI开发的未来

Blessed 的优点不仅体现在它的简洁优雅的API设计上,还在于它提供了强大的终端控制能力。无论是简单的彩色文本显示,还是复杂的动态交互界面,Blessed 都能轻松应对。它的跨平台兼容性以及丰富的功能支持使其成为终端UI开发的理想工具。

随着命令行工具的持续流行,我们相信 Blessed 将会在终端应用开发领域占据越来越重要的地位。它不仅能帮助开发者轻松创建美观的终端界面,还能带来更加流畅和专业的用户体验。

终端UI开发不再是开发者的头痛问题,借助 Blessed,每个人都能轻松掌控终端界面的设计与交互,打造既美观又高效的命令行工具。强列推荐使用Blessed开发命令行工具。

相关文章:

Python中构建终端应用界面利器——Blessed模块

在现代开发中&#xff0c;命令行应用已经不再仅仅是一个简单的文本输入输出工具。随着需求的复杂化和用户体验的重视&#xff0c;终端界面也逐渐成为一个不可忽视的设计环节。 如果你曾经尝试过开发终端UI&#xff0c;可能对传统的 print() 或者 input() 函数感到不满足&#…...

【Python】 基于Python实现日志聚合与分析工具:利用Logstash与Fluentd构建高效分布式日志系统

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在分布式系统中,日志数据的生成速度和数量呈指数级增长,传统的日志管理方式已无法满足现代企业对实时性、可扩展性和高效性的需求。本文深…...

汽车网络安全基线安全研究报告

一、引言 随着汽车行业朝着智能网联方向飞速发展&#xff0c;汽车网络安全已成为保障用户安全和行业健康发展的关键要素。本报告将深入探讨汽车网络安全相关内容&#xff0c;以及国际、国内重要的汽车网络安全标准基线和相应防护措施等内容。 二、汽车网络安全的重要性 &…...

[pdf、epub]260道《软件方法》强化自测题业务建模需求分析共216页(202412更新)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 260道《软件方法》强化自测题业务建模需求分析共216页&#xff08;202412更新&#xff09; 已上传到本CSDN账号的资源 如果下载不到&#xff0c;也可以访问以下链接&#xff1a; ht…...

工业4.0和MES(制造执行系统)方案(附实践资料)

工业4.0和MES&#xff08;制造执行系统&#xff09;方案是智能制造领域中的关键组成部分&#xff0c;它们共同推动着制造业的数字化转型。以下是工业4.0和MES方案的一些核心要点&#xff1a; 智能制造背景&#xff1a; 工业4.0是第四次工业革命&#xff0c;它结合了信息通信技术…...

机器视觉中的单线程、多线程与跨线程:原理与应用解析

在机器视觉应用中&#xff0c;程序的运行效率直接影响到系统的实时性和稳定性。随着任务复杂度的提高&#xff0c;单线程处理往往无法满足高性能需求&#xff0c;多线程技术因此被广泛应用。此外&#xff0c;跨线程操作&#xff08;如在多线程中更新界面或共享资源&#xff09;…...

性能测试瓶颈:CPU 问题的深度分析和调优

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 我们做性能测试的时候&#xff0c;除了使用工具编写脚本并执行之外&#xff0c;最核心的工作就是做性能测试结果分析和问题调优。然后在做性能测试的时候&#xf…...

云手机与Temu矩阵:跨境电商运营新引擎

云手机与 Temu 矩阵结合的基础 云手机技术原理 云手机基于先进的 ARM 虚拟化技术&#xff0c;在服务器端运行 APP。通过在服务器上利用容器虚拟化软件技术&#xff0c;能够虚拟出多个独立的手机操作系统实例&#xff0c;每个实例等同于一部单独的手机&#xff0c;可独立运行各…...

Oracle考试多少分算通过?

OCP和OCM认证的考试及格分数并不是固定的&#xff0c;而是根据考试的难度和考生的整体表现来确定。对于OCP认证&#xff0c;考生需要全面掌握考试要求的知识和技能&#xff0c;并在考试中表现出色才有可能通过。而对于OCM认证&#xff0c;考生则需要在每个模块中都达到一定的水…...

【UE5.3.2】安装metahuman插件

Unable to find plugin ‘MetaHuman’报错 Unable to find plugin MetaHuman (referenced via RPect_5_3.uproject). Install it and try again, or remove it from the required plugin list. 10>Microsoft.MakeFile.Targets(44,5): Error MSB3073 :...

python lambda函数用法

在Python中&#xff0c;lambda函数是一种用于创建匿名函数的简便方式。它允许你快速定义一个简单的函数&#xff0c;而不需要使用传统的def语句。lambda函数通常用于一次性的操作或作为参数传递给其他函数。 lambda函数的语法&#xff1a; lambda 参数1, 参数2, ... : 表达式l…...

acitvemq AMQP:因为消息映射策略配置导致的MQTT接收JMS消息乱码问题 x-opt-jms-dest x-opt-jms-msg-type

使用ActiveMQ&#xff08;5.14.5&#xff09;作消息系统服务的场景下&#xff0c; 当我用Apache Qpid Proton发送消息(使用AMQP协议)发送JMS消息&#xff0c;用Paho MQTT接收消息的时候&#xff0c; 收到的消息前面总是有一串乱码&#xff0c;大概就是这样&#xff1a; 4Sp?AS…...

ida的使用

一.ida的基本设置 在IDA的安装根目录下有许多文件夹&#xff0c;各个文件夹存储不同的内容 1.目录结构 cfg&#xff1a;包含各种配置文件&#xff0c;基本IDA配置文件ida.cfg,GUI配置文件idagui.cfg&#xff0c;文本模式用户界面配置文件idatui.cfg, idc&#xff1a;包含…...

archery docker安装

#下载Archery-1.11.3.tar.gz https://codeload.github.com/hhyo/Archery/tar.gz/refs/tags/v1.11.3 cd /root tar -zxvf Archery-1.11.3.tar.gz cd /root/Archery-1.11.3/src/docker-compose #启动 docker compose -f docker-compose.yml up -d#表结构初始化 docker exec -ti a…...

【zookeeper核心源码解析】第四课:客户端与服务端读写的io核心流程

系列文章目录 【zookeeper核心源码解析】第一课&#xff1a;zk启动类核心流程序列图 【zookeeper核心源码解析】第二课&#xff1a;俯瞰QuorumPeer启动核心流程&#xff0c;实现选举关键流程 【zookeeper核心源码解析】第三课&#xff1a;leader与follower何时开始同步&#…...

影刀进阶指令 | Kimi (对标ChatGPT)

文章目录 影刀进阶指令 | Kimi &#xff08;对标ChatGPT&#xff09;一. 需求二. 流程三. 实现3.1 流程概览3.2 流程步骤讲解1\. 确定问题2\. 填写问题并发送3\. 检测答案是否出完 四. 运维 影刀进阶指令 | Kimi &#xff08;对标ChatGPT&#xff09; 简单讲讲RPA调用kimi实现…...

Linux第99步_Linux之点亮LCD

主要学习如何在Linux开发板点亮屏&#xff0c;以及modetest命令的实现。 很多人踩坑&#xff0c;我也是一样。关键是踩坑后还是实现不了&#xff0c;这样的人确实很多&#xff0c;从群里可以知道。也许其他人没有遇到这个问题&#xff0c;我想是他运气好。 1、修改设备树 1)、…...

【C++决策和状态管理】从状态模式,有限状态机,行为树到决策树(三):基于BT行为树实现复杂敌人BOSS-AI

前言 &#xff08;题外话&#xff09;nav2系列教材&#xff0c;yolov11部署,系统迁移教程我会放到年后一起更新&#xff0c;最近年末手头事情多&#xff0c;还请大家多多谅解。回顾我们整个学习历程&#xff0c;我们已经学习了很多C的代码特性&#xff0c;也学习了很多ROS2的跨…...

SpringCloudAlibaba技术栈-Higress

1、什么是Higress? 云原生网关&#xff0c;干啥的&#xff1f;用通俗易懂的话来说&#xff0c;微服务架构下Higress 就像是一个智能的“交通警察”&#xff0c;它站在你的网络世界里&#xff0c;负责指挥和调度所有进出的“车辆”&#xff08;也就是数据流量&#xff09;。它的…...

《信息传播:人工智能助力驱散虚假信息阴霾》

在信息爆炸的时代&#xff0c;虚假信息和谣言如同脱缰野马&#xff0c;肆意传播&#xff0c;对社会秩序和公众生活造成了严重影响。人工智能作为一种强大的技术工具&#xff0c;正逐渐成为信息传播的有力助手&#xff0c;为防止虚假信息和谣言扩散提供了新的途径。 虚假信息和…...

玩客云v1.0 刷机时无法识别USB

v1.0刷机时公对公插头掉了&#xff0c;刷机失败&#xff0c;再次刷机&#xff0c;一直提示无法识别的USB设备&#xff0c;此时LED一直不亮&#xff0c;就像是刷成砖了一样&#xff0c;查了好多文章最后发现正面还有一个地方需要短接。 背面的短接点 【免费】玩客云刷机包s805-…...

STM32F103RCT6学习之五:ADC

1.ADC基础 ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁12位逐次逼近型ADC&#xff0c;1us转换时间 输入电压范围&#xff1a;0~3.3V&#xff…...

通过Cephadm工具搭建Ceph分布式存储以及通过文件系统形式进行挂载的步骤

1、什么是Ceph Ceph是一种开源、分布式存储系统&#xff0c;旨在提供卓越的性能、可靠性和可伸缩性。它是为了解决大规模数据存储问题而设计的&#xff0c;使得用户可以在无需特定硬件支持的前提下&#xff0c;通过普通的硬件设备来部署和管理存储解决方案。Ceph的灵活性和设计…...

flink+kafka实现流数据处理学习

在应用系统的建设过程中&#xff0c;通常都会遇到需要实时处理数据的场景&#xff0c;处理实时数据的框架有很多&#xff0c;本文将以一个示例来介绍flinkkafka在流数据处理中的应用。 1、概念介绍 flink&#xff1a;是一个分布式、高可用、高可靠的大数据处理引擎&#xff0c…...

SpringBoot使用外置的Servlet容器(详细步骤)

嵌入式Servlet容器&#xff1a;应用打成可执行的jar 优点&#xff1a;简单、便携&#xff1b; 缺点&#xff1a;默认不支持JSP、优化定制比较复杂.&#xff1b; 外置的Servlet容器&#xff1a;外面安装Tomcat---应用war包的方式打包&#xff1b; 操作步骤&#xff1a; 方式一&…...

C# 中的委托与事件:实现灵活的回调机制

C#中的委托&#xff08;Delegate&#xff09;和事件&#xff08;Event&#xff09;。委托和事件是C#中非常重要的特性&#xff0c;它们允许你实现回调机制和发布-订阅模式&#xff0c;从而提高代码的灵活性和解耦程度。通过使用委托和事件&#xff0c;你可以编写更加模块化和可…...

大模型辅助测试的正确打开方式?

测试的基本目的之一&#xff0c;是对被测对象进行质量评估。换言之&#xff0c;是要提供关于被测对象质量的“确定性”。因此&#xff0c;我们很忌讳在测试设计中引入“不确定性”&#xff0c;比如采用不可靠的测试工具、自动化测试代码逻辑复杂易错、测试选择假设过于主观等等…...

设计模式之代理模式

代理模式代码示例&#xff1a;https://blog.csdn.net/weixin_39865508/article/details/141924680 代理模式的左右&#xff0c;一定程度上不暴露被代课对象的内容&#xff0c;更安全&#xff0c;也减少系统的耦合性 静态代理 代理对象和被代理对象都继承同一个接口 在代理对象…...

win11中win加方向键失效的原因

1、可能是你把win键锁了&#xff1a; 解决办法&#xff1a;先按Fn键&#xff0c;再按win键 2、可能是可能是 贴靠窗口设置 中将贴靠窗口关闭了&#xff0c;只需要将其打开就好了...

Html——11. 页面跳转

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>页面跳转</title><meta http-equiv"refresh" content"5; urlhttps://www.51zxw.net"/><!--<meta http-equiv"refresh" co…...

要查询 `user` 表中 `we_chat_open_id` 列不为空的用户数量

要查询 user 表中 we_chat_open_id 列不为空的用户数量&#xff0c;你可以使用以下 SQL 查询语句&#xff1a; SELECT COUNT(*) FROM user WHERE we_chat_open_id IS NOT NULL AND we_chat_open_id ! ;解释&#xff1a; SELECT COUNT(*): 表示要计算符合条件的行数。FROM us…...

docker-compos mysql5.7主从配置

docker-compos mysql5.7主从配置 docker-compose目录结构 配置文件 master/my.cnf [client] port 3306 socket /var/run/mysqld/mysqld.sock[mysqld_safe] pid-file /var/run/mysqld/mysqld.pid socket /var/run/mysqld/mysqld.sock nice 0…...

关于无线AP信道调整的优化(锐捷)

目录 一、信道优化的基本原则二、2.4G频段信道优化三、5G频段信道优化四、信道优化代码具体示例五、其他优化措施 一、信道优化的基本原则 信道优化旨在减少信道间的干扰&#xff0c;提高网络覆盖范围和信号质量。基本原则包括&#xff1a; 1. 选择合适的信道&#xff1a;根据…...

Flask入门一(介绍、Flask安装、Flask运行方式及使用、虚拟环境、调试模式、配置文件、路由系统)

文章目录 一、Flask介绍二、Flask创建和运行 1.安装2.快速使用3.Flask小知识4.flask的运行方式 三、Werkzeug介绍四、Jinja2介绍五、Click CLI 介绍六、Flask安装 介绍watchdog使用python–dotenv使用&#xff08;操作环境变量&#xff09; 七、虚拟环境 介绍Mac/linux创建虚拟…...

解决Docker国内网络问题

6月后以来&#xff0c;大量Docker镜像网站停服&#xff0c;Docker无法下载安装 本仓库致力于解决国内网络原因无法使用Docker的问题。 特点&#xff1a; 使用Github Action将官网的安装脚本/安装包定时下载到本项目Release&#xff0c;供国内使用官方安装包&#xff0c;安全可…...

Anaconda 安装与虚拟环境创建完整指南

Anaconda 安装与虚拟环境创建完整指南 Anaconda 是目前最流行的 Python 和数据科学工具集之一&#xff0c;它不仅可以轻松管理 Python 包&#xff0c;还能提供强大的虚拟环境功能&#xff0c;避免项目之间的依赖冲突。如果你是机器学习、数据科学或计算机视觉的开发者&#xf…...

【Java数据结构】LinkedList与链表

认识LinkedList LinkedList就是一个链表&#xff0c;它也是实现List接口的一个类。LinkedList就是通过next引用将所有的结点链接起来&#xff0c;所以不需要数组。LinkedList也是以泛型的方法实现的&#xff0c;所以使用这个类都需要实例化对象。 链表分为很多种&#xff0c;比…...

Linux 搭建 nginx+keepalived 高可用 | Nginx反向代理

注意&#xff1a;本文为 “Linux 搭建 nginxkeepalived (主备双主模式) 高可用 | Nginx反向代理” 相关文章合辑。 KeepalivedNginx实现高可用&#xff08;HA&#xff09; xyang0917 于 2016-09-17 00:24:15 发布 keepalived 的 HA 分为抢占模式和非抢占模式&#xff0c;抢占…...

17_HTML5 Web 存储 --[HTML5 API 学习之旅]

HTML5 Web 存储&#xff08;Web Storage&#xff09;是 HTML5 引入的一种在用户浏览器中存储数据的机制。它提供了比传统的 cookies 更加方便和强大的功能&#xff0c;包括更大的存储空间、更好的性能以及更简单的 API。Web 存储主要分为两种类型&#xff1a;localStorage 和 s…...

uni-app(优医咨询)项目实战 - 第7天

学习目标&#xff1a; 能够基于 WebSocket 完成问诊全流程 能够使用 uniCloud 云存储上传文件 能够完成查看电子处方的功能 能够完成医生评价的功能 一、问诊室 以对话聊天的方式向医生介绍病情并获取诊断方案&#xff0c;聊天的内容支持文字和图片两种形式。 首先新建一…...

今日总结 2024-12-28

今天全身心投入到鸿蒙系统下 TCPSocket 的学习中。从最基础的 TCP 协议三次握手、四次挥手原理重新梳理&#xff0c;深刻理解其可靠连接建立与断开机制&#xff0c;这是后续运用 TCPSocket 无误通信的根基。在深入鸿蒙体系时&#xff0c;仔细研读了其为 TCPSocket 封装的 API&a…...

ip归属地怎么判定?如何查看自己ip属地

在当今数字化时代&#xff0c;IP地址作为互联网通信的基础&#xff0c;扮演着至关重要的角色。而IP归属地的判定与查看&#xff0c;不仅关乎网络安全、隐私保护&#xff0c;还直接影响到社交平台的信任机制与信息传播的真实性。本文将深入探讨IP归属地的判定原理以及如何查看自…...

4.采用锁操作并支持等待功能的线程安全队列

分析 书接上文 修改push()似乎并不困难:在函数末尾加上对data_cond.notify_one()的调用即可&#xff0c;与代码清单1(第一篇文章)一样。事情其实没那么简单&#xff0c;我们之所以采用精细粒度的锁&#xff0c;目的是尽可能提高并发操作的数量。如果在notify_one()调用期间&a…...

螺杆支撑座在运用中会出现哪些问题?

螺杆支撑座是一种用于支撑滚珠螺杆的零件&#xff0c;通常用于机床、数控机床、自动化生产线等高精度机械设备中。在运用中可能会出现多种问题&#xff0c;这些问题源于多个方面&#xff0c;以下是对可能出现的问题简单了解下&#xff1a; 1、安装不当&#xff1a;安装过程中没…...

OSI 七层模型 | TCP/IP 四层模型

注&#xff1a;本文为 “OSI 七层模型 | TCP/IP 四层模型” 相关文章合辑。 未整理去重。 OSI 参考模型&#xff08;七层模型&#xff09; BeretSEC 于 2020-04-02 15:54:37 发布 OSI 的概念 七层模型&#xff0c;亦称 OSI&#xff08;Open System Interconnection&#xf…...

秒鲨后端之MyBatis【2】默认的类型别名、MyBatis的增删改查、idea中设置文件的配置模板、MyBatis获取参数值的两种方式、特殊SQL的执行

别忘了请点个赞收藏关注支持一下博主喵&#xff01;&#xff01;&#xff01;! ! ! 下篇更新&#xff1a; 秒鲨后端之MyBatis【3】自定义映射resultMap、动态SQL、MyBatis的缓存、MyBatis的逆向工程、分页插件。 默认的类型别名 MyBatis的增删改查 添加 <!--int insertUs…...

快云服务器小助手getdetail存在任意文件文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

尚硅谷Vue3入门到实战 —— 02 编写 App 组件

根目录下的 index.html 是项目的入口文件&#xff0c;默认的具体内容如下&#xff1a; src 文件夹分析 <!DOCTYPE html> <html lang""><head><meta charset"UTF-8"><link rel"icon" href"/favicon.ico"&…...

Java - 日志体系_Simple Logging Facade for Java (SLF4J)日志门面_SLF4J实现原理分析

文章目录 官网SLF4J 简单使用案例分析SLF4J 获取 Logger 的原理获取 ILoggerFactory 的过程获取 Logger 的过程SLF4J 与底层日志框架的集成 小结 官网 https://slf4j.org/ Simple Logging Facade for Java &#xff08;SLF4J&#xff09; 用作各种日志记录框架&#xff08;e.g…...

Flutter 调试环境下浏览器网络请求跨域问题解决方案

本篇文章主要讲解&#xff0c;Flutter调试环境情况下&#xff0c;浏览器调试报错跨域问题的解决方法&#xff0c;通过本篇文章你可以快速掌握Flutter调试环境情况下的跨域问题。 日期&#xff1a;2024年12月28日 作者&#xff1a;任聪聪 报错现象&#xff1a; 报文信息&#xf…...