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

网络运维与网络安全 学习笔记2023.11.30

网络运维与网络安全 学习笔记 第三十一天
在这里插入图片描述

今日目标

实现AP自动注册、配置WLAN业务参数、无线终端通过wifi互访

实现AP自动注册

项目背景

在这里插入图片描述
企业内网的大量AP已经通过DHCP的方式获得IP地址
为了实现后期大量AP的统一管理,希望通过AC实现集中控制
在AC设备上,为了便于设备管理,按照统一的命名格式

项目分析

需要确保AP知道AC服务器的IP地址
需要确保AP可以与AC保持IP层面的连通性
需要确保在AC上提前添加了AP的相关信息,实现顺利注册

解决方案

需要确保AP知道AC服务器的IP地址
因为AP的地址信息全部来自于DHCP服务器,所以我们需要调整DHCP服务器的配置内容,在AP所在的VLAN的地址池中,指定AC服务器的IP地址
需要确保AP可以与AC保持IP层面的连通性
需要确保在AC上提前添加了AP的相关信息,实现顺利注册
配置思路
①修改DHCP服务器的地址池,添加AC服务器的IP地址
②配置AC接口地址和路由,实现AC与AP的网关设备之间的互通
③配置AC服务器,进行AP的自动注册
创建VLAN pool,用于无线终端用户使用的vlan
创建AP组,将需要使用相同配置的AP加入到同一个AP组,实现统一配置
配置AC的系统参数,包括国家代码、AC服务器与AP通信时使用的接口地址
配置AP的上线方式并离线导入AP,实现AP正常上线
配置命令
确保AP知道AC服务器的IP地址
[DHCP]ip pool VLAN100
[DHCP-ip-pool-VLAN100]option 43 sub-option 3 ascii 192.168.200.1
[DHCP-ip-pool-VLAN100]quit
确保AP与AC之间的互通
[SW2]vlan 200
[SW2-vlan200]quit

[SW2]interface GigabitEthernet0/0/10
[SW2-GigabitEthernet0/0/10]port link-type access
[SW2-GigabitEthernet0/0/10]port default vlan 200
[SW2-GigabitEthernet0/0/10]quit

[SW2]interface Vlanif 200
[SW2-Vlanif200]ip address 192.168.200.254 24
[SW2-Vlanif200]quit
确保AP与AC之间的互通
[AC6605]vlan 200
[AC6605-vlan200]quit

[AC6605]interface GigabitEthernet0/0/10
[AC6605-GigabitEthernet0/0/10]port link-type access
[AC6605-GigabitEthernet0/0/10]port default vlan 200
[AC6605-GigabitEthernet0/0/10]quit

[AC6605]interface Vlanif 200
[AC6605-Vlanif200]ip address 192.168.200.1 24
[AC6605-Vlanif200]quit

[AC6605]ip route-static 0.0.0.0 0 192.168.200.254
配置AC,创建VLAN pool ,为无线终端用户提供服务
[AC6605]vlan pool pool1
[AC6605-vlan-pool-pool1]vlan 101 102
[AC6605-vlan-pool-pool1]quit

[AC6605]vlan pool pool2
[AC6605-vlan-pool-pool2]vlan 103 104
[AC6605-vlan-pool-pool2]quit
[AC6605]
配置AC,创建AP组,以及国家代码和AC与AP的通信接口地址
[AC6605]wlan
[AC6605-wlan-view]ap-group name neibu
[AC6605-wlan-ap-group-neibu]quit

[AC6605-wlan-view]ap-group name wailai
[AC6605-wlan-ap-goup-wailai]quit

[AC6605-wlan-view]regulatory-domain-profile name domain1
[AC6605-wlan-regulate-domain-domian1]country-code cn
[AC6605-wlan-regulate-domain-domian1]quit
[AC6605-wlan-view]ap-group name neibu
[AC6605-wlan-ap-group-neibu]regulatory-domain-profile domain1
Warning:Modifying the country code will clear channel,power and antenna gain configurations of the radio and reset the AP.
Continue?[Y/N]:y
[AC6605-wlan-ap-group-group1]quit

[AC6605-wlan-view]ap-group name wailai
[AC6605-wlan-ap-group-wailai]regulatory-domian-profile domain1
Warning:Modifying the country code will clear channel,power and antenna gain configurations of the radio and reset the AP.
Continue?[Y/N]:y
[AC6605-wlan-ap-group-group2]quit

[AC6605]capwap source interface Vlanif 200
配置AC,离线导入AP
[AC6605]wlan
[AC6605-wlan-view]ap-id 1 ap-mac 00E0-FC9D-1580
[AC6605-wlan-ap-1]ap-name neibu-1
[AC6605-wlan-ap-1]ap-group neibu
Warning:This operation may cause AP reset. If the country code changaes,it willclear channel,power and antenna gain configurations of the radio ,Whether to continue?[Y/N]:y
[AC6605-wlan-ap-1]quit

[AC6605-wlan-view]ap-id 2 ap-mac 00e0-fc60-4c70
[AC6605-wlan-ap-2]ap-name neibu-2
[AC6605-wlan-ap-2]ap-group neibu
Warning:This operation may cause AP reset. If the country code changaes,it willclear channel,power and antenna gain configurations of the radio ,Whether to continue?[Y/N]:y
[AC6605-wlan-ap-2]quit

[AC6605-wlan-view]ap-id 3 ap-mac 00e0-fc56-6320
[AC6605-wlan-ap-3]ap-name wailai-1
[AC6605-wlan-ap-3]ap-group wailai
Warning:This operation may cause AP reset. If the country code changaes,it willclear channel,power and antenna gain configurations of the radio ,Whether to continue?[Y/N]:y
[AC6605-wlan-ap-3]quit

[AC6605-wlan-view]ap-id 4 ap-mac 00e0-fc4e-2fd0
[AC6605-wlan-ap-4]ap-name wailai-2
[AC6605-wlan-ap-4]ap-group wailai
Warning:This operation may cause AP reset. If the country code changaes,it willclear channel,power and antenna gain configurations of the radio ,Whether to continue?[Y/N]:y
[AC6605-wlan-ap-4]quit
在AC上查看AP的注册状态
[AC6605]display ap all
Info:This operation may take a few seconds.Please wait for a moment.done.
Total AP information:
idle : idle [0]
nor : normal [4]
ID MAC Name Group IP Type State STA Uptime
1 00e0-fc9d-1580 neibu group1 192.168.100.253 AP5030DN nor 0 9M:54S
2 00e0-fc60-4c70 neibu group1 192.168.100.251 AP5030DN nor 0 3M:45S
3 00e0-fc56-6320 wailai group2 192.168.100.250 AP5030DN nor 0 9M:44S
4 00e0-fc4e-2fd0 wailai group2 192.168.100.252 AP5030DN nor 0 9m:44S

项目总结

AP在进行自助注册时,必须通过DHCP获得AC服务器的IP地址
必须确保AP所在的VLAN与AC服务器之间的互通
必须在AC服务器上指定与AP通信时所使用的IP地址,与DHCP服务区中的AC服务器的IP地址相同
在AC上离线导入AP的时候,必须手动确认每个AP的MAC地址,确保输入正确,否则不能注册成功

配置WLAN业务参数

项目背景

在这里插入图片描述
企业内网的无线网络改造已经完成大部分工作,AP成功注册到AC
基于分配好的IP方案,为不同的无线终端,动态分配IP地址
配置AC,为不同的AP下发不同的位置,确保可以发射无线信号
实现不同的“无线终端”可以成功连接AP,并成功获得IP地址
实现不同的“无线终端”之间的互通

项目分析

首先需要确保AP能够发射出无线信号,确保无线终端能够搜索到
其次确保每个无线关联了特定的VLAN信息
再次确保无线终端输入正确的wifi密码,正确连接到wifi
然后再DHCP服务器上,为每个无线终端 的VLAN创建了DHCP地址池
最后测试多个无线终端之间的连通性

解决方案

确定AP已经成功注册到AC,通过配置AC,为AP开启无线功能
确定AP发射的无线信号已经与“无线终端”的VLAN相关联
为每个终端用户所属于的VLAN配置DHCP服务
无线终端设备之间彼此测试连通性
配置思路
①在AC上为AP配置WLAN业务参数
②为每个终端用户的VLAN配置DHCP服务
在DHCP服务器上配置每个VLAN的地址池
为每个VLAN配置DHCP中继
配置路由条目,确保DHCP服务器与每个VLAN的DHCP中继互通
③测试无线终端设备之间的连通性
配置命令
①在AC上为AP配置WLAN业务参数
[AC6605]wlan
[AC6605-wlan-view]security-profile name neibu
[AC6605-wlan-sec-prof-neibu]security wpa2 psk pass-phrase a1234567890 aes
[AC6605-wlan-sec-prof-neibu]quit

[AC6605-wlan-view]security-profile name wailai
[AC6605-wlan-sec-prof-wailai]security wpa2 psk pass-phrase b1234567890 aes
[AC6605-wlan-sec-prof-wailai]quit

[AC6605-wlan-view]ssid-profile name wailai
[AC6605-wlan-ssid-prof-wailai]ssid wailai
[AC6605-wlan-ssid-prof-wailai]quit

[AC6605-wlan-view]ssid-profile name neibu
[AC6605-wlan-ssid-prof-neibu]ssid name neibu
[AC6605-wlan-ssid-prof-neibu]quit
②在AC上为AP配置WLAN业务参数
[AC6605-wlan-view]vap-profile name neibu
[AC6605-wlan-vap-prof-neibu]security-profile neibu
[AC6605-wlan-vap-prof-neibu]ssid-profile neibu
[AC6605-wlan-vap-prof-neibu]service-vlan vlan-pool pool1
[AC6605-wlan-vap-prof-neibu]quit

[AC6605-wlan-view]vap-profile name wailai
[AC6605-wlan-vap-prof-wailai]security-profile wailai
[AC6605-wlan-vap-prof-wailai]ssid-profile wailai
[AC6605-wlan-vap-prof-wailai]service-vlan vlan-pool pool2
[AC6605-wlan-vap-prof-wailai]quit

[AC6605-wlan-view]ap-group name neibu
[AC6605-wlan-ap-group-neibu]vap-profile neibu wlan 1 radio 0
[AC6605-wlan-ap-group-neibu]vap-profile neibu wlan 1 radio 1
[AC6605-wlan-ap-group-neibu]quit

[AC6605-wlan-view]ap-group name wailai
[AC6605-wlan-ap-group-wailai]vap-profile wailaiwlan 1 radio 0
[AC6605-wlan-ap-group-wailai]vap-profile wailaiwlan 1 radio 1
[AC6605-wlan-ap-group-wailai]quit
③为终端用户配置DHCP地址池
[DHCP]ip pool VLAN101
[DHCP-ip-pool-VLAN101]network 192.168.101.0 mask 24
[DHCP-ip-pool-VLAN101]gateway-list 192.168.101.254
[DHCP-ip-pool-VLAN101]quit

[DHCP]ip pool VLAN102
[DHCP-ip-pool-VLAN102]network 192.168.102.0 mask 24
[DHCP-ip-pool-VLAN102]gateway-list 192.168.102.254
[DHCP-ip-pool-VLAN102]quit

[DHCP]ip pool VLAN103
[DHCP-ip-pool-VLAN103]network 192.168.103.0 mask 24
[DHCP-ip-pool-VLAN103]gateway-list 192.168.103.254
[DHCP-ip-pool-VLAN103]quit

[DHCP]ip pool VLAN104
[DHCP-ip-pool-VLAN104]network 192.168.104.0 mask 24
[DHCP-ip-pool-VLAN104]gateway-list 192.168.104.254
[DHCP-ip-pool-VLAN104]quit

[DHCP]ip route-static 0.0.0.0 0 192.168.210.254
④为终端用户配置DHCP中继
[SW1]vlan batch 101 102 103 104

[SW2]vlan batch 101 102 103 104
[SW2]dhcp enable

[SW2]interface Vlanif101
[SW2-Vlanif101]ip address 192.168.101.254 24
[SW2-Vlanif101]dhcp select relay
[SW2-Vlanif101]dhcp relay server-ip 192.168.210.1
[SW2-Vlanif101]quit

[SW2]interface Vlanif102
[SW2-Vlanif102]ip address 192.168.102.254 24
[SW2-Vlanif102]dhcp select relay
[SW2-Vlanif102]dhcp relay server-ip 192.168.210.1
[SW2-Vlanif102]quit

[SW2]interface Vlanif103
[SW2-Vlanif103]ip address 192.168.103.254 24
[SW2-Vlanif103]dhcp select relay
[SW2-Vlanif103]dhcp relay server-ip 192.168.210.1
[SW2-Vlanif103]quit

[SW2]interface Vlanif104
[SW2-Vlanif104]ip address 192.168.104.254 24
[SW2-Vlanif104]dhcp select relay
[SW2-Vlanif104]dhcp relay server-ip 192.168.210.1
[SW2-Vlanif104]quit
⑤无线终端连接到wifi信号,输入密码,获取IP地址
⑥在无线终端的命令行验证IP地址是否正确:ipconfig
⑦在无线终端的命令行验证设备之间的互通性:ping x.x.x.x

项目总结

为了实现AP的批量管理,需要将AP加入到ap-group
为了配置AP,需要为ap-group关联vap-profile
Vap-profile表示的是AP设备在AC上的配置文件
Vap-profile中包含了AP的无线名字、密码以及属于的VLAN
为确保无线终端可以顺利获得IP地址,需要提前配置DHCP服务器和DHCP中继,并确保两者之间的连通性

相关文章:

网络运维与网络安全 学习笔记2023.11.30

网络运维与网络安全 学习笔记 第三十一天 今日目标 实现AP自动注册、配置WLAN业务参数、无线终端通过wifi互访 实现AP自动注册 项目背景 企业内网的大量AP已经通过DHCP的方式获得IP地址 为了实现后期大量AP的统一管理,希望通过AC实现集中控制 在AC设备上&#…...

Perplexity 推出全新大型在线语言模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

python中的函数定义

默认参数 注: 在Python中,print(x, and y both correct)是一条打印语句(print statement),用于将一条消息输出到控制台或终端。它的作用是将变量x的值和字符串and y both correct同时输出到屏幕上。 在这个语句中&…...

信贷销售经理简历模板

这份简历内容,以信贷销售经理招聘需求为背景,我们制作了1份全面、专业且具有参考价值的简历案例,大家可以灵活借鉴。 信贷销售经理简历模板在线编辑下载:百度幻主简历 求职意向 求职类型:全职 意向岗位&#xff…...

js事件流与事件委托/事件代理

1 事件流 事件流分为两步,一是捕获,二是冒泡 1.1 捕获概念 捕获就是从最高层一层一层往下找到最内部的节点 1.2 冒泡概念 捕获到最小节点后,一层一层往上返回,像是气泡从最底部往上冒一样,由于水深不同压强不同&…...

代码随想录算法训练营第三十八天| 509 斐波那契数 70 爬楼梯 746 使用最小花费爬楼梯

509 斐波那契数 class Solution {public int fib(int n) {int f[] new int[n 5];f[0] 0;f[1] 1;for(int i 2;i < n;i){f[i] f[i - 1] f[i - 2];}return f[n];} } 时间复杂度O(n&#xff09; 空间复杂度O(n) 70 爬楼梯 class Solution {public int climbStairs(i…...

windows 此系统禁止运行脚本报错处理

windows 此系统禁止运行脚本报错处理 start 在命令行中运行执行的脚本&#xff0c;运行原理可以参考文章 《》本文主要介绍&#xff0c;如何处理window默认的对脚本运行的限制。 详细说明 出现报错如下&#xff1a; 主要原因就是系统默认禁止了在 powershell 环境下某些脚…...

西南科技大学数字电子技术实验一(数字信号基本参数与逻辑门电路功能测试及FPGA 实现)FPGA部分

一、 实验目的 1、掌握基于 Verilog 语言的 diamond 工具设计全流程。 2、熟悉、应用 Verilog HDL 描述数字电路。 3、掌握 Verilog HDL 的组合和时序逻辑电路的设计方法。 4、掌握“小脚丫”开发板的使用方法。 二、 实验原理 与门逻辑表达式:Y=AB 原理仿真图: 2 输入…...

List系列集合

List系列集合特点&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 ArrayList&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 LinkedList&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 &#xff08;底层实现不同&#xff01;适合的场景不同&#xff01;…...

SQL 金额数值转换成中文大写

需求&#xff1a;将金额转换成中文大写格式填入单据合计行&#xff1a; _佰_拾_万_仟_佰_拾_元_角_分 1234567.89 壹佰贰拾叁万肆仟伍佰陆拾柒元捌角玖分 1.函数转换 drop function n2C;CREATE FUNCTION n2C (num numeric(14,2)) RETURNS VARCHAR(20) AS BEGIN …...

在Linux上安装KVM虚拟机

一、搭建KVM环境 KVM&#xff08;Kernel-based Virtual Machine&#xff09;是一个基于内核的系统虚拟化模块&#xff0c;从Linux内核版本2.6.20开始&#xff0c;各大Linux发行版就已经将其集成于发行版中。KVM与Xen等虚拟化相比&#xff0c;需要硬件支持的完全虚拟化。KVM由内…...

软件设计之原型模式

原型模式是从一个对象再创建另一个可定制的对象&#xff0c;而且不需要知道任何创建的细节。拷贝分浅拷贝和深拷贝。浅拷贝无法拷贝引用对象。在面试的时候&#xff0c;我们会投多家公司&#xff0c;根据岗位的不同我们会适当调整。使用原型模式可以快速达到需求&#xff0c;下…...

Android之高级UI

系统ViewGroup原理解析 常见的布局容器: FrameLayout, LinearLayout,RelativeLayoout,GridLayout 后起之秀&#xff1a;ConstraintLayout,CoordinateLayout Linearlayout Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {if (mOrientation …...

Qt:解决跨线程调用socket/IO类,导致报错的问题

Qt有很多IO相关的类&#xff0c;比如说QTcpSocket、QFile&#xff0c;总的来说&#xff0c;在Qt的框架内使用&#xff0c;还是非常方便的。 但是用过其他框架IO类的人&#xff0c;可能有一个很不习惯&#xff0c;就是Qt的所有IO类&#xff0c;都不推荐或者不可以跨线程操作&…...

长沙电信大楼火灾调查报告发布:系烟头引发。FIS来护航安全

近日&#xff0c;长沙电信大楼的火灾调查报告引起广泛关注。调查发现&#xff0c;火灾是由未熄灭的烟头引发&#xff0c;烟头点燃了室外平台的易燃物&#xff0c;迅速蔓延至整个建筑。这起悲剧再次提醒我们&#xff0c;小小的疏忽可能酿成大灾难。但如果我们能及时发现并处理这…...

【Web系列二十七】Vue实现dom元素拖拽并限制移动范围

目录 需求 拖拽功能封装 使用拖拽功能 vite-env.d.ts main.ts test.vue 需求 dom元素拖拽并限制在父组件范围内 拖拽功能封装 export const initVDrag (vue) > {vue.directive(drag, (el) > {const oDiv el // 当前元素oDiv.onmousedown (e) > {let target…...

【IEEE独立出版】2024第四届神经网络、信息与通信工程国际学术会议(NNICE 2024)

2024第四届神经网络、信息与通信工程国际学术会议&#xff08;NNICE 2024&#xff09; 2024 4th International Conference on Neural Networks, Information and Communication Engineering 2024第四神经网络、信息与通信工程国际学术会议&#xff08;NNICE 2024&#xff0…...

docker 推送tar包到远程仓库

tar 包 推送到远程仓库的步骤 - 导入镜像&#xff08;docker load -i 镜像名称&#xff09;示例&#xff1a;docker load -i yiyi-admin.tar- 打标签(docker tag 镜像id registry.cn-hangzhou.aliyuncs.com/空间名称/镜像名称:版本号)示例&#xff1a;docker tag $image_id reg…...

全志XR806基于FreeRTOS下部署竞技机器人先进模糊控制器

前言 很荣幸参与到由“极术社区和全志在线联合组织”举办的XR806开发板试用活动。本人热衷于各种的开发板的开发&#xff0c;同时更愿意将其实现到具体项目中。秉承以上原则&#xff0c;发现大家的重心都放在开发中的环境构建过程&#xff0c;缺少了不少实际应用场景的运用&am…...

python动态加载内容抓取问题的解决实例

问题背景 在网页抓取过程中&#xff0c;动态加载的内容通常无法通过传统的爬虫工具直接获取&#xff0c;这给爬虫程序的编写带来了一定的技术挑战。腾讯新闻&#xff08;https://news.qq.com/&#xff09;作为一个典型的动态网页&#xff0c;展现了这一挑战。 问题分析 动态…...

系列二十三、将一个第三方的类配置成bean的方式

一、将一个第三方的类配置成bean的方式 1.1、概述 日常的JavaEE开发中&#xff0c;难免不会遇到需要使用第三方的类的情况&#xff0c;比如&#xff1a;MyBatisPlus、RedisTemplate、DruidDataSource...&#xff0c;这些外部组件是不同的组织或个人提供的&#xff0c;我们为什…...

【长文干货】Python可视化教程

文章目录 数据介绍Matplotlib散点图折线图柱形图直方图 Seaborn散点图折线图柱形图直方图 Bokeh散点图折线条形图交互式 Plotly基本组合优化&#xff1a;定制化下拉菜单 总结 数据介绍 在这个小费数据集中&#xff0c;我们记录了20世纪90年代初期餐厅顾客在两个半月内给出的小…...

软件工程--需求工程--学习笔记(超详细)

软件需求工程是软件开发周期的第一个阶段&#xff0c;也是关系到软件开发成败最关键阶段&#xff0c;本章讲解需求的基础知识和需求工程的关键活动。这些知识对于结构化方法、面向对象方法、面向服务方法等都是适用的 本文参考教材&#xff1a;沈备军老师的《软件工程原理》 目…...

TemplateHit中提取query和hit比对上序列索引的映射字典

template_hits(Sequence[TemplateHit]数据格式)来自结构数据库搜索结果 python运行hhsearch二进制命令的包装器类 映射索引计算&#xff1a;TemplateHit 中含有 indices_query&#xff0c;需要换算成在原始query序列中的index&#xff0c;hit 中indices_hit 需要减去最小index…...

富必达API:一站式无代码开发集成电商平台、CRM和营销系统

一站式无代码开发的连接解决方案 电子商务、客户服务系统以及其它商业应用&#xff0c;是现代企业运营的重要部分。然而&#xff0c;将这些系统进行有效的整合往往需要复杂的API开发&#xff0c;这对很多企业来说是一个巨大的挑战。富必达API以其一站式的无代码开发解决方案&a…...

聊聊接口最大并发处理数

文章目录 前言并发和并行并发&#xff08;Concurrency&#xff09;并行&#xff08;Parallelism&#xff09;思考一下 前言 生活在 2023 年的互联网时代下&#xff0c;又是在国内互联网越发内卷的背景下&#xff0c;相信大家面试找工作、网上学习查资料时都了解过互联网系统设…...

6.如何利用LIO-SAM生成可用于机器人/无人机导航的二维/三维栅格地图--以octomap为例

目录 1 octomap的安装 2 二维导航节点的建立及栅格地图的构建 3 三维栅格地图的建立 1 octomap的安装 这里采用命令安装&#xff1a; sudo apt install ros-melodic-octomap-msgs ros-melodic-octomap-ros ros-melodic-octomap-rviz-plugins ros-melodic-octomap-server 这样…...

【多传感器融合】BEVFusion: 激光雷达和视觉融合框架 NeurIPS 2022

前言 BEVFusion其实有两篇&#xff0c; 【1】BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework. NeurIPS 2022 | 北大&阿里提出 【2】BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation 2022 | MIT提出 本文先分…...

kafka中的常见问题处理

文章目录 1. 如何防⽌消息丢失2. 如何防⽌重复消费3. 如何做到消息的顺序消费4. 如何解决消息积压问题4.1 消息积压问题的出现4.2 消息积压的解决⽅案 5. 实现延时队列的效果5.1 应用场景5.2 具体方案 1. 如何防⽌消息丢失 ⽣产者&#xff1a;1&#xff09;使⽤同步发送 2&…...

HarmonyOS(八)——@Styles装饰器:定义组件重用样式

前言 在前面我们介绍过Builder装饰器和BuilderParam装饰器。今天我们继续介绍另外一个装饰器——Styles装饰器&#xff1a;定义组件重用样式。 如果每个组件的样式都需要单独设置&#xff0c;在开发过程中会出现大量代码在进行重复样式设置&#xff0c;虽然可以复制粘贴&…...