微信公众号开发

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

  • 微信公众点与自己服务器配对流程
  • 本地如何调试
  • 微信整体流程中用到的一些特殊协议?
  • 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命令后进行页面跳转

微信分享 - 吴明

  • 微信工作原理
    • Alt text
  • 接口:
    • 你需要触发什么事件
    • 微信事件触发会回调哪里接口
  • 微信服务:
    • 订阅号:
    • 服务号
    • 企业号
    • 微购物
    • 微信公众号自定义菜单开发
      • 接口文档
        - [获取access token](http://mp.weixin.qq.com/wiki/11/0e4b294685f817b95cbed85ba5e82b8f.html)
        - [自定义菜单创建接口](http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html)
        - 以下操作都是在[微信公众平台接口调试工具](http://mp.weixin.qq.com/debug)调试方法
        
      • 步骤1:调用“获取access token”接口,传入你申请的测试微信公众号的appid和secret获取access_token
      • 步骤2:调用“自定义菜单创建接口”,传入上面生成的access_token和“自定义菜单json数据”如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"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"
}

]
}

  • 推荐:公众号:招商信用卡