uniapp 前端获取微信小程序 URL Link (HTTPS调用)
前端基于 uniapp 获取微信小程序 URL Link 短链,适用于短信、邮件、网页、微信内等拉起小程序的业务场景。目前仅针对国内非个人主体的小程序开放。
前言:微信小程序此前可以在小程序管理后台-工具 中直接快捷生成小程序指定页面的 https 短链,后微信官方更新后弃用了该方式,采用调用官方获取小程序短链的API获取。且自 2022 年 4 月 11 日起,URL Link有效期最长 30 天,不再支持永久有效的URL Link、不再区分短期有效URL Link与长期有效URL Link。(详情见官方文档)
注:微信官方文档提醒获取小程序 URL Link 的接口应该在服务器端调用,本文主要是记录前端自行生成小程序指定页面 https 短链的方法。(微信官方文档-获取URL Link:urllink.generate )
本文示例使用 HTTPS 调用方式,并封装了将小程序指定页面直接转换为 https 短链的方法。
准备:首先你需要准备好该小程序的 AppID(小程序ID) 和 AppSecret(小程序密钥) 。这是生成 access_token 所必须的。(获取路径:登录微信小程序管理后台-开发管理-开发设置)
已将获取小程序指定页面 https 短链的核心业务封装为 getAppLink() 方法,可直接复制使用,注意该方法发起网络请求的方式是 uni.request() ,该方法中的 appid 和 secret 需填充你小程序的相关数据。核心代码如下:
getAppLink(params) {// AppID(小程序ID)const appid = ''// AppSecret(小程序密钥)const secret = ''// 先发起请求获取凭证uni.request({url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`,method: 'GET',success(res) {console.log('获取凭证', res);// 再发起请求获取urluni.request({url: `https://api.weixin.qq.com/wxa/generate_urllink?access_token=${res.data.access_token}`,method: 'POST',data: {...params},success(result) {console.log('生成网址:', result.data);return result.data.url_link}})}})},
调用示例:
let params = {// path:要跳转到的小程序的目标页面纯路径(不要拼接参数)// 注意:如果该链接要打开的版本是正式版,则这个path一定要已经发布到了正式版,不然无法访问到该页面则链接无法生成成功path: '/pages/index',query: "id=1&type=2", // 短链的入参env_version: "release", // 正式版expire_type: 1, expire_interval: 30,}const url = await this.getAppLink(params)console.log('返回的url:', url);
注:调用时需要传递一个 params 的参数对象,该对象涉及参数见下图:
注:上图出处-微信官方文档
上图参数说明见-小程序链接生成与使用规则调整公告
生成的链接形如:https://wxaurl.cn/pFawq35qbfd
生成短链成功后可使用 微信开发者工具 编译查看效果。
最后温馨提示:前端使用此方法生成所需的 https 短链后如果要将测试版提交审核,请先将 getAppLink() 方法中使用到的小程序的 AppID(小程序ID) 和 AppSecret(小程序密钥) 删除/清空(特别是 AppSecret),否则它会影响到代码审核,会告知存在安全风险无法审核通过!!!
uniapp 前端获取微信小程序 URL Link (HTTPS调用)相关推荐
- 只需两步快速获取微信小程序源码
第一次在掘金这样高大上的社区写文章,忐忑地敲下我获取小程序源码过程中的经验分享. 最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了某个小程序的前端实现,过程一言难尽,差不多两 ...
- vue 传参 微信_小猿圈web前端之微信小程序页面间跳转传参方式总结
原标题:小猿圈web前端之微信小程序页面间跳转传参方式总结 最近小程序发展的越来越快,很多大公司也在打造自己的小程序平台以及购物小程序等等,今天小猿圈web前端讲师就总结了关于微信小程序的知识点,首先 ...
- PHP 获取微信小程序用户手机号
截止到目前为止,小程序通过获取session_key与encryptedData与iv进行解密获取手机号的方法已经不行了,只能通过点击按钮来实现获取微信用户的手机号,本文仅以PHP为例 大概流程: 1 ...
- uniapp之APP/微信小程序/公众号支付
涉及到微信支付的都需要从后端接口获取支付配置信息: await this.$http({apiName:"wxPayConfig",type:"POST",da ...
- PHP(TP5)获取微信小程序unionId
最近做一个项目,微信小程序.Android.IOS同步进行开发,小程序从微信内部直接登录,Android.IOS也需要用微信登陆,为了确定同一用户的身份,需要使用到微信的unionId. 将小程序.A ...
- 获取小程序用户信息+java_java获取微信小程序用户信息
第一步:获取openid.session_key等信息. /** * 获取微信小程序的用户openid和session_key/unionid * 返回格式:{"session_key&qu ...
- 计算机毕业设计Python+uniapp校园服务微信小程序(小程序+源码+LW)
计算机毕业设计Python+uniapp校园服务微信小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ pyth ...
- 修复版拼团商城前端+后端微信小程序源码下载
1.怎么玩? 多人拼团,部分人获得得商品,没获得商品的人退款并瓜分红包,红包佣金从获得商品的人的订单利润里返. 2.参与拼团的人需要支付多少钱? 每个人需要支付商品规定的卖价金额,一元购模式的大家分担 ...
- 利用 node.js 云函数解密获取微信小程序的手机号码等加密信息 encryptedData 的内容。
首先你必须会用微信小程序的云函数功能: 1.创建一个名为token的云函数 2.在云开发的云函数管理中添加对应的token云函数 3.在开发工具中编辑云函数token 4.点击右键,安装并部署 大致是 ...
最新文章
- 我的第一个vb实例--红楼梦测试小程序
- P2015 二叉苹果树
- matlab柱状斜线_Matlab:柱状图饼状图填充不同条纹
- 建立TCP连接时的三次握手与四次挥手问题
- 从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
- h5上传图片_怎么搭建自己的H5响应式网站
- python条件判断true_Python中的True,False条件判断实例分析
- linux-索引1909
- python在线编辑器手机-App Store 上的quot;Python AI - 代码编辑器”
- 《麦肯锡方法》读书笔记4
- 抱米花豆丁下载器20100529(单文件绿色版)
- IDEA 代码分析工具
- ntfs格式硬盘如何读写mac苹果电脑
- ARM Linux 系统设置开机自启动一个程序
- matlab中的clc命令和clear命令
- HEALTH_WARN 1 filesystem is degraded,一直在rejoin状态
- 【项目】费曼技巧,终极学习法
- JavaScript中查找关键词
- ubuntu如何设置默认程序打开方式
- 请不要在Java项目中乱打印日志了,这才是正确姿势,非常实用!