状态码(state_code)解释
状态码 | 解释 |
---|---|
200 | 表示请求成功 一切正常 |
301 | 重定向,跳转到新的URL |
400 | 请求出现语法错误 |
401 | 验证失败 |
403 | 资源不可用(没有权限) |
404 | 无法找到指定位置的资源。 |
405 | 请求方法(GET、POST、HEAD、Delete、PUT、TRACE等)对指定的资源不适用。 |
500 | 服务器遇到了意料不到的情况,不能完成客户的请求。 |
501 | 服务器不支持实现请求所需要的功能。 |
登陆
获取用户信息,并传给数据库;
简单流程如下图:
前台通过小程序接口获取code,将获取到的code发送到后台,后台通过appid+appsecret+code发送给微信服务器以获取session_key和openid。
首页
url :XXX.com/index.php/home/Index/index
获取用户地理位置,通过wx.getLocation(OBJECT)方法。
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
type | String | 否 | 默认为"wgs84"返回gps坐标,"gcj02"返回可用于wx.openLocation的坐标 |
success | Function | 是 | 接口调用成功的回调函数,返回内容详见返回参数说明。 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success返回参数说明:
参数 | 说明 |
---|---|
latitude | 纬度,浮点数,范围为-90~90,负数表示南纬 |
longitude | 经度,浮点数,范围为-180~180,负数表示西经 |
speed | 速度,浮点数,单位m/s |
accuracy | 位置的精确度 |
altitude | 高度,单位 m |
verticalAccuracy | 垂直精度,单位 m(Android 无法获取,返回 0) |
horizontalAccuracy | 水平精度,单位 m |
示例代码:
wx.getLocation({
type: 'wgs84',
success: function (res) {
var latitude = res.latitude
var longitude = res.longitude
var speed = res.speed
var accuracy = res.accuracy
}
})
前台将纬度(latitude),经度(longitude)数据传给后台(POST),后台根据经纬度计算距离并排序商戶,将数据传给前台,并将用户基本资料传给前台.前台显示会员卡号,商家列表等信息。
OBJECT参数说明:
参数 | 说明 |
---|---|
latitude | 纬度,浮点数,范围为-90~90,负数表示南纬 |
longitude | 经度,浮点数,范围为-180~180,负数表示西经 |
success返回参数说明:
参数 | 说明 |
---|---|
state_code | 状态码 |
admin_name | 商户id |
merchant_name | 商户名称 |
merchant_images | 商户头像 |
telephone | 商户电话(预定使用) |
user_spend | 人均消费价格 |
dish_list | 赠送菜品 |
price | 菜品价格 |
rule | 赠送规则 |
merchant_latitude | 商户纬度 |
merchant_longitude | 商户经度 |
long | 用户当前与商家距离 |
tel | 用户电话 |
vip_card | 会员卡号 |
vip_start_time | 会员开始时间 |
vip_end_time | 会员结束时间 |
返回json示例:
{"state_code":"200","user_info":{"id":"1","openid":"121","tel":null,"vip_start_time":"2017-08-07","vip_end_time":"2017-10-07","vip_card":null},"merchant_list":{"2":{"id":"3","merchant_name":null,"merchant_images":null,"user_spend":null,"telephone":null,"dish_list":null,"merchant_latitude":"34.2619515371","merchant_longitude":"108.9546080475","merchant_area":null,"merchant_address":null,"price":null,"rule":"\u706b\u9505\u6492\u65e6","long":0.17090961396683},"0":{"id":"1","merchant_name":"\u706b\u9505","merchant_images":null,"user_spend":null,"telephone":null,"dish_list":null,"merchant_latitude":"34.2466456176","merchant_longitude":"108.9975285530","merchant_area":null,"merchant_address":null,"price":null,"rule":null,"long":4.1337967241545},"1":{"id":"2","merchant_name":null,"merchant_images":null,"user_spend":null,"telephone":null,"dish_list":null,"merchant_latitude":"34.2219515371","merchant_longitude":"108.9025152151","merchant_area":null,"merchant_address":null,"price":null,"rule":null,"long":6.6433857961773}}}
搜索
用户在搜索框内输入搜索内容,前台将内容传给后台进行处理
OBJECT参数说明:
参数 | 说明 |
---|---|
search_text | 用户输入内容 |
success返回参数说明:
同上
{"state_code":"200","$merchant_list":[{"id":"1","merchant_name":"\u706b\u9505","merchant_images":null,"user_spend":null,"merchant_area":null,"merchant_address":null,"price":null,"rule":null},{"id":"3","merchant_name":null,"merchant_images":null,"user_spend":null,"merchant_area":null,"merchant_address":null,"price":null,"rule":"\u706b\u9505\u6492\u65e6"}]}
商户详情页
url:XXX.com/index.php/home/merchant/merchant_info?merchant_id=XXX
OBJECT参数说明:
参数 | 说明 |
---|---|
merchant_id | 店铺id |
success返回参数说明:
参数 | 说明 |
---|---|
state_code | 状态码 |
merchant_name | 商户名称 |
merchant_banner | banner轮播图 |
merchant_address | 商户地址 |
opening_time_begin | 开始营业时间 |
opening_time_end | 结束营业时间 |
telephone | 商户电话(预定使用) |
user_spend | 人均消费价格 |
dish_list | 赠送菜品 |
price | 菜品价格 |
rule | 赠送规则 |
merchant_intro | 商户介绍 |
json示例:
{"state_code":"200","merchant_info":{"merchant_name":null,"merchant_banner":null,"merchant_address":null,"opening_time_begin":null,"opening_time_end":null,"telephone":null,"user_spend":null,"dish_list":null,"price":null,"rule":null,"merchant_intro":null}}
享用项目
用户在商家消费之后享受赠送菜品服务之后在工作人员的见证下进行核销操作。
在首页点击享用按钮,弹出核销窗口,点击和进行核销。
url:XXX.com/index.php/home/consume/index?merchant_id=XXX
OBJECT参数说明:
参数 | 说明 |
---|---|
merchant_id | 商户id |
success返回参数说明:
参数 | 说明 |
---|---|
state_code | 状态码 |
200 | 表示核销成功,弹出成功的提示 |
401 | 表示该用户今日在本店已经核销过两次,达到次数上限 |
403 | 用户会员已经到期或者未开通,跳到首页让用户选择购买 |
会员购买
url:XXX.com/index.php/home/vip/open_vip?card_id=XXX
OBJECT参数说明:
参数 | 说明 |
---|---|
card_id | 会员卡类型(1:月卡,2:季度卡,3:年卡) |
会员需要先绑定手机号码,购买前先判断是否绑定,绑定完成之后才让购买。
手机号绑定
前台提供一个输入框,用户将手机号输入之后点击获取验证码,前台将手机号码POST给后台接口。
用户输入验证码后,再将用户输入的验证码传给后台处理
url:XXX.com/index.php/home/consume/bind_tel
OBJECT参数说明:
参数 | 说明 |
---|---|
telephone | 手机号码 |
success返回参数说明:
参数 | 说明 |
---|---|
state_code | 短信发送状态(200:短信发送成功;500:短信发送失败;401手机号码格式错误) |
当用户接收到验证短信时并输入提交时,前台将验证码POST给后台。
url:XXX.com/index.php/home/consume/validate_code
OBJECT参数说明:
参数 | 说明 |
---|---|
vCode | 验证码 |
参数 | 说明 |
---|---|
state_code | 验证状态(200:验证成功;500:验证失败) |
success返回参数说明:
参数 | 说明 |
---|---|
state_code | 验证状态(200:验证成功;500:验证失败) |