Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

社区疫情控制系统-云函数调用说明文档 #23

Open
cnlile opened this issue Feb 17, 2020 · 1 comment
Open

社区疫情控制系统-云函数调用说明文档 #23

cnlile opened this issue Feb 17, 2020 · 1 comment

Comments

@cnlile
Copy link
Contributor

cnlile commented Feb 17, 2020

tcb-st 云函数调用说明文档


云开发-智能防疫系列-社区疫情防控
产品版本 V.0.0.1 密级  
  一般
  共页

 

拟制  李乐 日期 2020-02-16
评审人   日期 2020-02-26
批准   日期
签发   日期

1、公共定义:

1.1、公共参数定义部分:

1.1.1、时间格式(datetime)

所有时间格式统一为:yyyy-MM-dd HH:mm:ss

1.1.2、时间戳(timestamp)

所有时间戳格式统一为UNIX时间,精确到秒:1540522536

1.2、函数调用返回


所以函数返回都是一个JSON对象格式,其中内容error 为固定数据,当返回的error == null时,表示执行不存在错误,反之如error 不为null时,则错误为error的数据对象内容。
范例
1、函数正确执行: {error: null, message: 'success'}
2、函数返回错误:{error: 'data is error!', code: '100021'}

2、用户登录:


这里包含3个登录功能云函数调用,1、用户打开小程序时候的静默登录,执行云函数login;2、用户在静默登录之后,作为管理员登录执行云行数signIn;3、补录用户信息云函数update。

2.1、静默登录

当用户(含管理员)打开小程序时候,系统主动调用函数,执行用户登录操作,记录信息,如果用户不存在,则新建用户,用户存在,则更新信息。

2.1.1、函数名

函数名:login

2.1.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
userInfo String 用户整体信息,授权获得 N
place Geo 登录位置,小程序可授权获取 N
timestamp Number Unix时间戳 Y

2.1.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
newUser Bool 用户新建:true,用户已存在:false Y
loginTime Date 用户成功登录的时间内容 Y
token String 如果用户为管理员时,该token字段返回有效值 N
timestamp Number Unix时间戳 Y

2.2、用户更新数据

用户在登录后,如果初次登录,或者数据不全的情况下,需要把一些数据补充完整。

2.2.1、函数名

函数名:updateUser

2.2.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
name String 姓名 Y
nickName String 昵称 N
imageUrl String 用户头像链接地址,授权获得 N
gender Number 性别 0:未知、1:男、2:女 N
country String 国家 N
city String 城市 N
province String 省份 N
address String 地址 N
mobile String 联系的手机号码 N
age Number 年龄 N
certificateType String 证件类型:idCard、银行卡:bankCard Y
certificateNumber String 证件号码 Y
attach Object 补充信息 N
place Geo 登录位置,小程序可授权获取 N
timestamp Number Unix时间戳 Y

2.2.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
loginTime Date 用户成功修改内容时间 Y
timestamp Number Unix时间戳 Y

3、扫码登记

用户进入小区的扫码登记相关的函数:
1、管理员获取小区的公开二维码,以供访客或业主使用,调用函数getVisitCode。
2、访客或者业主扫描该二维码,调用函数getAreaInfo, 获取该小区的信息。
3、访客或者业主从上一步操作中,使用参数,调用函数获取getPassCode,生成本次的通行二维码。
4、管理员扫描访客和业主出示的通行二维码,调用函数checkPassCode 进行验证和调用。

3.1、获取区域的出入公开二维码

3.1.1、函数名

函数名:getVisitCode

3.1.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
areaId String 管理区域的Id Y
expiresTime Number 过期时间,单位:秒。如果不写,则无时间限制 N
mateCode String 自定义码,提高安全性,如果不写,则忽略该选择项目 N
place Geo 登录位置,小程序可授权获取 Y
token String 登录授权token Y
timestamp Number Unix时间戳 Y

3.1.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
serial String 该二维码的唯一序列号代码 Y
signData String 该二维码的签名数据 Y
timestamp Number Unix时间戳 Y

3.2、获取小区信息数据


用户对小区二维码扫码之后,获取了扫码信息解析出来数据:应包含上述函数返回的signData、timestamp和serial。

3.2.1、函数名

函数名:getAreaInfo

3.2.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
serial String 该公开二维码的唯一序列号代码 Y
signData String 该公开二维码的签名数据 Y
codeTimestamp Number 二维码的Unix时间戳 Y
timestamp Number Unix时间戳 Y

3.2.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
codeData String 该二维码的返回的代码验证数据 Y
areaId String 小区的区域代码ID Y
orgName String 小区管理机构名称 Y
areaPlace Geo 区域位置,为管理员获取地址的地理信息 Y
timestamp Number Unix时间戳 Y

3.3、获取小区的通行码


用户在获取小区信息后,登入数据,生成本次进入的通信二维码。二维码生成的数据必须包含除了requestId和openid之外的返回数据。

3.3.1、函数名

函数名:getPassCode

3.3.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
serial String 该公开二维码的唯一序列号代码 Y
codeData String 该二维码的返回的代码验证数据 Y
mateCode String 自定义码,其它途径获取,如email。如果没有,则忽略 N
type Number 访问类型,业主: 1、访客:2 Y
areaId String 小区的区域代码ID,可从函数名:getAreaInfo中返回获取 Y
info Object 根据管理需要,用户需要填写的信息内容,以JSON 对象形式组织,例如:{ visitedAddress: '四幢2单元1020',health: 'good'  } Y
timestamp Number Unix时间戳 Y

3.3.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
serial String 小区的区域代码ID Y
openid String 用户的微信小程序openid Y
passData String 通行二维码的信息数据 Y
timestamp Number Unix时间戳 Y

3.4、验证小区的通行码


管理员在获取用户的通行二维码数据信息后,进行检查和记录数据,进行数据登记,返回无误后,完成扫码等级的全部流程。

3.3.1、函数名

函数名:checkPassCode

3.3.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
name String 管理员名称 Y
serial String 小区的区域代码ID Y
areaId String 管理区域的Id Y
passData String 通行二维码的信息数据 Y
token String 登录授权token Y
timestamp Number Unix时间戳 Y

3.3.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
openid String 访问用户或者业务的openid Y
timestamp Number Unix时间戳 Y

4、物资采购和管理

物资采购主要是管理者为区域内的用户(业主)提供物资采购,方便用户生活,具有管理员的功能和功能两大部分内容,
管理员功能:
1、商家登记:登记愿意为本区域内用户服务的商业机构。
2、商家浏览:对已经登记的商家查询,展示商家信息(多条记录查询)。
3、商家管理:对登记的商家做管理,对商家信息做更新。
4、物资浏览:查看用户提交的物资订单需求。
5、物资管理处理:对用户的物资的需求做更新操作,主要是物资的信息操作(物资信息更新,用户确认更新和用户购买结束确认)。
6、物资采购通知:发送物资采购信息给小程序用户。
用户功能:
1、物资需求登记:选择商家,发出购买需求。
2、物资采购信息的确认:收到商家的采购通知后,查看采购物资的信息,确认自己的购买。

4.1、商家登记

管理员对一些愿意为本区域内用户服务的商业机构进行登记,记录下商家的信息和服务内容。

4.1.1、函数名

函数名:registBiz

4.1.1、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
areaId String 管理区域的Id Y
bizName String 商家名称,用户可以浏览 Y
address String 商家地址 Y
telephone String 联系电话-对外公布 Y
dept String 商家负责部门 N
mobile String 联系人手机号码 Y
contacts String 联系人 Y
place Geo 位置信息 N
msg String 商家信息,用户可以浏览 Y
type Number 分类代码 1、超市卖场、2、医疗、3、果蔬 Y
typeDesc String 分类描述: Supermarket, medical,Fruits and vegetables Y
image String 商家的展示图片链接地址 N
attach Object 补充说明 N
token String 登录授权token Y
timestamp Number Unix时间戳 Y

4.1.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
bizCode String 商家代码 Y
timestamp Number Unix时间戳 Y

4.2、 查询商家

对商家信息做查询,返回符合条件的商家信息内容。

4.2.1、函数名

函数名:queryBiz

4.2.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
areaId String 管理区域Id Y
bizName String 商家名称,用户可以浏览 N
address String 商家地址 N
bizCode String 商家代码 N
telephone String 联系电话-对外公布 N
timestamp Number Unix时间戳 Y

4.2.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
list array 商家列表信息 Y
timestamp Number Unix时间戳 Y
list的内容如下:
bizCode String 商家代码,唯一身份信息代码 Y
bizName String 商家名称,用户可以浏览 Y
address String 商家地址 Y
telephone String 联系电话-对外公布 Y
dept String 商家负责部门 N
mobile String 联系人手机号码 Y
contacts String 联系人 Y
place Geo 位置信息 N
msg String 商家信息,用户可以浏览 Y
type Number 分类代码 1、超市卖场、2、医疗、3、物流、4、家政 Y
typeDesc String 分类描述: Supermarket, medical,logistics、Housekeeping Y
attach Object 补充说明 N

4.3、商家信息修改

对商家的信息做修改,可以废弃和修改内容,按照商家的唯一识别代码bizCode做为修改商家的记录条件。

4.3.1、函数名

函数名:updateBiz

4.3.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
name String 管理员名称 Y
bizCode String 商家代码 N
info Object 商家修改内容:例如:{type: 3, typeDesc: 'logistics', contacts:'王大顺'  } N
vaild Bool 商家订单是否有效,当为false时候,info内容无效 N
token String 登录授权token Y
timestamp Number Unix时间戳 Y

4.3.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
updateTime Date 更新时间 Y
timestamp Number Unix时间戳 Y

4.4、物资信息浏览

该功能 管理和用户都可以进行操作,用户只能看到自己的提交的物资订单信息,而管理员可以看到自己的区域内的物资信息。

4.4.1、函数名

函数名:queryGoods

4.4.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
areaId String 管理区域Id Y
token String 登录授权token,如果是管理员需要填写 N
orderNumber String 订单的订单号码 N
startTime Date 订单的开始时间 N
endTime Date 订单的结束时间 N
limit Number 最大查询条数,默认为20条 N
timestamp Number Unix时间戳 Y

4.4.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
list Array 商品订单列表信息 Y
timestamp Number Unix时间戳 Y
list的内容如下:
orderNumber String 商品订单号码 Y
bizCode String 商品订单号 Y
bizName String 商家名称 Y
status Number 订单状态:1、提交;2、用户取消;3、商家已处理;4、管理通知用户;5、用户确认需要;6、货物抵达、7、已经通知用户到货;8、完成交易;9、商家取消;10、退货 Y
statusDesc String 状态描述: 例如:“用户主动要求取消“ Y
info Array 订单内容 Y
payStatus Number 支付状态:0、未支付、1、已支付;2、已退款 N
amount Number 交易金额,单位:分 N
createTime Date 订单下单时间 Y
updateTime Date 订单更新时间 Y
userName String 用户名 N
userMobile String 用户手机号码 Y
userAddress String 用户地址 Y
receiveAddress String 接收地址-用户取货地址 N
salesman String 商家销售员,一般用于 N
salesMobile mobile 销售联系电话 N
arrivalTime Date 到货时间 N
vaild Bool 商家订单是否有效,有效:true,无效:false N
info订单内容
subOrderNumber String 子订单编号 Y
itemName String 商品名。 例如: 苹果 Y
itemCode String 商品编码,商家商品代码 N
image String 图片链接地址 N
count Number 数量 Y

4.5、物资数据的更新

管理员对物资数据资料做更新,保持物资数据处于最新状态。

4.5.1、函数名

函数名:updateGoods

4.5.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
orderNumber String 订单编号 Y
areaId String 管理区域Id Y
token String 登录授权token Y
status Number 订单状态:3、商家已处理;6、货物抵达且、9、商家取消;10、退货 Y
statusDesc String 状态描述: 例如:“用户主动要求取消“ Y
vaild Bool 商家订单是否有效,有效:true,无效:false N
payStatus Number 支付状态:0、未支付、1、已支付;2、已退款 N
amount Number 交易金额,单位:分 N
receiveAddress String 接收地址-用户取货地址 N
salesman String 商家销售员,一般用于 N
salesMobile mobile 销售联系电话 N
info Array 订单内容 N
arrivalTime Date 到货时间 N
info 订单内容,此时只能添加商家商品代码和图片
itemCode String 商品编码,商家商品代码 N
image String 图片链接地址 N
timestamp Number Unix时间戳 Y

4.5.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
updateTime Date 更新时间 Y
timestamp Number Unix时间戳 Y

4.6、商家发送消息通知用户

商家发送用户消息,分2中情况,都是使用消息推送。
1、当商家确认该订单之后,管理发送消息通知用户,需要用户确认接受该订单交易。status = 4
2、当物资到货后,管理员通过本函数,通知用户过来,货物已经抵达。status = 7

4.6.1、函数名

函数名:sendGoodsNotify

4.6.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
orderNumber String 订单编号 Y
areaId String 管理区域Id Y
salesMobile String 到货的商家销售或者送货人员联系电话 Y
page String 通知完之后的跳转页面 N
receiveAddress String 配送地址 N
arrivalTime String 送达时间, YYYY-MM-DD HH:mm 格式 N
token String 登录授权token Y
status Number 7、通知用户到货、4、管理通知用户确认 Y
timestamp Number Unix时间戳 Y

4.6.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
updateTime Date 更新时间 Y
timestamp Number Unix时间戳 Y

4.7、创建物资需求订单

      用户根据自己的需求,创立用户订单,选择商家,提交自己对商品的需求。

4.7.1、函数名

函数名:createGoodsOrder

4.7.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
name String 姓名 Y
address String 地址 Y
mobile String 用户联系电话 Y
bizCode String 商家代码 Y
bizName String 商家名称 Y
info Array 订单内容 Y
info订单内容
itemName String 商品名。 例如: 苹果 Y
count Number 数量 Y
timestamp Number Unix时间戳 Y

4.7.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
createTime Date 创立时间 Y
orderNumber String 订单编号 Y
timestamp Number Unix时间戳 Y

4.8、物资采购信息的确认

用户对订单的处理,分为2种情况:
1、通知商家已经确认了订单,用户需求需要,并且同意该交易。status = 5
2、收取订单内的货物后,调用该函数,完成交易,结束物资采购的流程。status = 8

4.8.1、函数名

函数名:confirmGoodsOrder

4.8.2、请求数据

名称 类型 描述 必选
requestId String 函数请求ID,为不重复的字符串,建议32位长度之下 Y
orderNumber String 订单编号 Y
status Number 5:用户确认需求,8、用户完成交易 Y
timestamp Number Unix时间戳 Y

4.8.3、返回数据

返回数据不包含error内容

名称 类型 描述 必选
requestId String 同请求 Y
updateTime Date 完成时间 Y
timestamp Number Unix时间戳 Y
@cnlile cnlile changed the title tcb-st 云函数调用说明文档 社区疫情控制系统-云函数调用说明文档 Feb 17, 2020
@CheckCoder
Copy link
Contributor

CheckCoder commented Feb 20, 2020

社区情况 communitySituation

上报社区情况 add

参数说明

参数 必选 类型 说明
uploader_id string 上传者ID
area_id string 社区ID
type int 上报类型,0 代表重点疫区车牌号, 1 代表发现聚集行为, 2 代表 居家隔离人员擅自外出
images array(string) 图片id数组
remark string 备注

返回

参数 类型 说明
code int 为0说明成功,其它代码请看错误码规范
msg string 说明信息,成功时返回success

调用示例

wx.cloud.callFunction({
	name:"communitySituation",
	data:{
		action:"add",
		uploader_id:"1",
		type:1,
		images:[
			"ajksljfl",
			"ajidfsia"
		],
		remark:"备注"
	},
	success(res){
		if(res.result.code==0){
			console.log("上报社区情况成功")
		}
	}
})

审核社区情况 check

参数说明

参数 必选 类型 说明
cs_id string 社情ID
checker_id int 审核者ID

返回

参数 类型 说明
code int 为0说明成功,其它代码请看错误码规范
msg string 说明信息,成功时返回success

获取社区情况列表 list

参数说明

参数 必选 类型 说明
area_id string 社区ID

返回

参数 类型 说明
code int 为0说明成功,其它代码请看错误码规范
msg string 说明信息,成功时返回success
situations array(object) 社区情况列表

situations 参数说明参考数据库结构

添加隔离人员 addIsolatedPersonnel

参数说明

参数 必选 类型 说明
uploader_id string 上传者ID
area_id string 小区ID
name string 隔离人员姓名
phone string 隔离人员电话
type int 住户类型
reason string 隔离原因
state string 隔离状态

返回

参数 类型 说明
code int 为0说明成功,其它代码请看错误码规范
msg string 说明信息,成功时返回success

获取隔离人员列表 listIsolatedPersonnel

参数说明

参数 必选 类型 说明
area_id string 社区ID

返回

参数 类型 说明
code int 为0说明成功,其它代码请看错误码规范
msg string 说明信息,成功时返回success
persons array(object) 隔离人员列表

persons 参数说明参考数据库结构

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants