uni-app 支付逻辑代码解析:onZfbPay 函数详解
这段代码是一个支付逻辑函数,名为 onZfbPay。该函数接受一个名为 query 的参数,用于构建最终的支付请求 URL。
代码首先根据传入的 query 参数,拼接成一个包含支付方式信息(payWay=1)的 endQuery 字符串。
let endQuery = `${query}&payWay=1`;
接下来,代码根据运行环境的不同,分别执行不同的支付操作:
1. APP-PLUS 环境:
在 APP-PLUS 环境下,代码使用 plus.webview.create 创建一个自定义的 webview,并加载支付请求 URL。
// #ifdef APP-PLUS
let wv = plus.webview.create('', 'custom-webview', {
// plusrequire: 'none', // 禁止远程网页使用plus的API
'uni-app': 'none' // 不加载uni-app渲染层框架
});
wv.loadURL(`urlConfig{this.jk.mdPay}${endQuery}`);
// #endif
创建自定义 webview 并禁止加载 uni-app 渲染层框架可以有效避免远程网页使用 plus API 和样式冲突的问题。
2. 非 APP-PLUS 环境:
在非 APP-PLUS 环境下,代码直接将支付请求 URL 赋给 location.href,实现页面跳转到支付页面。
// #ifndef APP-PLUS
let url = `urlConfig{this.jk.mdPay}${endQuery}`;
location.href = url;
// #endif
总结:
onZfbPay 函数根据传入的 query 参数构建支付请求 URL,并在不同环境下使用不同的方法执行支付操作,最终实现支付宝支付功能。
原文地址: https://www.cveoy.top/t/topic/crsI 著作权归作者所有。请勿转载和采集!