用户模块
1. 通用接口
1.1 获取上传参数
- 接口地址
POST /v1/common/file/getUploadParams- 说明
此接口用在上传头像,先请求此接口获取上传参数,然后请求:file/localUpload 接口上传文件。
- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| module | string | Y | "avatar" | auth,lock_fingerprint,lock_identity_card,lock_keyboard_pwd,lock,lock_key,avatar |
| account | string | Y/N | "手机号码或邮箱" | module=auth 时必填:手机号码或邮箱 |
| userId | int | Y/N | 123 | module=avatar 时必填:用户ID |
| lockId | int | Y/N | 500 | module=lock 时必填:锁ID |
| fingerprintId | int | Y/N | 100 | module=lock_fingerprint 时必填:指纹ID |
| identityCardId | int | Y/N | 200 | module=lock_identity_card 时必填:IC卡ID |
| keyboardPwdId | int | Y/N | 300 | module=lock_keyboard_pwd 时必填:密码ID |
| keyId | int | Y/N | 400 | module=lock_key 时必填:钥匙ID |
| version | string | Y/N | "v0.0.1" | module=app 时必填 |
| platform | string | Y/N | "ios" | module=app 时必填:"ios"/"android" |
| filename | string | Y | "abc.jpg" | 文件名 |
| size | int | Y | 1024 | 文件字节数 |
- 返回结果
| 名称 | 类型 | 描述 |
|---|---|---|
| uploadUrl | string | 上传地址 |
| fileUrl | string | 文件地址(执行上传后可用) |
| formData | Object | 需要传递到上传地址的表单数据 |
| fileField | string | 文件在表单中的key |
1.2 验证码接口
- 接口地址
POST /v1/common/sendValidationCode- 说明
登录后可使用 sendValidationCodeAuth 接口,免图片滑动验证,只需要 channel,codeType 两个参数即可。
- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| countryCode | int | N | 86 | 手机号前缀 |
| account | string | Y | "13410577084" | 手机号 |
| channel | string | Y | "1" | 1 短信,2 邮箱 |
| codeType | int | Y | 3 | 1注册,2找回密码,3绑定手机号,4解绑手机(换绑),5删除账号,6 绑定邮箱,7解绑邮箱(换绑),8删除锁,9更改密码(无需旧密码)10验证码登录 |
- 返回结果
| 名称 | 类型 | 描述 |
|---|---|---|
| res | string | success |
2. 登录注册
2.1 密码/验证码登录
- 接口地址
POST /v1/user/login- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| platId | int | Y | 2 | 平台类型:1web 2app 3小程序 4pc |
| loginType | int | Y | 2 | 登录类型:1密码 2验证码 |
| countryCode | string | N | "86" | 国家码;默认+86 |
| phone | string | Y | "13410577084" | 手机号 |
| password | string | Y/N | "Tufeiax1" | 密码登录时必填;8~20位,至少包含数字/字母/符号中的2种 |
| verificationCode | string | Y/N | "111111" | 验证码登录时必填 |
| deviceInfo | object | N | {} | 设备信息 |
| deviceInfo.deviceNo | string | N | "AXH_444" | 设备编号 |
| deviceInfo.deviceName | string | N | "设备4" | 设备名称 |
- 返回示例
json
{
"error_code": 0,
"description": "success",
"error_msg": "success",
"data": {
"accessToken": "5|GDTOc5uVcTpX33tHbj5wJmks55tJxwDpVkmWztnhbd1945a7",
"userid": 5,
"expiresAt": "2025-05-14 15:34:01",
"mobile": "13410577084",
"headUrl": "https://ui-avatars.com/api/?name=13410577084&color=7F9CF5&background=EBF4FF",
"nickname": "biaobiao2",
"sex": 1
}
}2.2 账号注册
- 接口地址
POST /v1/user/register- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| platId | int | Y | 2 | 平台类型:1web 2app 3小程序 4pc |
| countryCode | string | N | "86" | 国家码;默认+86 |
| phone | string | Y | "13410577084" | 手机号 |
| password | string | Y | "Tufeiax1" | 密码;8~20位,至少包含数字/字母/符号中的2种 |
| verificationCode | string | Y | "111111" | 验证码 |
| deviceInfo | object | N | {} | 设备信息 |
| deviceInfo.deviceNo | string | N | "AXH_444" | 设备编号 |
| deviceInfo.deviceName | string | N | "设备4" | 设备名称 |
- 返回示例
json
{
"error_code": 0,
"description": "success",
"error_msg": "success",
"data": {
"accessToken": "5|GDTOc5uVcTpX33tHbj5wJmks55tJxwDpVkmWztnhbd1945a7",
"userid": 5,
"expiresAt": "2025-05-14 15:34:01",
"mobile": "13410577084",
"headUrl": "https://ui-avatars.com/api/?name=13410577084&color=7F9CF5&background=EBF4FF",
"nickname": "biaobiao2",
"sex": 1
}
}2.3 重置密码
- 接口地址
POST /v1/user/resetPassword- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| countryCode | string | N | "+86" | 区号,默认86 |
| account | string | Y | "13411111111" | 手机号 |
| verificationCode | int | Y | 123456 | 验证码 |
| newPassword | string | Y | "12345678" | 新密码 |
- 返回结果
无
3. 用户信息
3.1 修改密码
- 接口地址
POST /v1/user/changePassword- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| oldPassword | string | Y | "123456" | 旧密码 |
| password | string | Y | "12345678" | 新密码 |
- 返回结果
无
3.2 更新个人信息
- 接口地址
POST /v1/user/updateUserInfo- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| nickname | string | N | "biaobiao2" | 昵称 |
| sex | int | N | 2 | 性别1男2女0未知 |
| headUrl | string | N | "dafdaf" | 头像 |
- 返回结果
无
3.3 用户信息接口
- 接口地址
POST /v1/user/detail- 请求参数
无
- 返回示例
json
{
"error_code": 0,
"description": "success",
"error_msg": "success",
"data": {
"id": 2,
"countryCode": "+86",
"phone": "13410577084",
"nickname": "biaobiao",
"headUrl": "http://local.work.star-lock.cn/storage/https://ui-avatars.com/api/?name=StW_fdafd&color=7F9CF5&background=EBF4FF",
"createdAt": "2024-12-25 17:08:19"
}
}3.4 登出
- 接口地址
POST /v1/user/logout- 请求参数
无
- 返回结果
无
4. 门店
4.1 创建PMS
- 接口地址
POST /api/v1/pms/create- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| specification | int | Y | 10 | 规格 10基础版 20专业版 |
| name | string | Y | "pms-store名称" | pms-store名称 |
| type | int | Y | 1 | 常量:pms-store类型 |
| city | array | Y | [110000] | 城市 |
- 返回示例
json
{
"error_code": 0,
"error_msg": "",
"description": "",
"data": {}
}4.2 获取门店列表
- 接口地址
POST /api/v1/pms/list- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| page_no | int | N | 1 | 页码 |
| page_size | int | N | 10 | 每页数量 |
| search_str | string | N | "关键字" | 搜索关键字 |
- 返回示例
json
{
"error_code": 0,
"error_msg": "",
"description": "",
"data": {
"total": 1,
"list": [
{
"id": 1,
"name": "pms-store名称",
"type": 1,
"city": [110000],
"specification": 10
}
]
}
}4.3 获取PMS信息
- 接口地址
POST /api/v1/pms/pmsInfo- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| pms_id | int | N | 1 | pms-storeID |
- 返回结果
| 名称 | 类型 | 描述 |
|---|---|---|
| pms_id | int | pms-storeID |
| name | string | pms-store名称 |
| type | int | pms-store类型 |
| specification | int | 规格 10基础版 20专业版 |
| city | array | 城市 |
| address | string | 详细地址 |
| contact_name | string | 联系人 |
| contact_phone | string | 联系电话 |
| introduce | string | 介绍 |
| logo_url | string | logo |
| butler_qr_code_url | string | 服务员二维码 |
| public_qr_code_url | string | 公众号二维码 |
| service_type | int | 服务类型 |
| service_phone | string | 服务电话 |
| authorization_end_date | int | 授权截止日期 |
| affiliated_group_id | int | 所属集团ID |
| affiliated_group_name | string | 所属集团名称 |
| created_at | string | 创建时间 |
| setting | object | 设置 |
| setting.display_name_type | int | 展示名称类型 |
| setting.change_times | int | 允许pms信息变更次数 |
| setting.current_change_times | int | 当前已变更次数 |
- 返回示例
json
{
"error_code": 0,
"description": "success",
"error_msg": "success",
"data": {
"pms_id": 2,
"name": "PMS-1",
"type": 10,
"specification": 10,
"city": [110000],
"address": "",
"contact_name": "",
"contact_phone": "",
"introduce": "",
"logo_url": "",
"butler_qr_code_url": "",
"public_qr_code_url": "",
"service_type": 10,
"service_phone": "",
"authorization_end_date": 4102545599,
"affiliated_group_id": 0,
"affiliated_group_name": "",
"created_at": "2025-02-13 16:30:00",
"setting": {
"display_name_type": 10,
"change_times": 10,
"current_change_times": 0
}
}
}4.4 更新PMS信息
- 接口地址
POST /api/v1/pms/update- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| pms_id | int | Y | 1 | pms-storeID |
| name | string | Y | "pms-store名称" | pms-store名称 |
| display_name | string | Y | "PMS对外展示名称" | PMS对外展示名称 |
| city | array | Y | [110000] | 城市 |
| address | string | Y | "详细地址" | 详细地址 |
| service_type | int | Y | 10 | 客服类型 10:普通座机号 20:企业座机号 30:手机号码 |
| logo_url | string | N | "logo地址" | logo地址 |
| introduce | string | N | "介绍" | 介绍 |
| butler_qr_code_url | string | N | "服务员二维码" | 服务员二维码 |
| public_qr_code_url | string | N | "公众号二维码" | 公众号二维码 |
| service_phone | string | N | "服务电话" | 服务电话 |
- 返回示例
json
{
"error_code": 0,
"description": "success",
"error_msg": "success",
"data": {}
}5. 设置-门店设置
5.1 添加展示图
- 接口地址
POST /api/v1/pmsSetting/addPresentationImage- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| pms_id | int | Y | 1 | pms-storeID |
| url | string | Y | "图片地址" | 图片地址 |
- 返回示例
json
{
"error_code": 0,
"description": "success",
"error_msg": "success",
"data": {}
}5.2 删除展示图
- 接口地址
POST /api/v1/pmsSetting/deletePresentationImage- 请求参数
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| image_id | int | Y | 1 | 图片ID |
- 返回示例
json
{
"error_code": 0,
"description": "success",
"error_msg": "success",
"data": {}
}