首页 > 其他分享 >[干货]鸿蒙next适用于api11,12,鸿蒙+支付宝支付整体流程以及坑点

[干货]鸿蒙next适用于api11,12,鸿蒙+支付宝支付整体流程以及坑点

时间:2024-06-01 21:59:34浏览次数:26  
标签:web 12 鸿蒙 结果 坑点 拿到 一个 支付 服务器

         

我在做这个功能支付的时候,一共是涉及到三个主体之间的通信,现在分享给家人们,分别是我们的客户端,我们自己的服务器,以及三方的支付宝服务器;我们前端做的就是头和尾两个部分,在头上呢我会跟我们自己的服务器进行交付,我会发起一个请求,我用的是一个web组件模拟了一个get请求发送,在发送请求过程中呢,我会把当前想要支付的订单id发给我们自己的服务器,然后自己的服务器呢,它呢拿到订单id它会去跟三方的支付宝服务进行交互。然后呢用这个订单id去进行一个付钱的操作,等到付钱完毕以后,支付宝这边会先把响应结果返给我们自己的服务器,我自己的服务器存储一下当前的这个到底是支付成功还是失败,这些相关信息先存到数据库层面,不能让它把这个状态丢了,那接着,我自己的服务器呢,会相应一个结果给我的客户端,也就是这个web组件,这是整个的一个核心流程;
    等到web组件拿到支付结果之后,我用这个支付结果做了一个信息的展示,这里面值得一说的是拿结果的过程我们采取了一个监听的方式,因为它在整个过程中呢会不断的有url地址的变化,然后我们约定了一个什么时候算是支付成功了,那就是那个包含了一个叫payResult的这个标识,就代表当前要显示结果了,然后我们从这个响应结果里面,url地址里面解析出来他的一个参数,我写了一个解析方法把它进行一个参数解析,拿到payResult这个参数以后我们做了一个支付结果的展示,这就是我用自己的描述一下这个过程里面大概是怎么样的一个玩法,

  •  接下来我们来看一下头和尾,这是需要重点关注的
  • -web组件模拟一个get发起支付请求`web({src:`xxxxxxx`, controller:this.controller})

`

  • web发起虚拟请求之后,后续的事看不见但是得清楚,它事实上web组件发送支付请求是发给我们自己的服务器的
  • 我们自己的服务器拿到自己的请求之后,它会自动跟三方(支付宝服务)进行交互,所以我们可以看到打开了三方的支付的网页,这是有本地服务器和三方服务器交互打开的,
  • 等到我们后续输入账号一系列操作它会响应出来这个结果,响应结果之后呢,咱说了,要去监听它唯一的一个标识
  • web组件的onInterceptRequest这个方法就是监听它整个url的一个变化,它会有很多的url,直到我们看到/pay/redirect这样一个标识,那就证明它呢以及支付完成了,返回我们的支付结果,所以在这方法里面拿到这个标识以后做判断,直到拿到这个标识以后,我才有资格去后面做后面的事情
  • 然后就是展示支付结果,我们需要去解析它的参数,然后拿到参数之后去做后续的逻辑展示,
  • parseUrl(url)拿到参数以后,携带参数跳转去支付成功或者失败页面,这一步需要做的就是拿到参数的是一个字符串,所以再跳转过去的结果写的初始值都是一个字符串,
  • 简单的模拟一下,无非就是一个条件渲染,拿到payResult之后,在后面呢把对应的UI视图显示一下就完事了,这是一个整个的流程
  1. - - 总结:整个核心流程(使用哪三部分完成的);前端重点做了哪些事情头跟尾,头上做了什么事儿,尾上做了什么事儿;然后就是在整过程中需要注意的细节是什么
  2. - - 最后注意事项
  3. - - 我遇到的坑点:onInterceptRequest方法里不写return null 它会加载不出来页面,它会变成白的,那你一说这个地方需要return null才行,这是我踩的一个坑

标签:web,12,鸿蒙,结果,坑点,拿到,一个,支付,服务器
From: https://blog.csdn.net/weixin_43331077/article/details/139224707

相关文章

  • 拯救win10钉子户:微软win12五大全新功能大猜想
    对于大部分电脑用户而言,微软的Windows一直是一个绕不过去的话题。虽然微软早在2021年就已经推出了Win11,但是依旧还是有不少人依旧“钉”在了Windows10上,拒绝更新。虽然微软的Build2024开发者大会已经结束,今年依旧没有提到Windows12的消息。由于公司不断尝试将AI推向Windows......
  • kube-ovn 1.12基于bfd探测网关可用性
    安装kube-ovn1.12dockerpullkubeovn/kube-ovn:v1.12.2gitclonehttps://github.com/kubeovn/kube-ovn.gitcdkube-ovngitcheckoutrelease-1.12makekind-installkgetnode-owide增加启动参数kube-ovn-controller增加启动参数keditdeploykube-ovn-controlle......
  • 鸿蒙HarmonyOS实战-Web组件(请求响应和页面调试)
    ......
  • Spire.Doc for Java 12.5.1 -2024-05-30
    Spire.DocforJavaisaprofessionalWordAPIthatempowersJavaapplicationstocreate,convert,manipulateandprintWorddocumentswithoutdependencyonMicrosoftWord.Byusingthismultifunctionallibrary,developersareabletoprocesscopioustasks......
  • 学习前端的知识总结12
    8.定位浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子。定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子。1.定位组成:定位︰将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子。定位=定位模......
  • 权限管理,鸿蒙Next版
      一、应用权限概述注意事项在鸿蒙开发中,调用部分API时需要申请权限后,才能调用,如:网络请求,获取网络信息等。部分API权限调用的时候还会弹窗,如:麦克风、位置、摄像头、相册、传感器(sensor)、日历等。申请应用权限时,需要注意两个关键信息:权限级别授权方式权限文档截图......
  • 谷歌浏览器114之前、124、125、126版本驱动下载
    114之前版本下载链接在这里   https://chromedriver.chromium.org/downloads ​​​​​​124以后版本下载链接在此   https://googlechromelabs.github.io/chrome-for-testing/#canary只有后面status是绿色对勾的才可以下载,驱动大版本一致就可以使用,不需版本号一模一......
  • ABC 312D题 Count Bracket Sequences
    题意给定一个非空的字符串,其由(,),?三个字符构成,其中?可以被(或者)给替换掉,求替换后的字符串是符合括号匹配的情况下的方案数。最后答案对mod=998244353取模思路应该算是一个板题,一开始的想法是往卡特兰数的方向思考,但是可能是我太水了没想出来,然后一想到卡特兰数的dp求法,就......
  • 关于12306技术相关说明以及暂定计划
    12306项目中包含了缓存、消息队列、分库分表、设计模式等代码,通过这些代码可以全面了解分布式系统的核心知识点。在系统设计中,采用最新JDK17+SpringBoot3&SpringCloud微服务架构,构建高并发、大数据量下仍然能提供高效可靠的12306购票服务。下方的架构图全面描述了项......
  • C语言练习题之——从简单到烧脑(12)(每日两道)
    题目1:找出1到99之间的全部同构数, 同构数:它出现在平方数的右边,例如:5是25右边的数,25是625右边的数,5和25都是同构数。#include<stdio.h>intmain(){ intsum=0,left=0,right=0; printf("1-99之间的同构数:\n"); for(inti=1;i<100;i++) { inta=i*i;......