# dinosaur-mall **Repository Path**: arvic/dinosaur-mall ## Basic Information - **Project Name**: dinosaur-mall - **Description**: 恐龙租机 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-02-11 - **Last Updated**: 2025-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基本信息 ## 项目说明 * 本文档适用于 恐龙租机-租赁系统 定制开发 ## 项目文档资料 - 项目信息 * 名称:恐龙租机 * APP类型: app开发,包含iOS,Android - 支付信息 ​ 暂无 - 原型/设计交互图: * 设计图: 前台-展开图(蓝湖版) ## 项目开发资料 ### 项目IP地址: * **外网**地址: * **外网正式服**地址: * 后台访问地址: `admin/` ### 数据库信息(后端开发者注意): * 新建`.env`文件,把`.env.example`中的配置覆盖过去,注意**不要提交此文件**。 * 线上数据库在`.env.online`文件中 * 提供**外网**访问数据库面板:暂无 * 清理数据库命令: ``` truncate table fa_admin_log; truncate table fa_attachment; truncate table fa_financial_bankcard; truncate table fa_financial_identityrecord; truncate table fa_financial_limumobile; truncate table fa_financial_pay_paymentlog; truncate table fa_financial_user_fadd; truncate table fa_financial_user_riskaddressbook; truncate table fa_financial_user_riskcalllog; truncate table fa_financial_user_risksms; truncate table fa_financial_userauth; truncate table fa_financial_yuanblack; truncate table fa_financial_yy_afu; truncate table fa_financial_yy_buer; truncate table fa_financial_yy_dcblack; truncate table fa_financial_yy_zhongzc; truncate table fa_mall_address; truncate table fa_mall_capital; truncate table fa_mall_depositlog; truncate table fa_mall_goods; truncate table fa_mall_goods_attribute; truncate table fa_mall_goods_cate; truncate table fa_mall_goods_category; truncate table fa_mall_goods_stages; truncate table fa_mall_goods_supplier; truncate table fa_mall_order; truncate table fa_mall_order_details; truncate table fa_mall_other_order; truncate table fa_mall_plan; truncate table fa_mall_repaylog; truncate table fa_mall_rerentlog; truncate table fa_mall_settlelog; truncate table fa_mall_stages_order; truncate table fa_sms; truncate table fa_user; truncate table fa_head_merchantbill; truncate table fa_mall_goods_supplier; truncate table fa_mall_tradingrecord; truncate table fa_channel_approve; truncate table fa_channel_cpa; truncate table fa_channel_firstbuy; truncate table fa_channel_ip; truncate table fa_channel_login; truncate table fa_channel_summary; truncate table fa_channel_uv; truncate table fa_deduction_approve_log; truncate table fa_deduction_cpa_log; truncate table fa_deduction_firstbuy_log; truncate table fa_deduction_log; truncate table fa_deduction_login_log; truncate table fa_deduction_uv_log; truncate table fa_channel; truncate table fa_noticecopy_log; truncate table fa_user_token; update fa_head_merchant set prebalance = 0,balance=500 where state = 1; insert into fa_channel (`code`,`name`,`password_switch`,`password`,`deduction_switch`,`deduction_cardnal`,`deduction_ratio`,`note`,`createtime`,`updatetime`) VALUE ('app','APP注册',1,'123456',0,0,0,'禁止删除',1564725936,0); UPDATE `fa_channel` SET `id` = '0' WHERE `fa_channel`.`code` = 'app'; ``` ### 支付: 1. 汇潮: <<汇潮配置操作>> ### 风控 ### 部署计划: 1. 域名、服务器、数据库 ``` 请开放下列端口 "mysql"3306/3306 "https"443/443 "http"80/80 "phpmyadmin"888/888 "security"8888/8888 "security"8889/8889 "System created"3389/3389 "System created"22/22 ``` ``` nginx的http配置: underscores_in_headers on; service 配置: client_max_body_size 25m; client_body_buffer_size 1m; ``` 1. 防火墙: ``` 如果安装了防火墙:请打开一下url的通行: ["^/api/Risk/bdidentity","^/api/Risk/riskcalllog","^/api/pay.Notify/huichaopay","^/phpmyadmin_","^/wp-content/themes/begin/timthumb\\.php","^/web/index\\.php\\?c=cloud","^/\\.well-known/"] ``` 1. 定时任务:使用http的方式请求以下接口: 1. 定时任务执行接口 1. 定时任务(计算) 1. 定时任务(租赁自动收货) 1. 定时任务(物流查询) 1. 定时任务 发送通知短信(还租,到期,逾期) 1. 定时任务:自动代扣(正常还款) 1. 定时任务:自动代扣(逾期) 1. 支付: 1. 汇潮: <<汇潮配置操作>> 1. 合同签章-法大大 1. 使用碧坤的资质, IP直接发给法大大的技术,没有后台配置,需要闰月处理 1. openinstall: 1. LOGO 1. WEB的appKey,写回去download.html 1. apk文件的下载地址 1. Bundleid,IPA文件的下载地址 1. 短信更换: 1. 签名-验证码 2. 短信服务商 3. 通知短信:必须`fa_head_config` 字段`sign`设置为该平台短信签名、`message_passageway`设置为1,则开启短信通道 ## 重要改动日志 1. 第三方接口替换(需要客户自行开户或寻找替代产品): 1. 短信接口:更换为客户的 欧一短信 1. 人脸识别接口:百度更换为 商汤 1. 黑名单接口:元数据黑名单替换 为 阿福黑名单 1. 中智诚:未知 1. 运营商接口:更换为客户自己的 1. 快递鸟接口:未知 1. 法大大接口:未知 布尔数据接口:客户自行开户 # 需求分析 ##后台 ### 用户管理 1. 用户列表 2. 押金退还 审核 记录 3. 运营商接口(暂无) 4. 终端信息:app端获取手机通讯录 5. 多头报告:中智诚第三方接口 6. 风控评级:阿福分接口 7. 人脸识别接口(app端) ### 账号权限 1.管理员设置 ### 渠道管理 1. 渠道列表,创建渠道和基本信息维护 生成渠道推广链接、统计链接 2. 渠道统计:用户注册量、认证量、下单量、uv、pv 3. 转化率=首租/注册(首租=人数) 4. 逾期率=该渠道逾期订单/渠道总订单 ### 商品管理 1. 商品分类 1. 创建商品和基本信息维护 1. 租赁规则 具体实现规则??? 细节参数参考用呗后台 1. 回收站 1. 通用商品显示全部没有填渠道的商品 ### 订单管理 1. 订单列表 包括 待审核、待收货、待发货、租用中、待结算、完成、逾期、售后订单 1. 订单审核 1. 物流。对应第三方接口 1. 风控建议 1. 供货商:后台子帐号,处理订单信息 1. 备注:(押金是固定值 找第三方物流接口查询物流资料 提交租赁订单的时候 查询第三方接口 已发货状态时间后第三天开始算租赁时间 12月3号下单 12月4号发货 12月6号开始算租赁时间 12月6号开始收取第一期租金 如果租赁时间到12月10号 那12月11号开始收第二期租金 确认收货是后台管理员/供货商点 或者 系统第三天自动确认收货 确认收货=租期开始时间 逾期费率是商品售价的百分比 公式 ```商品总价×费率×逾期天数``` 分期计划每一行显示线下支付按钮确认支付 待结算 app端填写物流单号 待结算状态不会计算预期费用 管理员收到货之后开始处理验货 验货如果出现问题 待结算状态上产生的费用一并计算至逾期费用(从租期结算第二天开始算起)) ### 运营工具 1. 优惠券 2. 广告配置 3. 公告栏 ### 财务管理 1. 财务流水 流出流入资金管理 2. 押金 租金 ### 统计分析 1. 订单、逾期、商品统计 2. 增长趋势 ### 系统管理 1. 基础配置 2. 风控规则 风控拦截 自动审核 风控接口开关 3. 支付管理 支付通道配置 汇潮支付 4. 合同配置 协议政策 ##APP端 ### 1.启动页 1.闪屏广告(后台API返回)广告结束之后弹出新手指引 2.新手指引 a.后台API返回或者APP端写死的一张由UI提供的具体图??? b.这个新手指引是否每次进入APP都要出现还是说只有新用户打开APP出现??? ### 2.登录注册 1.注册 手机注册 图形验证码 + 手机验证码注册 + 手机号 + 密码、注册成功直接登录 ​ 2.登录 验证码/极验登录 手机+短信验证码+图形验证码”或“本机一键登录 ​ 密码登录 手机+登录密码+图形验证码 ### 3.首页 1.Banner广告 4个 图片+链接广告,不需轮播,可后台配置 仿照达人创客的广告(内连接[1.链接到某个商品分类2.链接到某个具体的商品] 2.外部链接[url地址]) 2.果粉最爱 一级分类 展示后台设置的商品分类图标 点击进入对应的商品列表 3. 热租榜单 为商品分类中的一个 后台可控显示 展示内容为后台返回 4. 顶部广告 功能??? ### 4.我的 1.全部订单 时间倒叙排列 包含 待付款 待发货 待收货 租用中 待结算 已完成 已逾期 2.我的消息(系统消息) 未读消息 历史消息 3.个人资料 头像 手机号 昵称 职业 实名认证 修改密码 4.银行卡 绑卡 解绑 5.地址管理 添加 编辑 删除 6.联系客服 包含 [ 客服电话 客服微信(弹窗显示客服微信二维码与微信号) ] 7.设置 退出登录 8.用户协议 9.常见问题 问题列表 问题详情 10.分期账单 本期应还金额 剩余还款金额 ### 注意事项: 1. 根据物流判断租期是否开始 2. 第三方接口都有现有的 征信接口需要单独开发 1. 本项目不要需要接入**运营商SDK** # 接口文档 ## 概述 ### 参数说明 - 参数提交说明: - 请求方式必须按照接口给出的(GET POST)来严格执行 - 时间类参数,没有特殊说明一律都是日期,形如:2017-02-12 06:06:06 - 返回样式: ``` { "code": 0, "msg": "重置成功", "time": 1563416632, "data": [] } { "code": 2, "msg": "新增用户充值记录失败", "time": 1563416632, "data": '' } ``` - 返回样式参数说明: | 参数名 | 类型 | 说明 | | ------ | ------ | ------------ | | code | int | 错误代码 | | msg | string | 错误信息 | | time | string | 数据请求时间 | | data | object | 具体数据 | - 返回参数说明: 在data中,如果有数据返回的是数组array(),那么无数据的时候请返回null; 如果是字符串string类型,那么返回空字符串''; //todo - 页码说明 1. `page` : 第几页(从1开始算起) 2. `pagesize` : 每页数量,默认10,最大30条 - 排序说明(后台顺序,前台大体一致) - 字段说明: 1. status:(0不显示)(1显示) 1. istop:(0未置顶) (1已置顶) 1. updatetime (更新时间) 时间越大 越靠前 0. 已审核(1已审核) 已置顶(1置顶) 排序(数字越大 越靠前) (更新时间) 时间越新 越靠前 (id)按照 降序 1. 已审核 未置顶 2. 未审核(0未审核) 已置顶(0不置顶) 3. 未审核 未置顶 ``` 前端: ->where('post_status=1') ->order("istop desc,listorder asc,post_modified desc,id desc"); ``` ``` 后台: ->order("post_status desc,istop desc,listorder asc,post_modified desc,id desc"); ``` - 时间说明 - 时间戳:始终返回的是格林威治时间的时间戳 ### 错误代码表 | 代码 | 含义 | | | ---- | ------------------------------------------------------------ | ---- | | 0 | 操作成功 | | | 1 | 参数错误(包括参数为空,参数不合规格) | | | 2 | 错误(通用错误,没有表明是什么具体错误,需要结合msg作分析) | | | - | - | | | 13X | 登陆注册类 | | | 130 | 用户凭证失效、没有用户凭证,请重新授权登陆 | | | - | - | | | - | - | | | - | - | | | 14X | 获取手机验证码失败的原因 | | | 140 | 手机号已被注册! | | | - | - | | | - | - | | | - | - | | | 7XX | 系统级别错误 | | | 701 | 调用错误类或方法 | | | 702 | 数据库查询错误 | | | 703 | 数据库操作错误 | | | 705 | 输出数据格式错误 | | | - | - | | | - | - | | | - | - | | | - | - | | | 131 | 登录时:用户名不存在 | | | 132 | 密码错误 | | | 133 | 密码重置失败 | | | 135 | 您还没有激活账号,请激活后再使用!(此账号已经被禁止使用,请联系管理员) | | | 136 | (换取WX token)授权注册失败 | | | 137 | 授权获取用户信息失败 | | ## 用户注册登录 ### 注册/登陆(app端使用手机验证码) -
测试
- 简要描述 * - 请求URL >/api/user.user/mobilelogin - 请求方式 >POST - header请求参数 无 - body请求参数 | 字段 | 类型 | 必须 | 说明 | | ------ | ---- | ---- | ---------- | | mobile | int | Y | 手机号 | | code | int | Y | 短信验证码 | - 返回示例 ```php { "code": 0, "msg": "欢迎回来", "time": "1576134117", "data": { "userinfo": { "id": 13, "mobile": "13192729440", "avatar": "/uploads/20191211/Xowf25HvU7.jpg", "nickname": "111", "gender": 1, "profession": "老师", "channel_id": 206, "token": "f6d7ff6e-ea1f-4e9d-847b-6076b246e578", "user_id": 13, "createtime": 1576134117, "expiretime": 1578726117, "expires_in": 2592000, "ispwd": 1, "isauth": 0, "isinfo": 0, "istiebank": 0, "isaddrbook": 0, "ismobile": 0, "issms": 0, "iscalllog": 0 } } } -------------- { "code": 1, "msg": "验证码错误", "time": "1572501398", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | usernname |string | 用户名 | | nickname |string | 昵称 | | mobile |string | 手机号 | | avatar |string | 头像 data:image 或 url | | gender |string | 性别 | | profession |string | 职业 | | joinip |string | 加入时间:时间戳 | | alipayaccount |string | 支付宝绑定账号 | | user_id |string | 用户ID | | createtime |int | TOKEN创建时间 | | expiretime |int | TOKEN过期时间 | | expires_in |int | TOKEN有效秒数 | | token |string | 用于接口访问的TOKEN | |isauth|string|是否实名认证 1.是| |isinfo|string|是否基本信息认证 1.是| |istiebank|string|是否绑定银行卡 1.是| |isaddrbook|string|是否上传通讯录 1.是| |ismobile|string|是否运营商认证 1.是| |issms|string|是否上传短信记录 1.是| |iscalllog|string|是否上传通话记录 1.是| |ispwd|string|是否有原密码 1.是| ### 登陆(app端使用密码) -
测试
- 简要描述 * - 请求URL >/api/user.user/pwdlogin - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |mobile|int|**Y** |手机号| |password|varchar|**Y** |密码| - 返回示例 ```php { "code": 0, "msg": "欢迎回来", "time": "1576134117", "data": { "userinfo": { "id": 13, "mobile": "13192729440", "avatar": "/uploads/20191211/Xowf25HvU7.jpg", "nickname": "111", "gender": 1, "profession": "老师", "channel_id": 206, "token": "f6d7ff6e-ea1f-4e9d-847b-6076b246e578", "user_id": 13, "createtime": 1576134117, "expiretime": 1578726117, "expires_in": 2592000, "ispwd": 1, "isauth": 0, "isinfo": 0, "istiebank": 0, "isaddrbook": 0, "ismobile": 0, "issms": 0, "iscalllog": 0 } } } -------------- { "code": 131, "msg": "登录失败,用户不存在", "time": "1572501398", "data": null } -------------- { "code": 132, "msg": "登录失败,密码错误", "time": "1572501398", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | usernname |string | 用户名 | | nickname |string | 昵称 | | mobile |string | 手机号 | | avatar |string | 头像 data:image 或 url | | profession |string | 职业 | | gender |string | 性别 | | joinip |string | 加入时间:时间戳 | | alipayaccount |string | 支付宝绑定账号 | | user_id |string | 用户ID | | createtime |int | TOKEN创建时间 | | expiretime |int | TOKEN过期时间 | | expires_in |int | TOKEN有效秒数 | | token |string | 用于接口访问的TOKEN | |isauth|string|是否实名认证 1.是| |isinfo|string|是否基本信息认证 1.是| |istiebank|string|是否绑定银行卡 1.是| |isaddrbook|string|是否上传通讯录 1.是| |ismobile|string|是否运营商认证 1.是| |issms|string|是否上传短信记录 1.是| |iscalllog|string|是否上传通话记录 1.是| |ispwd|string|是否有原密码 1.是| ###找回密码 -
测试
- 简要描述 * - 请求URL >/api/user/findpwd - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |mobile|varchar|**Y** |手机号| |newpassword|varchar|**Y** | 要更换成的密码| |code|int|**Y** |短信验证码| - 返回示例 ```php { "code": 0, "msg": "更换成功", "time": "1572504923", "data": null } -------------- { "code": 1, "msg": "更换失败", "time": "1572501398", "data": null } ``` 返回参数说明 无 ###修改密码 -
测试
- 简要描述 * - 请求URL >/api/user/resetpwd - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**Y** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |oldpassword|varchar|**N** | 旧密码(第一次设置密码的时候可为空)| |newpassword|varchar|**Y** | 要更换成的密码| - 返回示例 ```php { "code": 0, "msg": "更换成功", "time": "1572504923", "data": null } -------------- { "code": 1, "msg": "更换失败", "time": "1572501398", "data": null } ``` 返回参数说明 无 ## 用户信息 ### 地址列表 -
测试
- 简要描述 * - 请求URL >/api/user/address_list - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**Y** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |isdefault|varchar|**N** |是否为默认地址| - 返回示例 ```php { "code": 0, "msg": "获取成功", "time": "1572501107", "data": { "list": [ { "id": 10, "uid": 13, "truename": null, "phone": 13812341234, "province": "广东", "city": "广州", "area": null, "address": null, "default": 0, "pri_phone" : 138****1234 }, ] } } } -------------- { "code": 0, "msg": "获取成功", "time": "1572501398", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | id |string | 地址id | | uid |string | 用户id | | truename |string | 联系人姓名 | | phone |string | 手机号 | | province |string | 省 | | city |string | 市 | | area |string | 区 | | address |string | 详细地址 | | isdefault |int | 是否默认 | | pri_phone |string | 加密手机号 | ###添加/编辑收货地址 -
测试
- 简要描述 * - 请求URL >/api/user/address - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**Y** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |id|varchar|**N** | 地址ID(address_list接口获取,提交此值时修改地址)| |phone|varchar|**Y** |手机号| |truename|varchar|**Y** | 收货人姓名| |province|varchar|**Y** |省| |city|varchar|**Y** |市| |area|varchar|**Y** | 县| |address|varchar|**Y** |详细地址| |isdefault|int|**N** |是否默认:1是、0否| - 返回示例 ```php { "code": 0, "msg": "操作成功", "time": "1572504923", "data": null } -------------- { "code": 1, "msg": "操作失败", "time": "1572501398", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | ###删除收货地址 -
测试
- 简要描述 * - 请求URL >/api/user/address_del - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**Y** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |id|varchar|**Y** | 地址ID| - 返回示例 ```php { "code": 0, "msg": "删除成功", "time": "1572504923", "data": null } -------------- { "code": 1, "msg": "删除成功", "time": "1572501398", "data": null } ``` 返回参数说明 ###个人信息设置 -
测试
- 简要描述 * 个人信息修改接口,可单独传入nickname,profession,gender,avatar参数,当传入mobile参数时,code和new_mobile参数为必填 - 请求URL >/api/user/profile - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**Y** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |nickname|varchar|**N** |用户昵称| |profession|varchar|**N** | 职业| |gender|varchar|**N** |用户性别:1.男士、0.女士、2.未知| |avatar|varchar|**N** |头像(采用上传方式)| |mobile|varchar|**N** |旧手机号| |code|varchar|**N** |短信验证码(当输入了旧手机号时为必填参数)| |new_mobile|varchar|**N** |新手机号(当输入了旧手机号时为必填参数)| - 返回示例 ```php { "code": 0, "msg": "修改成功", "time": "1576134117", "data": { "userinfo": { "id": 13, "mobile": "13192729440", "avatar": "/uploads/20191211/Xowf25HvU7.jpg", "nickname": "111", "gender": 1, "profession": "老师", "channel_id": 206, "token": "f6d7ff6e-ea1f-4e9d-847b-6076b246e578", "user_id": 13, "createtime": 1576134117, "expiretime": 1578726117, "expires_in": 2592000, "ispwd": 1, "isauth": 0, "isinfo": 0, "istiebank": 0, "isaddrbook": 0, "ismobile": 0, "issms": 0, "iscalllog": 0 } } } -------------- { "code": 1, "msg": "修改失败", "time": "1572501398", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | usernname |string | 用户名 | | nickname |string | 昵称 | | mobile |string | 手机号 | | avatar |string | 头像 data:image 或 url | | profession |string | 职业 | | gender |string | 性别 | | joinip |string | 加入时间:时间戳 | | alipayaccount |string | 支付宝绑定账号 | | user_id |string | 用户ID | | createtime |int | TOKEN创建时间 | | expiretime |int | TOKEN过期时间 | | expires_in |int | TOKEN有效秒数 | | token |string | 用于接口访问的TOKEN | |isauth|string|是否实名认证 1.是| |isinfo|string|是否基本信息认证 1.是| |istiebank|string|是否绑定银行卡 1.是| |isaddrbook|string|是否上传通讯录 1.是| |ismobile|string|是否运营商认证 1.是| |issms|string|是否上传短信记录 1.是| |iscalllog|string|是否上传通话记录 1.是| |ispwd|string|是否有原密码 1.是| ## 用户风控数据提交(修改) ### 获取紧急联系人关系列表 -
测试
- 简要描述 * - 请求URL >/api/Risk/getrelation - 请求方式 >POST - header请求参数 无 - body请求参数 无 - 返回示例 ```php { "code": 0, "msg": "success", "time": "1575872868", "data": [ { "title": "家人", "id": 1 }, { "title": "朋友", "id": 2 }, { "title": "同事", "id": 3 } ] } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | |title|string|联系人关系名称| |id|string|联系人关系关联ID| ### 会员基本信息获取 (会员授权状态查询) -
测试
- 简要描述 * - 请求URL >/api/Risk/getuserinfo - 请求方式 >POST - header请求参数 无 - body请求参数 无 - 返回示例 ```php { "code": 0, "msg": "success", "time": "1575708243", "data": { "province": "广东省·", "city": "广州市", "area": "天河区", "address": "打算打打", "oneshipid": 1, "oneshipname": "你好", "oneshipphone": "13144269866", "twoshipid": 2, "twoshipname": "大大", "twoshipphone": "13144265898", "oneshiptitle": "家人", "twoshiptitle": "朋友", "isauth": 0, "isinfo": 1, "istiebank": 0, "isaddrbook": 1, "ismobile": 0, "issms": 0, "iscalllog": 0, 'facetype':0 } } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | |mobile|string|手机号| |truename|string|真实姓名| |idcard|string|身份证号| |province|string|省份| |city|string|城市| |area|string|地区| |address|string|详细地址| |oneshipid|int|第一联系人关系ID| |oneshipname|string|第一联系人姓名| |oneshipphone|string|第一联系人手机号| |twoshipid|int|第二联系人关系ID| |twoshipname|string|第二联系人姓名| |twoshipphone|string|第二联系人手机号| |oneshiptitle|string|第一联系人关系| |twoshiptitle|string|第二联系人关系| |isauth|string|是否实名认证 1.是| |isinfo|string|是否基本信息认证 1.是| |istiebank|string|是否绑定银行卡 1.是| |isaddrbook|string|是否上传通讯录 1.是| |ismobile|string|是否运营商认证 1.是| |issms|string|是否上传短信记录 1.是| |iscalllog|string|是否上传通话记录 1.是| |facetype|int|人脸识别配置, 0.百度 1.商汤| ### 会员基本信息修改 -
测试
- 简要描述 * - 请求URL >/api/Risk/updateuserinfo - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |province|string|**Y** |省份| |city|string|**Y** |城市| |area|string|**Y** |地区| |address|string|**Y** |详细地址| |oneshipid|int|**Y** |第一联系人关系ID| |oneshipname|string|**Y** |第一联系人姓名| |oneshipphone|string|**Y** |第一联系人手机号| |twoshipid|int|**Y** |第二联系人关系ID| |twoshipname|string|**Y** |第二联系人姓名| |twoshipphone|string|**Y** |第二联系人手机号| - 返回示例 ```php { "code": 0, "msg": 'success', "time": "1575690573", "data": null } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 无 ### 会员人脸识别认证数据提交 -
测试
- 简要描述 * - 请求URL >/api/Risk/bdidentity - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |name|string|**Y** |姓名| |address|string|**Y** |地址| |cardNum|string|**Y** |身份证号| |clValue|string|**Y** |认证分数| |CLRPIDCard_Front|string|**Y** |身份证正面| |CLRPIDCard_Back|string|**Y** |身份证反面| |CLRPFaceLiveness|string|**Y** |活体检测最优照片| |birth|string|**N** |出生日期| |sex|string|**N** |性别| |nation|string|**N** |名族| |issuingAuthority|string|**N** |签发机关| |issuingDate|string|**N** |签发机关| |expiryDate|string|**N** |有效期限| |riskType|string|**N** |身份证风险提示类型| - 返回示例 ```php { "code": 0, "msg": "success", "time": "1575713024", "data": null } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | ### 会员运营商认证数据提交 -
测试
- 简要描述 * - 请求URL >/api/Risk/yysnotify - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |orderid|string|**Y** |订单id| |data|string|**Y** |报告结果| |originalData|string|**Y** |原始数据| - 返回示例 ```php { "code": 0, "msg": "success", "time": "1575713024", "data": null } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | ### 会员终端通讯录提交 -
测试
- 简要描述 * - 请求URL >/api/Risk/riskaddressbook - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |equipserial|string|**Y** |设备标识| |jsondata|json|**Y** |通讯录数据| ```php jsondata: [ { "name": "李四", "phoneNumber": "1394444444", "email": "9468@qq.com" } ] ``` - jsondata参数说明 |参数 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |name|string|**Y** | 姓名| |phoneNumber|string|**Y** | 手机号码| |email|string|**N** | 邮箱| - 返回示例 ```php { "code": 0, "msg": 'success', "time": "1575690573", "data": 6 } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | data |string | 通讯录数量 | ### 会员终端通话记录提交 -
测试
- 简要描述 * - 请求URL >/api/Risk/riskcalllog - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |equipserial|string|**Y** |设备标识| |jsondata|json|**Y** |通话记录数据| ```php jsondata: [ { "name": "李四", "phoneNumber": "1394444444", "date": "2019-04-1611: 32: 21", "type":"2", "duration":"2" } ] ``` - jsondata参数说明 |参数 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |name|string|**Y** | 姓名| |phoneNumber|string|**Y** | 手机号码| |date|string|**Y** | 时间| |type|int|**Y** |来电:1,拨出:2,未接:3| |duration|int|**Y** | 通话时长(秒)| - 返回示例 ```php { "code": 0, "msg": 'success', "time": "1575690573", "data": 6 } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | data |string | 通话记录数量 | ### 会员终端短信记录提交 -
测试
- 简要描述 * - 请求URL >/api/Risk/risksms - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |equipserial|string|**Y** |设备标识| |jsondata|json|**Y** |短信记录数据| ```php jsondata: [ { "name":"李四", "phoneNumber":"1394444444", "date":"2019-04-16 11:32:21", "type":"2", "smsBody":"这是短信内容" } ] ``` - jsondata参数说明 |参数 | 类型 |必须 | 说明| --------------------|-------|--------|----------- |name|string|**Y** | 姓名| |phoneNumber|string|**Y** | 手机号码| |date|string|**Y** | 时间| |type|int|**Y** |1:接收的,2:发送的 | |smsBody|string|**Y** | 短信内容| - 返回示例 ```php { "code": 0, "msg": 'success', "time": "1575690573", "data": 6 } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | data |string | 短信记录数量 | ## 用户银行卡操作相关 ### 会员绑定银行卡第一步 (发送绑卡短信验证码) -
测试
- 简要描述 * - 请求URL >/api/Bankcard/bindingsend - 请求方式 >POST - header请求参数 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |cardno|string|**Y** |银行卡号| |mobile|string|**Y** |银行预留手机号| - 返回示例 ```php { "code": 0, "msg": "success", "time": "1575862211", "data": { "mchntssn": "BK15758622115280286", "token": "dasd" } } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | |mchntssn|string|鉴权绑卡生成的订单号| |token|string|鉴权绑卡返回的验证Token| ### 会员绑定银行卡第二步 (校验验证码完成绑卡) -
测试
- 简要描述 * - 请求URL >/api/Bankcard/binding - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |cardno|string|**Y** |银行卡号| |mobile|string|**Y** |银行预留手机号| |smscode|string|**Y** |短信验证码| |mchntssn|string|**N** |鉴权绑卡生成的订单号| |banktoken|string|**N** |鉴权绑卡返回的验证Token| - 返回示例 ```php { "code": 0, "msg": "success", "time": "1575873401", "data": { "id": "2" } } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | |id|int|绑定银行卡ID| ### 获取会员绑定银行卡列表 -
测试
- 简要描述 * - 请求URL >/api/Bankcard/getbanklist - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |type|int|**Y**|请求类型:0.获取会员银行卡 1.获取会员支付方式| - 返回示例 ```php { "code": 0, "msg": "success", "time": "1577363766", "data": [ { "id": 10, "cardnumber": "6210********8611", "title": "邮政储蓄银行", "icon": "", "paytype": 0, "paytitle": "银行卡支付" } ] } -------------- { "code": 130, "msg": "请登录后操作", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | |id|int|绑定银行卡ID| |cardnumber|string|银行卡卡号| |title|int|银行名称| |icon|int|银行icon| |paytype|int|支付方式:银行卡支付:0 ,聚合银行卡转账:1 ,集合支付宝:2 | |paytitle|int|支付方式名称| ### 获取银行卡列表 -
测试
- 简要描述 * - 请求URL >/api/Bankcard/banklist - 请求方式 >POST - header请求参数 无 - body请求参数 无 - 返回示例 ```php { "code": 0, "msg": "success", "time": "1576488974", "data": [ { "title": "中国工商银行", "icon": null }, ] } -------------- { "code": 1, "msg": "获取失败", "time": "1575690573", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | |title|int|银行名称| |icon|int|银行icon| ## 公共 ### 图形验证码 #### 获取验证码 -
测试
- 简要描述 * 用来向服务器通知发送短信,可能需要图形验证码,具体看项目的配置 * 图形验证码有效期为 30分钟。 - 请求URL >/api/Captcha/get - 请求方式 >POST - header请求参数 无 - body请求参数 无 - 返回示例 ``` { "code": 0, "msg": "ok", "time": 1563425074, "data": { "img_base64": "VBORw0KGgo====", "captchaid": "44cce6ea6e67c8ad52a0ebf66ea6d1af" } } ``` - 返回参数说明 |参数名|类型|说明| |:----- |:-----|----- | |img_base64 |string | 验证码图片的base64编码,请开发者还原图片(需要拼接base64头部)| |captchaid |string |本次验证码的标识,在登陆传参需要带上| #### 校验验证码 - 简要描述 * 为了保证数据安全,校验验证码的逻辑会封装在各个模块中, 不独立给出 基础配置-------------------------- ### 发送短信 -
测试
- 简要描述 * - 请求URL >/api/sms/send - 请求方式 >GET - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| | --------------------|-------|--------|----------- | |mobile|int|**Y** | 手机号 | |event|int|**Y** |注册事件,register:注册(渠道落地页用这个),mobilelogin:手机号登陆(app只能用这个),findpwd:找回密码,resetmobile:修改手机号| |captchaid|string|**Y** |图形验证码id| |captcha|string|**Y** |图形验证码的内容| - 返回示例 ```php { "code": 0, "msg": "发送成功", "time": "1572579773", "data": null } -------------- { "code": 1, "msg": "发送失败", "time": "1572505826", "data": null } ``` 返回参数说明 无 ### 获取协议相关链接地址 -
测试
- 简要描述 * - 请求URL >/api/Risk.Protocol/getProtocol - 请求方式 >POST - header请求参数 无 - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |scenetype|int|**Y** |协议类型: 1.注册协议 2.会员隐私协议 3.租赁服务 4.个人征信客户授权 5.委托担保 | |order_id|int|**N** | 订单id(如果是订单详情内必存)| - 返回示例 ```php { "code": 0, "msg": "success", "time": "1576460417", "data": { "url": "/api/Risk.Protocol/details?scenetype=1" } } -------------- { "code": 1, "msg": "获取失败", "time": "1572505826", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | |url |string |协议跳转链接| ### 获取物流公司名称和编码 -
测试
- 简要描述 * - 请求URL >/api/Express/getshipperCode - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| --------------------|-------|--------|----------- - body请求参数 |字段 | 类型 |必须 | 说明| --------------------|-------|--------|----------- - 返回示例 ```php { "code": 0, "msg": "success", "time": "1576808405", "data": [ { "name": "顺丰速运", "sn": "SF" }, ] } -------------- { "code": 1, "msg": "获取失败", "time": "1572505826", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | |name |string |物流公司名称| |sn |string |物流公司编码简称| ## 广告 ### 获取广告 -
测试
- 简要描述 * - 请求URL >/api/advertising/Advertising/advertising - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|----------- | |type|int|**Y** |广告类型,1:启动页图片,2,首页广告 | - 返回示例 ```php {type =2 首页广告 "code": 0, "msg": "获取成功", "time": "1575945529", "data": { "list": { "image": "/uploads/20191206/6b545cc1f62bfe5981c2e6ee0eb68865.jpg", "type_data": 1, "value": "www.baidu.com" } } } -------------- {type =1 启动页图片 "code": 0, "msg": "获取成功", "time": "1575948029", "data": { "list": { "image": "/uploads/20191206/0f0d18906f6cc6d1a7c6bfb34cb73481.png", "value": "www.baidu.com" } } } -------------- { "code": 0, "msg": "获取成功", "time": "1572245233", "data": { "list": null } } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | type_data |string | 跳转方式:0,1,2,3 | | image | string | 图片 | | value | string | 对应`跳转方式`的值0、不跳转。1、value为外部链接地址可直接访问。2、value为标签值。3、value为商品id | ## 帮助中心 ###常见问题API接口 -
测试
- 简要描述 * 注意:该接口返回数据中的content为纯文本 - 请求URL >/api/help/Article/article - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 无 - 返回示例 ```json { "code": 0, "msg": "获取成功", "time": "1576492500", "data": { "list": "/index/index/article.html" } } { "code": 0, "msg": "获取成功", "time": "1572245233", "data": { "list": null } } ``` **返回参数说明** | 参数名 | 类型 | 说明 | | :--------------- | :----- | --------------------------------------- | | list | object | 存放内容实体 | | list.id | string | 问题ID | | list.title | string | 标题 | | list.content | string | 内容 | | list.createtime | string | 创建时间 | ###客服信息 -
测试
- 简要描述 * - 请求URL >/api/help.Service/service - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 无 - 返回示例 ```json { "code": 0, "msg": "获取成功", "time": "1575949595", "data": { "list": [ { "id": 1, "type": 1, "image": "", "contact": "020--4455--8899", "name": "客服热线" }, { "id": 2, "type": 2, "image": "/uploads/20191206/5076db12526ed8cd37022179e4779fd1.png", "contact": "", "name": "客服二维码" } ] } } ``` --------------------- ```json { "code": 0, "msg": "获取成功", "time": "1572245233", "data": { "list": null } } ``` **返回参数说明** | 参数名 | 类型 | 说明 | | :--------------- | :----- | --------------------------------------- | | list | object | | | list.id | string | 客服id | | list.type | string | 客服类型:1=手机号,2=微信 | | list.image | string | 二维码图片 | | list.contact | string | 客服联系方式 | | list.name | string | 备注信息 | ## 首页4个banner图标 ### 获取banner图标 -
测试
- 简要描述 * - 请求URL >/api/banner/Banner/banner - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 无 - 返回示例 ```php { "code": 0, "msg": "获取成功", "time": "1575949824", "data": [ { "image": "/uploads/20191209/f5c29e3f2d9e203d00560fce98c660c4.png", "name": "优惠机型", "url": "" }, { "image": "/uploads/20191209/68868e58adf236ae60d5d7bbd8e6b236.png", "name": "高档机型" "url": "" }, { "image": "/uploads/20191209/f0e8553e2e84294d406d8d8bc1177e5a.png", "name": "租赁流程" "url": "" }, { "image": "/uploads/20191209/5f04827d0ce7cbd6d300b4b0a0dd7962.png", "name": "正品保证" "url": "" } ] ``` -------------- ```php { "code": 0, "msg": "获取成功", "time": "1572245233", "data": { "list": null } } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | image | string | 图片 | | name | string | banner名称 | | url | string | 跳转链接(暂时前端写死) | ### 获取租赁流程 -
测试
- 简要描述 * - 请求URL >/api/banner/Banner/flow - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 无 - 返回示例 ```php { "code": 0, "msg": "获取成功", "time": "1575950055", "data": { "url": "http://9001.com:8008/index/index/flow" } } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | url | string | h5地址 | ##产品 ###产品列表 -
测试
- 简要描述 * 传入商品标签(type)参数:1=优惠机型,2=高档机型,3=推荐榜单,4=热租榜单 - 请求URL >/api/produce/Produce/type - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| | page |string| **N** |页码默认1| | pagesize |string| **N** |每页条数默认10| | keyword |string| **Y** |标签值商品标签1=优惠机型,2=高档机型,3=推荐榜单,4=热租榜单| - 返回示例 ```php { "code": 0, "msg": "获取成功", "time": "1575958672", "data": { "page": 1, "pagecount": 1, "list": [ { "id": 21, "title": "test", "leaseprice": 5200, "rentday": 10, "image_logo": "/uploads/20191207/51fd68899789d94be264683491678dd2.jpg", "rentunit": 1, "rent_cont": 5, "isnodeposit": 0, "notice": "", "stock": 999, "pledge_price": 1040, "price": 5000, "images": "/uploads/20191207/720417ae480a78cdc3c3cd2d540cd93d.jpg,/uploads/20191207/75ffcc649c7bf0d225e2ccd63b411ed5.png,/uploads/20191207/51fd68899789d94be264683491678dd2.jpg", "avg_price": 520, "nodeposit": "1040元" }, ] } } ``` ------------- ```php { "code": 0, "msg": "获取成功", "time": "1572245233", "data": { "list": null } } ``` **返回参数说明** | 参数名 | 类型 | 说明 | | :--------------- | :----- | --------------------------------------- | | list | object | | | list.id | string | 商品id | | list.title | string | 商品名 | | list.price | string | 商品售价 | | list.leaseprice | string | 租赁总价 | | list.avg_price | string | 每单位租赁价格 (租赁总价/起租数) | | list.pledge_price | string | 押金 | | list.image_logo | string | 商品logo图 | | list.rentday | string | 起租数 | | list.rentunit | string | 单位1=天,2=月,3=年 | | list.isnodeposit | string | 是否免押金0=不可免押1=可免押金 | | list.nodeposit | string | 展示押金 | ###产品详情 -
测试
- 简要描述 * 传入商品id - 请求URL >/api/produce/Produce/detail - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| | id |string| **Y** |商品id| - 返回示例 ```php { "code": 0, "msg": "获取成功", "time": "1576561210", "data": { "info": { "id": 21, "title": "test", "leaseprice": 5200, "rentday": 10, "image_logo": "/uploads/20191207/51fd68899789d94be264683491678dd2.jpg", "rentunit": 1, "rent_cont": 5, "isnodeposit": 0, "content": "http://localhost:86/index/index/product_content?id=21", "notice": "", "stock": 999, "pledge_price": 1040, "price": 5000, "images": "/uploads/20191207/720417ae480a78cdc3c3cd2d540cd93d.jpg,/uploads/20191207/75ffcc649c7bf0d225e2ccd63b411ed5.png,/uploads/20191207/51fd68899789d94be264683491678dd2.jpg", "buyoutprice": 500, "nodeposit": "1040元", "avg_price": 520, "count": "5期*买断", "explain": "http://localhost:86/index/index/explain" }, "attr": [ { "id": 43, "gid": 21, "attr_name": "颜色", "attr_value": "红*蓝*白" }, { "id": 44, "gid": 21, "attr_name": "型号", "attr_value": "xr*xs" ] } ] "plan": [ { "stages": 1, "price": 40 }, { "stages": 2, "price": 40 }, { "stages": 3, "price": 40 }, { "stages": 4, "price": 40 }, { "stages": 5, "price": 40 } ] } } ``` ------------- ```php { "code": 0, "msg": "获取成功", "time": "1572245233", "data": { "list": null } } ``` **返回参数说明** | 参数名 | 类型 | 说明 | | :--------------- | :----- | --------------------------------------- | | info | object | 商品详情 | | info.id | string | 商品id | | info.title | string | 商品名 | | info.image_logo | string | 商品logo图 | | info.images | string | 商品图 | | info.rentday | string | 起租数 | | info.rentunit | string | 单位1=天,2=月,3=年 | | info.isnodeposit | string | 是否免押金0=不可免押1=可免押金 | | info.stock | string | 库存 | | info.price | string | 商品售价 | | info.buyoutprice | string | 到期买断价 | | info.leaseprice | string | 租赁总价 | | info.avg_price | string | 每单位租赁价格 (租赁总价/起租数) | | info.pledge_price | string | 押金 | | info.content | string | 商品简介(内部跳转url) | | info.notice | string | 备注 | | info.nodeposit | string | 展示押金 | | info.count | string | 期数 | | info.explain | string | 租赁说明 | | attr | object | 规格详情 | | attr.attr_name | string | 规格名 | | attr.attr_value | string | 规格值 | ##公告 ###用户获取公告接口 -
测试
- 简要描述 * - 请求URL >/api/noticecopy.Log/notice - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**Y** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 无 - 返回示例 ```php { "code": 0, "msg": "获取成功", "time": "1572244682", "data": { "list": [ { "id": 44, "title": "梵蒂冈梵蒂冈", "content": "你看了宣传资料...", "createtime": "2019/10/25 13:40", "is_read": 0 }, { "id": 49, "title": "放过你", "content": " 原标题:印度宣布设立两个中央直辖区划入部分中国领土,外交部:坚决反对!  【环球时报-环球网报道 ...", "createtime": "2019/10/25 13:52", "is_read": 0 } ...... ] } } ``` -------------- ```php { "code": 0, "msg": "获取成功", "time": "1572245233", "data": { "list": null } } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | id |string | 消息id | | title | string | 系统消息标题 | | content | string | 显示一部分内容 | | createtime | string | 消息发布时间 | | is_read | string | 消息阅读状态:0未读,1已读 | ###公告详情API接口 -
测试
- 简要描述 * - 请求URL >/api/noticecopy.Log/genre - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**Y** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| | id |string| **Y** |系统消息id| - 返回示例 ```php { "code": 0, "msg": "获取成功", "time": "1572516098", "data": { "url": "http://daren.com:8401/index/index/genre?id=48" } } ``` ----------------- ```php { "code": 1, "msg": "参数错误", "time": "1572516747", "data": null } ``` **返回参数说明** | 参数名 | 类型 | 说明 | | :--------------- | :----- | --------------------------------------- | | url | string | 协议地址 | ###用户点击公告请求上报接口 -
测试
- 简要描述 * 用户点击系统消息单条或者编辑更改全部已读时操作该接口 - 请求URL >/api/noticecopy.Log/notice_log - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**Y** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |notice_id |string|**Y**| 系统消息id(多个id用,隔开) | - 返回示例 ```php { "code": 0, "msg": "上报成功", "time": "1572507548", "data": null } ``` ###首页公告 -
测试
- 简要描述 * - 请求URL >/api/noticecopy.Log/affiche - 请求方式 >POST - header请求参数 |字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |authorization-token|string|**N** |header头字段,标识用户凭证;用户登录后需要再次请求该接口,这个参数必传| - body请求参数 无 - 返回示例 ```php { "code": 0, "msg": "获取成功", "time": "1576740428", "data": [ { "title": "【全新】iPhone XS Max 64G/256G/512 苹果手机特价租赁" }, { "title": "小米CC9 Pro" }, { "title": "恐龙租机===" } ] } -------------- { "code": 0, "msg": "获取成功", "time": "1572245233", "data": null } ``` 返回参数说明 | **参数名** | **类型** | **说明** | | :--------- | -------- | -------- | | id |string | 消息id | | title | string | 系统消息标题 | --------------------------APP更新-------------------------- ## APP更新 ### 获取app更新信息(json) -
测试
- 简要描述 * 获取APP的更新配置信息,返回的是json格式,用于app内部更新 - 请求URL >/api/Version/appupdate - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- apptype|string|**Y** |app类型(单选):苹果填写`iOS`,安卓填写`android` codeversion|int|**N** |版本号 - 返回示例 ```php { "code": 0, "msg": "获取成功!", "time": "1564646488", "data": { "codeversion": "35", "newversion": "1.0.2", "ios_signature_type": "0", "packagesize": "", "downloadurl": "xxx.com/jjb/20190801/5119ac6c975a0dac4b1aacc9c1c338e0.ipa", "downloadpage": "xxx.com/channel/download.html", "enforce": 1 } } 或者 { "code": 0, "msg": "获取成功!", "time": "1564651921", "data": null } ``` 返回参数说明 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- codeversion|string|**Y** |版本号(app升级判断用) newversion|string|**Y** |版本名称(展示给客户) ios_signature_type|int|**Y** |iOS签名更换状态:0=未更换,1=已更换 content|string|**Y** |更新内容 packagesize|string|**Y** |包文件大小 downloadurl|string|**Y** |app包下载链接(已经包含域名) ,当参数为iOS时,为下载页面 downloadpage|string|**Y** |下载页面(已经包含域名) enforce|string|**Y** |是否强制更新,强制更新`1`,非强制更新`0` - 注意事项 - 如果参数有codeversion,那么会返回**大于**codeversion的数据,如果没有data数据将返回null ### 获取app最新下载包(302跳转) -
测试
- 简要描述 * 跳转到最新下载地址,用于openinstall的下载地址 - 请求URL >/api/Version/download?apptype=xxxx - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- apptype|string|**Y** |app类型:苹果填写`iOS`,安卓填写`android` - 返回示例 ``` app实体 ``` - 返回参数说明 - 注意事项 ## 渠道 ### 渠道落地页(HTML) -
测试
- 简要描述 * HTML打开该页面后,就可以进行注册、下载app - 请求URL >无,需要在后台获取,示例:xxx.com/index/channel/show/?code=XXXXXXXX - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- channel_code|string|**Y** |渠道代号 - 返回示例(html页面) ``` ``` - 返回参数说明 - 注意事项 * 前端调用该接口无需等待结果。 ### 上报信息 -
测试
- 简要描述 * HTML打开该页面后,需要上传用户uuid,前端请自行生成,并且安全保存在用户浏览器上 * 该接口主要统计用户的UV, IP * 无需等待返回 - 请求URL >/api/statistics.channel/statistics_uv_ip - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- uuid|string|**Y** |用户的唯一标识号 channel_code|string|**Y** |渠道代号 - 返回示例 ```php { "code": 0, "msg": "入库成功", "time": "1564049279", "data": "" } ``` - 返回参数说明 - 注意事项 * 前端调用该接口无需等待结果。 --------------------------渠道-------------------------- ### 渠道统计页 -
测试
- 简要描述 * HTML打开该页面后,就可以查看统计数据 - 请求URL >无,需要在后台获取,示例:/index/channel/statistics/?code=XXXXX - 请求方式 >GET - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- code|string|**Y** |渠道代号 - 返回示例(html页面) ```html ``` - 返回参数说明 无 - 注意事项 * 使用GET请求,将会得到一个页面。 ### 渠道统计页-总数据 -
测试
- 简要描述 * - 请求URL >/api/channel.Statistics/sum - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- code|string|**Y** |渠道代号 password|string|**N** |渠道密码 - 返回示例 ```php { "code": 0, "msg": "获取成功", "data": { "uv_summary": 0, "cpa_summary": 2, "login_summary": 1, "uv_cpa_price": "5.00", "name": "编辑后刷新" } } ``` ------------------- ```php { "code": 2, "msg": "密码错误!", "time": "1565008421", "data": null } ``` - 返回参数说明 参数名|类型|说明 ----- |:-----|----- uv_summary|string|总访问uv cpa_summary|string|总注册cpa login_summary|string|总下载量 uv_cpa_price|string|总消耗金额 name|string|渠道名 - 注意事项 ### 渠道统计页-列表数据 -
测试
- 简要描述 * HTML打开该页面后,就可以查看统计数据 - 请求URL >/api/channel.Statistics/statistics - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- code|string|**Y** |渠道代号 password|string|**N** |渠道查看密码 page|string|**N** |页码 pagesize|string|**N** |每页数据条数 - 返回示例(html页面) ```php { "code": 0, "msg": "获取成功", "time": "1565011970", "data": { "pagecount": 1, "list": [ { "uv_summary": 2, "cpa_summary": 1, "login_summary": 1, "visit_datetime": "2019-08-06", "uv_cpa_price": "2.00" }, { "uv_summary": 10, "cpa_summary": 6, "login_summary": 40, "visit_datetime": "2019-08-05", "uv_cpa_price": "13.00" } ] } } ``` ------------------------- ```php { "code": 2, "msg": "密码错误!", "time": "1565008421", "data": null } ``` ------------------------- ```php { "code": 0, "msg": "获取成功", "time": "1565059882", "data": { "pagecount": 0, "list": null } } ``` - 返回参数说明 |参数名|类型|说明| |:----- |:-----|----- | |list|object|存放产品分类实体| |pagecount|string|多少页| |list.uv_summary |string |UV访问量| |list.cpa_summary |string |CPA注册量| |list.login_summary |string |登陆量| |list.uv_cpa_price |string |当日消耗金额| |list.visit_datetime |string |用户访问日期| - 注意事项 ### 渠道统计页-扣量接口 -
测试
- 简要描述 * 渠道统计页点击刷新就可以获取扣量数据,数据显示在渠道统计页 - 请求URL >/api/channel.Statistics/deduction - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- code|string|**Y** |渠道代号 - 返回示例(html页面) ```php { "code": 0, "msg": "刷新成功!", "time": "1564820499", "data": null } ``` ----------------------------- ```php { "code": 2, "msg": "渠道不存在或已关闭!", "time": "1565008421", "data": null } ``` - 返回参数说明 - 注意事项 ### 定时任务执行接口 -
测试
- 简要描述 * 渠道统计页点击刷新就可以获取扣量数据,数据显示在渠道统计页 * 每天3:00触发 - 请求URL >/api/channel.Statistics/cron_run - 请求方式 >POST - header请求参数 无 - body请求参数 无 - 返回示例 - 返回参数说明 - 注意事项 ### 定时任务(计算) -
测试
- 简要描述 * 每天计算租赁中订单逾期费用 * 每天0:0(0 0 \* \* \*) - 请求URL >/admin/order/checkorder/calculationFee - 请求方式 >POST - header请求参数 无 - body请求参数 无 - 返回参数说明 - 注意事项 ### 定时任务(租赁自动收货) -
测试
- 简要描述 * 定时查询发货3天的订单,更新已收货 * 每天0:0 (0 0 \* \* \*) - 请求URL >/admin/order/checkorder/autoSearchOrder - 请求方式 >POST - header请求参数 无 - body请求参数 无 - 返回示例(html页面) - 返回参数说明 - 注意事项 ## 订单管理 ### 订单列表 -
测试
- 简要描述 * 全部订单(一口价订单,租赁订单,还有其他订单) - 请求URL >/api/order/orderlist - 请求方式 >POST - header请求参数 无 - body请求参数 | 字段 | 类型 |必须 | 说明| |--------------------|-------|--------|-----------| |status |int |**N** |订单状态(1:待付款,2:待发货,3:待收货,4:租用中,5:待结算,6:已完成,7:已逾期)全部订单不用带参或传空| |page |int |**N** |页码默认1| |pagesize |int |**N** |每页条数默认10| - 返回示例(html页面) ```php //已登录 { "code": 0, "msg": "获取成功", "time": "1576823292", "data": [ { "order_id": 35, "serial": "0407760G6avH20191219165439", "type": 2, "title": "test", "image_logo": "/uploads/20191207/51fd68899789d94be264683491678dd2.jpg", "attribute": [ { "attr_name": "颜色", "attr_value": "1" } ], "price": "1/天", "deposit": "1221", "status": 4, "status_desc": "租用中", "buy_time": "2019-12-19 17:28:56", "lease_time": "2019-12-16 17:29:39", "need_pay_price": "12.03", "overdue": "0.03", "stages_value": "3期", "day_value": "12天", "supplier_data": { "contacts": "钱某人", "phone": "13111311122", "address": "广东省广州市天河区东圃盈科智谷3栋115" } }, { "order_id": 14, "serial": "071967AeFcfa20191216124343", "type": 2, "title": "test", "image_logo": "/uploads/20191207/51fd68899789d94be264683491678dd2.jpg", "attribute": [ { "attr_name": "颜色", "attr_value": "红" }, { "attr_name": "型号", "attr_value": "xs" } ], "price": "1.21/天", "deposit": "4534", "status": 6, "status_desc": "已完成", "buy_time": "2019-12-16 12:44:19", "lease_time": "2019-12-16 12:44:41", "need_pay_price": "", "overdue": "", "stages_value": "3期", "day_value": "10天", "supplier_data": { "contacts": "龙某人", "phone": "13111311123", "address": "广东省广州市天河区东圃盈科智谷3115" } } ] } ``` ----------------------------- ```php //未登录 { "code": 0, "msg": "获取成功", "time": "1576145141", "data": [] } ``` - 返回参数说明 |参数名|类型|说明| |:----- |:-----|----- | |order_id |int |订单id| |serial |string |订单号| |type |int |订单类型(1:买断订单,2:租赁订单)| |title |string |商品名称| |image_logo |string |商品缩略图| |attribute |array |商品规格| |price |string |商品价格 (租赁价格是按天)| |status |int |订单状态| |status_desc |string |订单状态明细| |lease_time |string |起租时间| |buy_time |string |付款时间| |need_pay_price |string |支付金额(一般是逾期时候会有值)| |overdue |string |逾期费| |stages_value |string |期数| |day_value |string |天数| |supplier_data |json |供货商信息| |failreason |string |驳回原因| - 订单状态说明(租赁订单为例) |状态码|说明| |:-----|-----| |0 |待审批| |1 |待付款| |2 |待发货| |3 |已发货| |4 |租用中| |5 |待结算| |6 |已完成| |7 |已逾期| |8 |已驳回| |9 |已取消| - 注意事项 ### 订单详情 -
测试
- 简要描述 * 订单详情(1:买断订单,2:租赁订单) - 请求URL >/api/order/orderdetail - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- order_id|int|**Y** |订单id - 返回示例(html页面) ```php //租赁订单 { "code": 0, "msg": "获取成功", "time": "1576826416", "data": { "leaseprice": "12.1", "stages": "3", "hire_starttime": "2019-12-16 12:44:41", "hire_endtime": "2019-12-25 23:59:59", "deposit": "4534", "stages_plan": [ { "stages": 1, "stages_desc": "第1期", "time": "2019-12-19 11:22:05", "status": 1, "status_desc": "已支付", "price": "0.48", "overdue": "0.36" }, { "stages": 2, "stages_desc": "第2期", "time": "2019-12-19 11:26:42", "status": 1, "status_desc": "已支付", "price": "0.12", "overdue": "0" }, { "stages": 3, "stages_desc": "第3期", "time": "2019-12-19 11:34:34", "status": 1, "status_desc": "已支付", "price": "0.12", "overdue": "0" } ], "surplus_price": "0", "surplus_capital": "0", "surplus_overdue": "0", "next_pay_time": "---", "damage": "1000", "supplier_data": { "contacts": "龙某人", "phone": "13111311123", "address": "广东省广州市天河区东圃盈科智谷3115" }, "stages_value": "3期", "day_value": "10天", "order_id": 14, "serial": "071967AeFcfa20191216124343", "type": 2, "title": "test", "image_logo": "/uploads/20191207/51fd68899789d94be264683491678dd2.jpg", "attribute": [ { "attr_name": "颜色", "attr_value": "红" }, { "attr_name": "型号", "attr_value": "xs" } ], "price": 1.21, "status": 6, "status_desc": "已完成", "add_time": "2019-12-16 12:43:43", "buy_time": "2019-12-16 12:44:19", "couriernumber": "sdfs6f156s1df6", "couriercode": null, "courier_time": "2019-12-16 12:44:26", "pay_style": 0, "pay_style_desc": "其他支付" } } //一口价订单 { "code": 0, "msg": "获取成功", "time": "1576221159", "data": [ { "order_id": 2, "serial": "sfaf3242", "type": 1, "title": "", "image_logo": "", "attribute": [], "price": "100", "status": 6, "status_desc": "已完成", "add_time": "2019-12-09 18:29:26", "buy_time": "2019-12-10 09:24:30", "courier_time": "2019-12-12 09:48:44", "pay_style": 0, "pay_style_desc": "其他支付" } ] } ``` -------------------------- ```php { "code": 2404, "msg": "系统错误", "time": "1576221218", "data": "" } ``` - 返回参数说明 |参数名|类型|说明| |:----- |:-----|----- | |leaseprice|string|总租金| |stages|string|分期总期数| |hire_starttime |string |起租时间| |hire_endtime |string |结束时间| |deposit |string |押金| |stages_plan |array |分期计划| |surplus_price |string |剩余总还款(还款本金+逾期费)| |surplus_capital |string |还款本金| |surplus_overdue |string |逾期费| |next_pay_time |string |下次还款时间| |damage |string |折损费用| |order_id |int |订单id| |serial |string |订单号| |type |int |订单类型(1:买断订单,2:租赁订单)| |title |string |商品名称| |image_logo |string |商品缩略图| |attribute |array |商品规格| |price |string |商品价格 (租赁价格是按天)| |status |int |订单状态| |status_desc |string |订单状态明细| |add_time |string |创建时间| |buy_time |string |付款时间| |couriernumber |string |发货单号| |courier_time |string |发货时间| |pay_style |int |支付类型| |pay_style_desc |string |支付类型明细| |supplier_data |json |供货商信息| |stages_value |string |期数| |day_value |string |天数| - 分期计划 |参数名|类型|说明| |:----- |:-----|----- | |stages|string|当前期数| |stages_desc|string|当前期数明细| |time |string |应还时间或付款时间| |status |int |付款状态(0:未支付,1:已支付,2:已取消)| |status_desc |string |付款状态明细| |price |string |总还款或总需还款 (含逾期费)| |overdue |string |逾期费| - 注意事项 ### 提交订单 -
测试
- 简要描述 * 全部订单(一口价订单,租赁订单,还有其他订单) - 请求URL >/api/order/publishorder - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- goods_id|int|**Y** |产品id specs_value|json|**Y** |商品规格json([{"attr_name":"颜色","attr_value":"红"},{"attr_name":"型号","attr_value":"xs"}]) number|int|**Y** |商品数量 rentday|int|**N** |商品租赁单元(租赁订单必传) rentunit|int|**N** |商品租赁单位(租赁订单必传) stagesnumber|int|**N** |租赁期数(租赁订单必传) isfullone|int|**Y** |是否一口价订单(区分是一口价还是租赁订单) address_id|int|**Y** |用户收货地址id remark|string|**N** |订单备注 - 返回示例(html页面) ```php { "code": 0, "msg": "提交成功", "time": "1576460201", "data": { "order_id": "13", "pay_price": "100", "type": 2, } { "code": 2007, "msg": "提交失败", "time": "1576459426", "data": null } //跳转到认证页面 { "code": 3333, "msg": "请先完成认证", "time": "1576459426", "data": null } ``` - 返回参数说明 |参数名|类型|说明| |:----- |:-----|----- | |order_id |int |订单id| |pay_price |string |需支付金额(售价*数量)租赁订单可忽略| |type |int |订单类型(1:买断订单,2:租赁订单)| - 注意事项 ### 支付前预处理 -
测试
- 简要描述 * 支付前获取数据(1、支付押金,2、一口价支付,3、支付租金,4、提前买断,5、续租) - 请求URL >/api/order/paybefothing - 请求方式 >POST - header请求参数 无 - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- pay_type|int|**Y** |请求类型(1、支付押金,2、一口价支付,3、支付租金,4、提前买断,5、续租,6、逾期支付) order_id|int|**Y** |订单id - 返回示例(html页面) ```php //类型1,2:获取押金或商品售价 { "code": 0, "msg": "操作成功", "time": "1576480470", "data": { "pay_price": "4534" } } //类型3:支付租金返回 { "code": 0, "msg": "操作成功", "time": "1576471511", "data": { "pay_price": 0.12, "alloverdue": 0, "stages_data": [ { "repay": "0.12", "overdue": "0" } ] } } //类型4:提前买断返回 { "code": 0, "msg": "操作成功", "time": "1576475452", "data": { "pay_price": "543.36" } } //类型5:续租 { "code": 0, "msg": "操作成功", "time": "1576480786", "data": { "relet_date": 7, "pay_price": 0.242 } } //类型6:逾期支付 { "code": 0, "msg": "操作成功", "time": "1577416854", "data": { "pay_price": "4.57", "alloverdue": 2.65, "stages_data": [ { "repay": "0.24", "overdue": "0.24" }, { "repay": "0.36", "overdue": "0.24" }, { "repay": "0.48", "overdue": "0.24" }, { "repay": "0.6", "overdue": "0.24" }, { "repay": "0.24", "overdue": "0.24" } ] } ``` -------- ```php { "code": "2008", "msg": "没有相关记录", "time": "1576471283", "data": null } ``` - 返回参数说明 //类型1,2:获取押金或商品售价 |参数名|类型|说明| |:----- |:-----|----- | |pay_price |string |押金或商品售价| //类型3:支付租金返回 |参数名|类型|说明| |:----- |:-----|----- | |pay_price |string |当前需支付租金总金额| |alloverdue |string |当前总逾期金额| |stages_data |string |当前每期需支付| //类型4:提前买断返回 |参数名|类型|说明| |:----- |:-----|----- | |pay_price |string |提前买断=到期买断价 + 剩下租赁租金| //类型5:续租 |参数名|类型|说明| |:----- |:-----|----- | |relet_date |int |续租天数| |pay_price |string |续租金额| //类型6:逾期支付 |参数名|类型|说明| |:----- |:-----|----- | |pay_price |string |当前需支付租金总金额| |alloverdue |string |当前总逾期金额| |stages_data |string |当前每期需支付| - 注意事项 ### 支付处理 -
测试
- 简要描述 * 支付处理 - 请求URL >/api/order/payafhandle - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- pay_type|int|**Y** |请求类型(1、支付押金,2、一口价支付,3、支付租金,4、提前买断,5、续租,6、逾期支付) order_id|int|**Y** |订单id pay_style|int|**Y** |支付方式,0:银行卡支付 bank_id|int|**Y** |银行卡id pay_password|int|**N** |支付密码 pay_price|int|**Y** |支付金额 - 返回示例(html页面) ``` //未测试 ``` - 返回参数说明 - 注意事项 ### 归还 -
测试
- 简要描述 * 归还处理 - 请求URL >/api/order/backgoods - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- order_id|int|**Y** |订单id stillnumber|string|**Y** |物流单号 stillcompany|string|**Y** |物流公司 stillcode|string|**Y** |物流编码 - 返回示例(html页面) ```php { "code": 0, "msg": "归还成功", "time": "1576492709", "data": null } ``` ------------ ```php { "code": 2015, "msg": "亲,还有尚未支付的订单", "time": "1576492518", "data": null } ``` - 返回参数说明 - 注意事项 ### 获取分期账单 -
测试
- 简要描述 * 我的(获取分期账单)要求是登录的用户 - 请求URL >/api/user/get_stages - 请求方式 >POST - header请求参数 无 - body请求参数 无 - 返回示例(html页面) ```php { "code": 0, "msg": "获取成功", "time": "1577773216", "data": { "current_money": "40.00", "surplus_money": "200.00", "no_read": 0, "order_id": 246, "pending_pay": 1, "pending_deliver": 1, "pending_receiving": 0, "pending_leased": 1, "pending_settle": 0, "pending_complete": 5, "pending_overdue": 0 } } ``` -------- ```php { "code": 130, "msg": "请登录后操作", "time": "1576725679", "data": null } ``` - 返回参数说明 |参数名|类型|说明| |:----- |:-----|----- | |current_money |string |本期应还(元)| |surplus_money |string |剩余应还(元)| |no_read |int |是否有未读,1:是,0:否| |order_id |int |订单id| |pending_pay |int |待付款| |pending_deliver |int |待发货| |pending_receiving |int |待收货| |pending_leased |int |租用中| |pending_settle |int |待结算| |pending_complete |int |已完成| |pending_overdue |int |已逾期| - 注意事项 ### 取消订单 -
测试
- 简要描述 * 取消订单 - 请求URL >/api/order/cancleorder - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- order_id|int|**Y**|订单id| - 返回示例(html页面) ```php { "code": 0, "msg": "操作成功", "time": "1576744463", "data": null } -------- { "code": 2015, "msg": "操作有误", "time": "1576725679", "data": null } ``` - 返回参数说明 - 注意事项 ### 订单物流即时查询(寄出和发回) -
测试
- 简要描述 * 订单物流即时查询(寄出和寄回) - 请求URL >/api/Express/getOrderShipper - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- orderid|int|**Y**|订单id| type|int|**Y**|类型:0.查询寄出物流 1.查询寄回物流| - 返回示例(html页面) ```php { "code": 0, "msg": "success", "time": "1578298924", "data": { "headtitle": "快递单号:SF1005751643068 (顺丰速运)", "traces": [ { "Action": "304", "AcceptStation": "已签收,感谢使用顺丰,期待再次为您服务(主单总件数:1件)", "AcceptTime": "2019-12-02 09:21:39", "Location": "广州市" }, { "Action": "301", "AcceptStation": "在官网\"运单资料&签收图\",可查看签收人信息", "AcceptTime": "2019-12-02 09:21:39", "Location": "广州市" }, ] } } -------- { "code": 2015, "msg": "操作有误", "time": "1576725679", "data": null } ``` - 返回参数说明 |参数名|类型|说明| |:----- |:-----|----- | |headtitle |string |顶部标题(包含物流公司与单号)| |Action |string |状态ID| |AcceptStation |string |描述| |AcceptTime |string |时间| |Location |string |城市| ### 定时任务(物流查询) -
测试
- 简要描述 * 物流查询(一口价订单,每天查询发货订单是否签收) * 每天12和18点,(\* 12,18 \* \* \*) - 请求URL >/admin/order/checkorder/crontab_logistics - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - 返回示例(html页面) ``` ``` - 返回参数说明 - 注意事项 ### 定时任务 发送通知短信(还租,到期,逾期) -
测试
- 简要描述 * 还租当天、前一天发送,逾期当天连续3天通知 * 每天14:00,(\* 14 \* \* \*) - 请求URL >/admin/order/checkorder/crontab_send - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - 返回示例(html页面) ``` ``` - 返回参数说明 - 注意事项 ### 定时任务:自动代扣(正常还款) -
测试
- 简要描述 * 当期应还金额不为0时,还款当天12点执行一次,执行金额为当期租金金额(无论是否扣款成功,仅执行一次) * 每天12点, (\* 12 \* \* \*) - 请求URL >/admin/order/checkorder/crontab_repay - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - 返回示例(html页面) ``` ``` - 返回参数说明 - 注意事项 ### 定时任务:自动代扣(逾期) -
测试
- 简要描述 * 执行一次扣款,执行金额为剩余应还全额(含逾期费用) * 每天0点,(0 0 \* \* \*) - 请求URL >/admin/order/checkorder/crontab_overdue_repay - 请求方式 >POST - header请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - body请求参数 字段 | 类型 |必须 | 说明 --------------------|-------|--------|----------- - 返回示例(html页面) ``` ``` - 返回参数说明 - 注意事项 ``` ```