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

电商项目之同一笔单多次收款成功

在这里插入图片描述

1 问题背景

有个收单系统(简称S系统),作用是收单,相当于支付渠道,能够作为第三方服务对接其他支付平台。电商系统(简称A系统)与S系统是隔离的。A系统发起支付请求给S系统,S系统包装一下(AB站逻辑)再发起支付请求给Stripe。Stripe系统处理完逻辑后会跳回到发起支付时传过去的returnUrlreturnUrl到达的前端页面会通过js代码发起请求(假设请求路径是/pull/pay/result)给S系统,S系统会拉取支付结果。如下图所示:

在这里插入图片描述

问题出现在步骤4,导致A系统的订单状态无法及时翻转。买家看见未支付成功,就第二次发起支付,导致Stripe后台出现了同一笔单多次收款成功。

这个问题,在买家角度去看,核心是支付结果没有及时翻转。在卖家角度去看,买家后续会发起拒付,导致卖家的收款账号被封的可能性提高。

2 前言

本篇为笔者遇到的真实案例

3 S系统的设计初衷

S系统设计的初衷是为了保护商家的收款账号不被封(业务是做不发货业务),因此S系统暂时没有做webhook订阅(如果要做,要做好ab逻辑),导致无法及时从Stripe拿到订单的支付结果,只能依靠自己主动查询。因此在订单状态翻转这块无法100%保证时效性。

由于业务类型不同,S系统在设计之初就做了重点倾斜。针对不发货业务,核心是保护收款账号,收到款就行。针对仿品、普货这些业务,核心是订单状态的翻转,因为卖家要发货。

S系统无法同时兼顾两类不同的业务,必须要有所倾斜。

4 思考产生问题的原因

分别从业务角度、技术角度去分析产生问题的原因(产生bug的场景),并思考对应的解决方案

业务上:

  1. 客户做什么业务?仿品、普货属于都要发货的类型;不发货业务是属于不发货的类型。如果是不发货类型,由于要保护收款账号从而没有接入webhook及时反转订单状态,因此在时效上无法100%保证翻转订单状态。因此,如果是做仿品、普货的业务,无法保证及时翻转订单状态。如实告知客户系统设计如此,建议客户采用另外的收款渠道,而不是采用S系统

  2. 客户投放什么国家?因为问题的核心是没有调用到S系统的接口,是否存在网络问题,导致调不通?需要询问客户投放什么国家,因为S系统没有做全球加速,可能会存在某些国家访问S系统失败。

技术上:

  1. webhook是否有发送成功?可以做个重试机制发送webhook,但必须限制最大发送次数。

  2. 主动拉取支付结果的延迟消息是否生效?根据排查结果,买家发起第一次支付会投递1个延迟时间为10min的消息给MQ,而买家在4min后又发起支付并且支付成功了。而等到MQ开始消费时,买家已经支付完并成功了。因此,我们可以降低延迟时间,比如1min,并且在消费时如果还是拉取到未支付成功,可以再投递一个延迟时间为3min、5min的MQ(查询频率递减)

5 解决方案

  1. 如实跟客户阐述S系统的设计初衷,并将风险告知。(如订单状态无法及时翻转)
  2. 如果是由于网络问题导致流程图中的步骤4 调用/pull/pay/result/报错,需要询问客户投放的国家,看看该国家是否与S系统之间存在网络问题,根据情况 让运维加入全球加速,但是经济成本会增加。
  3. 针对异步延迟拉取支付结果,可以提高拉取频率,或降低延迟时间
  4. 做一个定时调度,将当天内待支付的订单,每隔1min都拉取支付结果
  5. 实现同一笔订单不能支付多次,这样就杜绝Stripe后台出现同一笔单多次收款成功
  6. 针对流程图中的步骤4 调用/pull/pay/result/,前端页面引入监控机制(监控前端页面在调接口的时候是否报错了),但是项目经济成本会提升。同时调用改接口可以加入重试机制。

5 总结

发生生产级别的问题,先不要慌,要从业务角度、技术角度思考什么场景会导致该问题发生?有解决方法吗?运用任何数据去分析排查并结合现有情况给出解决方案。处理问题的方法论见电商项目之处理生产级别问题的方法论。

相关文章:

个人博客系统的设计与实现

https://download.csdn.net/download/liuhaikang/89222885http://点击下载源码和论文 本 科 毕 业 设 计(论文) 题 目:个人博客系统的设计与实现 专题题目: 本 科 毕 业 设 计(论文)任 务 书 题 …...

C语言数据结构:顺序栈的创建、出入栈,以及使用顺序栈实现十进制转十六进制

/*********************************************************************************************************** 该程序实现顺序栈元素的增删改查,目的是提高设计程序的逻辑思维,另外为了提高可移植性,所以顺序栈中元素的* 数据类型为DataType_t,用户可以根据实际情况修…...

Ubuntu 18.04 LTS 安装 LLVM 12.0.1

Ubuntu 18.04 LTS 安装 LLVM 12.0.1_ubuntu llvm12安装-CSDN博客...

pack_sequence和pad_sequence(未整理)

构建我的第一个RNN网络的时候遇到的关于蛋白质序列处理的一些问题【pad/pack sequence】:https://blog.csdn.net/tcn760/article/details/124982295 https://blog.csdn.net/xinjieyuan/article/details/108562360 https://zhuanlan.zhihu.com/p/342685890 【pad/pack sequenc…...

stm32实现hid鼠标

启动CubelMX 选择芯片(直接输入stm32f103zet6) 设置时钟 如下图 usb设置 配置usb设备 调试端口设置 配置时钟 项目输出设置 打开工程(后记:此工程含有中文不能编译通过) 配置项目 配置调试器 编译无法通过 删除路径中的中文,以及…...

文件名的正则表达匹配,包含多个点的文件名匹配

这里使用的是 /(.+)\.(\w+)$/ 来匹配文件名,再javascript中这样使用 const fileNameRegex = /(.+)\.(\w+)$/ const fileName = "tag1.filename.txt" let matches = fileName .match(fileNameRegex ) // 得到匹配结果 const ext = matches[2] const pureFileName = m…...

电商项目之同一笔单多次收款成功

1 问题背景 有个收单系统(简称S系统),作用是收单,相当于支付渠道,能够作为第三方服务对接其他支付平台。电商系统(简称A系统)与S系统是隔离的。A系统发起支付请求给S系统,S系统包装一…...

Dubbo 源码分析 – SPI 机制

1.简介 SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口 加载实现类。正因此特性&#xff0…...

spring笔记下(AOP、事务管理)

一、AOP概述 1. AOP介绍 AOP(Aspect Oriented Programming):面向切面编程,一种编程范式,指导开发者如何组织程序结构,是oop的延续。(OOP面向对象编程) AOP作用:在不惊动原始设计的基础上为其进…...

Java基础语法——方法

目录 方法概述 方法定义及格式 方法重载 •方法重载概述 •方法重载特点 方法中基本数据类型和引用数据类型的传递 方法概述 ——假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码&…...

逆序遍历List集合

1 问题手写一个程序,完成List集合对象的逆序遍历2 方法创建List接口的多态对象向创建好list集合添加元素使用hasPrevious方法。import java.util.ArrayList;import java.util.List;import java.util.ListIterator;public class TestList { public static void ma…...

RISC-V Directives

原始内容如下: RISC-V Directives The following table lists all available RISC-V specific directives. .align size-log-2 Align to the given boundary, with the size given as log2 the number of bytes to align to. .half value .word value .dword valu…...

Day870.全局锁和表锁 -MySQL实战

全局锁和表锁 Hi,我是阿昌,今天学习记录的是关于全局锁和表锁的内容。 数据库锁设计的初衷是处理并发问题。 作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。锁就是用来实现这些访问规则的重…...

python语法 dot函数

dot是numpy里的函数,主要用于求向量相乘,矩阵乘法,矩阵与向量乘法一、一维向量相乘要求元素个数相同,相当于求内积,对应元素相乘再相加,“1*3 2*4 11”二、矩阵和矩阵相乘遵循矩阵乘法法则“左行 * 右列”…...

Java多线程与并发之线程同步[91]

Java多线程与并发之线程同步[91] 文章目录Java多线程与并发之线程同步[91]一、线程同步概念二、代码演示三.小结一、线程同步概念 线程同步:同步会牺牲性能,加强安全 1.多线程共享数据时,会发生数据不安全情况; 2.多线程共享数据时,必须使用同步; 线程同步三种操作: 1.同步代码…...

C语言基础知识(42)

数组作为函数参数数组可以由整个数组当作函数的参数,也可以由数组中的某个元素当作函数的参数:整个数组当作函数参数,即把数组名称传入函数中数组中的元素当作函数参数,即把数组中的参数传入函数中数组作为函数参数时注意以下事项…...

嵌入式复习题(三)判断题

1.Contex-M3系列处理器内核采用了冯诺依曼结构的三级流水线。( ) 2.STM32系列MCU在使用电池供电时,提供3.3~5V的低电压工作能力。( ) 3.stm3210xx的固件库中,RCC_DeInit函数是将RCC寄存器重新设置为…...

Qt基础之二十三:反射(Reflection)

反射是指程序在运行时动态获取对象属性与方法的一种机制,即编译器需要将类型信息(属性类型与偏移地址以及成员函数的地址等信息)编译到程序文件中,当程序运行时将这些信息加载到内存中去,做到运行时只根据对象的地址或引用就可以获取到对象的类型信息,从而利用这些信息达到…...

AD采集之离散化概念(Quantizer模型使用介绍)

模拟量采集的PLC程序和功能块算法,可以参看下面的文章链接: PLC模拟量采集算法数学基础(线性传感器)_RXXW_Dor的博客-CSDN博客_模拟量采集线性校准模拟量采集库如何设计,具体算法代码请参看我的另一篇博文:PLC模拟量输入 模拟量转换FC:S_ITR_RXXW_BOSS的博客-CSDN博客_…...

【学习笔记】线性递推数列

1.11.11.1 定义:对于无限数列{a0,a1,a2,...}\{a_0,a_1,a_2,...\}{a0​,a1​,a2​,...}和有限非空数列{r0,r1,r2,...,rm−1}\{r_0,r_1,r_2,...,r_{m-1}\}{r0​,r1​,r2​,...,rm−1​},若对于任意p≥m−1p\ge m-1p≥m−1,有∑k0m−1ap−krk0\s…...

第一次找工作/实习前需要准备的东西(互联网行业)

文章目录一、简历二、笔试三、面试四、offer选择五、投递途径一、简历 详细模板之类的网上一搜都很多,各种网站,在线的,word的,latex的都可以。 主要讲几个个人感觉写的时候需要关注一下的点。 1、个人信息 让hr联系到你&#x…...

【二叉树】java实现代码,详解二叉树,带大家更深刻的掌握二叉树递归思想

前言: 大家好,我是良辰丫🪐🪐🪐,在探索数据结构的旅程中,二叉树可以说是数据结构中的重点,笔试面试经常出现的问题,同时也是难点。🐥🐥&#x1f4…...

【论文翻译】Jointformer :一种基于误差预测和改进的三维人体姿态估计的单帧提升变压器

摘要 单目三维人体姿态估计技术有望极大地提高人体运动数据的可用性。表现最好的单幅图像2D3D提升模型使用图卷积网络(GCNs),通常需要一些手动输入来定义不同身体关节之间的关系。我们提出了一种新的基于变压器的方法,该方法使用更广泛的自我注意机制来…...

Linux用户管理

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分…...

第四十六章 动态规划——状态机模型

第四十六章 动态规划——状态机模型一、通俗理解状态机DP1、什么是状态机2、什么是状态机DP二、例题1、AcWing 1049. 大盗阿福(1)问题(2)分析a.状态定义b.状态转移c.循环设计d.初末状态(3)代码2、AcWing 10…...

Idea中指定xml文件失效

目录一、🐇 项目场景:二、🐇 问题描述三、🐇 原因分析:四、🐇 解决方案:一、🐇 项目场景: 最近狮子在搞一个项目,需要用到数据库多表查询,所以在…...

【华为上机真题】工号不够用咋办

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…...

【蓝桥云课】大整数相加与相乘——字符串模拟

一、大整数相加 思路分析: 输入两个整数a1456、b789,输出两个整数相加的结果。 ①将两个整数翻转 个位十位百位千位a6541b9870 ②相加计算,逢十进一 a0b06915a_0b_06915a0​b0​6915(进1留5) a1b158114a_1b_158114a…...

泊松过程与排队论

全国同理:随机过程随机会过 ......唉 你说热统,他为什么要搭配着随机过程一起学 ......唉 你说数模比赛 为什么不能白送一个奖牌小摘要泊松过程泊松过程来到间隔与等待时间的分布来到时刻的条件分布M/G/1 忙期非齐次泊松过程复合泊松过程条件泊松过程排队系统输入常见的输入分布…...

告别3D-DNA试试chromap和yahs做Hi-C辅助组装吧

之前使用的是3D-DNA流程做Hi-C的辅助组装,它的最大优势就是输出结果可以对接下游的JBAT(juicerbox with Assembly Tools)进行手动矫正。然而它点缺陷也很明显,处理速度不够快,且对植物的优化不行,同时目前许久不更新了。 最近我发…...

Kettle(9):排序记录组件

1 组件介绍 排序组件可以将Kettle数据流中的数据进行排序,可以指定升序、还是降序排列 2 需求 使用Kettle将t_user表中的用户数据,按照年龄升序排序,并将排序后的数据装载到Excel 3 构建Kettle数据流图 效果图...

LVS+keepalived(双主)+Nginx实现高可用负载均衡

#为什么采用双主架构: 单主架构只有一个keepalived对外提供服务,该主机长期处于繁忙状态,而另一台主机却很空闲,利用率低下 #双主架构的优点: 即将两个或以上VIP分别运行在不同的keepalived服务器,以实现…...

力扣 2299. 强密码检验器 II

题目 如果一个密码满足以下所有条件,我们称它是一个 强 密码: 它有至少 8 个字符。 至少包含 一个小写英文 字母。 至少包含 一个大写英文 字母。 至少包含 一个数字 。 至少包含 一个特殊字符 。特殊字符为:“!#$%^&*()-” 中的一个。…...

[GWCTF 2019]枯燥的抽奖

目录 信息收集 知识回顾 解题思路 信息收集 查看源码&#xff0c;发现check.php <?php #这不是抽奖程序的源代码&#xff01;不许看&#xff01; header("Content-Type: text/html;charsetutf-8"); session_start(); if(!isset($_SESSION[seed])){ $_SESSIO…...

初入职场的我认识到linux的重要性

先自我介绍下&#xff0c;我是一名普通的软件工程专业的本科毕业生&#xff0c;今年刚毕业&#xff0c;软件工程的课程超级多&#xff0c;有程序设计基础、面向对象程序设计、软件工程导论、离散结构、数据结构与算法、计算机系统基础、操作系统、数据库概论、网络及其计算等等…...

数据库系统概述

文章目录一、数据、数据库、数据库管理系统、数据库系统1.数据2.数据库&#xff08;DB&#xff09;3.数据库管理系统&#xff08;DBMS&#xff09;1&#xff09;数据定义2&#xff09;数据组织、存储和管理3&#xff09;数据操纵4&#xff09;事务管理和运行管理5&#xff09;数…...

【算法基础】快速排序(分治思想)

一、快速排序原理 1. 算法介绍 快速排序算法通过多次比较和交换来实现排序,其排序流程如下: (1)首先设定一个分界值,通过该分界值将数组分成左右两部分。(记左端为L,最右端为R) 分界点的选取有如下四种方法:(1)q[L];(2)q[(L+R)/2];(3)q[R];(4)随机选取 (2)…...

JavaEE-初识网络

目录一、局域网二、广域网三、网络通信基础3.1 IP地址3.2 端口号3.3 协议四、协议分层五、封装和分用一、局域网 局域网&#xff0c;网络种类&#xff0c;覆盖范围一般是方圆几千米之内&#xff0c;其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。局…...

【23】C语言 | 初阶结构体

目录 1、结构的基础知识 2、结构成员的类型 3、结构体初始化 4、结构体的访问 5、结构体传参 1、结构的基础知识 结构是这些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量 数组&#xff1a;一组相同类型的元素的集合 结构体&#xff1a;也是…...

【笔记】SemGCN

一. 论文总结 1.1 核心贡献 提出了一种改进的图卷积操作&#xff0c;称为语义图卷积(SemGConv)&#xff0c;它源自cnn。其关键思想是学习图中暗示的边的信道权值&#xff0c;然后将它们与核矩阵结合起来。这大大提高了图卷积的能力。其次&#xff0c;我们引入了SemGCN&#x…...

Python机器学习:一元回归

→\rightarrow→回归效果评价 &#x1f315; 一元回归 一元回归主要研究一个自变量和一个因变量之间的关系&#xff0c;而这个自变量和因变量之间的关系又可分为线性回归和非线性回归。 ⭐️ 一元线性回归分析两个变量之间的线性关系&#xff0c;如ykxbykxbykxb中xxx和yyy就是…...

四轮两驱小车(三):STM32驱动MPU6050进行转弯

前言&#xff1a; 寒假已经过了一半了&#xff0c;前段时间跟学弟一起从零开始搞了一下深度学习&#xff0c;现在才想起来这个系列还没有更完。本篇博客主要介绍一下这个小车转直角弯的神器----MPU6050 MPU6050介绍&#xff1a; 我所采用的MPU6050是某宝上十几块钱的这种&…...

C++:类的static成员,友元和构造函数初始化列表

目录 一.类的构造函数的初始化列表 1.类的构造函数初始化列表的引入和介绍 2.初始化列表用于类的类对象成员的拷贝构造函数的调用 3.初始化列表的使用细则 4.使用初始化列表的一个注意事项 二.explicit关键字 三.C类的static成员 1.类中static修饰的成员变量 2.类中st…...

用友U8和旺店通企业版淘宝奇门单据接口集成

用友U8和旺店通企业奇门单据接口集成对接系统&#xff1a;旺店通企业奇门慧策最先以旺店通ERP切入商家核心管理痛点——订单管理&#xff0c;之后围绕电商经营管理中的核心管理诉求&#xff0c;先后布局流量获取、会员管理、仓库管理等其他重要经营模块。慧策的产品线从旺店通E…...

Java-黑马Java学习作业-day11集合学生管理系统

学习视频链接&#xff1a;https://www.bilibili.com/video/BV17F411T7Ao 文章目录题目1-将数组存放在集合中题目2-教师信息查看题目3-员工信息删改查操作题目4&#xff08;综合&#xff09;-图书管理系统题目1-将数组存放在集合中 现有如下字符串元素&#xff1a;[“aaa”, “…...

【Linux】冯诺依曼体系结构与操作系统概念理解

&#x1f451;作者主页&#xff1a;安 度 因 &#x1f3e0;学习社区&#xff1a;StackFrame &#x1f4d6;专栏链接&#xff1a;Linux 文章目录一、前言二、冯诺依曼体系结构1、体系简述2、内存的重要性3、硬件方案解释软件行为4、体系结构中的数据流动5、拓展三、操作系统简述…...

protegeproject/mapping-masterPublic

protegeproject/mapping-masterPublicWatch 10 Fork 7Fork your own copy of protegeproject/mapping-masterStar 44CodeIssues15Pull requests3ActionsProjectsWikiSecurityInsightsMappingMasterDSL编辑新页面马丁奥康纳编辑了此页面 on Oct 29, 2020 85 修订页面4家Mapping…...

大数据分析案例-基于随机森林算法构建人口普查分析模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…...

【数据结构和算法】认识线性表中的链表,并实现单向链表

本文接着上文&#xff0c;上文我们认识了线性表的概念&#xff0c;并实现了静态、动态顺序表。接下来我们认识一个新概念链表。并实现单向链表的各种操作。顺序表还有不明白的看这一篇文章 (13条消息) 【数据结构和算法】实现线性表中的静态、动态顺序表_小王学代码的博客-CSDN…...

2023-1-28

具有给定数值的最小字符串 题目描述 小写字符 的 数值 是它在字母表中的位置&#xff08;从 1 开始&#xff09;&#xff0c;因此 a 的数值为 1 &#xff0c;b 的数值为 2 &#xff0c;c 的数值为 3 &#xff0c;以此类推。 字符串由若干小写字符组成&#xff0c;字符串的数…...

Linux_常见命令

1.ls ls -l 列出隐藏文件&#xff0c;并显示10项权限,类似如同下图 在部分发行版本的linux下&#xff0c;ll等同于ls -l 首先&#xff0c;第一列为-则代表着这一列是文件&#xff0c; 第一列为d则代表这一列为目录 除了第一位&#xff0c;那么其他还有9位&#xff0c;分为3组…...

【Linux】基础IO --- 系统级文件接口、文件描述符表、文件控制块、fd分配规则、重定向…

能一个人走的路别抱有任何期待&#xff0c;死不了 文章目录一、关于文件的重新认识二、语言和系统级的文件操作&#xff08;语言和系统的联系&#xff09;1.C语言文件操作接口&#xff08;语言级别&#xff09;1.1 文件的打开方式1.2 文件操作的相关函数1.3 细节问题2.系统级文…...

ffmpeg无损裁剪、合并视频

我用的版本是 ffmpeg version git-2020-06-23-ce297b4 官方文档 https://ffmpeg.org/ffmpeg-utils.html#time-duration-syntax 时间格式 [-][HH:]MM:SS[.m...] 或 [-]S[.m...][s|ms|us]裁剪视频 假设需要裁剪视频aaa.mp4&#xff0c;第5秒到第15秒 ffmpeg -ss 5 -to 15 -i…...

ATAC-seq分析:Annotating Peaks(9)

1. 注释开放区域 将已识别的无核小体区域与基因组特征&#xff08;如基因和增强子&#xff09;相关联通常很有趣。 一旦注释到基因或增强子的基因&#xff0c;我们就可以开始将 ATACseq 数据与这些基因的特征相关联。 &#xff08;功能注释、表达变化、其他表观遗传状态&#x…...

蓝桥杯刷题015——最少刷题数(二分法+前缀和)

问题描述 小蓝老师教的编程课有 N 名学生, 编号依次是 1…N 。第 i 号学生这学期刷题的数量是 Ai​ 。 对于每一名学生, 请你计算他至少还要再刷多少道题, 才能使得全班刷题比他多的学生数不超过刷题比他少的学生数。 输入格式 第一行包含一个正整数 N 。 第二行包含 N 个整数:…...

Linux——进程

目录 冯诺依曼体系结构 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 承上启下 进程 基本概念 描述进程-PCB task_struct-PCB的一种 task_ struct内容分类 组织进程 查看进程 通过系统调用获取进程…...

C语言联合体详解

下午好诶&#xff0c;今天小眼神给大家带来一篇C语言联合体详解的文章~ 目录 联合体 1. 联合体类型的声明 2. 联合体的特点 代码一&#xff1a; 代码二&#xff1a; 3. 相同成员的结构体和联合体对比 ​编辑4. 联合体大小的计算 5. 联合体的优点 联合体 1. 联合体…...

GDPU unity游戏开发 碰撞体与关节

让你设计的角色跑起来吧&#xff0c;可以是动画&#xff0c;也可以是碰撞器的运动。 运动小车 找到小车素材&#xff0c;导入到层级面板。然后可以新建一个地面让小车在上面运动&#xff0c;新建一个方块当障碍物。 摆放好后&#xff0c;要加组件。记住&#xff0c;在unity中运…...

OSPF的学习笔记

1.OSPF &#xff08;1&#xff09;链路状态路由协议的路由信息并不是像距离矢量路由协议那样(邻居告诉的)&#xff0c;通过收集自身以及邻居发出的LSA(原材料)&#xff0c;并LSA放到指定仓库里面(LSDB)&#xff0c;通过SPF算法&#xff0c;以自己为根计算到达网络每个节点的最优…...

axios 实现上传、下载

一、下载&#xff08;支持批量下载&#xff09; const downloadFile (fileList) > {console.log(fileList, 下载list)fileList.forEach((e) > {const uid uuidv4()const CancelToken axios.CancelTokenlet source CancelToken.source()transmissionStore().setDownlo…...

怎么办xgp会员一年多少钱xgp会员怎么开轻松教你xgp会员开通教程

怎么办&#xff1f;xgp会员一年多少钱&#xff1f;xgp会员怎么开&#xff1f;轻松教你xgp会员开通教程 XGP平台是由微软公司开发的xbox游戏平台的pc版本&#xff0c;为电脑玩家提供了一个游玩微软游戏的平台&#xff0c;XGP平台因其独特的会员服务而广受玩家们好评&#xff0…...

Unity 踩坑记录 Rigidbody 刚体重力失效

playerSetting > physics > Gravity > 设置 Y 的值为负数...