当前位置: 首页 > Web前端 > JavaScript

Spartacus支付类型在checkout步骤发送HTTPput请求的实现细节

时间:2023-03-26 23:23:46 JavaScript

我在本地开发环境,执行批处理程序b2c.bat可以正常运行4.3.x版本的Spartacus,但是5.0,develop分支,cannot,报这个错误:$info"fsevents@2.3.2"isanoptionaldependencyandfailedcompatibilitycheck.从安装中排除它。error@typescript-eslint/utils@5.37.0:Theengine"node"isincompatiblewiththismodule.Expectedversion"^12.22.0||^14使用命令行whereng找到AngularCLI的可执行文件ng的位置,在基于nodev14的文件夹下。环境变量如下,取值PATH环境变量:我在上图中将path环境变量中的Node.js配置为16,但是AngularCLI还是老版本12,所以需要升级,使用命令行npmuninstall-g@angular/cli把Node.js16文件夹下ng先卸载卸载成功:Node.js16看不到ng文件:然后使用命令行全局安装:npminstall-g@angular/cli如果不加任何参数,版本号太高:15.1.5使用AngularCLI14.2.3成功编译Spartacus5.0:编译成功截图如下:5.0paymentdetails,切换Paymenttype在下拉列表中,不会产生HTTP请求,只会触发单击继续按钮时触发事件。Continue按钮所在的表单Component的selector:cx-payment-form点击提交后执行什么功能?答案可以在表单的ngSubmit事件绑定函数中找到:next函数。【外链图片传输失败,源站可能有防盗链接机制,建议保存图片直接上传(img-7gxzqpkF-1676028574844)(null)】我们在下一个函数中设置断点,单击继续按钮,并触发断点:发送事件:这是一个命令模式:请求请求的目的是请求一个postUrl:这个postUrl的值包含在HTTPpost请求的响应中:命令执行的payload可以在调试器中看到:命令模式其实并不玄妙,本质还是调用服务类中的connector类来发送HTTP请求: