​​​​1.微信商品详情分享

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 ​​​​1.微信商品详情分享,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

// 引用微信分享 sdk
//安装方法
npm install weixin-js-sdk
var wx = require('weixin-js-sdk');


methods: {
    // 微信商品详情分享
			fenXBtn() {
				const url = 'Index/ajaxGetWxConfig'; //location.href.split('#')[0]
				let idS = window.location.href;
				let shareShopId = this.$store.state.shop_id;
				// console.log(idS.replace(/shop_id/,));
				// let askUrl = this.IndexDemo('shop_id') != -1 ? idS : `${idS}&shop_id=${this.$store.state.shop_id}`
				let askUrl = this.$uti.IndexDemo('shop_id') != -1 ? idS : (shareShopId ? `${idS}&shop_id=${shareShopId}` :
					`${idS}`);
				// let askUrl = `${window.location.href}&shop_id=${this.$store.state.shop_id}`
				let wxTitle = this.shopInfo.name
				let wxDesc = this.shopInfo.goods_remark
				let imgBox = this.$uti.getImgCon(this.imgBx) //图片路径封装
				let bodyParam = {
					askUrl
				}
				this.$http.postRequest(url, bodyParam).then(res => {
					// console.log(res);
					const {
						appId,
						nonceStr,
						rawString,
						signature,
						timestamp
					} = res
					// 微信分享授权
					wx.config({
						debug: !1, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出
						appId, // 必填,公众号的唯一标识,填自己的!
						timestamp, // 必填,生成签名的时间戳,刚才接口拿到的数据
						nonceStr, // 必填,生成签名的随机串
						rawString,
						signature, // 必填,签名,见附录1
						jsApiList: [ // 需要使用的JS接口列表
							'onMenuShareTimeline',
							'onMenuShareAppMessage',
							'updateTimelineShareData',
							'updateAppMessageShareData'
						]

					})
				})

				wx.ready(function() {
					// 分享到朋友圈
					wx.onMenuShareTimeline({
						title: wxTitle, // 分享标题
						// link: 'http://tksn.shangpreechina.com/', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
						link: askUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
						// imgUrl: that.$uti.getImgCon(this.imgBx), // 分享图标 
						imgUrl: imgBox, // 分享图标
						success: function() {
							// 设置成功
							alert("分享成功");
							// console.log("分享成功");
						}
					})
					//分享给朋友
					wx.onMenuShareAppMessage({
						title: wxTitle,
						desc: wxDesc,
						link: askUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
						imgUrl: imgBox, // 分享图标 
						success: function() {
							console.log("分享成功");
						},
						cancel: function() {
							console.log("取消分享");
						}
					});
				})

			}
}

util.js 在页面调用是为了判断分享路径携不携带shop_id(店铺id)

// 判断 页面王志忠书否存在str
const IndexDemo = (str2) => {
	let str1 = window.location.href
	let s = str1.indexOf(str2);
	return (s);
}

2.分享方法封装  分享页面

 

let commoneUrl = 'http:/xxxxxxxxxxxxxxxxxxxxxx/'

//post请求封装
function postRequest222(url, data) {
	var promise = new Promise((resolve, reject) => {
		var postData = data;
		uni.request({
			url: commoneUrl + url,
			data: postData,
			method: 'POST',
			// withCredentials:true,
			header: {
				'content-type': 'application/x-www-form-urlencoded',
				// "Authorization":'22'
			},
			success: function(res) {

				// console.log(res);
				if (res.statusCode === 200 && res.data.resultCode == 0) {
					resolve(res.data);
				} else {
					resolve(res.data)
				}
			},
			error: function(e) {
				reject('网络出错');
			}
		})
	});
	return promise;
}


// 获取网站基础配置信息 
const webConfig = (shop_id) => {
	const url = 'Index/getWebconfig';
	postRequest222(url).then(res => {
		console.log("配置Uti", res);
		if (res.code == 200) {
			uni.setStorageSync('Webconfig', res.data);
			uni.setStorageSync('phone', res.data.MOBILE);
			getApp().globalData.phone = res.data.MOBILE
			uni.setNavigationBarTitle({
				title: res.data.CFG_WEBNAME
			})
			
			let shop_id = shop_id
			let title = res.data.SYS_SHARE_TITLE
			let remark = res.data.SYS_SHARE_DESC
			let Image = getImgCon(res.data.SYS_SHARE_IMG)
			shareFun(shop_id, title, remark, Image)
			return res.data
		}
		
		if (res.code == 200) {
			
			// this.$store.commit('saveWX_Webconfig', res)
			// // 页面标题文字
			// uni.setNavigationBarTitle({
			// 	title: res.data.CFG_WEBNAME
			// })
			// this.phoneNumber = res.data.MOBILE
			// getApp().globalData.phone = res.data.MOBILE
			// this.$store.commit('saveWX_APPID', res.data.WX_APPID)
			// try {
			// 	uni.setStorageSync('phone', res.data.MOBILE);
			// } catch (e) {
			// 	// error
			// }
		
		}
	})
}

// 引入分享 sdk   安装 npm i weixin-js-sdk
let wx = require('weixin-js-sdk');
// 判断 页面王志忠书否存在str
const IndexDemo = (str2) => {
	let str1 = window.location.href
	let s = str1.indexOf(str2);
	return (s);
}

//.微信分享
/** 
 * shop_id 店铺id 从全局取
 * title  分享标题
 * remark 分享描述
 * Image  分享封面图    
 */
const shareFun = (shop_id, title, remark, Image) => {
	let idS = window.location.href;
	let shareShopId = shop_id;
	let askUrl = IndexDemo('shop_id') != -1 ? idS : (shareShopId ? `${idS}&shop_id=${shareShopId}` :
		`${idS}`);
	let wxTitle = title
	let wxDesc = remark
	let imgBox = Image
	// console.log(askUrl,wxTitle,wxDesc,imgBox);
	const url = 'Index/ajaxGetWxConfig';
	let bodyParam = {
		askUrl
	}
	postRequest222(url, bodyParam).then(res => {
		console.log(res);
		const {
			appId,
			nonceStr,
			rawString,
			signature,
			timestamp
		} = res
		// 微信分享授权
		wx.config({
			debug: !1, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出
			appId, // 必填,公众号的唯一标识,填自己的!
			timestamp, // 必填,生成签名的时间戳,刚才接口拿到的数据
			nonceStr, // 必填,生成签名的随机串
			rawString,
			signature, // 必填,签名,见附录1
			jsApiList: [ // 需要使用的JS接口列表
				'onMenuShareTimeline',
				'onMenuShareAppMessage',
				'updateTimelineShareData',
				'updateAppMessageShareData'
			]

		})
	})

	wx.ready(function() {
		// 分享到朋友圈
		wx.onMenuShareTimeline({
			title: wxTitle, // 分享标题
			// link: 'http://tksn.shangpreechina.com/', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
			link: askUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
			// imgUrl: that.$uti.getImgCon(this.imgBx), // 分享图标 
			imgUrl: imgBox, // 分享图标
			success: function() {
				// 设置成功
				alert("分享成功");
				// console.log("分享成功");
			}
		})
		//分享给朋友
		wx.onMenuShareAppMessage({
			title: wxTitle,
			desc: wxDesc,
			link: askUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
			imgUrl: imgBox, // 分享图标 
			success: function() {
				console.log("分享成功");
			},
			cancel: function() {
				console.log("取消分享");
			}
		});
	})


}

module.exports = {
	webConfig: webConfig, 
}

页面调用方法

onLoad(e) {
    // 分享
		setTimeout(() => {
			let shop_id = this.$store.state.shop_id
			this.$uti.webConfig(shop_id)
		}, 1000)
}

效果图展示

​​​​1.微信商品详情分享

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/144804.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!