Wilson

自强不息 厚德载物

微信公众号开发

对于微信公众号开发的疑问

  • 微信公众点与自己服务器配对流程
  • 本地如何调试
  • 微信整体流程中用到的一些特殊协议?
  • openId/unionId 哪里查看
  • access_token 为什么要有时间限制 为什么是2小时
  • 网页授权如何做的?能取到哪些信息?
  • 参加活动不关注 能拿到多少信息
  • 菜单type类型
  • 有哪些好的第三方开发工具包
  • 所有的活动行为全部调一个url 有没有好的分发解决方案

公众号查询通讯录的实现 - 曾铭

思路

  • 通讯录表 -> 后台数据库
  • 用户关注公众号
  • 用户发消息(姓名)给公众号
  • 微信后台转发此消息给网站后台 post XML
  • 后台根据此消息(姓名)查询数据库,得到此人具体数据,组合 XML 返回给微信后台
  • 微信后台把具体数据展示给用户

实现

  • 通讯录表 xls -> csv -> 导入到 LeanCloud 数据库
  • 基于 express (node.js web 框架),建立 51offer_wechat.avosapps.com/contact_bot 站点;
  • 微信公众号后台配置开发者后台 URL,处理后台网址 get 请求,完成微信对开发者后台的验证
  • 处理网址 post 请求,完成接受消息,查询数据库,返回用户信息工作。具体参考:这里

总结

  • node.js (express) 处理网络请求的确精简方便
  • 微信公众号的所有信息都转发到一个接口,后续处理类型多时要设计合理的分发机制
  • 微信接口为什么用 XML 而不是 json 啊,这点不熟悉占用不少时间
  • 做这个很有意思,推荐大家多玩玩~

商户端APP集成微信扫描支付 - 王胜

准备工作

支付流程

  1. 用户在APP端浏览商品
  2. 加入购物车
  3. 结算
  4. 调用提交订单接口
  5. 提交订单接口返回预支付链接(预支付链接可根据服务端微信支付sdk生成)
  6. APP根据链接生成二维码
  7. 用户拿起手机扫描支付
  8. 微信调用第三方开发者服务端暴露的notify接口
  9. 第三方服务端在收到notify接口调用时,更新订单库里订单状态,同时调用push通道告诉APP支付成功
  10. APP收到push命令后进行页面跳转

微信分享 - 吴明

{
    "button": [
        {
            "type": "view",
            "name": "51offer",
            "url": "http://www.51offer.com/"
        },
        {
            "name": "移动",
            "sub_button": [
                {
                    "type": "view",
                    "name": "blog",
                    "url": "http://51offer.github.io/"
                },
                {
                    "type": "view",
                    "name": "github",
                    "url": "https://github.com/51offer/public-docs/wiki"
                }
            ]
        },
        {
            "type": "click",
            "name": "我",
            "key": "me"
        }
    ]
}
  • 推荐:公众号:招商信用卡

Comments