uniapp分享到微信聊天和朋友圈

5,425 阅读1分钟

uni.share

需要分享的页面调用uni.share进行分享功能操作,官网文档上有详细介绍。

//分享到微信聊天,图文分享
uni.share({
    provider: "weixin",
    scene: "WXSceneSession",
    type: 0,
    href: "http://uniapp.dcloud.io/",//这里写打开app的urlschemes
    title: "uni-app分享",
    summary: "我正在使用HBuilderX开发uni-app,赶紧跟我一起来体验!",
    imageUrl: "https://img-cdn-qiniu.dcloud.net.cn/uniapp/images/uni@2x.png",
    success: function (res) {
        console.log("success:" + JSON.stringify(res));
    },
    fail: function (err) {
        console.log("fail:" + JSON.stringify(err));
    }
});

urlschemes

配置urlschemes

写一个h5页面用来打开APP并判断...

因为微信不支持直接打开第三方APP,所以我写了一个h5页面,用来接收参数并传给APP;判断手机是安卓还是iOS;并判断手机上是否安装了此APP,若安装了则直接打开,未安装则下载。

APP.vue获取参数判断跳转到指定页面

onShow: function() {
			//第三方程序打开判断跳转页面与参数
			let url = '',id= '';
			let args = plus.runtime.arguments
			if(args == null || args == ""){
				return
			}
			let query = args.replace("qyzj://?","");
			let vars = query.split("&");
		    for (let i=0;i<vars.length;i++) {
				let pair = vars[i].split("=");
				if(pair[0] == "path"){url = pair[1];}
				if(pair[0] == "guid"){id= pair[1];}
		    }
			switch (url){
				case "xxx":
					uni.navigateTo({//跳转页面
						url:"/xxx/xxx?xxx="+id
					})
					break;
			}
		},
		onHide: function() {
			plus.runtime.arguments = null;//清空arguments ,否则onshow每次都执行跳转
			plus.runtime.arguments = "";//与上面一起用,单独用有时不起效果
		},