Skip to content

Latest commit

 

History

History
229 lines (193 loc) · 5.85 KB

File metadata and controls

229 lines (193 loc) · 5.85 KB

江苏省住院医师规范化培训管理平台 - API 文档

基础信息

项目 APP端 微信小程序端
域名 jsapp.ezhupei.com jswx.ezhupei.com
API基础路径 /pdapp/res/jswjw/ /pdapp/res/jswjw/wx/
认证方式 userFlow 参数(登录获取) token 头 + SESSION/Admin-Token Cookie
内容类型 application/x-www-form-urlencoded; charset=UTF-8 同左
登录方式 账号密码 微信OAuth

APP端接口详情

1. 登录 /login

POST https://jsapp.ezhupei.com/pdapp/res/jswjw/login

请求参数:

参数名 类型 必填 说明
userCode String 用户名
userPasswd String 密码
uuid String 设备UUID(首次生成后持久化保存)
systemName String 固定值 "android"
versionNumber String APP版本号,如 "2.0.47"

成功响应 (resultId=200):

{
  "resultId": 200,
  "resultType": "success",
  "dataCount": 0,
  "userInfo": {
    "userFlow": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "userName": "张三",
    "userPhone": "138****0000",
    "userSex": "",
    "roleId": "Student",
    "roleName": "学员",
    "deptFlow": "xxx",
    "deptName": "内科",
    "orgFlow": "BYYXXXXXXX",
    "orgName": "XX市人民医院",
    "token": "a1b2c3d4...",
    "isZJ": "Y",
    "isChargeOrg": "N",
    "isVerify": "Y",
    "isNdks": "N",
    "startDate": "2024-09-01",
    "endDate": "2026-08-31",
    "trainingYears": "TwoYear",
    "trainingSpeName": "助理全科",
    "trainingDays": "730",
    "schDays": "300",
    "schProgress": "41",
    "sessionNumber": "2024"
  },
  "depts": [
    { "deptFlow": "xxx", "deptName": "内科" }
  ],
  "roles": [
    { "roleId": "Student", "roleName": "学员" }
  ],
  "isStrongPasswd": "Y",
  "isRecruit": "N",
  "hasNotReadInfo": "Y"
}

失败响应:

{
  "resultId": 500,
  "resultType": "用户名或密码错误"
}

登录后 userFlow 是后续所有接口的认证凭据,作为参数传递。


2. 获取签到状态 /studentSignIn

POST https://jsapp.ezhupei.com/pdapp/res/jswjw/studentSignIn

请求参数:

参数名 类型 必填 说明
userFlow String 登录后获取的用户唯一标识

响应:

{
  "resultId": 200,
  "resultType": "success",
  "count": 0,                          // 当日已签到次数, 0=未签到
  "workingDaySign": "Y",               // "Y"=工作日, "N"=非工作日
  "nowDay": "2026-06-12",              // 当前日期
  "orgFlow": "BYYXXXXXXX",
  "orgName": "XX市人民医院",
  "signList": [                        // 当日签到记录
    {
      "attendLocal": "江苏省XX市XXX",
      "attendTime": "08:30",
      "order": 1,
      "selfRemarks": ""
    }
  ],
  "orgAddresses": [                    // 允许签到的机构地址(APP端仅用于客户端校验)
    {
      "latitude": "32.xxxx",
      "longitude": "119.xxxx",
      "orgAddress": "XX市人民医院",
      "scopeLength": "500",            // 允许范围(米)
      "isRange": true
    }
  ]
}

APP端的位置校验在客户端完成(Haversine公式计算距离),服务端不校验坐标。


3. 提交签到 /saveSignIn

POST https://jsapp.ezhupei.com/pdapp/res/jswjw/saveSignIn

请求参数:

参数名 类型 必填 说明
userFlow String 用户唯一标识
date String 签到日期,格式:2026-06-12
time String 签到时间,格式:HH:mm
local String 签到地点文字描述
remark String 备注,可为空
workingDaySign String "Y"=工作日, "N"=非工作日

注意:APP端 不需要 lng/lat 参数,位置校验在客户端完成。

成功响应:

{
  "resultId": 200,
  "resultType": "success",
  "dataCount": 0
}

失败响应:

{
  "resultId": 500,
  "resultType": "错误信息"
}

4. 版本检查 /version

GET https://jsapp.ezhupei.com/pdapp/res/jswjw/version

响应:

{
  "resultId": 200,
  "data": {
    "androidVersion": "2.0.47",
    "androidVersionCode": "2047",
    "androidURL": "https://xxx/jszp.apk",
    "onlineCountNum": "123",
    "updateDesc": "更新说明"
  }
}

微信小程序端接口(参考)

基础信息

  • 域名: jswx.ezhupei.com
  • 路径前缀: /pdapp/res/jswjw/wx/
  • 认证: token 请求头 + SESSION/Admin-Token Cookie
  • 微信AppID: wxXXXXXXXXXXXXXXXX

获取AppID

POST https://jswx.ezhupei.com/pdapp/api/wx/appid

响应: {"msg":"get appid successfully","code":"200","data":"wxXXXXXXXXXXXXXXXX"}

获取签到状态 /wx/studentSignIn

与APP端相同,但需要 token 头和 Cookie 认证。

提交签到 /wx/saveSignIn

与APP端的关键差异:

参数 小程序 APP
workingDaySign 工作日/非工作日 Y/N
date格式 2026年06月12日 2026-06-12
lng/lat 必填(服务端校验) 不需要

APP端 vs 小程序端 接口差异汇总

差异项 APP端 微信小程序端
域名 jsapp.ezhupei.com jswx.ezhupei.com
路径前缀 /pdapp/res/jswjw/ /pdapp/res/jswjw/wx/
认证方式 userFlow 参数 token 头 + Cookie
登录方式 账号密码 微信OAuth
workingDaySign "Y"/"N" "工作日"/"非工作日"
date格式 2026-06-12 2026年06月12日
经纬度参数 不需要 必填 lng/lat
位置校验 客户端校验 服务端校验