自定义微信分享功能微信jssdk使用总结

需求:vue项目移动端要求用户在公众号中分享出去的链接是图片+文字+标题的形式。而不是默认的要实现的效果如图所示: 不设置时,分享的默认效果,如下图所示: 几个要注意的地方:wx.config 所有的配置项的数据都是后台返回的wx.config配置项的参数大小写一定要按照官网文档来,区分大小写,但是获取到的后台返回的字段可以自由定义,这个时候要注意后台返回的数据字段名称是否和官网的一致,在这块有个问题找了半天,结果最后发现wx.config配置项里面后台返回的res.data.noncestr中noncestr为小写,而自己没有细看一直以为也是nonceStr.导致config:fail.分享时,请求的url不能带有hash值等,所以要进行截取具体参考代码如下所示:` wxShared() { let newUrl = window.location.href.split("#")[0]; // let url = newUrl; this.$store.dispatch("GetTicketJSAPI", url).then(res => { let params = { debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来 appId: "wx3dab174110e5f840", // 必填,企业微信的corpID timestamp: res.data.timestamp, // 必填,生成签名的时间戳*************** nonceStr: res.data.noncestr, // 必填,生成签名的随机串 必填,生成签名的随机串*************** signature: res.data.signature, // 必填,签名*************** jsApiList: ["onMenuShareAppMessage", "onMenuShareTimeline"] }; wx.config(params); //通过config接口注入权限验证配置 wx.ready(function() { // config信息验证成功后会执行ready方法 //通过ready接口处理成功验证 wx.onMenuShareAppMessage({ // 分享给朋友 title: "声动语商学苑", // 分享标题 desc: "好语商引领自信人生 · “一站式”专业青少儿语商培养教育品牌", // 分享描述 link: res.data.str, // 分享链接 imgUrl: "http://www.shengdongyushang.com/upload/asserts/sdys_logo1.png", // 分享图标 type: "", // 分享类型,music、video或link,不填默认为link dataUrl: "", // 如果type是music或video,则要提供数据链接,默认为空 success: function(res) { // 用户确认分享后执行的回调函数 }, cancel: function() { // 用户取消分享后执行的回调函数 } }); wx.onMenuShareTimeline({ //分享朋友圈 title: "声动语商学苑", // 分享标题 desc: "好语商引领自信人生 · “一站式”专业青少儿语商培养教育品牌", link: res.data.str, imgUrl: "https://qccdata.qichacha.com/AutoImage/052236e320f34be80991ce01fd8cd138.jpg?x-oss-process=image/resize,w_120", // 分享图标 success: function(res) { // 用户确认分享后执行的回调函数 }, cancel: function() { // 用户取消分享后执行的回调函数 } }); }); });},`如果对你有所帮助,麻烦点个赞再走吧 ^_^

June 19, 2019 · 1 min · jiezi

构建基于阿里云OSS服务的web上传SDK

概述本文主要阐述了如何结合阿里云 OSS 服务实现一个支持断点续传和多文件上传的 web SDK。文章内容配合代码食用风味更佳:https://github.com/polyv/vod-... 。 其中,分片上传和断点续传技术由阿里云 OSS Browser.js SDK(下面简称 OSS SDK)提供,具体调用方法可参见阿里云 OSS 的 相关文档。 阿里云 OSS 提供的分片上传(Multipart Upload)和断点续传功能,可以将要上传的文件分成多个数据块(OSS 里又称之为 Part)来分别上传,上传完成之后再调用 OSS 的接口将这些 Part 组合成一个 Object 来达到断点续传的效果。web 上传 SDK 所做的是结合业务逻辑将相关的上传逻辑封装起来,并提供相关调用方法,以便于其他开发者快速集成。 需求描述再来更深入地了解一下我们即将要做的是一个怎样的产品 : 提供支持断点续传的上传 SDK,不提供界面,只提供调用方法,方便用户集成。提供管理上传队列的方法,包括控制整个文件队列及操作单个文件的方法。可以设置上传过程的回调函数,并通过回调返回上传进度、文件信息等数据。支持两种 SDK 集成方式: 通过 script 标签引入在线资源 ( http://player.polyv.net/resp/... )npm 安装:npm install @polyv/vod-upload-js-sdk更详细的使用文档可以查看这里: @polyv/vod-upload-js-sdk src 目录下的文件正文开始前,先来看下 src 目录下的所有文件。其中,UploadManager 、 Pool 和 PlvVideoUpload 三个类会在后面着重分析。 文件说明index.jsSDK 入口文件,返回 PlvVideoUpload 类pool.js实现一个控制多个任务同时执行的任务池(Pool)queue.js实现一个普通队列类(Queue)upload.js实现一个管理单个文件上传的类(UploadManager)utils.js工具函数文件上传流程了解 OSS 直传Web 端常见的上传方法是用户在浏览器或 APP 端上传文件到应用服务器,应用服务器再把文件上传到 OSS。相对于这种上传慢、扩展性差、费用高的方式,阿里云官方更推荐将数据直传到 OSS。 阿里云 OSS 直传的三种方案: ...

June 17, 2019 · 4 min · jiezi