微信快速开发框架 新增微店功能

JamesYing

共 3942字,需浏览 8分钟

 ·

2019-05-16 23:53

什么是UnionID

我们知道,每个用户针对一个微信公众账号都有一个openId,对于不同的公众账号,openId都是不同的,但很多公司都有很多微信号,用户也会同时关注同个公司的多个微信账号,为确保用户的唯一性,腾讯增加了UnionID字段,它可以确保在同个微信开放平台(open.weixin.qq.com)账号下的多个公众号的同个用户的唯一性。点击传送门,查看使用方法。

以前我们的开发,都是在mp.weixin.qq.com微信公众账号后台的开发者中心里,现在我们可以在微信开放平台里,把多个公众账号绑定到一个开发者账号中,目前一个账号可以绑定10个公众号。目前2套系统还是分开的,估计以后都会统一到Open系统中,目前Open已经有网站登录、移动登入、移动支付等接口,老应我也会继续跟进的。

UnionID目前只在“获取用户基本信息”中增加,UserInfoResponse增加string类型的UnionID属性。

微信小店

微信公众平台本次更新增加了微信小店功能,微信小店基于微信支付,包括添加商品、商品管理、订单管理、货架管理、维权等功能,开发者可使用接口批量添加商品,快速开店。

必须是已微信认证、已接入微信支付的服务号,才可在服务中心中申请开通微信小店功能。

微信小店其实就是一个微店功能,公众号可以在公众平台后台进行添加、修改、删除等功能,用户可以在其微店下单,使用微信支付。这次微信小店的api文档比较大,所以这次更新慢了点,而且无法进行测试,我只能对每个api进行了单元测试,比对文档中提供的json数据,虽说简单,但工作量巨大,pdf文档无法进行复制黏贴,所以可能会存在一定的bug,如果发现bug,请及时与我联系。

这次的Api中,增加了一个DefaultResponse的响应类,主要是针对一些api请求只需要返回errcode和errmsg,比如在修改商品、删除商品等api中都会遇到,这些api只需要返回成功与否即可,所以就不增加其相对应的Response了。

微信小店有个货架功能,他与库存不是一个概念,它的概念相当于超市的货品摆放架,你可以创建多个货架,每个货架可以包含一个或多个货架控件。这个可能很难理解,你可以理解成页面和控件,一个货架就是一个页面,货架控件相当于我们的web控件。目前微信小店提供了5种货架控件,摆放和关联都有一定的限制。

控件1:是由一个分组组成,展示该指定数量的商品列表可与控件,可以与控件2、控件3、控件4联合使用

控件2:是由多个分组组成(最多有4个分组),展示指定分组的名称,可以与控件1、控件3、控件4联合使用

控件3:是由一个分组组成,展示指定分组的分组图片,可以与控件1、控件2、控件4联合使用

控件4:是由多个分组组成(最多3个分组),展示指定分组的分组图片,可以与控件1、控件2、控件3联合使用

控件5:是由多个分组组成,展示指定分组的名称,不可以与其他控件联合使用。

具体的样式,大家可以参考pdf文档。

因为控件我都继承了ShelfModule的抽象类,在json反序列化时造成了很大的麻烦,最后虽然解决了,但总觉得不够理想,过几天我会整理下,把我的方案分享下,也希望有大虾指点下。

以下是微信小店的API的Request和Response的对应表:

商品管理接口
增加商品MerchantCreateRequestMerchantCreateResponse
删除商品MerchantDelRequestDefaultResponse
修改商品MerchantUpdateRequestDefaultResponse
查询商品MerchantGetRequestMerchantGetResponse
获取指定状态的所有商品MerchantGetbystatusRequestMerchantGetbystatusResponse
商品上下架MerchantModproductstatusRequestDefaultResponse
获取指定分类的所有子分类MerchantCategoryGetsubRequestMerchantCategoryGetsubResponse
获取指定子分类的所有SKUMerchantCategoryGetskuRequestMerchantCategoryGetskuResponse
获取指定分类的所有属性MerchantCategoryGetpropertyRequestMerchantCategoryGetpropertyResponse
库存管理接口
增加库存MerchantStockAddRequestDefaultResponse
减少库存MerchantStockReduceRequestDefaultResponse
邮费模板管理接口
增加邮费模板MerchantExpressAddRequestMerchantExpressAddResponse
删除邮费模板MerchantExpressDelRequestDefaultResponse
修改邮费模板MerchantExpressUpdateRequestDefaultResponse
获取指定ID的邮费模板MerchantExpressGetbyidRequestMerchantExpressGetbyidResponse
获取所有邮费模板MerchantExpressGetallRequestMerchantExpressGetallResponse
分组管理接口
增加分组MerchantGroupAddRequestMerchantGroupAddResponse
删除分组MerchantGroupDelRequestDefaultResponse
修改分组属性MerchantGroupPropertymodRequestDefaultResponse
修改分组商品MerchantGroupProductmodRequestDefaultResponse
获取所有分组MerchantGroupGetallRequestMerchantGroupGetallResponse
根据分组ID获取分组信息MerchantGroupGetbyidRequestMerchantGroupGetbyidResponse
货架管理接口
增加货架MerchantShelfAddRequestMerchantShelfAddResponse
删除货架MerchantShelfDelRequestDefaultResponse
修改货架MerchantShelfModRequestDefaultResponse
获取所有货架MerchantShelfGetallRequestMerchantShelfGetallResponse
根据货架ID获取货架信息MerchantShelfGetbyidRequestMerchantShelfGetbyidResponse
货架上下架MerchantShelfUpdatestatusRequestMerchantShelfUpdatestatusResponse
订单管理接口
订单付款通知RequestOrderEventMessage(通知信息)
根据订单ID获取订单详情MerchantOrderGetbyidRequestMerchantOrderGetbyidResponse
根据订单状态/创建时间获取订单详情MerchantOrderGetbyfilterRequestMerchantOrderGetbyFilterResponse
设置订单发货信息MerchantOrderSetdeliveryRequestDefaultResponse
关闭订单MerchantOrderCloseRequestDefaultResponse
功能接口
上传图片MerchantCommonUploadimgRequestMerchantCommonUploadimgResponse

这里大家要注意一点,这里接口所用到的图片url,都需要通过上传图片api上传后获取的url

多客服功能

1、将消息转发到多客服:

在收到客户消息时,只要返回 ResponseTransferCustomServiceMessage 的实例即可。

2、获取客服聊天记录:

使用了高级接口,创建一个CustomServiceGetRecordRequest实例,提交后获取CustomServiceGetRecordResponse。

 

 

单元测试

这次因为没有测试接口,所以对所有的api进行的Mock测试,基本是通过了,但还是无法保证正确性,希望大家在试用中能与我多交流,尽量的消灭bug。

之前因为有测试接口,我都能实地的测试,这次呢通过单元测试,虽然很枯燥,但帮助真的很大,其中测试出了很多小bug,单词拼错,报错等等,所以希望大家在自己的项目中,不要压缩测试的时间,这个真的很重要。

相关文档

1、微信公众平台开发者文档 点击进入

2、微信小店文档 点击下载

3、源代码已更新至Github 点击进入

写在最后

最近微信的升级加快,由于精力有限,所以这次版本升级较慢,造成的不便深感抱歉,很多朋友问我为什么做框架而不是实例?实例至少可以卖钱,但本人不是这样想,做这个框架是第一是为了完成自己对开源的一个理想,第二呢也是方便大家能够对公众平台的快速入门。后续呢可能会针对微信的开放平台进行框架设计,也有可能完成对公众平台的一个实例,至于时间,无法保障。

很多人觉得项目名称有点变扭,没办法,一开始我只是针对自己的平台做的小框架,名字也乱起的,后来也懒得改了,将错就错吧,哈。

浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报