H5分享h5页面、小程序到微信

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

1、H5分享h5页面(卡片链接形式)到微信

先去微信公众平台填写js接口安全域名

本来想用微信开发js-sdk的,但是做了半天好像没啥效果

概述 | 微信开放文档 (qq.com)

引入js文件:http://res.wx.qq.com/open/js/jweixin-1.6.0.js

 代码部分:

单独的h5是唤不起微信的,需要原生app去集成微信的sdk,app去调微信的方法,h5再去调app的方法,才可以实现

接下来使用插件:m-share

m-share: h5页面分享组件、支持分享到微信、朋友圈、新浪微博、QQ空间、QQ好友。 (gitee.com)

注意:这种方法也是用native+微信的js-sdk实现的,且在浏览器很受限制,只有qq和uc支持

步骤一:

微信公众平台填写js接口安全域名

步骤二:

先去安装插件,因为是uniapp的项目,没有package.json文件,所以先去项目根目录cmd后执行:

npm init -y

 npm install m-share

步骤三:

<template>
	<view class="">
		<view><button @click="but">分享</button></view>
		<view><button @click="pyq">分享朋友圈</button></view>
	</view>
</template>

<script>
import Mshare from 'm-share';  //引入微信分享插件
export default {
	data() {
		return {
			isWechant:false  
		};
	},
	onLoad() {
		this.isWechantFun()  
		console.log(Mshare, 'Mshare',this.isWechant);
	},
    async created() {
		Mshare.init(this.getWxConfig()); //插件初始化
		if (this.isWechant) {
			this.getWxConfig();
		}
	},
	methods: {
		isWechantFun() {   //判断是否在微信环境
			var ua = window.navigator.userAgent.toLowerCase();
			if (ua.match(/MicroMessenger/i) == "micromessenger") {
				this.isWechant=true;
			} else {
				this.isWechant= false;
			}
		},
		getWxConfig() {       //Mshare.init初始化配置
			let url = location.href.split('#')[0];
			console.log(url, 'url微信分享调接口参数');
			uni.request({        //后端获取签名信息等
				url: '*****',
				method: 'POST',
				data: {
					url: location.href.split('#')[0]
				},
				success: res => {
					let result = res.data.data;
					console.log(result, '获取微信签名');
					Mshare.wxConfig({
						title: '微信分享的标题',
						desc: '微信分享的介绍详情',
						imgUrl: 'http://****',
						link:'http://***',
						wx: {
							debug: true,
							appId: result.appId,
							timestamp: result.timestamp,
							nonceStr: result.noncestr,
							signature: result.signature
						},
						infoMap: {
							wx: {
								title: '微信分享的标题',
						        desc: '微信分享的介绍详情',
						        imgUrl: 'http://****',
						        link:'http://***',
							}
						}
					});
				}
			});
		},
		
		innitConfig() {         // Mshare初始化
			let config = {
				title: '微信分享的标题',
				desc: '微信分享的介绍详情',
				imgUrl: 'http://****',
				link:'http://***',
				types: ['wx', 'wxline', 'qq', 'qzone', 'sina'],
				infoMap: {
					wx: {
						title: '微信分享的标题',
						desc: '微信分享的介绍详情',
						imgUrl: 'http://****',
						link:'http://***',
					}
				},
				fnDoShare(type) {
					console.log('分享回调:', type);
				}
			};
			return config;
		},

		but() {    //点击分享
			Mshare.to('wx', this.innitConfig());   //分享到微信聊天
			 	// Mshare.to('wxline', this.innitConfig());   //分享到微信朋友圈
		} 
	}
};
</script>

<style></style>

分为两种情况:1:在浏览器分享会唤起分享框--分享成功为卡片形式,2:在微信打开就只是引导用户去点三个点去分享--分享成功为链接形式(link的值)

如果是App的话使用uniapp官方提供的api:uni.share

const ShareWXSenceTimeline = (data) => {
		// 微信朋友圈分享
		// #ifdef H5
		vm.$u.toast('H5暂不支持分享功能')
		return
		// #endif
		// #ifdef H5
		uni.share({
			provider: "weixin",
			type: 0,
			scene: "WXSenceTimeline",
			href: ,  //链接
			title: this.title,//标题
			summary:this.title,//内容
			imageUrl:this.company_logo,//图片
			success() {
				// 分享完成,请注意此时不一定是成功分享
				uni.hideLoading()
			},
			fail(e) {
				uni.hideLoading()
				// 分享失败
				uni.showModal({
					title: '提示',
					content: e.msg || '分享失败',
					showCancel: false,
					cancelText: '',
					confirmText: '确定',
					success: res => {},
					fail: () => {},
					complete: () => {}
				});
			}
		})
		// #endif
	}

2、H5分享小程序到微信(调用小程序)

先判断在哪个浏览器中:

		isWx() {
			//判断是否为微信
			var ua = window.navigator.userAgent.toLowerCase();
			if (ua.match(/MicroMessenger/i) == 'micromessenger') {
				return true;
			}
			return false;
		},

1)、在微信浏览器中

目录 | 微信开放文档 (qq.com)

先注入微信权限在onload中调用 

		getWxConfig() {
			uni.request({
				url: 'https:/*****************',
				method: 'POST',
				data: {
					url: location.href.split('#')[0]
				},
				success: res => {
					let result = res.data.data;
					console.log('result', result, {
						debug: false,
						appId: result.appId,
						timestamp: result.timestamp,
						nonceStr: result.noncestr,
						signature: result.signature,
						jsApiList: ['scanQRCode', 'updateAppMessageShareData', 'updateTimelineShareData'], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
						openTagList: ['wx-open-launch-weapp']
					});
					wx.config({
						debug: false,
						appId: result.appId,
						timestamp: result.timestamp,
						nonceStr: result.noncestr,
						signature: result.signature,
						jsApiList: ['scanQRCode', 'updateAppMessageShareData', 'updateTimelineShareData'], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
						openTagList: ['wx-open-launch-weapp']
					});

					wx.ready(function() {
						console.log('ready');
					});
				}
			});
		},

视图及事件 

this.wxPath = 'pages/homepage/home?label_no=' + this.label_no;

--------------------------------------------


<div class="btn active" v-bind:class="{ Taa: isclass }" v-if="isWx()">
						<wx-open-launch-weapp
							id="launch-weapp"
							username="gh_********"
							:path="wxPath"
							@launch="onLaunch"
							@error="onError"
						>
							<script type="text/wxtag-template">
									<div  class='wxbtn'>
										进入房间
									</div>
								<style>
									.wxbtn{
										color:#fff;
										line-height:33px;
									font-size:20px;
									margin:5px 0;
									}
								</style>
							</script>
						</wx-open-launch-weapp>
					</div>

-----------------------------------------------

		onLaunch() {
			alert('onLaunch');
		},
		onError() {
			alert('error');
		},

2)、在其他浏览器中
获取 URL Scheme | 微信开放文档 (qq.com)

					<u-button
						class="btn active"
						v-bind:class="{ Taa: isclass }"
						type="primary"
						size="medium"
						@tap="getscheme"
						v-else
					>
						进入房间
					</u-button>


---------------------------------------------------

		getscheme() {
			
			let _this=this;
			if(this.label_no!==''){
			uni.request({
				url: this.siteBaseUrl+'/appBaseUser/generatescheme',
				method: 'POST',
				data:{
					url:'pages/homepage/home',
					query:"label_no=" + this.label_no
				},
				success(res) {
					if(_this.label_no!==''){
					location.href = res.data.data.openlink;
					}
					
				}
			});}
		},

3、H5分享图片到微信

app是可以实现的,app的内嵌h5也可以实现,单独的h5不能实现

如果是App的话使用uniapp官方提供的api:uni.share

(100条消息) h5 点击按钮生成图片分享微信朋友圈_后端点击按钮分享朋友圈怎么弄_有脾气的程序媛的博客-CSDN博客

H5保存图片到本地

h5在浏览器保存图片到本地也是不太可行的, 

如果是App的话使用uniapp官方提供的api:

 具体代码参考:(100条消息) APP、H5保存图片到本地_白酱酱的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-487410.html

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

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

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

相关文章

  • h5页面跳转到微信小程序之利用URL Scheme接口

    首先想要跳转到微信小程序得先知道 AppID 和 secret 如果不知道的情况下是无法跳转的 urlscheme.generate 此时遇到一个问题是获取auth.getAccessToken appid 此值在小程序里就可以获取 到 secret 这个值只能在可在 微信公众平台 - 设置 - 开发设置 里面找到 接下来放代码 这样就可以在手机

    2024年02月15日
    浏览(59)
  • uniapp 打包H5,打包小程序,打包app分享到微信聊天、朋友圈

    1.uniapp打包H5操作手法:Hbuilder-发行-网站-PC-WEB端或手机端H5访问,需要填写个访问域名,即发布后访问的域名路径 2.uniapp打包H5配置注意事项:uniapp下manifest.json文件中H5配置相关配置,路由模式选择hash,勾选上https访问。 注:如果是本地访问没有https设置,则该项不要勾选,打

    2024年02月09日
    浏览(62)
  • vue3引入JS-SDK实现h5分享小卡片、跳转微信小程序功能

    微信js-sdk官方文档: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html 想要实现的效果: 1.登录微信公众平台,进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 2.通过npm引入js-sdk 安装成功后,可以在package.json中找到\\\"weixin-js-sdk\\\" 3.在main.js中,将js-sdk挂载

    2024年02月11日
    浏览(62)
  • 微信分享第三方连接(H5页面)自定义缩略图、标题、描述(显示分享框,而不是链接)(微信JS-SDK)

    首先要说明几个分享相关的问题: 现在微信不支持自定义按钮分享组件(也就是说不能点击某个按钮分享),只能通过微信右上角的三个小点,点击后选择分享给朋友,朋友圈等。 当前从企业微信分享到微信好友和微信朋友圈是有问题的,一些手机(有些是因为app版本,企

    2024年02月09日
    浏览(52)
  • 微信小程序内嵌H5页面获取openid+分享功能

    主要实现功能:1.通过webview实现小程序内嵌H5页面                          2.在H5页面获取到用户的openid                          3.在H5页面实现分享获取到分享人的openid和被分享者的openid 代码实现: 1.通过webview实现小程序内嵌H5页面 传参:在地址后面加入的参数就是我

    2024年04月23日
    浏览(57)
  • 微信小程序内嵌h5 分享子页面点击进入后是主页面解决办法

    通过子页面特定的id有无进行判断,可根据项目自行修改

    2024年01月23日
    浏览(74)
  • 采用uniapp实现的银行卡卡片, 支持H5和微信小程序

    采用uniapp-vue3实现的银行卡卡片 支持H5、微信小程序(其他小程序未测试过,可自行尝试) 可用于参考学习 可到插件市场下载尝试: https://ext.dcloud.net.cn/plugin?id=16736 使用示例

    2024年02月22日
    浏览(70)
  • uniapp项目编译成H5后跳转到微信小程序(支持微信扫码、支付宝扫码)

    uniapp项目编译成 H5 后跳转到 微信小程序 (支持微信H5、支付宝H5) 场景:1、微信扫码跳转到该H5中后点击某事件(或者不点击直接跳转)需要跳转到微信小程序;2、支付宝扫码跳转到H5中后点击某事件(或者不点击直接跳转)需要跳转到微信小程序 思路:调用后端接口返回

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

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

    2024年02月04日
    浏览(51)
  • h5页面调用小程序分享方法

    小程序端 H5端

    2024年02月03日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包