uniapp公众号跳打开任意小程序

本文介绍了如何集成jweixin-module来初始化微信JS-SDK,包括安装模块、获取签名信息、配置分享功能以及处理wx-open-launch-weapp标签的使用和样式问题。在实现过程中,强调了正确设置appid、nonceStr、timestamp、signature等参数的重要性,以及解决标签未生效和样式覆盖的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、集入js-sdk 我使用的是jweixin-module

npm install jweixin-module --save

2、初始化js-sdk 

参考微信公众号官网概述 | 微信开放文档

通过后台获取签名等(找你们后台要接口,后台参考官网文档中附录1-JS-SDK使用权限签名算法

const jweixin = require('jweixin-module')


export function initShare() {
	getSignInfo()//后台接口
		.then(res => {
			jweixin.config({
				debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
				appId: APP_ID, // 必填,公众号的唯一标识
				timestamp: res.data.sjc, // 必填,生成签名的时间戳
				nonceStr: res.data.noncestr, // 必填,生成签名的随机串
				signature: res.data.sign, // 必填,签名
				jsApiList: [], // 必填,需要使用的JS接口列表
				openTagList: ['wx-open-launch-weapp', 'wx-open-launch-app']
			});

			jweixin.ready(function() {

			});
			jweixin.error(function(err) {

			});

		})
}

3、在main.js引入wx-open-launch-weapp标签
要用push方法,否则uni组件会被替换

Vue.config.ignoredElements.push('wx-open-launch-weapp')

4、在跳转小程序位置使用标签

<wx-open-launch-weapp  appid="" username=""
					>
					<script type="text/wxtag-template">
						<style>  
						 .btn-open-weapp{
							 width: 100%;
							 height: 200px;
							 border: none;
							 color: #B0240A;
							 font-weight: bold;
							 background-color: #fe917a00;
						 }
						 .btn-open-weapp::after {
							 border: none;
						 }
						 .btn-open-weapp::before {
							 border: none;
						 }
					 </style>
					 <button class="btn-open-weapp"></button>
				 </script>
				</wx-open-launch-weapp>

 appid 是小程序appid  username是gh_开头的原始码

过程中遇到的问题

1、找到非自己开发小程序appid
(1)打开想要跳转的小程序

(2)点击右上方三个黑点

(3)点击弹窗中小程序的名字,打开小程序的介绍

(4)点击更多资料

 2、wx-open-launch-weapp没用

(1)初始化时候未初始化标签

openTagList: ['wx-open-launch-weapp', 'wx-open-launch-app']

(2)使用时标签内btn范围太小

3、wx-open-launch-weapp样式问题,因为wx-open-launch-weapp内的button不能用界面中的css,而且非正式环境无法显示(开发环境jssdk无法初始化)

让wx-open-launch-weapp覆盖在展示组件之上,宽高和展示组件一样设置透明

style="position: absolute;top: 0;left: 0;opacity:0.1"

Uniapp中,我们可以通过使用相关插件或API实现公众号H5和小程序微信授权登录功能。 对于公众号H5的授权登录,我们可以使用uni-login插件或通过uni.request发起微信官方授权登录的接口。首先,在公众号H5页面中,我们需要引入相应的JS-SDK,并使用wx.config配置公众号AppID和权限等信息。然后,在登录按钮的点击事件中,调用wx.checkSession来检查当前用户的登录态是否有效。若无效,再调用wx.login获取code,并通过wx.request发起后台请求来换取用户的access_token和openId等信息。最后,我们可以将这些信息保存起来,并根据需求进行相应的业务逻辑处理。 对于小程序的微信授权登录功能,在Uniapp中可以通过使用uni.login和uni.getUserInfo API来实现。首先,在小程序的入口页面中,在onLaunch生命周期里调用uni.login获取用户的登录凭证code,并将code传给后台服务器。后台服务器通过wx.login接口获取到用户信息后,再校验用户的身份。然后,在登录按钮的点击事件中,调用uni.getUserInfo获取用户的信息,并存入本地缓存,以供后续使用。接着,我们可以根据需要进行相应的业务逻辑处理。 需要注意的是,在实现公众号H5和小程序微信授权登录功能时,我们需要保证项目中已经配置了相关的权限和配置信息,并正确处理各种回调和错误情况。同时,为了保护用户的隐私和安全,我们还需要合理处理用户信息的存储和使用,尽量避免泄露和滥用用户的个人信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值