quickapp_快应用_快应用与h5交互

h5跳转到快应用

[1] 判断当前环境是否支持组件跳转快应用

首先并不是所有机型都支持在h5页面跳转到快应用页面的,因此在进行跳转之前需要先判断当前机型是否支持跳转做好兜底。

  • 首先在网页嵌入如下 js
    <script type="text/javascript" src="//statres.quickapp.cn/quickapp/js/qa_router.min.js"></script>
    
    在网页嵌入如上js后,会给window对象添加一个方法channelReady,可以通过这个方法检验当前机型是否支持跳转;
    if (window.channelReady) {
         
      window.channelReady(function (bAvailable) {
         
        // bAvailable为true表示允许跳转-跳转
        // bAvailable为false表示不允许跳转-兜底
      })
    }else{
         
      // 不允许跳转-兜底
    }
    
  • 注意:并不是所有机型都支持如上判断
    在这里插入图片描述
[2] h5跳转到快应用

h5跳转到快应用有以下几种方式

(1)deeplink方式进行跳转(推荐)

可以通过deeplink的形式进行跳转

deeplink支持格式如下:

  • http://hapjs.org/app/<package>/[path][?key=value]
  • https://hapjs.org/app//[path][?key=value]
  • hap://app//[path][?key=value]

参数说明如下:

  • package: 应用包名(与manifest.json中package属性相同),必选

  • path: 应用内页面的 path,可选,默认为首页

  • key-value: 希望传给页面的参数,可选,可以有多个

    快应用内获取参数: 快应用内会自动获取key-value并赋值给public内的同名参数

    若是public内没有同名参数,则不会新增这个属性(相当于🈚️成功获取)

说明:不同的厂商对该能力可能有不同限制,使用前请和相应厂商确认(本人试了华为、荣耀、小米、OPPO的几部测试机,目前并没有发现问题)

流程

 clickmethod(){
   
   if (window.channelReady) {
   
     window.channelReady(function (bAvailable) {
   
       if (bAvailable) {
   
         location.href = `https://hapjs.org/app/com.klang.benz/pages/Front?phone=${
     _this.phone}&channel=${
     _this.channel}`
       }else{
   
         // 不允许跳转- 兜底(下载对应app)
       }
     }
   }else{
   
     // 不允许跳转- 兜底(下载对应app)
   }
 }
(2)h5点击组件(接收参数存在问题)

h5点击组件是指:网页开发者可以在其H5 页面中使用快应用官方推荐的点击组件,用于跳转指定快应用。使用点击组件时,必须由用户主动点击方可发起跳转快应用请求。

### 将支付宝APP支付参数适配至H5支付场景 #### 参数调整配置方法 对于将支付宝APP支付参数转换为适用于H5支付环境下的操作,主要涉及的是`scheme`这一用于回调机制的参数不再适用。因为H5支付通常依赖于浏览器端处理完成后的重定向或是JavaScript接口来通知支付状态的变化[^1]。 在H5环境中,原本由本地应用负责监听并响应的事件转而交给了前端页面逻辑去管理。因此,在构建新的请求字符串(`orderStr`)时,应当移除掉特定于移动应用程序上下文中的字段,并加入适合Web环境的新属性,比如指定返回地址(return_url),该网址将在交易结束后被访问以便告知商家最终的结果[^4]。 另外值得注意的是,当涉及到iOS平台上的提交审核问题时,如果希望避免提及敏感词汇或组件,则可以通过加载内部HTML文件的方式实现整个过程,而不必直接调用任何可能引起争议的服务或库[^3]。 具体来说,为了使原有的APP支付方案能够顺利迁移到基于浏览器的解决方案之上: - 移除原生应用特有的`scheme`参数; - 添加适应网络服务特性的新项如return_url等; - 调整原有订单详情串(orderStr)内的键值对组合以匹配目标API的要求; - 如果是在苹果生态系统内运行的应用程序,考虑利用隐藏WebView控件加载自定义服务器提供的认证界面来进行交互[^2]。 ```javascript // 示例代码展示如何设置H5支付所需的参数对象 const h5PaymentParams = { "out_trade_no": "your_unique_order_id", // 商家网站唯一订单号 "total_amount": "9.00", // 订单金额 "subject": "商品名称", // 商品标题/交易标题/订单标题/订单关键字等 "product_code": "QUICK_WAP_PAY", // 销售产品码,目前只支持QUICK_WAP_PAY "return_url": "https://example.com/payback" // 支付成功后跳转链接 }; ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值