微信H5页面分享给朋友或朋友圈解决方案

需求:微信公众号的H5页面,需要分享给朋友或朋友圈的链接是卡片形式,内容也要自己定义

解决方案:

一、公众号配置
1. 登录微信公众平台
2. 进入 “公众号设置” 的 “功能设置”, 填写 “JS接口安全域名”
3. 进入 “设置与开发” 的 “基本配置” ,填写 “IP白名单”
tip: 域名不要加 http://
tip: 公众号必须是经过认证且未过期的
tip: 域名要是备过案的
tip: ip白名单内填写的是请求服务器的ip地址

二、下载依赖并引用
安装:npm install weixin-js-sdk
引用:import wx from "weixin-js-sdk"
weixin-js-sdk是微信提供的网页开发工具包

三、后台请求
前端先需要从后台获取一些配置参数,比如appIdtimestampnonceStrsignature,这里需要后端支持
然后通过wx.config()配置配置权限
最后在wx.ready()中使用接口

话不多说,上代码

import wx from "weixin-js-sdk";		// 微信提供的网页开发工具包
import { gzhH5Server } from "@/api";	//这个是我项目中的一个请求接口,
export default {
	mounted(){
        let link = window.location.href.split("#")[0];		// 获取当前的网址
		gzhH5Server({url: link})					// 接口请求,获取appId等配置参数
		.then(res=>{	// 为了省事,这里就去掉一些关于请求失败的逻辑半段,和不相干的代码
			let d = res.data;	// 我的接口返回从参数格式,不必照抄
			wx.config({
				 // 默认为false  为true的时候是调试模式,会打印出日志
                 debug: false,						
                 appId: res.data.app_id,			// 必填,appId
                 timestamp: res.data.timestamp, 	// 必填,生成签名的时间戳
                 nonceStr: res.data.noncestr,  		// 必填,生成签名的随机串
                 signature: res.data.signature, 	// 必填,签名
                 // 必填,需要使用到的接口列表,凡是要用到接口都要填写
                 jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData',] 
             })
             wx.ready(function(){
                 const link = link,		// 分享链接
                 title = '标题',	 	// 分享标题
                 desc = '描述',			// 分享描述
                 imgUrl = "";			// 分享图标, 用网络图片
                 // 分享给好友 
                 wx.updateAppMessageShareData({
                     title, 	// 分享标题
                     desc, 		// 分享描述
                     link, 		//分享链接
                     imgUrl, 	// 分享图标
                     success: function() {
                         console.log('分享成功')
                     }
                 })
                 // 分享到朋友圈
                 wx.updateTimelineShareData({
                     title, 	// 分享标题
                     link, 		//分享链接
                     imgUrl, 	// 分享图标
                     success: function() {
                         console.log('分享成功')
                     }
                 })
             })
		})
	}

微信开放平台 JS-SDK说明文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要实现在WebView中点击按钮分享微信朋友圈,你需要进行以下几个步骤: 1. 在WebView中加载一个包含分享按钮的网页。 2. 在网页中添加一个点击事件,当用户点击分享按钮时,调用JavaScript与Android原生代码交互。 3. 在Android代码中,注册一个JavaScript接口,用于接收来自网页的点击事件。 4. 在接收到点击事件后,调用微信SDK提供的API实现分享微信朋友圈的功能。 以下是一个示例代码: 在网页中添加一个分享按钮,并绑定点击事件: ```html <button onclick="shareToWechat()">分享微信朋友圈</button> <script> function shareToWechat() { // 调用Android代码 window.Android.shareToWechat(); } </script> ``` 在Android代码中注册JavaScript接口,并实现分享功能: ```java public class MainActivity extends AppCompatActivity { private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = findViewById(R.id.web_view); mWebView.getSettings().setJavaScriptEnabled(true); // 注册JavaScript接口 mWebView.addJavascriptInterface(new JavaScriptInterface(), "Android"); } private class JavaScriptInterface { @JavascriptInterface public void shareToWechat() { // 调用微信SDK分享朋友圈 // 这里需要自行实现微信SDK的调用 } } } ``` 注意:由于安全原因,Android 4.2之后,默认禁止在WebView中调用JavaScript接口。为了使JavaScript与Android原生代码可以交互,需要在WebView中添加以下设置: ```java if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } ``` 这样就可以在WebView中点击按钮分享微信朋友圈了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值