iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > html >微信开发之如何实现分享功能
  • 834
分享到

微信开发之如何实现分享功能

2024-04-02 19:04:59 834人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关微信开发之如何实现分享功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 通过对需求的了解,可以将其分解为:(1

这篇文章将为大家详细讲解有关微信开发之如何实现分享功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

通过对需求的了解,可以将其分解为:

(1)微信端手机用户,可以使用微信的jsSDK。

(2)选取图片,使用JSSDK的“chooseImage”,由于分享图片时本地地址无法分享,因此还需要JSSDK的“uploadImage”。

(3)分享到朋友圈,需要JSSDK的“onMenuShareTimeline”。

综合起来,业务逻辑如图4.5所示。

微信开发之如何实现分享功能

图4.5  业务逻辑结构图

首先将JSSDK的环境复制一份到本节目录下,创建index.html文件、imageSharing.js文件,目录结构如图4.6所示。

微信开发之如何实现分享功能

图4.6  4.2节目录结构

修改一下JSSDK环境的配置文件,代码如下:

01	jsapiList: [ // 必填,需要使用的JS接口列表,所有JS接口列表见附录B
02	    "chooseImage",
03	    "previewImage",
04	    "uploadImage",
05	    "onMenuShareTimeline"
06	]
07	//其他代码略

依据需求,构建一个“id”等于“chooseImage”的点击按钮,以及点击按钮后,用来显示选中图片的容器,在index.html文件中增加如下代码:

01	<!DOCTYPE html>
02	<html lang="en">
03	<head>
04		<meta charset="UTF-8">
05	    <meta name="viewport" content="width=device-width, initial-scale=1.0, 
06	minimum-scale=1, maximum-scale=1.0, user-Scalable=no">
07	    <title>第4章 4.2节-实例:从手机相册中选照片然后分享</title>
08	    <!--依赖文件:Jquery-->
09	    <script src="./js/jquery-1.11.2.min.js?1.1.10"></script>
10	    <!--依赖文件:微信的JSSDK源文件-->
11	    <script src="Http://res.wx.qq.com/open/js/jweixin-1.0.0.js?1.1.10"></script>
12	    <!--依赖文件:coolie-->
13	    <script src="./js/cookie.js?1.1.10"></script>
14	    <!--JSSDK的环境-->
15	    <script src="./js/wxJSSDK.js?1.1.10"></script>
16	    <!--引入检测API的图像服务-->
17	    <script src="imageSharing.js?1.1.10"></script>
18	    <style>
19	        input{
20	            width: 100%;
21	            padding: 0.2em;
22	            background-color: #5eb95e;
23	            font-size: 1.4em;
24	            background-image: linear-gradient(to bottom, #62c462, #57a957);
25	            background-repeat: repeat-x;
26	            color: #ffffff;
27	            text-align: center;
28	            text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
29	            border-radius: 0.3em;
30	        }
31	    </style>
32	</head>
33	<body>
34	    <h2 style="font-size: 8em">:)</h2>
35	    <b style="font-size: 2em">实例:从手机相册中选照片然后分享,支持选择1张图片!
36	</b><br /><br />
37	    <p id="imageContainer" style="text-align: center;width: 100%"></p>
38	    <p id="selectImg" style="color: #5eb95e;text-align: center">没有自定义分享图片</p>
39	    <input type="button" value="请选择分享图片" id="chooseImage" /><br /><br />
40	</body>
41	</html>

在imageSharing.js文件中增加处理业务的代码如下:

01	
07	wxJSSDK.shareApi = function(shareList){
08	    if(wxJSSDK.isReady){//wxJSSDK.isReady 查看微信JSSDK是否初始化完毕
09	
10	        //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
11	        if(shareList.onMenuShareTimeline){
12	            var ParametersTimeline = shareList.onMenuShareTimeline;
13	            wx.onMenuShareTimeline({
14	                title: ParametersTimeline.title, 		// 分享标题
15	                link: ParametersTimeline.link,		// 分享链接
16	                imgUrl: ParametersTimeline.imgUrl, 	// 分享图标
17	                success: function () {
18	                    // 用户确认分享后执行的回调函数
19	                    ParametersTimeline.success && ParametersTimeline.success();
20	                },
21	                cancel: function () {
22	                    // 用户取消分享后执行的回调函数
23	                    ParametersTimeline.cancel && ParametersTimeline.cancel();
24	                }
25	            });
26	        }
27	
28	    }else{
29	        console.log("抱歉,wx没有初始化完毕,请等待wx初始化完毕,再调用分享服务。");
30	    }
31	}
32	
38	wxJSSDK.imageApi = function(imageApi){
39	    if(wxJSSDK.isReady){//wxJSSDK.isReady 查看微信JSSDK是否初始化完毕
40	        if(imageApi){
41	
42	            imageApi.chooseImage && wx.chooseImage({//拍照或从手机相册中选图接口
43	                success: function (res) {
44	                    imageApi.chooseImage.success && 
45	imageApi.chooseImage.success(res);
46	                }
47	            });
48	
49	            imageApi.previewImage && wx.previewImage({	// 预览图片接口
50	                current: imageApi.previewImage.current, 	// 当前显示的图片链接
51	                urls: imageApi.previewImage.urls 			// 需要预览的图片链接列表
52	            });
53	
54	            imageApi.uploadImage && wx.uploadImage({	// 上传图片接口
55	                localId: imageApi.uploadImage.localId, 		// 需要上传的图片的本地ID,
56	由chooseImage接口获得
57	                isshowProgressTips: imageApi.uploadImage.isShowProgressTips || 1, // 
58	默认为1,显示进度提示
59	                success: function (res) {
60	                    imageApi.uploadImage.success && 
61	imageApi.uploadImage.success(res);
62	                }
63	            });
64	
65	            imageApi.downloadImage && wx.downloadImage({//下载图片接口
66	                serverId:imageApi.downloadImage.serverId, // 需要下载的图片的服务器端
67	ID,由uploadImage接口获得
68	                isShowProgressTips: imageApi.downloadImage.isShowProgressTips || 1, // 
69	默认为1,显示进度提示
70	                success: function (res) {
71	                    imageApi.downloadImage.success && 
72	imageApi.downloadImage.success(res);
73	                }
74	            });
75	        }else{
76	            console.log("缺少配置参数");
77	        }
78	    }else{
79	        console.log("抱歉,wx没有初始化完毕,请等待wx初始化完毕,再调用图像接口服
80	务。");
81	    }
82	
83	}
84	
85	window.onload = function(){
86	    var chooseImageID,	// 拍照或从手机相册中选图接口
87	        shareImage,
88	        uploadImage = function(back){
89	            wxJSSDK.imageApi({	// 上传图片···
90	                uploadImage:{
91	                    localId:chooseImageID.toString(),
92	                    success:function(res){//临时access_token,上传图片成功之后,执行分
93	享操作
94	                   shareImage = 
95	"http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=
96	eQv3HPwEFxwsw8cyh6O7DjaNOoGd4d-jYtG_c9uW-YbwUYxkMywh_O3LCC
97	ZtmX8ZWr8np0Q5CqAox7lghNkNuiNHU8M618jbRvcaLjQuHq8&media_id="+res.serverId; // 返回图片的服务器端ID
98	                        back && back();
99	                    }
100	                }
101	            });
102	        },
103	        shareTimeline = function(){
104	            uploadImage(function(){
105	                wxJSSDK.shareApi({					// 分享图片···
106	                    onMenuShareTimeline : {			// 分享到朋友圈
107	                        title: "实例:从手机相册中选照片然后分享!", // 分享标题
108	                        link: 'http://weibo.com/xixinliang', 	// 分享链接
109	                        imgUrl: shareImage, 			// 分享图标
110	                        success: function () {
111	
112	                        },
113	                        cancel: function () {
114	
115	                        }
116	                    }
117	                });
118	            });
119	        };
120	    $("#chooseImage").click(function(){
121	        wxJSSDK.imageApi({
22	            chooseImage:{
23	                success:function(res){
24	                    chooseImageID =  res.localIds[0]; // 返回选定照片的本地ID列表,
25	localId可以作为img标签的src属性显示图片
26	                    $("#imageContainer").html("<img style='width: 30%' 
27	src='"+chooseImageID+"'>");
28	                    $("#selectImg").html("已选择图片,请点击右上角分享到朋友圈按钮");
29	                    shareTimeline();
30	                }
31	            }
32	        });
33	    });
34	}
【代码解释】
  • 在index.html中,创建了一个分享自定义图片的按钮,如图4.7所示。

  • 点击分享按钮,调用JSSDK的选择图片API,让用户选中图片,如图4.8所示。

微信开发之如何实现分享功能

图4.7  自定义分享图片UI

微信开发之如何实现分享功能

图4.8  选择图片之后的UI

  • 之后,调用“uploadImage”上传图片。

  • 上传成功之后,返回上传之后的服务端“serverId”,再调用下载多媒体的API,将图片赋值给JSSDK的分享API“onMenuShareTimeline”。

用户可以查看分享效果,如图4.9和图4.10所示。

微信开发之如何实现分享功能

图4.9  分享到朋友圈编辑的UI

微信开发之如何实现分享功能

图4.10  成功分享自定义图片到朋友圈

关于“微信开发之如何实现分享功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 微信开发之如何实现分享功能

本文链接: https://www.lsjlt.com/news/80631.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信开发之如何实现分享功能
    这篇文章将为大家详细讲解有关微信开发之如何实现分享功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 通过对需求的了解,可以将其分解为:(1...
    99+
    2024-04-02
  • 微信JS-SDK如何实现微信分享接口开发
    这篇文章给大家分享的是有关微信JS-SDK如何实现微信分享接口开发的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近项目中的网页通过微信分享朋友或朋友圈等功能出现了无法显示分享图...
    99+
    2024-04-02
  • PHP微信开发:如何实现投票功能
    在微信公众号开发中,投票功能经常被运用。投票功能是让用户快速参与互动的好方式,也是举办活动和调查意见的重要工具。本文将为您介绍如何使用PHP实现微信投票功能。获取微信公众号授权首先,你需要获取微信公众号的授权。在微信公众平台上,你需要配置微...
    99+
    2023-05-14
    PHP 微信开发 投票功能
  • JS中静态页面如何实现微信分享功能
    这篇文章主要介绍了JS中静态页面如何实现微信分享功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前台代码:<script ...
    99+
    2024-04-02
  • 如何使用PHP开发微信小程序的任务分享功能?
    如何使用PHP开发微信小程序的任务分享功能?随着微信小程序的流行,开发者们对于小程序的功能需求也越来越多样化。其中,任务分享功能是很多小程序中常见的一项功能需求。通过任务分享功能,用户可以将任务或活动分享给好友或群聊,从而增加用户的活跃度和...
    99+
    2023-10-26
    微信小程序 PHP开发 任务分享
  • 怎么在Html5中实现微信分享功能
    这期内容当中小编将会给大家带来有关怎么在Html5中实现微信分享功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、安装 weixin-js-sdknpm install weixin-js-...
    99+
    2023-06-09
  • Android实现app分享文件到微信功能
    本文实例为大家分享了Android实现app分享文件到微信的具体代码,供大家参考,具体内容如下 两种实现方案: 1.使用WXFileObject构造分享方法发送到微信; 2.调用系统...
    99+
    2024-04-02
  • 微信小程序开发如何实现地图功能
    这篇文章主要讲解了“微信小程序开发如何实现地图功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序开发如何实现地图功能”吧!基本使用地图组件使用起来也很简单。.wxml<map...
    99+
    2023-06-26
  • js如何实现微信分享
    这篇文章将为大家详细讲解有关js如何实现微信分享,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下微信分享代码,先引入:<script type=...
    99+
    2024-04-02
  • VueJs单页应用如何实现微信网页授权及微信分享功能
    这篇文章主要介绍了VueJs单页应用如何实现微信网页授权及微信分享功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在实际开发中,无论是做P...
    99+
    2024-04-02
  • 【微信开发】微信小程序实现实时聊天功能
    最近在做一个项目,需要运用到实时聊天功能,分享一下。      分为: 界面如何布局以及细节; 如何实现实时更新; 全部代码展示;         一、界面如何布局以及细节:         1.说到底,聊天界面就是循环一个数组,每一行...
    99+
    2023-09-02
    微信小程序 小程序
  • Java如何实现微信公众平台朋友圈分享功能
    这篇文章将为大家详细讲解有关Java如何实现微信公众平台朋友圈分享功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问...
    99+
    2023-05-30
    java
  • 微信小程序如何开发微信支付功能
    本篇内容主要讲解“微信小程序如何开发微信支付功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序如何开发微信支付功能”吧!用户请求开发者后台,发起下单请求发起请求前在小程序端调用&nbs...
    99+
    2023-06-26
  • 微信小程序转发功能如何实现
    这篇文章主要介绍“微信小程序转发功能如何实现”,在日常操作中,相信很多人在微信小程序转发功能如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序转发功能如何实现”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-26
  • 微信小程序如何实现转发功能
    这篇文章将为大家详细讲解有关微信小程序如何实现转发功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 转发功能的实现1.当用户将小程序转发到任一群聊之后,可以获...
    99+
    2024-04-02
  • 微信小程序如何实现基于Taro的分享图片功能
    小编给大家分享一下微信小程序如何实现基于Taro的分享图片功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Taro支持以React语言开发小程序,支持CSS预处理器,支持实时编译更新,支...
    99+
    2024-04-02
  • Flutter实现仿微信分享功能的示例代码
    目录1.首先去pub官网2 在微信开放平台注册开发者账号以及创建你的应用程序3 在分享页面3.1 初始化3.2 检测微信是否安装3.3 分享微信消息总结本文设计到的知识点有主要问题F...
    99+
    2024-04-02
  • 如何使用PHP实现微信小程序的文件分享功能?
    如何使用PHP实现微信小程序的文件分享功能?随着微信小程序的普及,文件分享功能成为了很多小程序开发者的需求之一。本文将介绍如何使用PHP实现微信小程序的文件分享功能,并提供具体的代码示例。一、准备工作在实现文件分享功能之前,我们需要完成以下...
    99+
    2023-10-27
    PHP 微信小程序 文件分享
  • android分享功能如何实现
    实现Android分享功能可以使用Android系统提供的分享功能,具体步骤如下:1. 创建一个分享的按钮或菜单项,例如在布局文件中...
    99+
    2023-10-09
    android
  • PHP开发微信小程序:如何实现自动回复功能?
    PHP开发微信小程序:如何实现自动回复功能?微信小程序是一种轻量级的应用程序,非常适用于移动设备。在开发微信小程序时,自动回复功能是一个非常重要的功能,可以提供更好的用户体验。本文将介绍如何使用PHP语言开发微信小程序的自动回复功能,并提供...
    99+
    2023-10-27
    PHP 微信小程序 自动回复
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作