在微信中传递礼包的注意事项

本文为在微信中传递礼包的开发注意事项以及吐槽。

术语

送礼人:确定的某一个已登录,并且有存货的顾客;

收礼人: 不确定的某一个用户或访客;

礼包:由送礼人从起已购买物品中 选定若干物品生成礼包,使用 微信JSSDK 自定义分享接口发送礼包接收信息给收礼人,礼包在从生成起,有效时间为指定时间(比如48小时),在这个指定时间段内,如果收礼人没有收礼,或者送礼人没有送出礼包,礼包内物品将会返还给送礼人,如果收礼人在此时间段内触发了收礼事件,则将礼包内物品转给收礼人,收礼人可提货或使用礼包内的虚拟产品。

环境: 生成礼包、送礼、收礼,收礼结果等这些均在微信环境内进行。

流程:礼包生成(送礼人)-->礼包发送(送礼人)-->礼包接收(收礼人)-->接收结果(收礼人).

礼包生成

 

送礼人在其已购买并且未提货/未使用的产品页面选定一些产品,生成礼包:

微信礼包

来到礼包发送页面。

礼包发送

微信礼包

在礼包发送页面,送礼人可以点击下方的取消按钮取消该礼包,该礼包被取消与该礼包过期未被领取是一致的:礼包内物品退还到送礼人的“虚拟库存”中。

按照规划,点击微信右上角的面包状或者点状菜单中的“发送给朋友”菜单项,该礼包可以以自定义的样子发送给收礼人,可是了个可是,微信不按常理出牌啊!

微信 Windows 版: 右上角的菜单项有如下这些:

微信礼包

看起来是没问题,可是不管怎么刷新,在AJAX之后,由 JavaScript 跳转的页面的URL 总是不变的,这是个BUG,这是个BUG,这是个BUG,重要的事情说够遍数了,不知道到哪个版本能有所改变。

微信 Android 版:右上角的菜单项有哪些大家都很清楚,可是就是不响应我为 onMenuShareAppMessage 定义的参数对象;

微信 WEB 开发工具: 文档看起来很不错,在微信 WEB 开发工具内的表现和文档一样,看起来也很好,可是到了 安卓和IOS设备上,自定义的事件和参数一样不听招呼--比如上一篇文章提到的 微信 JSSDK 中的 hideMenuItems 方法、比如传递给 onMenuShareAppMessage 的参数,在开发工具内表现的还算乖( hideMenuItems 在开发工具内的表现不像文档中说的那样,微信官方的示例在开发工具和实体设备中的表现一样糟糕,既然在实际上方法有了变更,真不知道微信团队为毛不更新下文档呢??),但在实体设备上,传递给 onMenuShareAppMessage 的参数被忽略得一干二净。

移动设备上的微信客户端: 参见上一条的吐槽吧。

礼包接收/接收结果

礼包被接收后,收礼人会看到收礼成功的提示,收礼人尝试收取已过期礼包时,会看到如下提示(两个提示类似,仅上一图):

 

 

微信礼包

希望微信JSSDK 中的 hideMenuItems 方法和 onMenuShareAppMessage 早日像文档中一样美好吧!

PS:纯粹为了截图方便,上面截图使用了微信Windows客户端。

PS:  针对自定义分享接口,找到一种说法:微信6.0.2版本后,分享的标题、描述、图片、链接地址失效。

临时的解决办法:

title/标题:修改title中的内容 ;

desc/描述: 暂时无解;

link/链接 : 只能使用本页面自身了,如需跳转,在本页面头部添加是否被分享到微信的判断,这个判断条件在某个分享方式(onMenuShareAppMessage/onMenuShareTimeline/onMenuShareQQ/onMenuShareWeibo 等中的一个)的成功/success回调中可以使用ajax触发;

imgUrl/图片:将想使用的图片(要200*200或更大)添加到在body内靠前的位置;

 

 


error: 错误信息!