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

手机浏览器H5打开微信小程序支付,自定义传参

微信官方提供的开放文档如下:

静态网站 H5 跳小程序 | 微信开放文档

想必大家都能看懂官网提供的文档,但实战时却遇到很多问题,博主总结一下遇到的坑,如果您也有遇到,希望可以帮到您。

1.小程序已经发布上线了,怎么实现跳转呢?怎么开通云开发呢?

2.H5页面如何传自定义参数给到小程序呢?

3.不需要开通静态网站功能,不需要绑定自定义域名就能实现自动跳转

最终实现效果:

H5打开微信小程序支付

第一步:开通微信云开发

没有开通云开发资源的小程序是没有图上这个文件夹的,不管你得小程序之前有没有上架过,都需要在小程序编辑器中新建一个开通云微信开发的小程序,创建方式如下图:

如果你之前已经上架过小程序,目录可以选择你之前的文件夹,后端服务选择“微信云开发”,模板选择“基础”的就行

 第二步:创建完之后,可以按照微信官方文档,通过云开发控制台新建云函数

  1. 新建一个云函数,名为 public,然后将其 index.js 设为以下内容:
  2. 在云开发控制台中的设置 -> 权限设置中,将对应开通了静态网站的云环境开启未登录模式访问
  3. 在云开发控制台中的云函数 -> 权限设置中,配置安全规则,选择 “允许所有用户访问” 的模板并确认。如果需要更安全的控制,即只让 public 函数开启未登录访问,可参见底部安全规则模板

只需要保留public函数,其他函数可以删除(小程序如果自带其他云函数业务可自行保留) 

创建完之后,在微信编辑器中修改云函数public中index.js的代码(加多了页面参数的传递)

 index.js代码如下:

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {const wxContext = cloud.getWXContext()switch (event.action) {case 'getUrlScheme': {return getUrlScheme(event.options)//与官方文档区别:小程序页面接受的参数}}return 'action not found'
}
async function getUrlScheme(options) {//return options;return cloud.openapi.urlscheme.generate({jumpWxa: {path: '/pages/pay/pay', // 调转到小程序要打开的页面路径,根据实际业务设置query: options,//与官方文档区别:小程序页面接受的参数},// 如果想不过期则置为 false,并可以存到数据库isExpire: false,// 一分钟有效期expireTime: parseInt(Date.now() / 1000 + 60),})
}

 云函数修改完之后记得public右键选择:创建并部署:云端安装依赖(不上传node_modules) 

第三步:小程序内部页面设置

外部链接打开小程指定页面,根据实际业务进行设置,我这里设置了支付页面,小程序代码可参考博主之前的文章:微信H5页面实现微信小程序支付_小程序嵌套h5页面调起支付_我是小木木的博客-CSDN博客

 第四步:H5前端页面设置

只需要在页面加上以下代码即可,页面js调用openWeapp方法,传相应的支付金额即可。

<!-- 云开发 Web SDK -->
<script src="https://res.wx.qq.com/open/js/cloudbase/1.1.0/cloud.js"></script><script>var c = new cloud.Cloud({// 必填,表示是未登录模式identityless: true,// 资源方小程序 AppIDresourceAppid: 'wx6aXX',  // 资源方环境 IDresourceEnv: 'XXXXXXX',  })c.init();window.c = c//需要延迟加载,要使用async	async function openWeapp(amount) {var c = window.cconst res = await c.callFunction({name: 'public',data: {action: 'getUrlScheme',options:'amount='+amount},})location.href = res.result.openlink;}</script>

相关文章:

手机浏览器H5打开微信小程序支付,自定义传参

微信官方提供的开放文档如下&#xff1a; 静态网站 H5 跳小程序 | 微信开放文档 想必大家都能看懂官网提供的文档&#xff0c;但实战时却遇到很多问题&#xff0c;博主总结一下遇到的坑&#xff0c;如果您也有遇到&#xff0c;希望可以帮到您。 1.小程序已经发布上线了&…...

Aligning Large Language Models with Human: A Survey

本文也是LLM相关的综述文章&#xff0c;针对《Aligning Large Language Models with Human: A Survey》的翻译。 对齐人类与大语言模型&#xff1a;综述 摘要1 引言2 对齐数据收集2.1 来自人类的指令2.1.1 NLP基准2.1.2 人工构造指令 2.2 来自强大LLM的指令2.2.1 自指令2.2.2 …...

windows图标白了,刷新图标

1.进入C盘&#xff0c;user(用户文件夹)&#xff0c;进入当前用户文件夹&#xff0c;再进入隐藏文件夹(AppDada)&#xff0c;最后进入Local 2.删除Local文件夹里的IconCache.db文件 3.重启资源管理器 -------------------------------------------- 或者创建bat文件&#xf…...

C++ 左值和右值

C 左值和右值 左值、右值左值引用、右值引用std::move()std::move()的实现引用折叠 完美转发forward()的实现函数返回值是左值还是右值如何判断一个值是左值还是右值 左值、右值 在C11中所有的值必属于左值、右值两者之一&#xff0c;右值又可以细分为纯右值、将亡值。在C11中…...

c++学习(智能指针)[29]

RALL RALL&#xff08;Resource Acquisition Is Initialization&#xff09;是一种 C 的编程技术&#xff0c;用于管理资源的获取和释放。它的基本思想是在对象的构造函数中获取资源&#xff0c;在对象的析构函数中释放资源&#xff0c;从而确保资源的正确获取和释放。 RALL 的…...

B站高播放又涨粉的带货UP主怎么做?

飞瓜数据&#xff08;B站版&#xff09;上线新功能【带货达人榜】&#xff0c;由榜单显示&#xff0c;B站7月带货达人中&#xff0c;平均播放量最高的是UP主下个月一定中100万。 带货视频仅1支&#xff0c;播放量已经高达679万&#xff0c;值得一提的是&#xff0c;6月他也是带…...

AD21 PCB设计的高级应用(四)FPGA的管脚交换功能

&#xff08;四&#xff09;FPGA的管脚交换功能 高速 PCB 设计过程中,涉及的 FPGA等可编程器件管脚繁多,也因此导致布线的烦琐与困难&#xff0c;Altium Designer 可实现 PCB 中 FPGA 的管脚交换&#xff0c;方便走线。 1.FPGA管脚交换的要求 (1)一般情况下,相同电压的 Bank之…...

超低功耗LCD段码屏驱动显示芯片VK1621原厂芯片

型 号&#xff1a;VK1621 / 品 牌&#xff1a;VINKA/永嘉微电 最新年份 VK1621 是一个324的LCD驱动器&#xff0c;可软体程式控制使其适用于多样化的LCD应用线路&#xff0c;仅用到3至4条信号线便可控制LCD驱动器&#xff0c;除此之外也可介由指令使其進入省电模式 M1855 …...

【深入探索Docker】:开启容器化时代的技术奇迹

深入探索Docker 深入探索Docker&#xff1a;开启容器化时代的技术奇迹前言1. 容器化&#xff1a;实现快速部署和可移植性2. 虚拟化&#xff1a;提高安全性和可靠性3. 映像&#xff1a;打包应用及依赖项的模板4. 网络管理&#xff1a;连接容器和主机5. 持久化数据&#xff1a;保…...

【Ajax】笔记-JQuery发送jsonp请求

前端 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>jQuery-jsonp</title><style>#re…...

docker更换数据存储路径

1. 先停掉docker服务 sudo systemctl stop docker 可能会出现的问题&#xff1a; 这样会导致docker关闭失败,解决办法&#xff1a;systemctl stop docker.socket 确保docker关闭: 2.备份现在的 Docker 数据存储目录 /var/lib/docker(默认路径) mv /var/lib/docker /var/lib/…...

GPT告诉你如何延长周末体验

对于常常感到疲劳的打工人和学生党&#xff0c;过周末需要找到一种平衡&#xff0c;既能够休息放松&#xff0c;又能够提升身心能量。以下是一些建议&#xff0c;希望对你有所帮助&#xff1a; 制定休息计划&#xff1a;在周末前&#xff0c;制定一个休息计划&#xff0c;明确…...

一百四十一、Kettle——kettle8.2在Windows本地开启carte服务以及配置子服务器

一、目的 在kettle建好共享资源库后&#xff0c;为了给在服务器上部署kettle的carte服务躺雷&#xff0c;先在Windows本地测试一下怎么玩carte服务 二、Kettle版本以及在Windows本地安装路径 kettle版本是8.2 pdi-ce-8.2.0.0-342 kettle本地安装路径是D:\j…...

你知道充电桩控制主板的结构吗?

你知道充电桩控制主板的结构吗? 你是否曾经遇到过电动车行驶途中突然没电的情况?不用担心&#xff0c;解决这个问题的方法之一就是使用充电桩。那么&#xff0c;控制主板是如何控制充电桩的呢?让我们一起来探究一下。 充电桩控制主板由多种元件组成&#xff0c;包括主控芯片…...

LeetCode 25题:K个一组翻转链表

题目&#xff1a; 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。 你不能只是单纯…...

Day 19 C++ 文件操作

C 文件操作 文件为什么要使用文件文件类型文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文件以文本的二进制形式存储在计算机中 操作类型ofstream&#xff1a;写操作ifstream&#xff1a; 读操作fstream &#xff1a; 读写操作 文本文件写文件引入头文件 \&l…...

Nginx源码安装

文章目录 Nginx源码安装注安装pcre库安装openssl库创建用户及用户组安装编译环境解压文件检测环境重要目录检查配置服务启动脚本查看效果&#xff1a; Nginx源码安装 注 本实验基于RHEL73.10.0-327.el7.x86_64&#xff0c;尽量使用RHEL7或CentOS7。 安装pcre库 安装 pere 库…...

【数据结构和算法】--N叉树返回根节点到目标节点的路径

目录 一、前言二、Java代码实现 一、前言 项目中接触一个问题&#xff1a;在大量有父子关系的列表中&#xff0c;需要筛选出特定约束的数据【要求某个目标节点延续到根节点的数据】。这个问题抽象为数据结构&#xff0c;就是&#xff1a;N叉树返回根节点到目标节点的路径 二、…...

Flutter环境搭建踩坑集锦

Flutter 背景准备工作先检查一下自己的电脑&#xff0c;看一下是不是满足配置要求下载安装配置环境下载安装JDK下载安装Android studio下载Flutterflutter doctor故障Android license status unknownNetwork resources 故障 后记 背景 发现一个不错的框架Flutter&#xff0c;听…...

WPF上位机7——MySql

MySql DML语句 db操作、表操作 字段的数据类型 修改表 表的数据操作 DQL语句 数据查询和去重查询 条件查询 模糊查询 聚合查询 分组查询 排序查询 分页查询 DCL语句 函数 字符串处理函数 数值函数 日期函数 流程函数 约束 外键约束 多表查询 内连接 外连接 自连接 子查询 列…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...