前端基于 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() ,该方法中的 appidsecret 需填充你小程序的相关数据。核心代码如下:

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调用)相关推荐

  1. 只需两步快速获取微信小程序源码

    第一次在掘金这样高大上的社区写文章,忐忑地敲下我获取小程序源码过程中的经验分享. 最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了某个小程序的前端实现,过程一言难尽,差不多两 ...

  2. vue 传参 微信_小猿圈web前端之微信小程序页面间跳转传参方式总结

    原标题:小猿圈web前端之微信小程序页面间跳转传参方式总结 最近小程序发展的越来越快,很多大公司也在打造自己的小程序平台以及购物小程序等等,今天小猿圈web前端讲师就总结了关于微信小程序的知识点,首先 ...

  3. PHP 获取微信小程序用户手机号

    截止到目前为止,小程序通过获取session_key与encryptedData与iv进行解密获取手机号的方法已经不行了,只能通过点击按钮来实现获取微信用户的手机号,本文仅以PHP为例 大概流程: 1 ...

  4. uniapp之APP/微信小程序/公众号支付

    涉及到微信支付的都需要从后端接口获取支付配置信息: await this.$http({apiName:"wxPayConfig",type:"POST",da ...

  5. PHP(TP5)获取微信小程序unionId

    最近做一个项目,微信小程序.Android.IOS同步进行开发,小程序从微信内部直接登录,Android.IOS也需要用微信登陆,为了确定同一用户的身份,需要使用到微信的unionId. 将小程序.A ...

  6. 获取小程序用户信息+java_java获取微信小程序用户信息

    第一步:获取openid.session_key等信息. /** * 获取微信小程序的用户openid和session_key/unionid * 返回格式:{"session_key&qu ...

  7. 计算机毕业设计Python+uniapp校园服务微信小程序(小程序+源码+LW)

    计算机毕业设计Python+uniapp校园服务微信小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ pyth ...

  8. 修复版拼团商城前端+后端微信小程序源码下载

    1.怎么玩? 多人拼团,部分人获得得商品,没获得商品的人退款并瓜分红包,红包佣金从获得商品的人的订单利润里返. 2.参与拼团的人需要支付多少钱? 每个人需要支付商品规定的卖价金额,一元购模式的大家分担 ...

  9. 利用 node.js 云函数解密获取微信小程序的手机号码等加密信息 encryptedData 的内容。

    首先你必须会用微信小程序的云函数功能: 1.创建一个名为token的云函数 2.在云开发的云函数管理中添加对应的token云函数 3.在开发工具中编辑云函数token 4.点击右键,安装并部署 大致是 ...

最新文章

  1. 我的第一个vb实例--红楼梦测试小程序
  2. P2015 二叉苹果树
  3. matlab柱状斜线_Matlab:柱状图饼状图填充不同条纹
  4. 建立TCP连接时的三次握手与四次挥手问题
  5. 从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
  6. h5上传图片_怎么搭建自己的H5响应式网站
  7. python条件判断true_Python中的True,False条件判断实例分析
  8. linux-索引1909
  9. python在线编辑器手机-‎App Store 上的quot;Python AI - 代码编辑器”
  10. 《麦肯锡方法》读书笔记4
  11. 抱米花豆丁下载器20100529(单文件绿色版)
  12. IDEA 代码分析工具
  13. ntfs格式硬盘如何读写mac苹果电脑
  14. ARM Linux 系统设置开机自启动一个程序
  15. matlab中的clc命令和clear命令
  16. HEALTH_WARN 1 filesystem is degraded,一直在rejoin状态
  17. 【项目】费曼技巧,终极学习法
  18. JavaScript中查找关键词
  19. ubuntu如何设置默认程序打开方式
  20. 请不要在Java项目中乱打印日志了,这才是正确姿势,非常实用!

热门文章

  1. 尚硅谷李玉婷老师MySQL课程--DDL语言
  2. 学校计算机室的作用,学校计算机管理人员职责
  3. fnd_lookup_values与fnd_lookup_types
  4. php免登陆超简洁网盘,好用的网盘推荐:免登陆,不限速,简洁分享就选这几个网盘!...
  5. 移动物联卡官网充值入口是什么?
  6. 2015版uboot的启动过程及网卡驱动结构分析
  7. 新手快速提升战力攻略-《无间狱》
  8. Python3制作类八音符的小游戏
  9. paypal集成国际支付
  10. 微信下载app,提示右上角打开遮罩HTML代码