微信接口改良

之前公司微信开发的时候 写了个微信的接口改良版,当然好多想改进的都没改。。大概是太懒了 (囧

/*** Created by DFH on 13-12-16.*//*--htmlvar shareData = {//分享展示图片地址     **必须"imgUrl": "a.jpg",//分享至朋友圈链接     **必须"timeLineLink": 'asdfasdf',//分享至朋友链接       **必须"sendFriendLink": 'asfsafd',//分享至微博链接"weiboLink": 'asdfasf',//分享至朋友圈的标题    **必须"tTitle": 'dasdfas',//分享至朋友圈的内容    **必须"tContent": "asdfsaf"};Weixin({shareData:shareData}).invoke();*/      
(function(){var root = this ;/***  分享数据配置** @type {{*      shareData: {},  分享数据*      hideOptionMenu: boolean, 是否隐藏右上角按钮*      hideToolbar: boolean     是否隐藏底部按钮*  }}*/var WX_CONFIG = {shareData: {//分享展示图片地址     **必须"imgUrl": "",//分享至朋友圈链接     **必须"timeLineLink": '',//分享至朋友链接       **必须"sendFriendLink": '',//分享至微博链接"weiboLink": '',//分享至朋友圈的标题    **必须"tTitle": '',//分享至朋友圈的内容    **必须"tContent": "",//分享至朋友的标题"fTitle": "",//分享至朋友的内容"fContent": "",//分享至微博的内容"wContent": ""} ,//隐藏右上角按钮,默认falsehideOptionMenu:false,//隐藏底部栏,默认truehideToolbar:true};var  Weixin=function(obj){if (obj instanceof Weixin) return obj;if (!(this instanceof Weixin)) return new Weixin(obj);this._wrapped = obj;this.checkData();};if (typeof exports !== 'undefined') {if (typeof module !== 'undefined' && module.exports) {exports = module.exports = Weixin;}exports.Weixin =  Weixin;} else {root.Weixin =  Weixin;  //root为window}/*** 调用开始*/Weixin.prototype.invoke = function(){var _this = this ;if(!_this.readyInvok) return;this.setEvent();}Weixin.prototype.setEvent = function(){var doc = root.document,_this = this,config = _this._wrapped ;console.log(config);doc.addEventListener('WeixinJSBridgeReady',function onBridgeReady(){if(config.hideOptionMenu) WeixinJSBridge.call('hideOptionMenu');if(config.hideToolbar) WeixinJSBridge.call('hideToolbar');//分享绑定  朋友圈WeixinJSBridge.on('menu:share:timeline', function (argv) {WeixinJSBridge.invoke('shareTimeline', {"img_url": config.shareData.imgUrl,"img_width": "640","img_height": "640","link": config.shareData.timeLineLink,"desc": config.shareData.tContent,"title": config.shareData.tTitle}, function (res) {_report('timeline', res.err_msg);});});// 分享绑定 发送给好友WeixinJSBridge.on('menu:share:appmessage', function (argv) {WeixinJSBridge.invoke('sendAppMessage', {"img_url": config.shareData.imgUrl,"img_width": "640","img_height": "640","link": config.shareData.sendFriendLink,"desc": config.shareData.fContent,"title": config.shareData.fTitle}, function (res) {_report('send_msg', res.err_msg);})});// 分享绑定 微博WeixinJSBridge.on('menu:share:weibo', function (argv) {WeixinJSBridge.invoke('shareWeibo', {"img_url": config.shareData.imgUrl,"img_width": "640","img_height": "640","content": config.shareData.wContent+window.shareData.weiboLink,"url": config.shareData.weiboLink}, function (res) {_report('weibo', res.err_msg);});});}) ;}Weixin.prototype.checkData = function(){var _this = this,data = _this._wrapped;_this.readyInvok = true;/*** shareData校验*/if(!data.shareData || !data.shareData.imgUrl || !data.shareData.timeLineLink ||!data.shareData.tTitle ||!data.shareData.tContent){_this.readyInvok = false;throw new Error('\u6ca1\u6709\u5206\u4eab\u6570\u636e\uff0c\u8bf7\u68c0\u67e5\uff01');}if(!data.shareData.sendFriendLink) data.shareData.sendFriendLink = data.shareData.timeLineLink;if(!data.shareData.weiboLink) data.shareData.weiboLink = data.shareData.timeLineLink;if(!data.shareData.fTitle) data.shareData.fTitle = data.shareData.tTitle;if(!data.shareData.fContent) data.shareData.fContent = data.shareData.tContent;if(!data.shareData.wContent) data.shareData.wContent = data.shareData.tContent;}
})();

转载于:https://www.cnblogs.com/iyueyao/p/3892796.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生活大爆炸版石头剪刀布

题目描述 Description石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。升级版游戏在传统的石头剪刀布游戏的基础上&…

oracle18c卸载方法,在debian 10上安装和卸载oracle数据库快捷版18c第4版

安装oracle-xe-18c的步骤此安装向导依赖软件包alien。由于oracle并未提供oracle-xe-18c的deb包,故需要通过alien命令将oracle-xe-18c的rpm格式的安装包导出新的deb格式的安装包:sudo alien --scripts -d oracle-database-xe-18c-1.0-1.x86_64.rpm相应rpm…

解决:缺少aclocal、autoconf、automake

下载三个包:autoconf-2.68.tar.bz2、automake-1.11.1.tar.bz2、m4-1.4.14.tar.bz2 1、su - root 2、tar xjf XXXXX.tar.bz2 3、cd m4/ 4、./configure make make install 5、cd autoconf/ 6、./configure make make install 7、cd automake/ 8、./configure…

jquery事件 on(),live(),delegate(),blind()

jQuery推出on()的目的有2个,一是为了统一接口,二是为了提高性能, 所以从现在开始用on()替换bind(), live(), delegate吧。 尤其是不要再用live()了,因为它已经处于不推荐使用列表了[1.7已经被删除]。 如果只绑定一次事件&#xff…

Swift 开发的工具类,主要是提供正则表达式及其它,Github会长期维护

直接访问 GitHub 看代码 YYGRegular 我是: 语歌复制代码It is a regular expression used on iOS, which implement by Swift 这是一个基于swift快捷开发的扩展类,目前的涵盖内容包括详细打印,正则表达式,会经常维护 介于是增加更…

用python庆祝生日_生日到底该过阴历还是阳历好呢?不是迷信,都怪我们大意!...

过生日到底该过阴历还是阳历?答案说出来你可能都不信在我们国家,过生日有两种不同的方式,因为有两种不同的日子的计算方式,分为阴历和阳历。一般来说,在农村和一些比较落后的地方,人们习惯于用阴历来计算生…

websphere jndi oracle,websphere7.0获得JNDI连接报invalid username/password

Exception in thread "P497968:O0:CT" java.sql.SQLException: ORA-01017: invalid username/password; logon deniedDSRA0010E: SQL 状态:72000,错误码:1,017at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapp…

WSS3.0自带数据库可以使用SQL 2005 Server Management Studio来管理

默认情况下,安装完WSS3.0后,会自动安装一个自带的SQL Server 2005 Embedded Edition数据库,但是此数据库却没有管理工具,不像安装SQL 2005其它版本会有管理工具。如果你要管理数据库,这时怎么办呢。经过俺试了一上午了&#xff0c…

CPU的高速缓存存储器知识整理

基于缓存的存储器层次结构 基于缓存的存储器层次结构行之有效,是因为较慢的存储设备比较快的存储设备更便宜,还因为程序往往展示局部性: 时间局部性:被引用过一次的存储器的位置很可能在不远的将来被再次引用。 空间局部性&#x…

uniapp光标自动定义到文本框_word技巧自动生成毕业论文目录

一篇word文档,内容有大的章,小的节。如何把章节抽出来生成目录?WORD →点击需要插入的地方 → 插入菜单 → 索引和目录 → 目录 → 确定。1 创建标题目录Word 一般是利用标题或者大纲级别来创建目录的。因此,在创建目录之前&#…

JSTL

2019独角兽企业重金招聘Python工程师标准>>> 说明 JSTL 是 JAVA 中的一个定制标记库集。实现了JSP页面中代码的复用,增加了JSP页面的可读性,方便查看和参与开发 使用 1.下载地址 http://archive.apache.org/dist/jakarta/taglibs/standard/bi…

[jQuery] event.stopPropagation()报错

使用jQuery给一个事件加处理方法时,为了阻止一个事件向上冒泡,使用了event.stopPropagation(),但在IE下却报对象不支持此属性或方法的错误(IE下是event. cancelBubbletrue),jQuery不是兼容各浏览器吗&#…

中科燕园arcgis外包----排水管网地理信息系统

项目背景 绍兴县是浙江省第一个“数字城管”试点城市,也是全国第一个“数字城管”县级城市。随着经济的飞速发展、城市化步伐的加快,以及城市规模的扩大和现代化程度的不断提高,作为城市重要基础设施的城市地下管线也越来越庞大、密集&#x…

自然语言0_nltk中文使用和学习资料汇总

sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare http://blog.csdn.net/huyoo/article/…

python实现深度优先搜索_python中的深度优先搜索算法

假设我有一个函数,它接受一个输入($x iui$),然后经过一个循环并生成一系列输出($x{I,j}$)。然后,每个输出可以再次作为同一函数的输入,从而产生更多的输出($x{i,j,k}$)。我试图通过这个函数找到…

mysql函数移植到oracle,oracle到mysql的迁移,函数部分

to_date(?, YYYY-MM-DD HH24:MI:SS)"STR_TO_DATE(2003-15-10 00:00:00,%Y-%m-%d %H:%i:%s); //格式不对,会返回NULLto_char(create_time,yyyy-MM-dd)DATE_FORMAT(create_time,%Y-%m-%d)sysdatenow()或者CURRENT_TIMESTAMP //1997-12-15 23:50:26,建表的时…

学习关于时间在sql里面的对比,用if语句(这个有点特别)

需求:假如当前时间是大于starttime且小于endtime的则按starttime倒序排列显示一条记录;假如当前时间小于starttime且小于endtime则按starttime正序排列显示一条记录。要在一次sql查询中完成。 这个是论坛里面的,人家给出答案了,我…

ruby中的回调方法和钩子方法

在ruby中,当某些特定的事件发生时,将调用回调方法和钩子方法。事件有如下几种: 调用一个不存在的对象方法类混含一个模块定义类的子类给类添加一个实例方法给对象添加一个单例方法引用一个不存在的常量对以上的事件,都可以为之编写…

超简单的JNI——NDK开发教程

不好意思各位,我按照网上一些教程进行JNI开发,折腾了半天也没成功,最后自己瞎搞搞定了,其实超简单的,网上的教程应该过时了,最新版的AS就包含了NDK编译的功能,完全不用手动javah,各种…

查询工资最低的3名员工的职工工号、姓名和收入_关于工资条,这6个常识必须掌握,事关你的权益!...

大状说:找大状,中小企业自己的法律顾问。今天为大家带来的文章,是《关于工资条,这6个常识必须掌握,事关你的权益!》,是关于劳动法的内容,希望能给大家带来帮助。1、单位不发工资条的…