uniapp开发的跳转到小程序

uniapp开发的h5跳转到小程序
https://www.cnblogs.com/xiaojianwei/p/16352698.html
官方:使用 URL Scheme 打开小程序
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html

 链接代码

<a href="weixin://dl/business/?appid=wxx******&path=pages/order/order&query=&env_version=release"  class="but"> 打开weixin </a>

条件:微信必须实名认证、通过备案 ,设置了 “明文scheme拉起此小程序”


通过weixin://dl/business/?t=打开微信小程序
https://blog.csdn.net/m0_46156566/article/details/128917461

 

第一步,通过微信接口(https://api.weixin.qq.com/cgi-bin/token)获取小程序access_token
微信官方文档

第二步,通过微信接口(https://api.weixin.qq.com/wxa/generatescheme)获取小程序跳转链接weixin://dl/business/?t=
微信官方文档
我这里用的uni-app,所以请求用的uni.request,其他的同理,比如ajax和axios,不多赘述

// 第一步获取tokenuni.request({method: "GET",// 这里的appid写你需要跳转的小程序的appid,secret秘钥也一样,grant_type=client_credential是固定的参数,不用改url: "https://api.weixin.qq.com/cgi-bin/token?appid=wxe109dd058as8sdf88&secret=9eb3d6dec783bc55sdfs32sdf2f2aa0&grant_type=client_credential",success: (res1) => {alert("获取token成功");console.log(res1.data);// 第2步获取小程序跳转链接uni.request({method: "POST",// access_token就是请求上一个接口拿到的回调结果url:"https://api.weixin.qq.com/wxa/generatescheme?access_token=" + res1.data.access_token,data: {// path跳转到的小程序目标页面,query跳转需要携带参数,在目标页面onload里面接收options里面,其他参数固定,获取看文档了解jump_wxa: {path: "/app/test/test",query: "url=" + urls,env_version: "trial", // 正式版为"release",体验版为"trial",开发版为"develop"},is_expire: true,expire_type: 1,expire_interval: 1,// env_version: "trial",},success: (res2) => {alert("获取小程序跳转链接1");console.log(res2.data);let a = document.createElement("a"); //创建一个a标签元素a.href = res2.data.openlink; //设置跳转地址document.body.appendChild(a); //加入a.click(); //触发点击跳转document.body.removeChild(a);删除元素},fail:(err) =>{alert('获取微信跳转链接失败')alert(JSON.stringify(err))}});},fail:(err) =>{alert('获取微信token失败')alert(JSON.stringify(err))}});

 

uniapp拉起小程序

在uniapp中拉起小程序,可以使用官方提供的API uni.navigateToMiniProgram。以下是一个简单的示例代码:

uni.navigateToMiniProgram({appId: '目标小程序的appid', // 小程序的appidpath: 'pages/index/index', // 打开的页面路径,可选extraData: {// 需要传递给小程序的数据,可选},success(res) {// 打开成功的回调,可选console.log('打开成功');},fail(err) {// 打开失败的回调,可选console.log('打开失败', err);}
});

确保在调用这个API之前,已经在uniapp的manifest.json中配置了相应的权限,并且appid是正确的。

// manifest.json 中配置示例
"mp-weixin": {"usingComponents": true,"navigateToMiniProgramAppIdList": ["目标小程序的appid"]
}

 在调用这个API之前,请确保你已经遵循了微信小程序的相关指导和要求,并且已经获取了相应的权限。如果是其他平台的小程序,请查阅对应平台的开发文档,因为不同平台的API调用可能会有所不同。

uni-app生成的app支持跳转微信小程序

uni-app生成的app支持跳转微信小程序
https://ask.dcloud.net.cn/question/67412

参考链接:http://www.html5plus.org/doc/zh_cn/share.html#plus.share.ShareService.launchMiniProgram
注意:需要先在manifest.json中配置【微信消息及朋友圈】


参考代码:

plus.share.getServices(function(res){  var sweixin = null;  for(var i=0;i<res.length;i++){  var t = res[i];  if(t.id == 'weixin'){  sweixin = t;  }  }  if(sweixin){    sweixin.launchMiniProgram({  id: '原始id',  path: 'pages/index/index?phone=' + UserID,type: 0   }):plus.nativeUI.alert('当前环境不支持微信操作!');  }  
},function(res){  console.log(JSON.stringify(res));  
});

uniapp开发的APP唤起微信打开小程序
https://blog.csdn.net/superlover_/article/details/89382540

uni-app开发的APP跳转到微信小程序需要调用H5+的原生界面控件。

注意事项:

用到了分享功能,在打包原生应用时,需要注意:首先勾选权限配置,manifest.json->App 模块权限配置->Share。然后,manifest.json->App SDK 配置->分享,按照提示填写微信分享的信息(微信开放平台,不是微信公众平台)。
因为涉及到第三方 SDK 的配置,需要打包自定义基座进行测试。真机运行自定义基座包使用说明
需要在微信开放平台开启APP跳转小程序,并管理相应的小程序
 

<template><view class="center"><view class="text"  @click="checkWeChat">跳转到小程序</view></view>
</template>
<script>
export default {data() {return {sweixin: null}},onLoad() {this.getPlus()},methods: {getPlus() {//获取当前显示的webviewvar pages = getCurrentPages()var page = pages[pages.length - 1]var currentWebview = page.$getAppWebview()//调用H5+APP的扩展APIvar shares=null;let that = thisvar pusher = plus.share.getServices(function(s){shares={};for(var i in s){var t=s[i];shares[t.id]=t;}that.sweixin=shares['weixin'];}, function(e){console.log("获取分享服务列表失败:"+e.message);});//放入当前的webviewcurrentWebview.append(pusher);},checkWeChat() {//调用微信小程序this.sweixin.launchMiniProgram({id:'gh_244-------' //要跳转小程序的原始ID})}}
}
</script>
/*
*唤起跳转微信小程序
*miniId 小程序id
*miniPath 小程序页面路径
*/
function LaunchMiniProgram (miniId,miniPath){// #ifdef APP-PLUS//获取终端支持的分享通道列表plus.share.getServices(function(s){let sweixin = null;for(let i=0;i<s.length;i++){if(s[i].id == 'weixin'){sweixin = s[i];}}//判断是否有微信if(sweixin){console.log('调起小程序',s)//唤起微信跳转小程序sweixin.launchMiniProgram({id:miniId,path:miniPath},function(){return true;},function(e){console.log("微信唤起失败",e);uni.showToast({title:'微信唤起失败,请检查是否有微信应用',icon:'none'})return false;})}else{uni.showToast({title:'微信唤起失败,请检查是否有微信应用',icon:'none',duration:3000})return false;}}, function(e){console.log("微信唤起失败",e);uni.showToast({title:'微信唤起失败,请重试',icon:'none',duration:3000})return false;});// #endif// #ifdef MP-BAIDU || MP-TOUTIAO || MP-WEIXIN || MP-ALIPAY || MP-QQuni.navigateToMiniProgram({appId: miniId,path: miniPath,success(res) {return true},fail(res){uni.showToast({title:'跳转小程序失败',icon:'none',duration:3000})console.log('跳转小程序失败',res)return false;}})// #endif
}

微信拉起半屏API

openmini: function (){let mchid='19905033266'; // 商户号let amount='1.01';let ordercode=Date.parse(new Date()); console.log(mchid, ordercode, amount) let param = 'mchid='+mchid+'&openType=1&autoPay=1&notify_url=https%3A%2F%2Fwxpay.eptjt.com%2FLKT%2Fnotify_ftpay.php&goodName=数字易货商品&mer_order_no='+ordercode+'&amount='+amount;wx.openEmbeddedMiniProgram({appId: 'wx5507008900fb4e7f',// 你要打开的小程序appidpath: 'pages/Index/index?' + param, // 打开的页面路径,如果为空则打开首页extraData: {// mchid:mchid,// openType:1,// autoPay:1,// notify_url:'https%3A%2F%2Fwxpay.eptjt.com%2FLKT%2Fnotify_ftpay.php',// mer_order_no: ordercode,// goodName:'数字易货商品',// amount:amount,  },// 需要传递给目标小程序的数据envVersion: 'develop',// 要打开的小程序版本 develop 开发版 trial 体验版 release 正式版success(res) {// 打开成功console.log(res)// wx.showToast({//   title: res.data.err,//   duration: 2000// });},fail(e) {// 打开失败console.log(e) },}) },

Android应用签名查看工具没有MD5值的解决方法

由于高版本java 移除了 这些 Disable MD5 or MD2 signed jars
https://www.java.com/en/jre-jdk-cryptoroadmap.html

于是输出了一下我的本地java环境

>  java -version
java version "15.0.1" 2020-10-20
Java(TM) SE Runtime Environment (build 15.0.1+9-18)
Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)
>

演示如何将SHA1值转换为MD5值

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class MD5Utils {public static String calculateMD5(String input) {try {MessageDigest md = MessageDigest.getInstance("MD5");byte[] byteData = md.digest(input.getBytes());StringBuilder sb = new StringBuilder();for (byte b : byteData) {sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1));}return sb.toString();} catch (NoSuchAlgorithmException e) {e.printStackTrace();return null;}}public static void main(String[] args) {String sha1 = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";String md5 = calculateMD5(sha1);System.out.println("MD5: " + md5);}
}

在上面的示例代码中,我们将SHA1值替换为实际的值,然后运行程序,即可得到对应的MD5值输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/276271.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows系统搭建Cloudreve结合内网穿透打造可公网访问的私有云盘

目录 ⛳️推荐 1、前言 2、本地网站搭建 2.1 环境使用 2.2 支持组件选择 2.3 网页安装 2.4 测试和使用 2.5 问题解决 3、本地网页发布 3.1 cpolar云端设置 3.2 cpolar本地设置 4、公网访问测试 5、结语 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff…

网站首页添加JS弹屏公告窗口教程

很多小白站长会遇到想给自己的网站添加一个弹屏公告&#xff0c;用于做活动说明、演示站提示等作用与目的。 下面直接上代码&#xff1a;&#xff08;直接复制到网页头部、底部php、HTML文件中&#xff09; <script src"https://www.mohuda.com/site/js/sweetalert.m…

Css基础——精灵图(sprites)和字体图标

1、精灵图 1.1、精灵图的由来 一个网页中往往会应用很多小的背景图像作为修饰&#xff0c;当网页中的图像过多时&#xff0c;服务器就会频繁地接收和发送 请求图片&#xff0c;造成服务器请求压力过大&#xff0c;这将大大降低页面的加载速度。 因此&#xff0c;为了有效地减…

37. 解数独

代码实现&#xff1a; bool isValid(char **board, int row, int col, char c) {for (int i 0; i < 9; i) { // 行if (board[row][i] c) {return false;}if (board[i][col] c) { // 列return false;}}int startRow (row / 3) * 3;int startCol (col / 3) * 3;for (int …

【数据分析】数据分析介绍

专栏文章索引&#xff1a;【数据分析】专栏文章索引 目录 一、介绍 二、生活中的数据分析 1.无处不在的数据 2.为什么要进行数据分析&#xff1f; 三、数据挖掘案例 1.案例分析 一、介绍 数据采集&#xff1a;数据采集是指从不同来源收集原始数据的过程&#xff0c;包括…

Linux:kubernetes(k8s)Deployment的操作(13)

创建deployment 命令 kubectl create deploy nginx-deploy --imagenginx:1.7.9 再去使用以下命令分别查询 ubectl get deploy kubectl get replicaset kubectl get pod 他是一个层层嵌套的一个关系 首先是创建了一个 deploy 里面包含着replicaset replicaset里面含有…

计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

前言、相关知识 1.闭集和开集 开集&#xff1a;识别训练集不存在的样本类别。闭集&#xff1a;识别训练集已知的样本类别。 2.多模态信息融合 文本和图像&#xff0c;文本的语义信息映射成词向量&#xff0c;形成词典&#xff0c;嵌入到n维空间。 图片内容信息提取特征&…

C++四种类型转换

本章草稿代码Gitee仓库&#xff1a;type_cast 文章目录 0.前言1. static_cast2. reinterpret_cast3. const_cast4. dynamic_cast 0.前言 C语言的类型转换有2种&#xff1a; 隐式类型转换显式类型转换 这里的类型转换并不是很规范&#xff0c;有时候会有潜在风险&#xff0c;…

VMware安装Ubuntu 18.04.2

下载Ubuntu映像 下载地址&#xff1a;http://old-releases.ubuntu.com/releases/18.04/ 下载名称&#xff1a; ubuntu-18.04.2-desktop-amd64.iso 清华镜像站&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/ 阿里云镜像站&#xff1a;https://mirrors.ali…

2024年最新阿里云优惠券获得方法整理

随着云计算技术的日益普及&#xff0c;阿里云作为国内领先的云服务提供商&#xff0c;受到了越来越多企业和个人的青睐。为了吸引广大用户&#xff0c;阿里云经常推出各种优惠活动&#xff0c;其中就包括阿里云优惠券&#xff0c;可以帮助用户降低成本&#xff0c;享受更优惠的…

【计算机网络】1.5 分组交换网中的时延、丢包和吞吐量

A.分组交换网中的时延 当分组从一个节点沿着路径到后一节点时&#xff0c;该分组在沿途的各个节点经受了几种不同类型的时延。 时延的类型 处理时延 - d n o d a l d_{nodal} dnodal​ 处理时延包括以下部分—— a. 检查分组首部 b. 决定分组导向 排队时延 - d p r o c d_{…

【超万字超详细Linux常用命令大全】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;书生♡&#xff0c;今天主要和大家分享一下LIinux的基础命令&#xff0c;带有各种命令的作用&#xff0c;语法&#xff0c;参数和详细案例&#xff0c;希望对大家有所帮助。 &#x1f49e;&#x1f49e;前路漫漫…

【MySQL性能优化】- 一文了解MVCC机制

MySQL理解MVCC &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学习心得&#xff0c;欢迎指正&#xff…

C# ListView 控件使用

1.基本设置 listView1.Columns.Add("序号", 60); //向 listView1控件中添加1列 同时设置列名称和宽度listView1.Columns.Add("温度", 100); //下同listView1.Columns.Add("偏移", 100);listView1.Columns.Add("分割", 50);listView1…

QT----计算器

目录 1 搭建标准界面2、 逻辑编写2.1 初始化 github链接&#xff1a;基于qt的计算器 更多内容可以点击这里查看个人博客&#xff1a;个人博客 1 搭建标准界面 按照下图搭设界面 修改样式让这计算器看起来更像一点&#xff0c;同时对按钮分组进行样式编辑&#xff0c;添加字符…

导入fetch_california_housing 加州房价数据集报错解决(HTTPError: HTTP Error 403: Forbidden)

报错 HTTPError Traceback (most recent call last) Cell In[3], line 52 from sklearn.datasets import fetch_california_housing3 from sklearn.model_selection import train_test_split ----> 5 X, Y fetch_california_housing(retu…

IDEA编写各种WordCount运行

目录 一、编写WordCount(Spark_scala)提交到spark高可用集群 1.项目结构 2.导入依赖 3.编写scala版的WordCount 4.maven打包 5.运行jar包 ​6.查询hdfs的输出结果 二、本地编写WordCount(Spark_scala)读取本地文件 1.项目结构 2.编写scala版的WordCount 3.编辑Edit …

根据服务器系统选择对应的MySQL版本

1. 根据服务器系统选择对应的MySQL版本 MySQL有多个版本&#xff0c;选择对应的版本&#xff0c;重点信息是Linux的GLIBC版本号&#xff0c;Linux的版本、系统位数。 1.1 查看Linux的GLIBC版本号 通常libc.so会支持多个版本&#xff0c;即向前兼容&#xff0c;查看该文件中…

Hubspot 2023年推荐使用的11个AI视频生成器

视频是任何营销活动不可或缺的一部分&#xff1b;然而&#xff0c;如果你不懂编辑或时间紧迫&#xff0c;它们可能会很乏味&#xff0c;很难创建。一只手从电脑里伸出来&#xff0c;拳头碰到另一只手&#xff1b;代表AI视频生成器。 幸运的是&#xff0c;你可以利用许多人工智能…

kibana新增查看更新删除es中的数据

登录kibana&#xff0c;打开开发工具 写入数据 PUT test20240311/person/1 {"name": "张三","mobile":"13011111111" } 查询数据 GET /test20240311/person/_search {"query": {"term": {"mobile": {…