微信接口改良

之前公司微信開發的時候 寫了個微信的接口改良版,當然好多想改進的都沒改。。大概是太懶了 (囧

/*** 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.pswp.cn/news/260165.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260165.shtml
英文地址,請注明出處:http://en.pswp.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、單位不發工資條的…