uniapp H5封装全局并且调用以微信分享为例子

方法一:在App.vue中封装

第一步:在App.vue里边写入封装的代码,如下

<script>
	export default {
		onLaunch: function(e) {},
		onShow: function(e) {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		},
		globalData: {
			// #ifdef H5
			setWxShare: function(redirect_link,id,imgurl) {
				console.log("pages", redirect_link)
				console.log("pagesid", id)
				console.log("pagesimgurl", imgurl)
				let wzhi = window.location.href //获取当前页面路由
				this.hi = wzhi.split("#")[0]
				let url = this.hi+'#/pages/share/code'
				let ref = uni.getStorageSync('code');
				//判断是否是ios环境
				let os = ""
					uni.getSystemInfo({
					 success: function(res) {
					  os = res.system;   
					 }
					});
					var link = "";
					if (os.indexOf("IOS") == -1) {
					 link = url.split("#")[0]
					}else{
					  link = url
					}
				var jump_goods2 = this.hi+'#/pages/link_jump/link_jump'+"?ref=" + ref+"&id="+id+'&redirect_link='+redirect_link;//拼接分享的链接地址
				var share_img = imgurl;//分享的图片
				//请求接口返回签名
				this.http('api/jssdk/get', 'post', {
					link: link,share_img:share_img
				}).then(res => {
					var result = res.data.data;
					var wxshare = require('jweixin-module');//调用微信集成的方法
					wxshare.config({
						debug: false, //是否打开调试
						appId: result.appId, // 公众号的唯一标识  
						timestamp: result.timestamp, // 生成签名的时间戳  
						nonceStr: result.nonceStr, // ,生成签名的随机串  
						signature: result.signature, // 签名  
						jsApiList: [
							"updateAppMessageShareData",
							"updateTimelineShareData",
						]
					});
					wxshare.ready(function() {
						//分享给朋友
						wxshare.updateAppMessageShareData({
							title: "标题", // 分享标题  
							desc: "描述", // 分享描述  
							link: jump_goods2, // 当前页面链接  
							imgUrl: result.share_img, // 分享图标                                
							success: function() { //分享成功回调
							},
							cancel: function() { //取消分享回调
							}
						});
						//分享到朋友圈
						wxshare.updateTimelineShareData({
							title: "标题", // 分享标题
							desc: "描述", // 分享描述  
							link: jump_goods2, // 当前页面链接  
							imgUrl: result.share_img, // 分享图标                       
							success: function() {
							},
							cancel: function() {
							}
						});
					})
				});
			},
			// #endif
		},
		methods: {

		}
	}
</script>

第二步:在main.js中挂载全局

// #ifdef H5
Vue.prototype.setWxShare = App.globalData.setWxShare;   // 右上角分享
// #endif

第三步:在相应的页面中调用

onShow(e) {
	// #ifdef H5
	let pages = getCurrentPages();
	var redirect_link = pages[pages.length - 1].route;
	this.setWxShare(redirect_link)// 分享传入参数
	// #endif
},

方法二:建一个js来进行封装

第一步:在static下建一个share.js的文件内容如下:

 async function setWxShare (redirect_link, id, imgurl) {
	console.log("pages", redirect_link)
	console.log("pagesid", id)
	console.log("pagesimgurl", imgurl)
	let wzhi = window.location.href //获取当前页面路由
	this.hi = wzhi.split("#")[0]
	let url = this.hi + '#/pages/share/code'
	let ref = uni.getStorageSync('code');
	let os = ""
	//判断环境是否是ios
	uni.getSystemInfo({
		success: function(res) {
			os = res.system;
		}
	});
	var link = "";
	if (os.indexOf("IOS") == -1) {
		link = url.split("#")[0]
	} else {
		link = url
	}
	var jump_goods2 = this.hi + '#/pages/link_jump/link_jump' + "?ref=" + ref + "&id=" + id + '&redirect_link=' +redirect_link;//拼接的分享链接地址
	var share_img = imgurl;
	//请求接口返回签名
	await this.http('api/jssdk/get', 'post', {
		link: link,
		share_img: share_img
	}).then(res => {
		var result = res.data.data;
		var wxshare = require('jweixin-module');//调用微信集成的方法
		wxshare.config({
			debug: false, //是否打开调试
			appId: result.appId, // 公众号的唯一标识  
			timestamp: result.timestamp, // 生成签名的时间戳  
			nonceStr: result.nonceStr, // ,生成签名的随机串  
			signature: result.signature, // 签名  
			jsApiList: [
				"updateAppMessageShareData",
				"updateTimelineShareData",
			]
		});

		wxshare.ready(function() {
			//分享给朋友
			wxshare.updateAppMessageShareData({
				title: "标题", // 分享标题  
				desc: "描述", // 分享描述  
				link: jump_goods2, // 当前页面链接  
				imgUrl: result.share_img, // 分享图标                                
				success: function() { //分享成功回调
				},
				cancel: function() { //取消分享回调
				}
			});
			//分享到朋友圈
			wxshare.updateTimelineShareData({
				title: "标题", // 分享标题
				desc: "描述", // 分享描述  
				link: jump_goods2, // 当前页面链接  
				imgUrl: result.share_img, // 分享图标                       
				success: function() {},
				cancel: function() {}
			});
		})
	});
}
export default {setWxShare};//暴露出这个方法

第二步:在main.js引用,并且挂载全局

const https = require('./static/http.js')
import share from './static/share.js';
Vue.prototype.setWxShare = share.setWxShare;

第三步:在相应的页面中调用

onShow(e) {
	// #ifdef H5
	let pages = getCurrentPages();
	var redirect_link = pages[pages.length - 1].route;
	this.setWxShare(redirect_link)// 分享传入参数
	// #endif
},
### 安装并启动 Redis 及其 RESP 协议的可视化工具 #### 一、安装配置 Redis 为了使 Windows 图形化客户端能够通过 RESP 协议连接到 Linux 上运行的 Redis 服务器,需完成以下操作: 1. **下载并解压 Redis 文件** 需要在目标机器上获取 Redis 的二进制文件或源码包,并按照官方文档说明编译或部署[^1]。 2. **修改 `redis.conf` 配置文件** 编辑 `/etc/redis/redis.conf` 或其他路径下的配置文件,设置允许远程访问的相关参数。例如: ```bash bind 0.0.0.0 # 解除绑定本地地址限制 protected-mode no # 关闭保护模式以便外部客户端可连入 requirepass yourpassword # 设置密码(如果需要) port 6379 # 默认监听端口保持不变或者自定义 ``` 修改完成后保存退出。 3. **重启 Redis 服务以应用更改** 使用命令重新加载新的配置项来生效上述调整。 ```bash systemctl restart redis ``` 这一步确保所有新设定被正确加载至内存中执行[^2]。 4. **处理可能遇到的服务启动失败错误** 如果尝试启动时收到类似于 “Failed to start Redis...” 的警告,则可能是由于权限不足或其他环境因素引起;此时应检查日志记录定位具体原因后再采取相应措施解决它[^4]。 #### 二、启用 RESP 协议支持 Redis 自身即基于 RESP (REdis Serialization Protocol) 构建通信机制,默认情况下已经具备此功能无需额外激活步骤即可正常工作。 #### 三、实现 RESP 协议的可视化交互方式 对于希望获得更直观用户体验的需求方来说,可以选择如下几种常见的图形界面管理软件之一作为辅助手段来进行日常运维管理工作: - **Redis Desktop Manager**: 跨平台解决方案, 支持多操作系统间的无缝切换; 提供丰富的数据展示形式便于理解分析复杂结构的数据集. - **Another Redis Desktop Manager(ARDM)**: 开源项目, 功能强大且灵活易扩展, 特别适合开发者群体使用场景需求. - **Medis**: macOS 平台专用的选择方案, 设计简洁美观同时兼顾效率考量. 这些应用程序均能很好地兼容标准 RESP 接口规范从而顺利完成各项任务要求[^3]. ```python import redis # 创建 Redis 实例对象用于测试目的 r = redis.StrictRedis(host='your_server_ip', port=6379, password="yourpassword", decode_responses=True) print(r.ping()) # 输出 True 表明成功建立链接关系 ``` 以上 Python 示例展示了如何利用第三方库快速验证网络可达性基本功能性状况。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值