RYU控制器REST API实战:用Postman玩转SDN流表控制

chromedriver-mac-arm64-158.0.8127.18(Beta).zip 立即下载

RYU控制器REST API实战:用Postman玩转SDN流表控制

在软件定义网络(SDN)的世界里,RYU控制器以其轻量级和Python友好的特性赢得了众多开发者的青睐。而REST API作为RYU控制器与外部系统交互的重要桥梁,为网络自动化管理提供了无限可能。本文将带你深入探索如何通过Postman这一强大的API测试工具,实现对RYU控制器的精细控制,从基础查询到复杂的流表操作,一步步构建你的SDN管理技能树。

1. 环境准备与基础配置

在开始API调用之前,我们需要搭建一个完整的实验环境。这个环境由三部分组成:RYU控制器、Mininet模拟的网络拓扑以及Postman工具。以下是详细的配置步骤:

RYU控制器安装(Ubuntu 20.04环境)

# 安装依赖
sudo apt update
sudo apt install -y python3-pip git libffi-dev libssl-dev

# 安装RYU
git clone https://github.com/osrg/ryu.git
cd ryu
pip3 install -r tools/pip-requires
python3 setup.py install

# 验证安装
ryu --version

Mininet网络模拟器安装

git clone https://github.com/mininet/mininet.git
cd mininet/util
./install.sh -n3v  # 安装Mininet核心组件、Open vSwitch和Wireshark支持

启动基础服务

# 在一个终端启动RYU控制器(包含REST API模块)
ryu-manager --verbose ryu.app.ofctl_rest ryu.app.rest_topology

# 在另一个终端启动Mininet基础拓扑
sudo mn --controller=remote,ip=127.0.0.1,port=6653 --topo single,3 --mac

Postman的安装非常简单,直接从官网下载对应操作系统的版本即可。安装完成后,我们建议创建一个专门的RYU API集合来管理所有请求。

2. RYU REST API核心接口解析

RYU的REST API主要分为两大类:查询类接口和操作类接口。这些接口都遵循OpenFlow协议规范,提供了对网络设备的全面控制能力。

2.1 网络状态查询接口

这些GET请求主要用于获取网络设备的实时状态信息:

接口路径描述示例返回值片段
/stats/switches获取所有交换机DPID列表[1, 2, 3]
/stats/desc/<dpid>获取交换机描述信息{"mfr_desc": "Nicira, Inc."}
/stats/flow/<dpid>获取交换机流表项{"actions":["OUTPUT:2"]}
/stats/port/<dpid>获取端口统计信息{"rx_packets": 1024}

在Postman中测试这些接口时,需要注意几个关键点:

  1. 请求方法统一使用GET
  2. 基础URL为http://<控制器IP>:8080
  3. 需要在Headers中添加Content-Type: application/json

获取交换机流表的cURL示例

curl -X GET "http://localhost:8080/stats/flow/1" \
-H "Content-Type: application/json"

2.2 流表操作接口

这些POST/DELETE请求允许我们动态修改网络行为:

接口路径方法功能必需参数
/stats/flowentry/addPOST添加流表项match, actions
/stats/flowentry/deletePOST删除匹配流表项match
/stats/flowentry/clear/<dpid>DELETE清空交换机流表-

一个典型的流表添加请求需要构造如下JSON体:

{
    "dpid": 1,
    "priority": 32768,
    "match": {
        "in_port": 1,
        "dl_dst": "00:00:00:00:00:02"
    },
    "actions": [
        {"type": "OUTPUT", "port": 2}
    ]
}

3. Postman高级使用技巧

为了更高效地管理RYU API调用,我们可以利用Postman的一些高级功能来构建专业级的API测试环境。

3.1 环境变量管理

在测试不同场景时,我们经常需要切换交换机DPID、端口号等参数。Postman的环境变量可以很好地解决这个问题:

  1. 创建RYU_DEV和RYU_PROD两个环境
  2. 定义公共变量:
    • base_url: http://{{ip}}:8080
    • dpid: 1
  3. 在请求中使用变量:{{base_url}}/stats/flow/{{dpid}}

3.2 自动化测试脚本

Postman的Tests标签允许我们在请求后执行JavaScript代码,实现自动化断言:

// 检查响应状态码
pm.test("Status code is 200", function() {
    pm.response.to.have.status(200);
});

// 验证响应体包含交换机信息
pm.test("Response contains switch stats", function() {
    var jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property(pm.environment.get("dpid"));
});

3.3 请求示例集合

获取交换机端口统计

GET {{base_url}}/stats/port/{{dpid}}
Headers: Content-Type: application/json

添加转发规则

POST {{base_url}}/stats/flowentry/add
Body (raw-JSON):
{
    "dpid": {{dpid}},
    "priority": 32768,
    "match": {
        "in_port": 1,
        "dl_dst": "00:00:00:00:00:02"
    },
    "actions": [{"type": "OUTPUT", "port": 2}]
}

4. 实战:构建自动化流表管理系统

现在我们将所学知识整合起来,开发一个简单的流表管理系统。这个系统能够根据网络流量自动优化转发路径。

4.1 系统架构设计

+-------------------+     +----------------+     +-----------------+
|   Mininet模拟网络  |<--->|  RYU控制器     |<--->| Postman自动化系统 |
+-------------------+     +----------------+     +-----------------+
                                      ^
                                      |
                              +----------------+
                              | 流量监控模块   |
                              +----------------+

4.2 Python实现核心功能

虽然我们主要使用Postman,但有时也需要编写Python脚本进行复杂操作:

import requests
import json

class RYUController:
    def __init__(self, host='localhost', port=8080):
        self.base_url = f"http://{host}:{port}"
        
    def get_flows(self, dpid):
        response = requests.get(f"{self.base_url}/stats/flow/{dpid}")
        return response.json()
    
    def add_flow(self, dpid, match, actions, priority=32768):
        flow = {
            "dpid": dpid,
            "priority": priority,
            "match": match,
            "actions": actions
        }
        response = requests.post(
            f"{self.base_url}/stats/flowentry/add",
            data=json.dumps(flow),
            headers={'Content-Type': 'application/json'}
        )
        return response.status_code == 200

# 使用示例
controller = RYUController()
print(controller.get_flows(1))

4.3 流量优化算法实现

基于端口的流量统计,我们可以实现简单的负载均衡:

  1. 定期查询端口统计:/stats/port/<dpid>
  2. 识别高负载端口
  3. 计算替代路径
  4. 添加新的流表项分流流量

Postman实现步骤:

  1. 创建定时任务集合
  2. 设置间隔时间为5秒
  3. 在Tests中编写负载检测逻辑
  4. 根据结果决定是否触发流表修改

5. 安全加固与性能优化

在生产环境中使用RYU REST API时,我们需要考虑安全性和性能问题。

5.1 安全防护措施

风险点解决方案实施方法
未授权访问启用认证修改RYU源码添加HTTP Basic Auth
API滥用限流控制Nginx反向代理配置限流规则
敏感操作操作审计记录所有POST/DELETE请求日志

Nginx基础配置示例

server {
    listen 8081;
    server_name localhost;
    
    location / {
        proxy_pass http://localhost:8080;
        auth_basic "RYU API";
        auth_basic_user_file /etc/nginx/.htpasswd;
        limit_req zone=api_limit burst=10;
    }
}

5.2 性能优化技巧

  1. 批量操作:合并多个流表操作减少请求次数

    {
        "operations": [
            {"type": "add", "rule": {...}},
            {"type": "delete", "match": {...}}
        ]
    }
    
  2. 连接复用:在Postman中启用Keep-Alive

  3. 异步处理:对于耗时操作采用异步模式

    POST /stats/flowentry/add?async=true
    
  4. 缓存策略:对频繁查询的数据设置缓存时间

6. 调试技巧与常见问题解决

即使是最有经验的开发者也会遇到API调用问题。以下是几个常见问题及其解决方案:

问题1:返回404 Not Found

  • 检查RYU是否加载了ofctl_rest模块
  • 确认API路径是否正确(注意OpenFlow版本差异)

问题2:流表添加失败但返回200

  • 检查交换机DPID是否正确
  • 验证match字段是否与OpenFlow版本兼容
  • 查看RYU控制台日志获取详细错误

问题3:性能瓶颈

  • 使用time curl测量请求耗时
  • 在RYU启动时添加--wsapi-host 0.0.0.0参数
  • 考虑使用更高效的序列化格式如MessagePack

调试流程示例:

  1. 确认Mininet交换机连接状态
    sudo ovs-vsctl show
    
  2. 检查RYU控制器日志
  3. 使用Postman的Console查看原始请求
  4. 逐步简化请求体定位问题字段

7. 扩展应用场景

掌握了RYU REST API的基本操作后,我们可以将其应用到更复杂的场景中:

7.1 网络自动化测试

  1. 创建测试用例集合
  2. 使用Postman的Collection Runner批量执行
  3. 结合Newman实现CI/CD集成

7.2 动态流量工程

  1. 实时监控链路利用率
  2. 基于时段的策略调整
  3. 故障时的快速重路由

7.3 与第三方系统集成

# Prometheus监控集成示例
from prometheus_client import start_http_server, Gauge

flow_count = Gauge('ryu_flows', 'Number of flows per switch')

def update_metrics():
    for dpid in controller.get_switches():
        flows = controller.get_flows(dpid)
        flow_count.labels(switch=dpid).set(len(flows))

start_http_server(8000)
while True:
    update_metrics()
    time.sleep(15)

8. 最佳实践与经验分享

在实际项目中使用RYU REST API时,我们总结出以下经验:

  1. 版本控制:RYU的不同版本可能有API差异,建议锁定版本
  2. 文档维护:使用Postman的文档功能记录每个API的用途
  3. 参数校验:在调用前验证所有参数,特别是DPID和端口号
  4. 错误处理:准备完善的错误处理机制,特别是网络不稳定时
  5. 性能监控:记录API响应时间,及时发现性能下降

一个典型的项目目录结构建议:

/project-root
  /docs         # API文档
  /postman      # 集合和环境
  /scripts      # 辅助脚本
  /backups      # 流表配置备份

9. 资源推荐与进阶学习

为了帮助你进一步掌握RYU API开发,推荐以下资源:

  1. 官方文档

  2. 开发工具

  3. 进阶项目

    • 基于流量的自动QoS系统
    • 网络安全策略自动部署
    • 多云网络互联控制器
  4. 性能测试工具

10. 总结与展望

通过本文的实践,我们已经掌握了使用Postman操作RYU控制器的全套技能。从基础的环境搭建到复杂的系统集成,REST API为我们提供了灵活的网络控制能力。在实际项目中,这种技术可以显著提高网络运维效率,实现真正的软件定义网络。

随着SDN技术的发展,RYU控制器的功能也在不断丰富。未来我们可以期待更多高级特性的加入,比如:

  • 更精细的流量监控指标
  • 原生支持gRPC等高性能接口
  • 增强的安全特性如TLS加密
  • 与Kubernetes等云原生平台的深度集成

无论你是网络工程师、开发人员还是系统架构师,掌握RYU REST API都将为你的技术栈增添重要的一环。现在就开始你的SDN编程之旅吧,用代码定义你的网络未来!

科技中介服务机构在服务企业时,如何通过平台降低服务门槛和操作复杂度?.docx 科技中介服务机构在服务企业时,如何通过平台降低服务门槛和操作复杂度? 立即下载

相关推荐

政府科技管理者在推动区域科技成果转化时,如何实现科技成果与产业需求的精准对接?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

ryu控制器REST API的使用

1 准备工作 首先运行ryu控制器 sudo ryu-manager --verbose ofctl_rest.py rest_topology.py simple_switch.py --observe-links 运行mininet拓扑 sudo mn --controller remote --topo tree,depth=2 2 rest api的使用 api查看的...

AlwaySimple的博客 4142

高校技术转移办公室人员如何利用智能体技术提升技术经纪人服务能力?.docx

高校技术转移办公室人员如何利用智能体技术提升技术经纪人服务能力?

基于Mininet与Ryu的SDN网络DDoS攻击检测与智能防御实战(sFlow+Postman)

本文详细介绍了基于Mininet与Ryu控制器搭建SDN实验环境,并利用sFlow进行流量监控,以模拟和防御DDoS攻击的实战流程。通过构建网络拓扑、模拟ICMP洪水攻击,并演示如何通过Ryu的REST API结合Postman工具,动态下发精准的OpenFlow流表规则实现智能防御,展示了SDN在网络安全领域的灵活性与强大控制力。

svm4gardener的博客 476

基于混合储能协调控制的三相并网逆变系统设计【附说明文档】

内容概要:本文围绕“基于混合储能协调控制的三相并网逆变系统设计”展开,系统阐述了蓄电池与飞轮储能等混合储能系统在微电网中的协同控制策略。研究涵盖三相并网逆变器的能量管理、SOC(荷电状态)恒压恒流充放电控制、PQ控制与双闭环控制等核心技术,并基于Matlab/Simulink仿真平台实现了系统建模与动态仿真验证。文中深入探讨了飞轮储能系统的机侧PQ控制与网侧变流器的恒压双闭环控制,分析了微电网在调频调峰、功率协同分配等方面的运行特性,强调多能源间的协调优化与系统的快速动态响应能力,旨在提升微电网的运行稳定性、电能质量及能源利用效率。; 适合人群:具备电力电子、自动化或电气工程等相关专业背景,从事新能源发电、微电网控制、储能系统集成与优化等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入研究混合储能系统在微电网中的协调控制机制与能量管理策略;②掌握三相并网逆变器的建模、控制算法设计及Matlab/Simulink仿真方法;③实现储能系统的高效充放电管理与并网功率精确控制;④为学术论文撰写、科研课题申报、工程项目开发或实验复现提供完整的技术方案与参考实例。; 阅读建议:建议结合所提供的仿真模型、说明文档及参考文献,按照系统架构从单元控制到整体协调的顺序分模块学习,重点关注各控制策略的设计原理、参数整定方法与协同逻辑。推荐在Matlab环境中动手复现仿真,通过调整参数和工况来观察系统响应,以深化对理论知识的理解和工程应用能力的掌握。

运维管理基于Hyperfilelens的Docker Compose业务系统备份恢复:机房设备更换场景下的数据迁移与验证方案设计

内容概要:本文介绍了在机房存储设备更换及固件升级背景下,通过 Hyperfilelens 实现多套 Docker Compose 部署的业务系统备份与恢复的全过程。文章围绕备份迁移的实际操作,详细阐述了从主机接入、备份路径选择、策略配置、恢复执行到业务验证的七个关键步骤,并结合截图说明各环节的操作要点。特别强调了不仅要完成数据备份与恢复,还需核对目录结构、服务启动状态和业务功能可用性,确保迁移后系统完整可用。最终总结了 Hyperfilelens 在集中管理保护对象、制定备份策略、明确恢复目标和提供可核查记录方面的核心价值,倡导将备份作为常态化运维机制而非临时应急措施。; 适合人群:从事运维、系统管理及相关技术岗位,具备一定 Docker 和服务器管理经验的技术人员,尤其是面临机房设备更新或系统迁移任务的团队成员。; 使用场景及目标:①解决老旧存储设备更换过程中的业务系统平滑迁移问题;②实现基于 Docker Compose 架构的应用数据可靠备份与异机恢复;③建立可复用的备份恢复流程,提升运维自动化与可靠性。; 阅读建议:建议结合文中提到的平台界面和操作命令逐步实践,重点关注备份范围确认、一致性保护、恢复路径核对及业务端到端验证,避免仅依赖工具状态而忽视实际业务可用性。

Ryu控制器部署及其与Rest API接口调用问题解决

系统环境为Ubuntu14.04 所用restful接口调用软件为postman 首先要安装部署Ryu控制器,这个很多人没成功我觉得其实主要是前面的基本环境和依赖包要先搞好,即以下步骤一所示:  步骤一:依赖环境安装 sudo apt-get update sudo apt-get install git sudo apt-get install Python-pip build-es

Even的博客 2447

无功优化基于多目标差分进化算法的含DG配电网无功优化模型【IEEE33节点】(Matlab代码实现)

内容概要:本文提出了一种基于多目标差分进化算法的含分布式电源(DG)配电网无功优化模型,并以IEEE33节点系统为案例进行仿真验证。研究首先深入分析了分布式电源接入对配电网运行特性的影响,明确了无功优化的调控资源与关键问题。在此基础上,构建了一个综合考虑降低网络损耗、改善电压质量以及提升系统稳定性的多目标优化模型。为有效求解该多目标优化问题,采用了多目标差分进化算法,详细阐述了其优化机制、操作流程与求解步骤。通过在IEEE33节点系统上的仿真计算,并与传统方法进行对比,充分验证了所提出的模型与算法在优化效果上的优越性和工程实用性。; 适合人群:电力系统及相关专业的研究人员、从事配电网优化与新能源并网工作的工程师以及具备一定Matlab编程基础的研究生。; 使用场景及目标:①研究分布式电源接入背景下配电网的无功优化策略;②学习并应用多目标差分进化算法解决复杂的电力系统多目标优化问题;③掌握基于IEEE标准测试系统的仿真建模、算法实现与结果分析方法。; 阅读建议:建议读者结合文中提供的Matlab代码,动手复现仿真过程,深入理解算法的具体实现细节与模型的构建逻辑,同时可尝试将该模型与算法应用于其他标准节点系统(如IEEE118节点),以进一步拓展研究深度和验证方法的普适性。

Ubuntu18.04 安装SDN ryu+mininet

安装Ryu 更新apt-git: sudo apt-get update 安装git: sudo apt-get install git 安装pip: sudo apt-get install python3-pip 更新pip: sudo pip3 install --upgrade pip 下载ryu源码: git clone git://github.com/osrg/ryu.git 进入文件夹: cd ryu 安装ryu依赖环境: sudo pip3 install -r tools/pip-re

m0_37651448的博客 3276

静止无功发生器SVG仿真模型(附对应说明报告+搭建仿真过程的参考文献)

内容概要:本文提供了一套静止无功发生器(SVG)的Simulink仿真模型,包含三相静止无功发生器的设计、不平衡电网条件下的无功补偿策略,以及基于级联H桥结构和三层控制策略的STATCOM系统实现。资源配套详细的说明报告与搭建过程的参考文献,涵盖SVG在电力系统中实现动态无功补偿、电压稳定和电网支撑的核心原理与技术细节。模型结合理论分析与仿真验证,系统展示从主电路设计、控制算法实现到多工况仿真测试的全过程,特别针对电网不平衡等复杂工况进行了控制策略优化,适用于对电能质量治理和电力电子装置有研究需求的科研人员。; 适合人群:具备电力系统、电力电子或自动化等相关专业背景,从事电气工程、新能源并网、电能质量治理等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 深入理解静止无功发生器(SVG)的工作原理与多层级控制策略;② 掌握不平衡电网条件下无功补偿的实现方法与仿真技巧;③ 复现并研究基于级联H桥结构的STATCOM系统,理解多电平逆变器在无功补偿中的应用;④ 为学术论文撰写、科研项目开发或工程复现实验提供可靠的模型参考与技术支持。; 阅读建议:建议读者结合所提供的说明报告和参考文献,按照资源目录顺序循序渐进地学习,重点关注控制策略的设计逻辑、仿真模型的搭建步骤与关键参数的设置,同时可通过对比不同运行工况下的仿真结果,深入分析SVG的动态响应特性与控制性能,以达到理论与实践深度融合的学习效果。

CSDN首页 发布文章 CSDN同步助手 基于模糊PID与传统PID控制无刷直流电机对比仿真模型【说明文档+参考文献等】 39 100 摘要:会在推荐、列表等场景外露,帮助读者快速了解内容

内容概要:本文围绕无刷直流电机(BLDC)的无位置传感器控制技术展开,重点研究了基于滑模观测器的转速电流双闭环PI控制策略,并提供了三个完整的Simulink仿真模型。系统通过滑模观测器实时估算转子位置与速度,替代传统机械传感器,实现了高性能调速控制;同时结合双闭环PI控制器,有效提升了系统的动态响应能力与抗干扰性能。文中详细阐述了BLDC电机数学模型、滑模观测器设计原理、PI参数整定方法及仿真验证流程,涵盖系统建模、控制策略实现与仿真结果分析全过程,具有较强的理论深度与工程实践价值。; 适合人群:自动化、电气工程、电机与拖动控制等相关专业的高校学生、科研人员以及从事电机控制开发的工程技术人员。; 使用场景及目标:①深入理解无刷直流电机无感控制的基本原理与实现路径;②掌握滑模观测器在电机转子位置估算中的设计与应用方法;③学习转速电流双闭环PI控制器的结构设计与参数调节技巧;④为电机控制相关的课程设计、毕业设计或科研项目提供可复用的仿真模型与技术支持。; 阅读建议:建议读者结合电机控制理论教材与本文仿真模型同步学习,重点关注滑模观测器的稳定性设计与PI控制器的动态性能优化,并通过仿真实验调试参数,观察不同工况下的系统响应,以加深对控制策略的理解与掌握。

RYU实战,REST API流表控制(1)

前言本月上旬到海南出差,现在回来终于可以继续乱入SDN了。本次学习的是如何使用RYU提供的REST API接口对交换机的流表进行控制。对流表的控制无外呼就是增删改查了。本节先使用POSTMAN进行实验,体验一下效果。下一节将使用写一个可视化工具封装一下REST API,方便后续的调试与开发。实验拓扑控制器:RYU 交换机:s1,s2 主机:h1,h2,h3,h3 联通性(直连): h1<->

jmhIcoding 1万+

GB_Engineering_Materials_112610.zip

GB_Engineering_Materials_112610.zip

SDN实战:利用sFlow和Postman监控并防御DDoS攻击(Mininet+Ryu)

本文详细介绍了如何利用SDN技术结合sFlow和Postman构建智能DDoS防御系统。通过Mininet搭建仿真环境,使用Ryu控制器动态管理流表,实现从攻击检测到自动防御的完整闭环。文章包含环境搭建、流量监控、攻击模拟及动态防御等实战内容,帮助运维工程师快速应对网络流量激增问题。

weixin_42530458的博客 356

深信服上网行为管理设备登录方法、恢复出厂、恢复控制台密码

1.初识设备 1.1 设备外观 1.2 软件版本 2.如何登录设备 首次拿到AC/SG设备时,可以通过以下方法登录设备控制台 SANGFOR AC/SG设备,各网口默认的出厂IP为: eth0(LAN):10.251.251.251/24 , eth1(DMZ)10.252.252.252/24 1、使用一根交叉线连接设备和电脑 (1) 如果电脑连接的是设备的eth0口,需先在电脑上配...

✍千里之行,始于足下 ^,^ 5万+

rk3568 rockit编译测试

编译rockit不能使用SDK默认编译kernel的交叉编译,需要采用编译buildroot的,而编译buildroot的编译器SDK并没有存放,需要编译过buildroot之后才可以用。命令参数相关解析可查阅代码,这里提醒一下-l参数,这是程序运行计数,默认是100,时间很短,基本上显示画面一闪而过,一度以为是程序哪里出问题了,改用-l 1000,画面显示时间加长。此处跳过系统,单领出来编译。rockit组件包在4.10版本需要手动编译,奈何我的版本怎么都编译不了,后来改用5.10版本才编译通过。

zfenggo的博客 4195

RYU的restapi的使用

http://www.tuicool.com/articles/VZVBZbQ http://www.sdnlab.com/11552.html http://www.sdnlab.com/11563.html http://ryu.readthedocs.io/en/latest/app/ofctl_rest.html#add-a-flow-entry 官方

guizaijianchic的博客 5071

【低空经济】森林火情高精度监测与早期预警无人机巡护方案

在全球范围内,森林火灾已成为一个严重的生态和社会问题。它不仅对自然生态系统造成了毁灭性的影响,还对人类的生命财产安全构成了极大的威胁。根据国际森林发展组织的统计,全球每年因森林火灾造成的经济损失高达数百亿美元,甚至在某些年份,火灾损失占到某些国家国民经济总量的相当一部分。因此,开展高效的森林火情监测与早期预警工作显得尤为重要。随着科技的发展,无人机作为新兴的监测工具,以其高效、灵活和经济的特点在森林火灾监测领域展现出了巨大的潜力。

2502_92579126的博客 1209

RYU REST API-编程示范

import urllib2 import json def get_all_switches(): url = "http://127.0.0.1:8080/v1.0/topology/switches" req = urllib2.Request(url) res_data = urllib2.urlopen(req) res = res_d

木木 935

微信小程序 - 详细实现可移动悬浮按钮,全屏悬浮元素图标可拖动拖拽并自动吸附边缘,微信小程序实现悬浮球吸附边缘+计算靠边靠拢效果(详细代码,拖拽中途放手,靠左就自动跑到屏幕左侧,反之靠右跑到屏幕右侧)

微信小程序,vue2,vue3,微信小程序悬浮功能小按钮,自动吸附边缘效果,微信小程序之可拖动悬浮按钮的实现,如何实现靠近边缘自动吸住功能,小程序右下角的悬浮效果,实现可拖动悬浮图标,自动向两边靠拢,悬浮按钮的实现,微信小程序悬浮球效果,微信小程序(可拖动悬浮按钮)当靠近屏幕边缘时会磁吸靠近,如何实现全局悬浮按钮,悬浮球判断吸附在左右,全屏悬浮能拖着走,小程序怎么做悬浮图标靠近左右两侧能吸附住,悬浮菜单按钮,悬浮球可拖拽,全局悬浮球,全局悬浮框,实现悬浮按钮可拖动,自动吸附边缘效果,若按钮此时位于页面中间偏

🏆 前端领域优质创作者 1万+

支付域——“清算、结算、清结算”

本文深入探讨了支付系统中的清算和结算流程,包括核心流程、模块设计及特殊场景处理。文章详细阐述了交易收单、资金冻结、清分规则、清算批处理、结算出账等关键步骤,并讨论了交易失败、数据不一致、退款、汇率波动等异常情况的处理方法。

庄小焱 2558

ryu的RESTAPI简介——我主要用于下发和查看流表

一.Rest API简介 REST即表述性状态传递(RepreSentational State Transfer),是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。 表述性状态转移是一组构架约束条件和原则,满足这些约束和原则的应用程序或设计就是RESTful,REST是设计风格而不是标准,它通常基于使用HTTP,URI,XML以及HTML这些现有的广泛流行的协议...

weixin_30435261的博客 751

从养殖场到科技前沿:YOLOv11+OpenCV精准计数鸡蛋与鸡

YOLOv11结合OpenCV技术,精准识别和计数鸡蛋与鸡,广泛应用于养殖场、市场监控和自动化包装。通过深度学习与计算机视觉,提升农业生产效率,让智能化管理更简单高效。

专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。 1204

爱python网_Python

一、实验目的 熟悉 Postman 的使用;熟悉如何使用 OpenDaylight 通过 Postman 下发流表。 二、实验任务 流表有软超时和硬超时的概念,分别对应流表中的 idle_timeout 和 hard_timeout。* idle timeout:如果值为非 0,那么在对应的时间内如 ...»Lia01042020-10-07金融企业网络总体架构 总体分为服务域、通道域和用户域。单...

weixin_39982452的博客 139

RAGFlow升级指南(纯小白都看得懂)

升级背景:RAGFlow项目原来的版本是0.17.0版本,在使用过程中,发现当知识库检索为空的时候并且使用到rerank模型的时候,就会输出错误的信息;为了解决这个版本问题,特意升级到最新的版本0.17.2(截止2025-3-14时最新版本就是0.17.2了)官方升级文档https://ragflow.io/docs/dev/upgrade_ragflow官方文档对小白还是不太友好,作者也是捣鼓了十多分钟,特出下面的升级指南前提:旧版本的RAGFlow项目是启动好了的1.在ragflow目录下执行(拉取最新

Ven%的博客 3595

IMX6ULL---从零开始移植uboot-imx

IMX6ULL---从零开始移植uboot-imx

weixin_42162924的博客 1027
上一篇: ComfyUI-Impact-Subpack插件安装避坑指南:为什么你的UltralyticsDetectorProvider节点还是找不到?
下一篇: 虫虫钢琴音频下载避坑指南:为什么你按F12找不到MP3文件?
cloud
博客等级 码龄27年 60粉丝 1276原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值