rails网站分享到朋友圈功能是怎么实现的

现在的网站基本上都需要接入微信分享功能,那么这个过程是怎么实现的咩,前几天做了这个功能,一直没来得及整理下,

今天大致把步骤写一写。

微信的官网文档给出了非常清晰具体的步骤 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

(1)绑定域名

先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

备注:登录后可以在“开发者中心”查看对应的接口权限

(2)引入js文件,http://res.wx.qq.com/open/js/jweixin-1.0.0.js

将js下载后拷贝到app/assets/javascripts文件夹。

然后好要在application.js.coffee里引入一下哦,就是添加这句话

#= require jweixin-1.0.0

(3)增加初始化文件 vim initializers/weixin.rb

vim config/initializers/weixin.rb

然后加入下面的初始化内容

$client ||= WeixinAuthorize::Client.new(CONFIG[‘weixin‘][‘appid‘], CONFIG[‘weixin‘][‘secret_key‘],"")

在config/config.yml里加入配置(这里的是需要从微信申请的)

  weixin:
    appid: wfasfasfasdfxxxx
    secret_key: 4cf4dfasfsdfsadfasdf5dasda

(4)通过config接口注入权限验证配置

所有使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在Android6.2中修复)

vim app/views/share/_weixin_config.html.slim

加入对应的代码

- data = $client.get_jssign_package(request.url)

javascript:
  wx.config({
    debug: false, // true是开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
    appId: ‘#{data["appId"]}‘, // 必填,公众号的唯一标识
    timestamp: ‘#{data["timestamp"]}‘, // 必填,生成签名的时间戳
    nonceStr: ‘#{data["nonceStr"]}‘, // 必填,生成签名的随机串
    signature: ‘#{data["signature"]}‘,// 必填,签名,见附录1
    jsApiList: [‘onMenuShareTimeline‘,
                ‘onMenuShareAppMessage‘] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
  }); 

(5)app/views/layouts/application.html.slim页面添加按钮

.modal.fade id="shareModal"  role="dialog" aria-labelledby="infoModalLabel"
  .modal-dialog role="document"
    .modal-content#share-web
      .modal-header
        button type="button" class="close" data-dismiss="modal" aria-label="Close"
          span aria-hidden="true" ×
        .modal-title id="infoModalLabel" 微信扫一扫,分享给你的好友吧
      .modal-body#share-qrcodeTable
    .modal-content#share-weixin
      .modal-body
        button type="button" class="close" data-dismiss="modal" aria-label="Close"
          span aria-hidden="true" ×

javascript:
  $(function() {
    $(‘[data-toggle="popover"]‘).popover();
  });

  jQuery(‘#share-qrcodeTable‘).qrcode({
      render  : "canvas",
      width   : 260,
      height  : 260,
      text    : "http://aaa.com"
  })

  var ua = window.navigator.userAgent.toLowerCase()
  if(ua.match(/MicroMessenger/i) == ‘micromessenger‘){
    $(‘#share-web‘).addClass(‘hidden‘)
  }else{
    $(‘#share-weixin‘).addClass(‘hidden‘)
  }
  $(‘#share‘).click(function(){
    $(‘#shareModal‘).modal(‘show‘)
  })

(6)在对应的页面里增加配置,指定在转入朋友圈里链接显示的文字和图片

app/views/aaas/index.html.slim

javascript:
  // 首页的微信分享
  wx.ready(function(){
    wx.onMenuShareTimeline({
      title: ‘来看看aaa!‘,
      link: window.location.href,
      imgUrl: ‘#{logo_url}‘
    });

    wx.onMenuShareAppMessage({
      title: ‘这是标题‘,
      desc: ‘来看看aaa!‘,
      link: window.location.href,
      imgUrl: ‘#{logo_url}‘
    });
  });
时间: 2024-11-07 12:06:09

rails网站分享到朋友圈功能是怎么实现的的相关文章

微信开发-发送给朋友,分享到朋友圈开发

微信分享功能开发 用了一天时间,把微信发送给朋友和分享到朋友圈功能开发出来,在这里给大家分享一下,避免大家走弯路. 一.服务器端程序 package com.wiimedia.controller; import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.text.ParseException; import

第三方应用分享到微信朋友圈功能

分享自http://blog.csdn.net/qianfu111/article/details/9115303 最权威的学习资料还是要去看官网,以及官网提供的Demo,基本上你是可以直接拿来使用的,这是官网网站:http://open.weixin.qq.com/. 在微信分享中主要碰到了如下问题:第一次可以分享,以后就无法调用出分享对话框.这不是程序问题,而是需要提交审核,只有审核通过,才可以调出分享对话框.不相信?那你可以先将微信退出,再试着点击分享,这时就会弹出登录对话款,登完之后也没

移动端以及 PC浏览器页面分享到朋友圈等的功能实现

我们经常可以在一些 app上看到分享到朋友圈.微信好友.qq好友等功能,例如 饿了么.美团等 app,下单之后就会弹出给好友发红包的 modal窗,这在 app上很常见,app的权限可以很大,甚至连启动手机上其他关联软件的权限都可以有,分享到什么朋友圈简直是小菜一碟,而相比之下浏览器的权限就被限制地很小,连读取粘贴板内容的功能有的浏览器都没有. 但是我们有时候依旧可以在浏览器的某些页面上,例如某条新闻页面上看到将新闻分享到朋友圈.微信好友.qq好友.qq空间.微博等的按钮,JS原生肯定是没办法实

UC和QQ两个主流浏览器 * 点击触发微信分享到朋友圈或发送给朋友的功能(转载)

转载(声明:仅供学习使用) /** * 此插件主要作用是在UC和QQ两个主流浏览器 * 上面触发微信分享到朋友圈或发送给朋友的功能 * 代码编写过程中 参考: * http://mjs.sinaimg.cn/wap/module/share/201501261608/js/addShare.js * 此外,JefferyWang的项目对我也有一定启示: * https://github.com/JefferyWang/nativeShare.js * * @revisor [email prot

利用WeixinJSBridge,控制分享到朋友圈和转发给好友的行为

在微信里,其实可以改变"分享到朋友圈"和"转发给好友"的默认行为.这些js接口,截止到今天(安卓版微信6.0)还是不公开的,微信的官方文档里完全没有提到,但是其实借助WeixinJSBridge是可以做到的 分享行为 可以控制以下几种行为 缩略图 默认是微信自动截取当前页面中第一张大图,也就是<img>标签,而且width要超过一定的值.display:none和background-image是不算的,只能是<img>标签 但是通过传递参数

微信JS-SDK 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置 原文:http://www.cnblogs.com/txw1958/p/weixin-js-sdk-demo.html

wx.ready(function () { // 1 判断当前版本是否支持指定 JS 接口,支持批量判断 document.querySelector('#checkJsApi').onclick = function () { wx.checkJsApi({ jsApiList: [ 'getNetworkType', 'previewImage' ], success: function (res) { alert(JSON.stringify(res)); } }); }; // 2.

微信公众平台开发(107) 分享到朋友圈和发送给好友

关键字:微信公众平台 JSSDK 发送给朋友 分享到朋友圈 onMenuShareTimeline onMenuShareAppMessage 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-js-sharetimeline.html 在这篇微信公众平台开发教程中,我们将介绍如何在网页中实现发送给朋友和分享到朋友圈时内容参数自定义的功能. 本文分为以下二个部分: 生成JS-SDK权限验证签名 实现发送给朋友和分享到朋友圈时内容参数自定义 一

UC浏览器 分享到朋友圈和微信好友

用手机UC浏览器访问新浪微博,会注意到有这样的两个分享按钮: 在手机端浏览器里,点击分享按钮,就可以启动微信客户端并分享到微信.研究了下其源代码,存在这样的一个js:http://mjs.sinaimg.cn/wap/module/share/201504071745/js/addShare.min.js 从里面抽离出了分享调用的方法,方便调用.(注意:这个分享功能只在UC手机浏览器有效) if (/AppleWebKit.*Mobile/i.test(navigator.userAgent)

Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈

通过调用微信提供的API接口,我们可以很方便的在应用中发送消息给微信好友,或者分享到朋友圈.在微信开发平台(https://open.weixin.qq.com)里,提供了详细的说明文档和样例.但由于提供的样例是使用Objective-C写的,所以这边我写了个Swift版的样例. 1,实现的功能 (1)可以发送各种类型的消息给好友,也可以分享到朋友圈 (2)发送的内容类型包括:纯文本,图片,链接,音乐,视频,gif表情,非gif表情,文件 2,效果图如下       3,注意事项: (1)该样例