如何使用微信js sdk分享缩略图-SDK实际分享功能

09:47 提问
网页用JS可以实现分享微信和朋友圈的功能吗? 怎么写?
网页用JS可以实现分享微信和朋友圈的功能吗?
网页用JS可以实现分享微信和朋友圈的功能吗? 怎么写?
按赞数排序
可以,都有api的。其实用百度的分享或者jiathis分享就好了,不需要自己写,除非有特殊需求
移动web如何在非微信浏览器上分享到微信朋友圈。上面说的是在微信浏览中的方式。。
397关注|554收录
525关注|99收录
350关注|632收录
其他相似问题你的位置: >
> 微信JS-SDK说明文档
文章目录[]
微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。
通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫等微信特有的能力,为微信用户提供更优质的网页体验。
此文档面向网页开发者介绍微信JS-SDK如何使用及相关注意事项。
在使用微信JS-SDK对应的JS接口前,需确保已获得使用对应JS接口的权限,可在下表中根据自己的帐号角色查看。
企业号帐号角色分为体验号、注册号和认证号,其中体验号与注册号的权限一致,认证号则拥有更多的JS-SDK权限,具体详见下方表格:
注册号和体验号
判断当前客户端版本是否支持指定JS接口
获取“分享到朋友圈”按钮点击状态及设置分享内容接口
获取“分享给朋友”按钮点击状态及设置分享内容接口
获取“分享到QQ”按钮点击状态及设置分享内容接口
获取“分享到腾讯微博”按钮点击状态及设置分享内容接
本地选图或拍照接口
图片预览接口
上传图片接口
下载图片接口
开始录音接口
停止录音接口
播放音频接口
暂停播放接口
停止播放接口
上传语音接口
下载语音接口
使用微信音乐播放器播放音乐接口
识别音频并返回识别结果接口
获取网络状态接口
查看地理位置地图接口
获取地理位置接口
隐藏右上角菜单接口
显示右上角菜单接口
关闭当前窗口接口
批量隐藏菜单项接口
批量显示菜单项接口
隐藏所有非基本菜单项接口
显示所有被隐藏的非基本菜单项接口
微信扫一扫
扫一扫接口
注意: 所有的JS接口只能在企业号应用的可信域名下调用,可在企业号应用中心里设置应用可信域名。
在需要调用JS接口的页面引入如下JS文件,(支持):
备注:支持使用 AMD/CMD 标准模块加载方法加载
所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的可在每次url变化时进行调用)。
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
corpid: '', // 必填,企业号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
wx.ready(function(){
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
所有接口通过wx对象(也可使用jWeixin对象)来调用,参数是一个对象,除了每个接口本身需要传的参数之外,还有以下通用参数:
success:接口调用成功时执行的回调函数。
fail:接口调用失败时执行的回调函数。
complete:接口调用完成时执行的回调函数,无论成功或失败都会执行。
cancel:用户点击取消时的回调函数,仅部分有用户取消操作的api才会用到。
trigger: 监听Menu中的按钮点击时触发的方法,该方法仅支持Menu中的相关接口。
以上几个函数都带有一个参数,类型为对象,其中除了每个接口本身返回的数据之外,还有一个通用属性errMsg,其值格式如下:
调用成功时:”xxx:ok” ,其中xxx为调用的接口名
用户取消时:”xxx:cancel”,其中xxx为调用的接口名
调用失败时:其值为具体错误信息
wx.checkJsApi({
jsApiList: ['chooseImage'] // 需要检测的JS接口列表,所有JS接口列表见附录2,
success: function(res) {
// 以键值对的形式返回,可用的api值true,不可用为false
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
备注:checkJsApi接口是客户端6.0.2新引入的一个预留接口,第一期开放的接口均可不使用checkJsApi来检测。
请注意不要有诱导分享等违规行为,对于诱导分享行为将永久回收企业号接口权限,详细规则请查看: 。
wx.onMenuShareTimeline({
title: '', // 分享标题
link: '', // 分享链接
imgUrl: '', // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
cancel: function () {
// 用户取消分享后执行的回调函数
wx.onMenuShareAppMessage({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接
imgUrl: '', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
cancel: function () {
// 用户取消分享后执行的回调函数
wx.onMenuShareQQ({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接
imgUrl: '' // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
cancel: function () {
// 用户取消分享后执行的回调函数
wx.onMenuShareWeibo({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接
imgUrl: '' // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
cancel: function () {
// 用户取消分享后执行的回调函数
wx.chooseImage({
success: function (res) {
var localIds = res.localI // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
wx.previewImage({
current: '', // 当前显示的图片链接
urls: [] // 需要预览的图片链接列表
wx.uploadImage({
localId: '', // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1// 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回图片的服务器端ID
备注:可用企业微信获取媒体文件接口下载上传的语音,此处获得的 serverId 即 media_id,参考文档
wx.downloadImage({
serverId: '', // 需要下载的图片的服务器端ID,由uploadImage接口获得
isShowProgressTips: 1// 默认为1,显示进度提示
success: function (res) {
var localId = res.localId; // 返回图片下载后的本地ID
wx.startRecord();
wx.stopRecord({
success: function (res) {
var localId = res.localId;
wx.onVoiceRecordEnd({
// 录音时间超过一分钟没有停止的时候会执行 complete 回调
complete: function (res) {
var localId = res.localId;
wx.playVoice({
localId: '' // 需要播放的音频的本地ID,由stopRecord接口获得
wx.pauseVoice({
localId: '' // 需要暂停的音频的本地ID,由stopRecord接口获得
wx.stopVoice({
localId: '' // 需要停止的音频的本地ID,由stopRecord接口获得
wx.onVoicePlayEnd({
serverId: '', // 需要下载的音频的服务器端ID,由uploadVoice接口获得
success: function (res) {
var localId = res.localId; // 返回音频的本地ID
wx.uploadVoice({
localId: '', // 需要上传的音频的本地ID,由stopRecord接口获得
isShowProgressTips: 1// 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回音频的服务器端ID
备注:可用企业微信获取媒体文件接口下载上传的语音,此处获得的 serverId 即 media_id,参考文档
wx.downloadVoice({
serverId: '', // 需要下载的音频的服务器端ID,由uploadVoice接口获得
isShowProgressTips: 1// 默认为1,显示进度提示
success: function (res) {
var localId = res.localId; // 返回音频的本地ID
wx.translateVoice({
localId: '', // 需要识别的音频的本地Id,由录音相关接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
alert(res.translateResult); // 语音识别的结果
wx.getNetworkType({
success: function (res) {
var networkType = res.networkT // 返回网络类型2g,3g,4g,wifi
wx.openLocation({
latitude: 0, // 纬度,浮点数,范围为90 ~ -90
longitude: 0, // 经度,浮点数,范围为180 ~ -180。
name: '', // 位置名
address: '', // 地址详情说明
scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大
infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
wx.getLocation({
timestamp: 0, // 位置签名时间戳,仅当需要兼容6.0.2版本之前时提供
nonceStr: '', // 位置签名随机串,仅当需要兼容6.0.2版本之前时提供
addrSign: '', // 位置签名,仅当需要兼容6.0.2版本之前时提供,详见附录4
success: function (res) {
var longitude = res. // 纬度,浮点数,范围为90 ~ -90
var latitude = res. // 经度,浮点数,范围为180 ~ -180。
var speed = res. // 速度,以米/每秒计
var accuracy = res. // 位置精度
wx.hideOptionMenu();
wx.showOptionMenu();
wx.closeWindow();
wx.hideMenuItems({
menuList: [] // 要隐藏的菜单项,所有menu项见附录3
wx.showMenuItems({
menuList: [] // 要显示的菜单项,所有menu项见附录3
wx.hideAllNonBaseMenuItem();
wx.showAllNonBaseMenuItem();
微信扫一扫
wx.scanQRCode({
desc: 'scanQRCode desc',
needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有
success: function (res) {
var result = res.resultS // 当needResult 为 1 时,扫码返回的结果
附录1-JS-SDK使用权限签名算法
jsapi_ticket
生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是企业号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。
参考以下文档获取access_token(有效期7200秒,开发者必须在自己的服务全局缓存access_token):
用第一步拿到的access_token 采用http GET方式请求获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket):
成功返回如下JSON:
"errcode":0,
"errmsg":"ok",
"ticket":"bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA",
"expires_in":7200
获得jsapi_ticket之后,就可以生成JS-SDK权限验证的签名了。
签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。
即signature=sha1(string1)。
noncestr=Wm3WZYTPz0wzccnW
jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg
timestamp=
步骤1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:
jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=&url=https://qy.
步骤2. 对string1进行sha1签名,得到signature:
e9bc6babbceafc7f5df0be59932d
签名用的noncestr和timestamp必须与wx.config中的nonceStr和timestamp相同。
签名用的url必须是调用JS接口页面的完整URL。
出于安全考虑,开发者必须在服务器端实现签名的逻辑。
附录2-所有JS接口列表
版本1.0.0接口
onMenuShareTimeline
onMenuShareAppMessage
onMenuShareQQ
onMenuShareWeibo
startRecord
stopRecord
onVoiceRecordEnd
pauseVoice
onVoicePlayEnd
uploadVoice
downloadVoice
chooseImage
previewImage
uploadImage
downloadImage
translateVoice
getNetworkType
openLocation
getLocation
hideOptionMenu
showOptionMenu
hideMenuItems
showMenuItems
hideAllNonBaseMenuItem
showAllNonBaseMenuItem
closeWindow
scanQRCode
附录3-所有菜单项列表
举报: “menuItem:exposeArticle”
调整字体: “menuItem:setFont”
日间模式: “menuItem:dayMode”
夜间模式: “menuItem:nightMode”
刷新: “menuItem:refresh”
查看企业号(已添加): “menuItem:profile”
查看企业号(未添加): “menuItem:addContact”
发送给朋友: “menuItem:share:appMessage”
分享到朋友圈: “menuItem:share:timeline”
分享到QQ: “menuItem:share:qq”
分享到Weibo: “menuItem:share:weiboApp”
收藏: “menuItem:favorite”
分享到FB: “menuItem:share:facebook”
调试: “menuItem:jsDebug”
编辑标签: “menuItem:editTag”
删除: “menuItem:delete”
复制链接: “menuItem:copyUrl”
原网页: “menuItem:originPage”
阅读模式: “menuItem:readMode”
在QQ浏览器中打开: “menuItem:openWithQQBrowser”
在Safari中打开: “menuItem:openWithSafari”
邮件: “menuItem:share:email”
一些特殊企业号: “menuItem:share:brand”
附录4-位置签名生成算法
addrSign的生成规则与JS-SDK权限验证的签名生成规则相同(参考附录1),只是参与签名参数有所不同。参与addrSign的签名参数有:corpid、url(当前网页url)、timestamp、noncestr、accesstoken(用户授权凭证,请参照oauth2.0 协议获取)。
附录5-常见错误及解决方法
调用config 接口的时候传入参数 debug: true 可以开启debug模式,页面会alert出错误信息。以下为常见错误及解决方法:
invalid url domain当前页面所在域名与使用的corpid没有绑定(可在该企业号的应用可信域名中配置域名)。
invalid signature签名错误。建议按如下顺序检查:
确认签名算法正确,可用
页面工具进行校验。
确认config中noncestr, timestamp与用以签名中的对应noncestr, timestamp一致。
确认url是页面完整的url,包括GET参数部分。
确认 config 中的 corpid 与用来获取 jsapi_ticket 的 corpid 一致。
the permission value is offline verifying这个错误是因为config没有正确执行,或者是调用的JSAPI没有传入config的jsApiList参数中。建议按如下顺序检查:
确认config正确通过。
如果是在页面加载好时就调用了JSAPI,则必须写在wx.ready的回调中。
确认config的jsApiList参数包含了这个JSAPI。
permission denied该应用没有权限使用这个JSAPI。
附录5-DEMO页面和示例代码
DEMO页面:
示例代码:
备注:链接中包含php、java、nodejs以及的示例代码供第三方参考,第三方切记要对获取的accesstoken以及jsapi_ticket进行缓存以确保不会触发频率限制。
附录6-问题反馈
邮箱地址:weixin-
邮件主题:【微信JS-SDK反馈】
邮件内容说明:
用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。
转载请注明: &
与本文相关的文章微信虐我千百遍,我待微信如初恋。曾几何时,我们十分开心的用着微信的私有js接口控制分享行为,各种营销手段几乎都离不开这些接口,直到有一天微信6.0.2发布,私有接口一夜之间全部失效,微信开发界一片惨嚎,当然更多的是骂声。然后紧接着,微信抛出了一个重磅炸弹--官方开放js sdk,功能更加强大,顿时普天同庆啊,但是真有那么顺利吗?
虽然微信官方开放了js-sdk,但是在某些老版本的微信上存在兼容性问题,比如在安卓微信6.0.1版本上分享接口就无法使用,官方给出的解决方案就是升级微信。这不坑爹呢!我又不能强制我的用户去升级微信版本,总不能就抛弃他们吧?所以我们需要:
###破解版js接口
[点击查看项目][1]
该接口为一大牛 @Alienfe 所做,当时在微信屏蔽私有接口的情况下,这个js库帮了大忙,破解了微信的限制,使得我们能够继续使用私有接口。但是在最新微信6.1版本,该库已经失效。
###官方sdk
既然官方提供了接口,我们以后肯定是切换到上面的,代码重构少不了的,该接口的开发文档在这里: 
[官方js-sdk文档][2]
说实话,该文档虽然功能强大,但是配置麻烦,需要请求授权后拿到授权码放到前端js里,简直蛋疼无比,而且不知道未认证的公众号能否使用。
这里就不详细介绍两个接口的使用方法了,这里主要说明一下如何合理使用两个接口,前面说过了,破解版js接口在6.1以上无效,而官方接口在低版本上存在兼容性问题,所以这里我们需要同时使用两个接口,以保证所有微信用户都能够正常分享。
那么,我的策略是:
1.微信版本&6.0.2 使用破解版接口
2.微信版本&=6.0.2 使用官方sdk
就以我的PHP项目为例,在后端,我通过 userAgent 提取微信版本号:
//判断微信版本是否高于6.0.2,低版本用旧接口,高版本用jssdk
preg_match('/MicroMessenger\/(.*?)[^\d\.]/',$_SERVER['HTTP_USER_AGENT'],$m);
if (version_compare($m[1], '6.0.2') == 1) {
$this-&assign('wxHighVersion',true);
$this-&assign('wxHighVersion',false);
wxHighVersion 是绑定到视图模板的变量名,以便我们在模板决定用哪个接口。模板部分:
//自定义分享参数
var wxData = {
"imgUrl": "",//图片
"link": "",//分享链接
"title": "",//定义分享标题
&?php if(!$wxHighVersion): ?&
&script src="/js/WeixinApi.js"&&/script&
//使用破解版接口
&?php else: ?&
&script src="http://res./open/js/jweixin-1.0.0.js"&&/script&
//使用官方接口
这样,我就实现了全版本兼容,只是重构代码需要细心+耐心。
[1]: /keepeye/WeixinApi
[2]: http://mp./wiki/7/aaa137b55fb2e48dd613f.html
php内置函数
php内置函数 好的,谢谢- -
应该是 &6.1 的版本。不过我已经放弃兼容了,低版本用户不多。
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈 - 博客频道 - CSDN.NET
许小乖……是总攻
努力让今天的自己配得上昨天的梦想……
分类:●微信
& & & & & 小编也经常在微信朋友圈分享一些好的文章或者让人哭或笑的段子,就在手机右上角的三个竖点一键分享就ok了,那么对于分享到朋友圈是怎么实现的呢?对于那种活动分享送流量是怎么定位分享者的呢?而想要将文章发送给朋友又是怎么获取到的朋友列表的呢?
& & & & &微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。
JSSDK使用步骤
1、绑定域名
& & & & & &先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
说明:设置此安全域名目的是为了当发现此公众平台发现诱导分享行为时,可以根据此域名追溯到所有分享出去的链接,以及通过这些链接增加的粉丝。
2、引入js文件
& & & & & 在需要调用JS接口的页面引入如下JS文件
说明:如果页面启用了https,务必要引入&,否则将无法在iOS9.0以上系统中成功使用JSSDK
3、通过config接口注入权限验证配置
& & & & & &&在微信公众平台JSSDK说明文档是这样解释的:
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
4、通过ready接口处理成功验证
wx.ready(function(){
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
5、通过error接口处理失败验证
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
分享接口:
1、获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
wx.onMenuShareTimeline({
title: '', // 分享标题
link: '', // 分享链接
imgUrl: '', // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
cancel: function () {
// 用户取消分享后执行的回调函数
2、获取“分享给朋友”按钮点击状态及自定义分享内容接口
wx.onMenuShareAppMessage({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接
imgUrl: '', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
cancel: function () {
// 用户取消分享后执行的回调函数
& & & & & 曾经小编做过一个微信摇一摇的页面,当然这个页面需要自定义分享功能,
& & & & & & & & & &
& & & &在右上角可以点击分享到朋友圈和发送给朋友&
&& & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & &之后在朋友圈是酱紫的……
页面源码:
&%--引入js文件--%&
&script src=&http://res./open/js/jweixin-1.0.0.js&&&/script&
&%--通过config接口注入权限验证配置--%&
wx.config({
debug: false,
appId: '${shakeMap.appId}',
timestamp: '${shakeMap.timestamp}',
nonceStr: '${shakeMap.nonceStr}',
signature: '${shakeMap.signature}',
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage'
wx.ready(function () {
&%--公共方法--%&
var shareData = {
title: '${title}',
desc: '${description}',
link: '${url}',
imgUrl: '${headImgUrl}',
success: function (res) {
//alert('已分享');
cancel: function (res) {
&%--分享给朋友接口--%&
wx.onMenuShareAppMessage({
title: '${title}',
desc: '${description}',
link: '${url}',
imgUrl: '${headImgUrl}',
trigger: function (res) {
alert('用户点击发送给朋友');
success: function (res) {
//alert('已分享');
cancel: function (res) {
//alert('已取消');
fail: function (res) {
alert(JSON.stringify(res));
&%--分享到朋友圈接口--%&
wx.onMenuShareTimeline(shareData);
&%--处理失败验证--%&
wx.error(function (res) {
alert(&error: & + res.errMsg);
& & & & & &&一定要在公众号进行安全域名的配置,这样,微信就可以牢牢控制你的微信平台了,一旦发现违规,让分享链接失败,删除掉诱导行为增加的粉丝,是瞬间就可以完成的。因此,微信平台的开发者,一定要合理来使用分享功能,不要因小失大。等到你的微信平台被封,估计库都来不及了。
& & & & & &记得是在春节期间,客户非要做一个红包的活动,就是嵌在微信公众号上的,我们猿儿们疯狂的做完了势必要在春节前上线,但是测试的时候就被微信沉重的打击到了。谁都知道春节期间微信的红包是如火如荼的撩了亿万群众,为此还差点整垮了红包后台,红包二字丫的成了敏感字符,我们分享到朋友圈,微信就秒删我们的东西,这个时候急坏了项目组长和产品经理。没有办法,我们不能和微信硬碰硬,所以将红包二字改成了个人红包……小编也是醉了,微信也太小气了些。不过微信还是非常给力的,这么多的接口免费给我们用也是慈悲为怀了。
排名:第1856名
(32)(0)(7)(10)(24)(1)(7)(11)(3)(4)(6)(3)(2)(12)(14)(6)(14)(2)(4)(3)(4)(4)(30)(2)(16)(4)(0)(25)(5)(3)(8)(4)(3)(1)(20)(1)(7)(4)(3)(2)(7)(6)}

我要回帖

更多关于 微信 js sdk 分享图片 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信