[关闭]
@lina 2018-12-24T16:49:25.000000Z 字数 5176 阅读 270

志愿医生 2.0 后台接口文档

列表项
志愿医生 2.0 后台

1、项目约定

1.1 基本约定

1.1.1 API Base Url

1.1.2 鉴权字段(身份标识)

  • X-auth-token : [string] 登录后获取的 token 信息, 取window.token 请求头带此字段

1.1.3 HTTP请求中字段要求

  • POST请求Content-Type为:Content-Type:application/x-www-form-urlencoded
  • 文件上传时Content-Type为:Content-Type:multipart/form-data
  • 对于:Content-Type:application/json:Content-Type:application/xml不保证完全支持,请谨慎使用

1.2 通用接口

1.2.1 通用接口URL

1.2.2 上传图片

通用图片上传文件服务

请求URL

POST
/image

请求参数

  • file : 文件

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. url: 'http://xxx'
  5. }
  6. }
  • url : [string] 文件的访问URL

1.2.3 验证码图片

注:请求图片时,需解析图片的cookie,不然无法认证

GET
/captcha

1.2.4 发送短信

POST
/verifycode

请求参数

  • captcha_code : [string] 图形验证码
  • phone : [string] 手机号

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. }
  5. }

1.3 通用响应字段

1.3.1 状态字段

  • status: [int] 服务器状态码,0 为正常状态,异常状态待定。
  • msg:[string] 返回的信息,但 status 不为 0 时返回错误信息

1.3.2 数据字段

  • data: [object] 数据字段,所有响应数据都在此字段中
  • list: [array],当返回数据为列表时会将数据放在该字段

1.3.3 分页字段

  • page: [int] 当前页码,默认为1
  • total: [int] 总页数
  • pageSize: [int]
    每页数量:本项目常用page_size==10

示例

  1. {
  2. status: 0,
  3. msg: '',
  4. data: {
  5. list: [{
  6. key: value
  7. }],
  8. pagination: {
  9. pageSize: 10,
  10. total: 23
  11. }
  12. }
  13. }

2、数据结构

2.1 常用字段含义

2.1.1 性别字段

sex:[int]

0: 未知
1: 男
2: 女

2.1.2 审核状态

verify_status:[int]

0: 审核中
1: 通过
2: 驳回

2.1.3 是否启用状态

status: [int]

0:未启用
1:启用

2.1.3 订单状态

status: [int]

0:待抢单
1:已抢单
2:已拒绝

2.2 核心结构

2.2.1 组织信息

  1. {
  2. id: 123,
  3. name: 'xx组织',
  4. logo: "imgae_url",
  5. abstract: "xxxx",
  6. contact_user: "xxxx",
  7. contact_phone: "xxxx",
  8. email: "xx",
  9. doctor_num: 12,
  10. project_num: 13,
  11. patient_count: 100,
  12. service_time: 100.0,
  • id: [integer] ID
  • name: [string] 医院名称
  • logo: [string] logo
  • abstract: [string] 组织简介
  • contact_user: [string] 联系人
  • contact_phone: [string] 联系人电话
  • email: [string] 联系人邮箱
  • doctor_num: [string] 义诊医生
  • project_num: [string] 义诊活动
  • patient_count: [string] 义诊人次
  • service_time: [string] 义诊服务时长

2.2.1 专题活动信息

  1. {
  2. id: 123,
  3. date: "2018-03-01",
  4. begin: '09:00:00',
  5. end: '11:00:00',
  6. people_count: 20,
  7. join_people_count: 13,
  8. addr: "地点",
  9. lng: "127.000000",
  10. lat: "39.00000",
  11. abstract: "活动简介",
  12. photo: "活动url"
  13. price: 50,
  14. status: 1,
  15. progress_status: 1,
  16. service_target: ['老年人'],
  17. hospital_info: @医院信息,
  18. org_info: @组织信息,
  19. project_status: 1,
  20. join_user: [@患者信息],
  • id: [integer] ID
  • date: [string] 义诊日期
  • begin: [string] 义诊开始时间
  • end: [string] 义诊结束时间
  • people_count: [integer] 人数
  • join_people_count: [integer] 参加人数
  • addr: [string] 地址
  • lng: [string] 经度
  • lat: [string] 纬度
  • abstract: [string] 专题活动简介
  • photo: [string] 专题活动图片url
  • price: [integet] 押金
  • progress_status: [integer] 活动状态 1可预约 2已约满 3已结束
  • service_target: [array] 服务对象
  • hospital_info: [string] 医院信息
  • org_info: [object] 组织信息
  • project_status: [int] 义诊状态 1待出诊 2出诊中 3已结束
  • join_user: [array] 加入的用户

3、接口列表

3.1 组织接口

3.1.1 组织列表

请求URL

GET
/org

请求参数

  • keyword: [string] 关键字搜索组织名称 【非必填】
  • page: [string] 当前页数 【必填】
  • pageSize: [string] 每页数量【非必填】

响应

  1. {
  2. "status": 0,
  3. "msg": "",
  4. "data":{
  5. list: [
  6. @组织基本信息
  7. ],
  8. @分页信息
  9. }
  10. }

3.1.2 组织编辑 (启用禁用也用这个接口)

请求URL

PUT
/org/${id}

请求参数
只有一下几个字段可以编辑

  • name: 'xx组织',
  • logo: "imgae_url",
  • abstract: "xxxx",
  • contact_user: "imgae_url",
  • contact_phone: "xxxx",
  • email: "xxxx"
  • password: "xxxx"

响应

  1. {
  2. "status": 0,
  3. "msg": "保存成功",
  4. "data": null
  5. }

3.1.3 新建组织接口

请求URL

POST
/org

请求参数

  • name: 'xx组织',
  • logo: "imgae_url",
  • abstract: "xxxx",
  • contact_user: "imgae_url",
  • contact_phone: "xxxx",
  • email: "xxxx",
  • username: "xxxx",
  • password: "xxxx",

响应

  1. {
  2. "status": 0,
  3. "msg": "保存成功",
  4. "data": {
  5. @用户基本信息
  6. }
  7. }

3.1.4 admin用户主页返回机构总数

请求URL

GET
/homepage

请求参数

响应

  1. {
  2. "status": 0,
  3. "data":{
  4. @在原来基础上,添加org_count
  5. org_count: 12,
  6. },
  7. "msg": ""
  8. }

3.1.5 组织管理员登录后台相应需要修改的地方

  1. 登录后添加org这种登录角色(储存在localstorage里),原来只有admin/user和guest三种
  2. 组织只能查看医生,不能编辑医生(这点和医院管理员权限不太一样,需要注意)
  3. 组织不能对医助编辑以及状态变更(启用禁用、审核医助等操作)
  4. 组织首页数据展示只展示部分(具体见原型,字段名和原来是一样的)

3.2 专题活动接口

3.2.1 专题活动列表接口

请求URL

GET
/sp_project

请求参数

  • keyword: [string] 关键字搜索姓名、联系电话、证件号码 【非必填】
  • page: [string] 当前页数 【必填】
  • pageSize: [string] 每页数量【非必填】

响应

  1. {
  2. "status": 0,
  3. "msg": "",
  4. "data":{
  5. list: [
  6. @专题活动信息
  7. ],
  8. total: 123
  9. }
  10. }

3.2.2 专题活动新建

请求URL

POST
/sp_project

请求参数

  • date: 时间Y-m-d格式
  • begin: 时间H:i:s格式
  • end: 时间H:i:s格式
  • people_count: [integer] 人数
  • lng: [number] 经纬度
  • lat: [number] 经纬度
  • addr: [string] 地址
  • service_target: [array] 服务对象
  • price: [number] 金额
  • abstract: [string] 简介
  • photo: [string] 图片地址
  • name: [string] 活动名称
  • doctor_user_ids: [array] 医生user_id
  • org_id: [integer] 组织id(只有admin才需要)
  • hospital_id: [integer] 医院id(只有admin才需要,且和org_id只能有一个)

医院和组织选择的接口查看接口3.3.1

响应

  1. {
  2. "status": 0,
  3. "msg": "新建成功",
  4. "data": null
  5. }

3.2.3 专题活动状态变化(上架下架、取消、置顶操作)

请求URL

PUT
/sp_project/${id}

请求参数

  • is_recommend: [integer] 置顶、取消置顶0或者1
  • status: [integer] 上架下架0或者1
  • progress_status: [integer] 只能为4,表示取消

响应

  1. {
  2. "status": 0,
  3. "msg": "保存成功",
  4. "data": null
  5. }

3.2.4 专题活动详情接口

请求URL

GET
/sp_project/${id}

请求参数

响应

  1. {
  2. "status": 0,
  3. "msg": "保存成功",
  4. "data": {
  5. @专题活动信息
  6. }
  7. }

3.3 其他

3.3.1 获取所有医院、组织、医生

请求URL

GET
/select/hospital
/select/org
/select/doctor (该接口返回的id为医生的user_id,该接口可选参数有?org_id=22&hospital_id=3)

请求参数

响应

  1. {
  2. "status": 0,
  3. "msg": "",
  4. "data":[{
  5. id: 12
  6. name: "xx"
  7. }]
  8. }

3.3.2 区分组织审核医生列表和医院审核医生列表(admin权限下)

医院的审核医生列表接口和原来一样
组织的审核医生列表在原来的接口基础上加上org_tag=1参数,其他的一样

同理在审核的时候,组织的审核医生列表审核的时候,除了通过或者不通过参数外,还需要加上org_tag=1参数

3.3.3 创建义诊

请求URL

POST
/project

请求参数

  • date: 时间Y-m-d格式
  • begin: 时间H:i:s格式
  • end: 时间H:i:s格式
  • people_count: [integer] 人数
  • lng: [number] 经纬度
  • lat: [number] 经纬度
  • addr: [string] 地址
  • service_target: [array] 服务对象
  • price: [number] 金额
  • abstract: [string] 简介
  • photo: [string] 图片地址
  • doctor_user_id: [integer] 医生user_id
  • org_id: [integer] 组织id(只有admin才需要)
  • hospital_id: [integer] 医院id(只有admin才需要,且和org_id只能有一个)

医院和组织选择的接口查看接口3.3.1

响应

  1. {
  2. "status": 0,
  3. "msg": "新建成功",
  4. "data": null
  5. }

3.3.4 创建医生

只有admin和医院有权限
请求URL

POST
/doctor

请求参数
'hospital_id', 'departments', 'job_position', 'good_at', 'work_photo', 'email', 'province_id', 'city_id', 'county_id', 'addr', 'abstract', 'work_time','avatars', 'real_name', 'idno', 'phone'

  • idno: [string] 身份证 必填
  • phone: [string] 手机号 必填
  • work_photo: [array] 图片
  • work_time: [array] 工作时间
  • hospital_id: [integer] 医院id(只有admin才需要)

医院选择的接口查看接口3.3.1

响应

  1. {
  2. "status": 0,
  3. "msg": "新建成功",
  4. "data": null
  5. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注