微信快速开发框架(九)-- V3.0发布,代码已更新至Github 新增微店功能
版本内容
1、修正了缺少对Event.View的支持
2、增加了用户UnionID
3、新增微信小店功能
4、多客服功能
5、单元测试
什么是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的对应表:
商品管理接口 | ||
增加商品 | MerchantCreateRequest | MerchantCreateResponse |
删除商品 | MerchantDelRequest | DefaultResponse |
修改商品 | MerchantUpdateRequest | DefaultResponse |
查询商品 | MerchantGetRequest | MerchantGetResponse |
获取指定状态的所有商品 | MerchantGetbystatusRequest | MerchantGetbystatusResponse |
商品上下架 | MerchantModproductstatusRequest | DefaultResponse |
获取指定分类的所有子分类 | MerchantCategoryGetsubRequest | MerchantCategoryGetsubResponse |
获取指定子分类的所有SKU | MerchantCategoryGetskuRequest | MerchantCategoryGetskuResponse |
获取指定分类的所有属性 | MerchantCategoryGetpropertyRequest | MerchantCategoryGetpropertyResponse |
库存管理接口 | ||
增加库存 | MerchantStockAddRequest | DefaultResponse |
减少库存 | MerchantStockReduceRequest | DefaultResponse |
邮费模板管理接口 | ||
增加邮费模板 | MerchantExpressAddRequest | MerchantExpressAddResponse |
删除邮费模板 | MerchantExpressDelRequest | DefaultResponse |
修改邮费模板 | MerchantExpressUpdateRequest | DefaultResponse |
获取指定ID的邮费模板 | MerchantExpressGetbyidRequest | MerchantExpressGetbyidResponse |
获取所有邮费模板 | MerchantExpressGetallRequest | MerchantExpressGetallResponse |
分组管理接口 | ||
增加分组 | MerchantGroupAddRequest | MerchantGroupAddResponse |
删除分组 | MerchantGroupDelRequest | DefaultResponse |
修改分组属性 | MerchantGroupPropertymodRequest | DefaultResponse |
修改分组商品 | MerchantGroupProductmodRequest | DefaultResponse |
获取所有分组 | MerchantGroupGetallRequest | MerchantGroupGetallResponse |
根据分组ID获取分组信息 | MerchantGroupGetbyidRequest | MerchantGroupGetbyidResponse |
货架管理接口 | ||
增加货架 | MerchantShelfAddRequest | MerchantShelfAddResponse |
删除货架 | MerchantShelfDelRequest | DefaultResponse |
修改货架 | MerchantShelfModRequest | DefaultResponse |
获取所有货架 | MerchantShelfGetallRequest | MerchantShelfGetallResponse |
根据货架ID获取货架信息 | MerchantShelfGetbyidRequest | MerchantShelfGetbyidResponse |
货架上下架 | MerchantShelfUpdatestatusRequest | MerchantShelfUpdatestatusResponse |
订单管理接口 | ||
订单付款通知 | RequestOrderEventMessage(通知信息) | |
根据订单ID获取订单详情 | MerchantOrderGetbyidRequest | MerchantOrderGetbyidResponse |
根据订单状态/创建时间获取订单详情 | MerchantOrderGetbyfilterRequest | MerchantOrderGetbyFilterResponse |
设置订单发货信息 | MerchantOrderSetdeliveryRequest | DefaultResponse |
关闭订单 | MerchantOrderCloseRequest | DefaultResponse |
功能接口 | ||
上传图片 | MerchantCommonUploadimgRequest | MerchantCommonUploadimgResponse |
这里大家要注意一点,这里接口所用到的图片url,都需要通过上传图片api上传后获取的url
多客服功能
1、将消息转发到多客服:
在收到客户消息时,只要返回 ResponseTransferCustomServiceMessage 的实例即可。
2、获取客服聊天记录:
使用了高级接口,创建一个CustomServiceGetRecordRequest实例,提交后获取CustomServiceGetRecordResponse。
单元测试
这次因为没有测试接口,所以对所有的api进行的Mock测试,基本是通过了,但还是无法保证正确性,希望大家在试用中能与我多交流,尽量的消灭bug。
之前因为有测试接口,我都能实地的测试,这次呢通过单元测试,虽然很枯燥,但帮助真的很大,其中测试出了很多小bug,单词拼错,报错等等,所以希望大家在自己的项目中,不要压缩测试的时间,这个真的很重要。
相关文档
1、微信公众平台开发者文档 点击进入
2、微信小店文档 点击下载
3、源代码已更新至Github 点击进入
写在最后
最近微信的升级加快,由于精力有限,所以这次版本升级较慢,造成的不便深感抱歉,很多朋友问我为什么做框架而不是实例?实例至少可以卖钱,但本人不是这样想,做这个框架是第一是为了完成自己对开源的一个理想,第二呢也是方便大家能够对公众平台的快速入门。后续呢可能会针对微信的开放平台进行框架设计,也有可能完成对公众平台的一个实例,至于时间,无法保障。
很多人觉得项目名称有点变扭,没办法,一开始我只是针对自己的平台做的小框架,名字也乱起的,后来也懒得改了,将错就错吧,哈。
最后推荐个QQ群:85318032 (博友加入的时候,请注明自己的技术特长)
微信快速开发框架(九)-- V3.0发布,代码已更新至Github 新增微店功能的更多相关文章
- 微信快速开发框架(七)--发送客服信息,版本更新至V2.2 代码已更新至github
在V2版本发布的博文中,已经介绍了大多数Api的用法,同时也收到了很多意见,其中发布了几个修正版本,修改了几个bug,在此感谢大家的使用,有了大家的支持,相信快速开发框架会越来越好,也会越来越完善的. ...
- 微信快速开发框架(八)-- V2.3--增加语音识别及网页获取用户信息,代码已更新至Github
不知不觉,版本以每周更新一次的脚步进行着,接下来应该是重构我的代码及框架的结构,有朋友反应代码有点乱,确实如此,当时写的时候只是按照订阅号来写的,后来才慢慢增加到支持API接口.目前还在开发第三方微信 ...
- 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github
4月28日,已增加多媒体上传及下载API,对应MediaUploadRequest和MediaGetRequest ------------------------------------------ ...
- [转].NET Core前后端分离快速开发框架(Core.3.0+AntdVue)
[转].NET Core前后端分离快速开发框架(Core.3.0+AntdVue) 目录 引言 简介 环境搭建 开发环境要求 基础数据库构建 数据库设计规范 运行 使用教程 全局配置 快速开发 管理员 ...
- Blazor组件自做九: 用20行代码实现文件上传,浏览目录功能 (3)
接上篇 Blazor组件自做九: 用20行代码实现文件上传,浏览目录功能 (2) 7. 使用配置文件指定监听地址 打开 appsettings.json 文件,加入一行 "UseUrls&q ...
- 最新发布C#.NET快速开发框架企业版V4.0 (适合开发ERP、进销存系统)
C/S系统开发框架-企业版 V4.0 (Enterprise Edition) http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度网盘: ...
- .NET Core前后端分离快速开发框架(Core.3.0+AntdVue)
.NET Core前后端分离快速开发框架(Core.3.0+AntdVue) 目录 引言 简介 环境搭建 开发环境要求 基础数据库构建 数据库设计规范 运行 使用教程 全局配置 快速开发 管理员登录 ...
- 痞子衡嵌入式:MCUBootFlasher v3.0发布,为真实的产线操作场景而生
-- 痞子衡维护的NXP-MCUBootFlasher工具(以前叫RT-Flash)距离上一个版本(v2.0.0)发布过去一年半以上了,这一次痞子衡为大家带来了全新版本v3.0.0,从这个版本开始,N ...
- 痞子衡嵌入式:MCUBootUtility v3.0发布,开始支持LPC, Kinetis啦
-- 痞子衡维护的NXP-MCUBootUtility工具距离上一个版本(v2.4.0)发布过去2个半月了,这一次痞子衡为大家带来了全新版本v3.0.0,从这个版本开始,NXP-MCUBootUtil ...
随机推荐
- HTML DOM 教程
HTML DOM DOM 教程 DOM 简介 DOM 节点 DOM 方法 DOM 属性 DOM 访问 DOM 修改 DOM 内容 DOM 元素 DOM 事件 DOM 导航 一,HTML DOM 简介 ...
- 浅谈Bluetooth蓝牙开发
前言:项目用到蓝牙开发,具体蓝牙获取硬件传感器中的数据. 因为没有蓝牙开发的相关经验,决定先了解一些蓝牙开发的知识,再去看之前同事写的蓝牙相关代码. ------------------------- ...
- iOS--KVO的概述与使用
一.概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知.简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应 ...
- JavaScript语言精粹(读书笔记)
第一章 精华 1,JavaScript的函数(主要)基于词法作用域(lexical scoping)的顶级对象.强类型语言允许编译器在编译时检测错误,但弱类型很自由,无需建立复杂的类层次,不用做强制造 ...
- 敏捷遇上UML—软创基地马年大会(广州站 2014-4-19)
我们将在广州为您奉献高端知识大餐,当敏捷遇上UML,会发生怎样的化学作用呢?首席专家张老师将会为您分享需求分析及软件设计方面的最佳实践,帮助您掌握敏捷.UML及两者相结合的实战技巧. 时间:2 ...
- MVC学习系列1--什么是MVC
上面的虚线表示:被动角色.实线表示:主动角色. 1.控制器和视图:控制器和视图是双向的关系,但控制器的关系更主动. 当控制器是主动的角色的时候,控制器决定要显示哪一个View:当视图为主动角色时,视图 ...
- Erlang/OTP 17.0-rc1 新引入的"脏调度器"浅析
最近在做一些和 NIF 有关的事情,看到 OTP 团队发布的 17 rc1 引入了一个新的特性“脏调度器”,为的是解决 NIF 运行时间过长耗死调度器的问题.本文首先简单介绍脏调度器机制的用法,然后简 ...
- 最新版Android开发工具
最新版Android开发工具 JUN 27TH, 2014 Android Tools ADT Bundle ADT Bundle包含了Eclipse.ADT插件和SDK Tools,是已经集成好的I ...
- ORA-01502: index ‘index_name' or partition of such index is in unusable state
错误现象: 今天发布脚本时,一个表插入数据时报如下错误 ORA-01502: index ‘index_name' or partition of such index is in unusable ...
- [AlwaysOn Availability Groups]CLUSTER.LOG(AG)
CLUSTER.LOG(AG) 作为故障转移资源,在SQL Server和windows故障转移集群服务的资源DLL(hadrres.dll)之间有额外的内部交流,DLL无法被SQL Server监控 ...