bob体育官方平台
Javascript 实现微信分享_javascript技巧_脚本之家

近些日子做Wechat支付,对Wechat公众号的花销,今后好的都是享受到对象圈,QQ,分享给密友等享受成效,这里记录下,有必要的意中人也得以看下。

在其实付出中,无论是做PC端、WebApp端依然Wechat民众号等品种的品类的时候,或多或少都会涉嫌到Wechat相关的开辟,近年来公司项目必要完毕Wechat网页授权,并得到Wechat顾客基本新闻的效果及Wechat分享的作用,今后终于完结了,但支付进度中相见一些个坑。废话十分的少说了,起初正题。

本文为大家分享了jsWechat共享实现代码,供大家参谋,具体内容如下

// 微信分享 var wx = require; rewardsResultService.getWechatInfo { var conf = data; wx.config({ debug: false, appId: 'wx34e783920b37ee91', timestamp: conf.timestamp, nonceStr: conf.noncestr, signature: conf.signature, jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline','onMenuShareQQ'] }); configWeChatInterface; var iconUrl = 'http://'+location.host+'/images/icon-200yuan.png'; function configWeChatInterface() { //分享给朋友 wx.onMenuShareAppMessage({ title: '一言不合就发红包,金蛛送您200元红包!', desc: '一言不合就发红包,金蛛送您200元红包!', link: location.href, imgUrl: iconUrl, type: 'link', success: function() { // alert; }, cancel: function; //分享到朋友圈 wx.onMenuShareTimeline({ title: '一言不合就发红包,金蛛送您200元红包!', link: location.href, // 分享链接 imgUrl: iconUrl }); //分享到QQ wx.onMenuShareQQ({ title: '一言不合就发红包,金蛛送您200元红包!', // 分享标题 desc: '一言不合就发红包,金蛛送您200元红包!', // 分享描述 link: location.href, // 分享链接 imgUrl: iconUrl, // 分享图标 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } }); }

Wechat相关支付文化领悟 怎么着达成Wechat相关职能本地质衡量试 Wechat网页授权 微信分享

Wechat分享Js API功效:1、分享到Wechat交际圈2、分享给微信老铁3、分享到Tencent新浪4、掩瞒/展现右上角的菜谱入口5、隐敝/显示后面部分浏览器工具栏6、获取当前的互连网状态7、调起Wechat客商端的图片播放组件8、关闭公众平台Web页面

多谢阅读,希望能扶助到大家,谢谢我们对本站的帮助!

Wechat相关支出文化了然

/**! * 微信内置浏览器的Javascript API,功能包括: * * 1、分享到微信朋友圈 * 2、分享给微信好友 * 3、分享到腾讯微博 * 4、隐藏/显示右上角的菜单入口 * 5、隐藏/显示底部浏览器工具栏 * 6、获取当前的网络状态 * 7、调起微信客户端的图片播放组件 * 8、关闭公众平台Web页面 * * @author zhaoxianlie */var WeixinApi =  { "use strict"; /** * 分享到微信朋友圈 * @param {Object} data 待分享的信息 * @p-config {String} appId 公众平台的appId * @p-config {String} imageUrl 图片地址 * @p-config {String} link 链接地址 * @p-config {String} desc 描述 * @p-config {String} title 分享的标题 * * @param {Object} callbacks 相关回调方法 * @p-config {Boolean} async ready方法是否需要异步执行,默认false * @p-config {Function} ready 就绪状态 * @p-config {Function} dataLoaded 数据加载完成后调用,async为true时有用,也可以为空 * @p-config {Function} cancel 取消 * @p-config {Function} fail 失败 * @p-config {Function} confirm 成功 * @p-config {Function} all 无论成功失败都会执行的回调 */ function weixinShareTimeline { callbacks = callbacks || {}; var shareTimeline = function  { WeixinJSBridge.invoke('shareTimeline', { "appid":theData.appId ? theData.appId : '', "img_url":theData.imgUrl, "link":theData.link, "desc":theData.title, "title":theData.desc, // 注意这里要分享出去的内容是desc "img_width":"120", "img_height":"120" }, function  { switch  { // share_timeline:cancel 用户取消 case 'share_timeline:cancel': callbacks.cancel && callbacks.cancel; break; // share_timeline:fail 发送失败 case 'share_timeline:fail': callbacks.fail && callbacks.fail; break; // share_timeline:confirm 发送成功 case 'share_timeline:confirm': case 'share_timeline:ok': callbacks.confirm && callbacks.confirm; break; } // 无论成功失败都会执行的回调 callbacks.all && callbacks.all; }; WeixinJSBridge.on('menu:share:timeline', function  { if (callbacks.async && callbacks.ready) { window["_wx_loadedCb_"] = callbacks.dataLoaded || new Function(); if(window["_wx_loadedCb_"].toString().indexOf { window["_wx_loadedCb_"] = new Function(); } callbacks.dataLoaded = function  { window["_wx_loadedCb_"]; shareTimeline; }; // 然后就绪 callbacks.ready && callbacks.ready; } else { // 就绪状态 callbacks.ready && callbacks.ready; shareTimeline; } /** * 发送给微信上的好友 * @param {Object} data 待分享的信息 * @p-config {String} appId 公众平台的appId * @p-config {String} imageUrl 图片地址 * @p-config {String} link 链接地址 * @p-config {String} desc 描述 * @p-config {String} title 分享的标题 * * @param {Object} callbacks 相关回调方法 * @p-config {Boolean} async ready方法是否需要异步执行,默认false * @p-config {Function} ready 就绪状态 * @p-config {Function} dataLoaded 数据加载完成后调用,async为true时有用,也可以为空 * @p-config {Function} cancel 取消 * @p-config {Function} fail 失败 * @p-config {Function} confirm 成功 * @p-config {Function} all 无论成功失败都会执行的回调 */ function weixinSendAppMessage { callbacks = callbacks || {}; var sendAppMessage = function  { WeixinJSBridge.invoke('sendAppMessage', { "appid":theData.appId ? theData.appId : '', "img_url":theData.imgUrl, "link":theData.link, "desc":theData.desc, "title":theData.title, "img_width":"120", "img_height":"120" }, function  { switch  { // send_app_msg:cancel 用户取消 case 'send_app_msg:cancel': callbacks.cancel && callbacks.cancel; break; // send_app_msg:fail 发送失败 case 'send_app_msg:fail': callbacks.fail && callbacks.fail; break; // send_app_msg:confirm 发送成功 case 'send_app_msg:confirm': case 'send_app_msg:ok': callbacks.confirm && callbacks.confirm; break; } // 无论成功失败都会执行的回调 callbacks.all && callbacks.all; }; WeixinJSBridge.on('menu:share:appmessage', function  { if (callbacks.async && callbacks.ready) { window["_wx_loadedCb_"] = callbacks.dataLoaded || new Function(); if(window["_wx_loadedCb_"].toString().indexOf { window["_wx_loadedCb_"] = new Function(); } callbacks.dataLoaded = function  { window["_wx_loadedCb_"]; sendAppMessage; }; // 然后就绪 callbacks.ready && callbacks.ready; } else { // 就绪状态 callbacks.ready && callbacks.ready; sendAppMessage; } /** * 分享到腾讯微博 * @param {Object} data 待分享的信息 * @p-config {String} link 链接地址 * @p-config {String} desc 描述 * * @param {Object} callbacks 相关回调方法 * @p-config {Boolean} async ready方法是否需要异步执行,默认false * @p-config {Function} ready 就绪状态 * @p-config {Function} dataLoaded 数据加载完成后调用,async为true时有用,也可以为空 * @p-config {Function} cancel 取消 * @p-config {Function} fail 失败 * @p-config {Function} confirm 成功 * @p-config {Function} all 无论成功失败都会执行的回调 */ function weixinShareWeibo { callbacks = callbacks || {}; var shareWeibo = function  { WeixinJSBridge.invoke('shareWeibo', { "content":theData.desc, "url":theData.link }, function  { switch  { // share_weibo:cancel 用户取消 case 'share_weibo:cancel': callbacks.cancel && callbacks.cancel; break; // share_weibo:fail 发送失败 case 'share_weibo:fail': callbacks.fail && callbacks.fail; break; // share_weibo:confirm 发送成功 case 'share_weibo:confirm': case 'share_weibo:ok': callbacks.confirm && callbacks.confirm; break; } // 无论成功失败都会执行的回调 callbacks.all && callbacks.all; }; WeixinJSBridge.on('menu:share:weibo', function  { if (callbacks.async && callbacks.ready) { window["_wx_loadedCb_"] = callbacks.dataLoaded || new Function(); if(window["_wx_loadedCb_"].toString().indexOf { window["_wx_loadedCb_"] = new Function(); } callbacks.dataLoaded = function  { window["_wx_loadedCb_"]; shareWeibo; }; // 然后就绪 callbacks.ready && callbacks.ready; } else { // 就绪状态 callbacks.ready && callbacks.ready; shareWeibo; } /** * 调起微信Native的图片播放组件。 * 这里必须对参数进行强检测,如果参数不合法,直接会导致微信客户端crash * * @param {String} curSrc 当前播放的图片地址 * @param {Array} srcList 图片地址列表 */ function imagePreview { if(!curSrc || !srcList || srcList.length == 0) { return; } WeixinJSBridge.invoke('imagePreview', { 'current' : curSrc, 'urls' : srcList }); } /** * 显示网页右上角的按钮 */ function showOptionMenu() { WeixinJSBridge.call; } /** * 隐藏网页右上角的按钮 */ function hideOptionMenu() { WeixinJSBridge.call; } /** * 显示底部工具栏 */ function showToolbar() { WeixinJSBridge.call; } /** * 隐藏底部工具栏 */ function hideToolbar() { WeixinJSBridge.call; } /** * 返回如下几种类型: * * network_type:wifi wifi网络 * network_type:edge 非wifi,包含3G/2G * network_type:fail 网络断开连接 * network_type:wwan 2g或者3g * * 使用方法: * WeixinApi.getNetworkType{ * * }); * * @param callback */ function getNetworkType { if (callback && typeof callback == 'function') { WeixinJSBridge.invoke('getNetworkType', {}, function  { // 在这里拿到e.err_msg,这里面就包含了所有的网络类型 callback; } } /** * 关闭当前微信公众平台页面 */ function closeWindow() { WeixinJSBridge.call; } /** * 当页面加载完毕后执行,使用方法: * WeixinApi.ready{ * // 从这里只用Api即是WeixinApi * }); * @param readyCallback */ function wxJsBridgeReady { if (readyCallback && typeof readyCallback == 'function') { var Api = this; var wxReadyFunc = function () { readyCallback; }; if (typeof window.WeixinJSBridge == "undefined"){ if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', wxReadyFunc, false); } else if  { document.attachEvent('WeixinJSBridgeReady', wxReadyFunc); document.attachEvent('onWeixinJSBridgeReady', wxReadyFunc); } }else{ wxReadyFunc(); } } } return { version :"1.8", ready :wxJsBridgeReady, shareToTimeline :weixinShareTimeline, shareToWeibo :weixinShareWeibo, shareToFriend :weixinSendAppMessage, showOptionMenu :showOptionMenu, hideOptionMenu :hideOptionMenu, showToolbar :showToolbar, hideToolbar :hideToolbar, getNetworkType :getNetworkType, imagePreview :imagePreview, closeWindow :closeWindow };})();

Wechat民众号的appId,AppSecret 当大家报了名三个Wechat民众号后,便能够收获叁个appId(每一种Wechat公众号唯有贰个,三个Wechat民众号唯风姿洒脱的标志卡塔尔(英语:State of Qatar)和appSecret,那五个消息是开展Wechat大伙儿号支付必不可缺的,因为Wechat公众号中差不离具有机能的费用都与这四个音讯有关。 Wechat公众号中IP白名单 在支付Wechat公众作用的时候,须要大家增多IP白名单,那样以便能够拿走到access_token,关于access_token的介绍请看这里 网页授权域名以至JS接口安全域名 网页授权域名:在大家的使用中必要微信客户举办登入、获取Wechat客户大旨音信的时候,需求安装那些域名 JS接口安全域名:在大家的选择中须求落实Wechat分享等成效,需要安装这些域名。

源码下载:jsWechat分享

怎么着达成Wechat相关效率本地测量检验

正文已被整理到了《JavaScriptWechat支付本领汇总》,接待我们学习阅读。

周旋很四人都对这些标题相比感兴趣,因为在举办关联到Wechat公众号中作用开辟的时候,默许情状下大家是无法开展地面测量试验的,也正是说测量检验都亟需将代码实行布置才测验,但那特别不方便人民群众大家的测量试验开辟,其实举办地面测量检验开荒很简短,只须求大家有一个域名就足以了,然后将大家地点的ip映射到这一个域名上,就能够本地质度量试了。下边笔者就说说自家是如何是好本地质度量试的.

为大家推荐现在关心度比较高的Wechat小程序教程黄金时代篇:《Wechat小程序开采教程》我为大家精心收拾的,希望中意。

因为购买域名需求张开备案操作之类的,相比麻烦,所以日常第三方平台就能够让大家收获叁个域名。作者是在natpp那个网址上登记的

以上就是本文的全体内容,希望对我们的求学抱有利于,也期望我们不吝赐教脚本之家。

本身是花了五元钱购买了7个月的隧道,因为无需付费的某些可信赖,毕竟是无偿的,哈哈。

静心,大家无法直接接受这些隧道,因为这么些隧道是三级域名,不恐怕用于微信支付,供给绑定三个二级域名或自己作主域名

当绑定完域名从今以后,在本地大家要求将本地ip举办映射穿透操作。

windows下开荒dos窗口,输入 natapp -authtoken 你的隧道的authtoken

将您在上边安装的二级域名加多到上述说的网页授权域名以至JS接口安全域名

接下去便足以实行业地质衡量试了.最终说一下,开辟进度中下载Wechat开采工具进行调度也是理所当然的选项,下载地址

返回顶部