企业微信(H5打开)调用微信小程序

这篇具有很好参考价值的文章主要介绍了企业微信(H5打开)调用微信小程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这个功能比较坑,有很多坑的点,我先把我的开发过程说一下,最后把我遇到的问题总结.

准备工作

1.需要在微信小程序的管理后台中关联企业微信
企业微信(H5打开)调用微信小程序

2.在企业微信管理后台中设置应用主页
企业微信(H5打开)调用微信小程序

3.在企业微信管理后台中设置可信域名信息(可调用JS-SDK、跳转小程序的可信域名一定要配置,你上面的应用主页地址是什么你这里就可以填什么,如果还有其它的也可以填上去,我在这里爬了好久。)
企业微信(H5打开)调用微信小程序
4.企业微信管理后台中配置应用可信IP(也就是白名单;结尾)
企业微信(H5打开)调用微信小程序

上面这些都配置好了之后就可以开始开工了

1.在h5页面中引用这几个js文件

		<script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.1/vconsole.min.js"></script>
		<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js" referrerpolicy="orgin"></script>
		<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js" referrerpolicy="orgin"></script>

2.代码来啦

	new VConsole()//手机调试的控制台
	let tokenTicket = getAccessTokenAndTicket();
	let corpId = tokenTicket.corpid; //企业ID
	let agentId = 1000039;  //应用ID, agentId, 必须是整型	
	let appSecret = tokenTicket.corpsecret; // 应用secret
	let token = tokenTicket.token; //有效期2小时
	let ticket = tokenTicket.ticket; //有效期2小时
	let timeStamp = new Date().getTime();
	let obj = {
		jsapi_ticket: ticket, //应用ticketg
		noncestr: '10014',    //随机字符串, wx.agentConfig内的nonceStr值要与此值一致
		timestamp: timeStamp, //时间戳, wx.agentConfig内的timestamp值要与此值一致
		url: window.location.href, //当前网页的url
	}
	let signature = getSignature(obj); //签名权限
	wx.agentConfig({
			corpid: corpId, // 必填,企业微信的corpid,必须与当前登录的企业一致
			agentid: 1000039, // 必填,企业微信的应用id
			timestamp: timeStamp, // 必填,生成签名的时间戳
			nonceStr: obj.noncestr, // 必填,生成签名的随机串
			signature: signature,// 必填,签名,见附录-JS-SDK使用权限签名算法
			jsApiList: ['launchMiniprogram'], //必填
			success: function(res) {
				console.log(res + "agentConfig成功回调");
				wx.invoke('launchMiniprogram', {
				"appid" : "需跳转的小程序appid", // 需跳转的小程序appid
				"path" : "pages/index/index", // 所需跳转的小程序内页面路径及参数。非必填
			}, function(res) {
				if(res.err_msg == "launchMiniprogram:ok") {
					// 正常
					wx.closeWindow();
				} else {
					// 错误处理
				}
			}
		);
				
			},
			fail: function(res) {
				console.log("agentConfig失败回调")
				if(res.errMsg.indexOf('function not exist') > -1){
					alert('版本过低请升级')
				}
			}
		});
function getSignature(obj) {
	let sign = "jsapi_ticket=" + obj.jsapi_ticket + "&noncestr=" + obj.noncestr + "&timestamp=" + obj.timestamp + "&url=" + obj.url;
	return sha1(sign);
}
function getAccessTokenAndTicket() {
	let json = "";
	$.ajax({
		url: "你后台地址,给你返回ticket等信息的地址",
		type: "POST",
		data: {
			url: window.location.href
		},
		async: false,
		success: function(resp) {
			console.log(resp);
			json = JSON.parse(resp.result);
		},
		error: function(a, b, c) {
			return a;
		}
	})
	return json
}		

问题总结:

企业微信(H5打开)调用微信小程序
这里这种就是你的签名阿ticket阿这些信息不对自己排查一下,只要你线上地址的控制台打印了agentConfig成功那么你就可以在手机上试了.应该就可以了
企业微信(H5打开)调用微信小程序
如果在安卓可以正常唤起,但是在ios手机端报这个
TypeError: undefined is not a function (near ‘…wx.agentConfig…’)
那么你在wx.agentConfig这个代码块之外加个setTimeout,设置成500ms就行了
如果还不行的话将js文件替换一下
https://res.wx.qq.com/open/js/jweixin-1.2.0.js换成https://res.wx.qq.com/wwopen/js/jsapi/jweixin-1.0.0.js
以上都亲测有效

最后上效果:

企业微信打开小程序

有问题可以在下面留言交流.文章来源地址https://www.toymoban.com/news/detail-418322.html

到了这里,关于企业微信(H5打开)调用微信小程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序webview(H5页面)调用微信小程序支付

    1.业务描述:微信小程序商城入口进入的页面是商城H5页面,在H5页面进行微信支付如何实现; 2.微信小程序(webview访问H5页面)必须使用微信小程序支付; 如何实现以及实现方式以及支付后页面返回功能: 商品详情(h5页面)--商品确认页(h5页面)--收银台(h5页面)(点击调

    2024年02月11日
    浏览(33)
  • h5在小程序中调用微信扫码功能

    目前扫码模块是用原生小程序写的页面,登录和之后跳转的页面都是通过webView嵌套在小程序里面的h5。 需求:h5页面扫码,拿到扫码后的结果,去查询列表的数据。 方案:在h5中引入微信的sdk,在A页面跳转进入原生小程序的B扫码页面,在B扫码页面拿到扫码结果,再跳转回原

    2024年02月10日
    浏览(41)
  • 微信小程序打开微信H5页面,体验版可打开,生产环境访问失败,无法访问该页面

    在开发中是有web-view打开微信H5页面时出现体验版可打开,开发版可以打开,打开调试后可以打开,生产环境访却问失败,无法访问该页面,那就是我们没有配置业务域名,如下图, 解决办法,在小程序后台找到开发管理,开发设置,往下拉,找到业务域名配置 这样吧我们要

    2024年02月12日
    浏览(52)
  • 微信小程序通过扫一扫调用H5项目

    业务逻辑: 小程序为主体,外链一个H5项目,相当于在小程序webView几个页面及功能。 现需在小程序扫一扫点击事件触发后通过二维码生成的url跳转到H5项目相关页面 PS:二维码生成可查看这里 一、小程序 二、H5项目 PS:需求中遇到了这种情况,所以这里记录一下,方便自己的

    2024年02月04日
    浏览(33)
  • uniapp小技巧之选择本地文件(注意这个方法只适配微信小程序和h5,app端未适配)

    注意注意一定注意app端不能用,想要app端选择上传文件去插件市场寻找,或私信我,我告诉你方法

    2024年02月12日
    浏览(27)
  • uni-app 使用webview加载H5打开微信小程序

    最近公司有个需求要求在app里点击一个功能打开小程序,并且关闭小程序回到app,模仿平安保险app。 毕竟我也是刚学习uni-app,找了很多资料,找到了一个天天外链的网站可以生成一个小程序的链接,使用uni的webview去加载这个链接,很好,需求满足,但是收费,那能不能自己

    2023年04月18日
    浏览(46)
  • 微信小程序中的H5页面如何调用地理位置导航

    在微信小程序的H5页面中,我们经常需要使用地理位置导航功能,以便为用户提供准确的导航服务。下面将介绍如何在微信小程序的H5页面中调用地理位置导航功能,并提供相应的源代码示例。 获取用户地理位置 在调用地理位置导航之前,首先需要获取用户的地理位置信息。

    2024年02月04日
    浏览(36)
  • H5和微信小程序实现文件预览功能

    提示:本文仅供参考: 最近新增了一个需求,要求在H5和微信小程序生成方案并查看ppt和excel功能。本项目是taro框架打包生成的H5和小程序,代码仅供参考。 代码如下(示例): 代码修改如下(示例): 代码如下(示例): 1:先把本地的微信开发者工具,不校验HTTPS关掉再

    2024年02月17日
    浏览(50)
  • H5接入到微信小程序或者微信浏览器打开相机界面会白屏刷新

    最近开发的一个需求是H5项目,并嵌入到小程序中,其中有模块用到了拍照功能。 前端同事们开发这个功能嵌入到小程序后会有bug,只要打开相机拍照后返回界面,界面会白屏刷新并且返回到了上一级,前端同事查询微信论坛或者其他地方的问答都说是手机内存不足或者运行

    2024年02月04日
    浏览(37)
  • 【h5+微信小程序】vue2实现h5扫码登录功能

    需要实现在同域名的h5页面上增加一个微信扫码登录的功能,如果用户已经有小程序的账号,可以直接登录。 使用 :vue2+微信小程序原生开发 可以实现上述功能的 前提 是:同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。域名已经配置。 可以用什么来区分

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包