第一次做微信的开发,微信的开发文档很多细节没有,各种坑啊!细节很重要;
需求:在子公司的公众号上添加活动页面,客户在报名成功后可以直接领取5000元装修券,有效期3个月,可以在各个门店核销;
开发思路:微信公众号上的卡卷功能提供了一整套卡卷的发放、核销、后台卡卷的管理等的功能,可以实现整个功能的闭环操作, 决定直接使用基于微信的卡卷功能进行开发,不过在发放卡卷的时候要跳转到外网页面、并且满足报名条件的时候在发放卡卷;
开发说明:软硬件:阿里云linux服务器、mysql数据库、eclipse、微信公众号、微信web开发工具
注意:因微信的各个获取码access_token、jsapi_ticket、api_ticket有效期只有两个小时,失效后要重新成成,所以本项目写个了线程每2小时获取一次各种码值,使用的时候直接在此线程类中获取即可;
开发步骤:1.数据库构建表、项目中构架实体类。。。。。。。。等等常规操作
2.在微信公众号后台设定菜单按钮,点击后执行的设定的url(执行url后,会带上客户的相关信息如code值后跳转到阿里服务器上的领取卷页面,然后在根据code值进行各种微信调用接口的验证、获取客户唯一openId等操作)
ur固定格式:详见:百度客户授权获取客户信息发送到固定网页
例:
3.进入服务器上的发卡卷页面后,先进行调用微信的接口wx.config,进行调用接口的验证,
这里特别注意:签名生成;生成前面的随机数不要超过32个、时间戳要除以1000来保留到秒值、url地址是代code值的发卡卷的最终地址;
代码如下:
wx.config验证通过的话会alert("errorMsg" config OK)
4.调用微信的接口:批量添加卡卷接口
注意:需要根据 第二步url中传入的code值来获取客户对应此公众号的唯一 编号openID,来发放卡卷
5. 核销:在微信公众号后台添加核销用户,扫码即可
总结:细节很重要,项目中遇到老是报错: config:invalid signature;原因:wx.config生成签名时候的获取的随机数超32位、url地址没有带参数导致,
一句话细节很重要,以后如果有机会写开发文档会尽量写详细点!