活动介绍
file-type

探索qdd-vue-ui:创新Vue前端UI框架

ZIP文件

下载需积分: 9 | 139KB | 更新于2025-02-08 | 72 浏览量 | 0 下载量 举报 收藏
download 立即下载
标题中的“qdd-vue-ui”指代一个名为“qdd-vue-ui”的Vue UI组件库。Vue.js是一个流行的前端JavaScript框架,它允许开发者通过组件化的方式构建用户界面。UI组件库则是一系列封装好的可复用的UI元素集合,这些元素可以直接嵌入到Vue项目中使用,以提高开发效率和统一界面风格。 描述部分提到了一些具体的使用细节和要求: 1. 引入CSS样式:在使用该Vue UI组件库之前,需要在项目中引入相应的CSS样式。描述中给出了一段CSS代码,这段代码使用了CSS变量来定义一些样式属性,如按钮的高度、字体大小、背景色等。此外,通过设置CSS的box-sizing属性为border-box,可以保证元素的宽度和高度计算方式与CSS盒模型的标准一致,这样设置可以确保元素的边框和内边距不会增加元素的总宽度和高度。这通常是为了确保页面布局的一致性和可预测性。 2. 浏览器兼容性:描述中提到了对IE8及以上版本浏览器的支持,并特别指出了对IE15的支持,这意味着该组件库在设计时考虑了旧版本浏览器的兼容性。 3. 样式变量:虽然已经给出了一些内置的CSS变量,但是描述中提到还会有后续的SCSS变量替换,这可能意味着该UI组件库支持通过SCSS进行样式的扩展和自定义。SCSS是CSS预处理器,能够提供更多编程语言的特性(如变量、混入、函数等),可以使得样式的开发和维护更加灵活和高效。 标签中的“JavaScript”提示我们这个Vue UI组件库是使用JavaScript编写的。Vue.js是基于JavaScript的框架,因此其组件库自然也是用JavaScript实现,包括与Vue.js框架的交互和数据绑定等核心功能。 压缩包子文件的文件名称列表中的“qdd-vue-ui-master”可能指向的是该UI组件库的源代码仓库的主分支。通常情况下,git仓库中会有一个名为“master”的主分支,它包含了项目的主要代码和版本。这个文件名表明,相关的源代码和资源文件可以通过这个主分支进行访问和获取。 将上述信息综合起来,我们可以总结出以下知识点: - Vue UI组件库:“qdd-vue-ui”是一个封装好的Vue.js UI组件集合,它通过提供预定义的Vue组件来加快前端开发的速度。 - 兼容性支持:该组件库支持IE8及以上版本的浏览器,包括IE15,对于希望支持旧浏览器的项目来说,这是一个重要的特性。 - 样式定制:通过CSS变量进行样式定制是该组件库的一个特点,允许开发者自定义UI组件的一些外观属性,例如按钮尺寸、字体大小等。未来还可能支持SCSS变量,以提供更灵活的样式配置方式。 - 开源代码:由于提到了“master”分支,这表明该项目可能是开源的,开发者可以通过访问对应的代码仓库来获取源代码,进行查看、修改或者贡献自己的代码。 这个组件库的开发和使用将遵循Vue.js的相关原则和最佳实践,包括组件化开发、数据驱动视图更新以及组件之间的通信等。开发者在使用该组件库时应该有一定的Vue.js框架背景知识,以及对前端构建工具(如Webpack、Babel等)有一定的了解。此外,理解和掌握CSS预处理器(如SCSS)的使用也将有助于更好地定制和扩展组件库的样式。

相关推荐

filetype

# -*- coding:utf-8 -*- import os import sys import io import socket import time import re def read_config(): config = {} try: with open('config.txt', 'r') as config_file: for line in config_file: if '=' in line: key, value = line.strip().split('=', 1) config[key] = value print("Read config success.", flush=True) except FileNotFoundError: print("Unable to open config file!", flush=True) return None return config def is_command_available(command): """检查命令是否可用""" if os.name == 'nt': # Windows 系统 result = os.system(f'where {command} >nul 2>&1') else: # Linux 系统 result = os.system(f'which {command} >/dev/null 2>&1') return result == 0 def get_hardware_info(send_count): # 执行 cnmon info -e 命令并捕获输出 with os.popen('cnmon info -e') as f: result_temp = f.read() temperature_lines = extract_info(result_temp, "Temperature", "QDD Status") # 执行 cnmon info -p 命令并捕获输出 with os.popen('cnmon info -p') as f: result_power = f.read() power_lines = extract_info(result_power, "Power", "QDD Status") # 执行 cnmon info -m 命令并捕获输出 with os.popen('cnmon info -m') as f: result_memory = f.read() memory_lines = extract_info(result_memory, "v4.9.5", "Virtual Memory Usage") # 执行 cnmon info -b 命令并捕获输出 with os.popen('cnmon info -b') as f: result_bandwidth = f.read() bandwidth_lines = extract_info(result_bandwidth, "QDD 7 : Invalid", " Chassis") # 执行 cnmon info -u 命令并捕获输出 with os.popen('cnmon info -u') as f: result_usage = f.read() usage_lines = extract_info(result_usage, "Utilization", "QDD Status") usage_str = '\n'.join(usage_lines) mlu_average = 0 mlu_0 = 0 mlu_1 = 0 mlu_2 = 0 mlu_3 = 0 cpu_chip = 0 cpu_core_0 = 0 cpu_core_1 = 0 cpu_core_2 = 0 cpu_core_3 = 0 # 提取 MLU 平均利用率 mlu_avg_match = re.search(r'MLU Average\s+:\s+(\d+) %', usage_str) if mlu_avg_match: mlu_average = float(mlu_avg_match.group(1)) # 提取 MLU 0 - 3 利用率 mlu_0_3_match = re.search(r'MLU 0-3\s+:\s+(\d+) %\s+(\d+) %\s+(\d+) %\s+(\d+) %', usage_str) if mlu_0_3_match: mlu_0 = float(mlu_0_3_match.group(1)) mlu_1 = float(mlu_0_3_match.group(2)) mlu_2 = float(mlu_0_3_match.group(3)) mlu_3 = float(mlu_0_3_match.group(4)) # 提取 CPU 芯片利用率 cpu_chip_match = re.search(r'Device CPU Chip\s+:\s+(\d+) %', usage_str) if cpu_chip_match: cpu_chip = float(cpu_chip_match.group(1)) # 提取 CPU 核心 0 - 3 利用率 cpu_core_0_3_match = re.search(r'Device CPU Core 0-3\s+:\s+(\d+) %\s+(\d+) %\s+(\d+) %\s+(\d+) %', usage_str) if cpu_core_0_3_match: cpu_core_0 = float(cpu_core_0_3_match.group(1)) cpu_core_1 = float(cpu_core_0_3_match.group(2)) cpu_core_2 = float(cpu_core_0_3_match.group(3)) cpu_core_3 = float(cpu_core_0_3_match.group(4)) # 添加分隔符和发送次数 info_str = ( "温度信息:\n{}\n\n功率信息:\n{}\n\n内存信息:\n{}\n\n带宽信息:\n{}\n\nMLU信息:\nMLU Average: {}%\nMLU 0-3 利用率:\nMLU 0: {}%\nMLU 1: {}%\nMLU 2: {}%\nMLU 3: {}%\n\nCPU信息:\n" "Device CPU Chip: {}%\nCPU核心 0-3 利用率:\nDevice CPU Core 0: {}%\nDevice CPU Core 1: {}%\nDevice CPU Core 2: {}%\nDevice CPU Core 3: {}%\n发送次数:\nsend_count : {}次\n---------------END---------------" ).format( '\n'.join(temperature_lines), '\n'.join(power_lines), '\n'.join(memory_lines), '\n'.join(bandwidth_lines), mlu_average, mlu_0, mlu_1, mlu_2, mlu_3, cpu_chip, cpu_core_0, cpu_core_1, cpu_core_2, cpu_core_3, send_count ) return info_str def extract_info(result, start_keyword, end_keyword): """提取指定关键字之间的信息""" lines = result.splitlines() extracted = [] started = False for line in lines: if start_keyword in line: started = True elif started and line.strip(): if end_keyword in line: break extracted.append(line.strip()) return extracted def main(): # 设置无缓冲输出 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', line_buffering=True) config = read_config() if config is None: return server_ip = config.get('SERVER_IP') server_port = int(config.get('SERVER_PORT')) client_ip = config.get('CLIENT_IP') client_port = int(config.get('CLIENT_PORT')) print(f"ServerIP: {server_ip}", flush=True) print(f"ServerPort: {server_port}", flush=True) print(f"ClientIP: {client_ip}", flush=True) print(f"ClientPort: {client_port}", flush=True) # 创建 UDP 套接字 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 端口号快速重用 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) print("Set socket ok.", flush=True) # 绑定服务器 IP 和端口 try: sock.bind((server_ip, server_port)) print("Bind success.", flush=True) except OSError as e: print(f"Bind error: {e}", flush=True) return send_count = 1 try: while True: if not is_command_available('cnmon'): print("当前cnmon命令不可用,使用nmon功能", flush=True) info = ( "温度信息:\n" "Board : 34 C\n" "Cluster 0 : 36 C\n" "\n" "功率信息:\n" "Usage : 3.44 W\n" "Cap : 15 W\n" " \n" "内存信息:\n" "Physical Memory Usage :\n" "Total : 8192 MiB\n" "Used : 1669 MiB\n" "Free : 6523 MiB\n" "Channel Memory Usage :\n" " 0 : 1669 MiB\n" "DDR Data Widths : 64 bit\n" "DDR BandWidth : 29 GB/s\n" "\n" "带宽信息:\n" "Bandwidth : N/A\n" "\n" "CPU信息:\n" "Device CPU Chip: 6.0%\n" "CPU核心 0-3 利用率:\n" "Device CPU Core 0: 3.0%\n" "Device CPU Core 1: 20.0%\n" "Device CPU Core 2: 9.0%\n" "Device CPU Core 3: 3.0%\n" "\n" "---------------END---------------\n" ) else: print("获取硬件信息...", flush=True) info = get_hardware_info(send_count) try: sock.sendto(info.encode(), (client_ip, client_port)) print("Send data success:", flush=True) print(info, flush=True) # 确保输出立即显示 except OSError as e: print(f"Send error: {e}", flush=True) send_count += 1 time.sleep(0.5) except KeyboardInterrupt: print("Program interrupted by user.", flush=True) finally: sock.close() print("Socket closed.", flush=True) if __name__ == "__main__": main()优化一下这段程序

狛绝的追随者
  • 粉丝: 34
上传资源 快速赚钱