Rails 微信扫一扫功能如何实现?有没有大神分享一下心得?

torvaldsdb · 2016年06月27日 · 最后由 zlx_star 回复于 2016年06月30日 · 5767 次阅读
已经拥有二维码,RC 上有没有大神做过类似微信扫一扫的功能。

你的这个二维码是什么二维码?

@ice_7 普通的二维码,用来存储事件信息。

@torvaldsdb 我是说你这个二维码要实现的功能是什么,是用微信接口生成的二维码?

@torvaldsdb 也可以自己定义一个路由,然后比如你有一个参数 code,这个 code 在你数据库是一个唯一的值,生成类似 localhost:3000/controller/action?code=xxx,然后你可以用 js 插件把这个链接生成二维码,然后用微信扫一扫的功能的时候,你就可以根据这个 code 参数,然后去做你的逻辑了,不知道这样说能不能符合你的要求

@ice_7 很高兴看到你认真的回帖,你提到的那种思路,其实有个叫做"草料二维码"直接可以实现,我想做的是扫一扫的功能,就是读取二维码中的隐藏的东西。

最近做了一个扫二维码加好友的功能,使用 weixin_authorize,基本思路是生成的二维码带有随机数生成的 scene_id,scene_id 绑定用户,用户扫码后会获取 scene_id 和 open_id 进行处理

@peter 灰常感谢,从你的字里行间得到很多帮助。

@zqalyc 可以更具体点么。核心代码与思路分享一下。

weixin_authorize 会生成weixin_controller_decorator.rb,自带handle_scan_event方法

重写此方法

# 扫描带参数二维码事件: 2. 用户已关注时的事件推送
    def handle_scan_event
      # reply_text_message("扫描带参数二维码事件: 2. 用户已关注时的事件推送, keyword: #{@keyword}")
      scene_id = @keyword
      openid = @weixin_message.FromUserName
      message = User.bind_user openid,scene_id
      reply_text_message(message)
    end
torvaldsdb 关闭了讨论。 01月09日 17:23
需要 登录 后方可回复, 如果你还没有账号请 注册新账号