Store模块 V2 新版接口文档
📋 概述
Store模块是AI数智员工系统的新版接口(V2),提供完整的用户认证、设备管理、数据统计等功能。
版本:V2.0
路径前缀:/v2/store/*
命名空间:app\store\*
🔐 认证接口
1. 账号密码登录
接口地址:POST /v2/store/auth/login
请求参数:
{
"account": "账号/手机号",
"password": "密码",
"typeId": 2,
"deviceId": "" // 可选,APP端传递设备ID
}
成功响应:
{
"code": 200,
"msg": "登录成功",
"data": {
"token": "40位token字符串",
"token_expired": 1707648000,
"member": {
"id": 1,
"userName": "账号",
"realName": "姓名",
"nickname": "昵称",
"avatar": "头像URL",
"companyId": 100,
"accountType": 0
}
}
}
2. 免密登录(设备ID)
接口地址:GET /v2/store/auth/login
请求参数:
?deviceId=设备IMEI
成功响应:同账号密码登录
3. 发送短信验证码 ✨ 新增
接口地址:POST /v2/store/auth/send-code
请求参数:
{
"mobile": "手机号",
"type": "login" // login/register/reset
}
成功响应:
{
"code": 200,
"msg": "验证码发送成功",
"data": {
"expire_time": 300,
"mobile": "138****5678"
}
}
功能说明:
- ✅ 支持阿里云短信服务
- ✅ 60秒发送频率限制
- ✅ 验证码5分钟有效期
- ✅ 开发模式自动记录验证码到日志
4. 手机验证码登录 ✨ 新增
接口地址:POST /v2/store/auth/mobile-login
请求参数:
{
"mobile": "手机号",
"code": "验证码",
"is_encrypted": false
}
成功响应:
{
"code": 200,
"msg": "登录成功",
"data": {
"token": "40位token字符串",
"token_expired": 1707648000,
"userInfo": {
"id": 1,
"username": "手机号",
"mobile": "手机号",
"nickname": "用户5678",
"avatar": "",
"companyId": 0,
"accountType": 0
}
}
}
功能说明:
- ✅ 自动注册新用户(首次登录)
- ✅ 验证码验证后自动失效
- ✅ 返回用户信息和token
⚙️ 配置说明
阿里云短信配置
配置文件:config/aliyun_sms.php
return [
'access_key_id' => env('ALIYUN_SMS_ACCESS_KEY_ID', ''),
'access_key_secret' => env('ALIYUN_SMS_ACCESS_KEY_SECRET', ''),
'sign_name' => env('ALIYUN_SMS_SIGN_NAME', 'AI数智员工'),
'template_code' => env('ALIYUN_SMS_TEMPLATE_CODE', 'SMS_123456789'),
'region_id' => env('ALIYUN_SMS_REGION_ID', 'cn-hangzhou'),
'dev_mode' => env('APP_DEBUG', false),
];
环境变量配置(.env文件):
# 阿里云短信配置
ALIYUN_SMS_ACCESS_KEY_ID=your_access_key_id
ALIYUN_SMS_ACCESS_KEY_SECRET=your_access_key_secret
ALIYUN_SMS_SIGN_NAME=AI数智员工
ALIYUN_SMS_TEMPLATE_CODE=SMS_123456789
📊 数据库依赖
必需表
-
company_account - 公司账号表
- 字段:id, userName, mobile, passwordMd5, companyId, accountType, etc.
-
device - 设备表
- 字段:id, deviceImei, companyId, alive, etc.
-
operation_log - 操作日志表(可选)
- 字段:accountId, deviceId, action, message, ip, createTime
🔄 版本对比
| 功能 | V1 (旧版) | V2 (新版) |
|---|---|---|
| 账号密码登录 | /v1/auth/login |
/v2/store/auth/login |
| 免密登录 | /v1/store/login |
/v2/store/auth/login (GET) |
| 手机验证码登录 | ❌ 不支持 | ✅ /v2/store/auth/mobile-login |
| 发送验证码 | ❌ 不支持 | ✅ /v2/store/auth/send-code |
| 自动注册 | ❌ 不支持 | ✅ 支持 |
🚀 快速开始
1. 配置阿里云短信
- 登录阿里云控制台
- 开通短信服务
- 创建签名和模板
- 获取AccessKey
- 配置到
.env文件
2. 测试接口
发送验证码:
curl -X POST https://yi.54word.com/v2/store/auth/send-code \
-H "Content-Type: application/json" \
-d '{"mobile":"13800138000","type":"login"}'
验证码登录:
curl -X POST https://yi.54word.com/v2/store/auth/mobile-login \
-H "Content-Type: application/json" \
-d '{"mobile":"13800138000","code":"123456"}'
📝 开发模式
未配置阿里云密钥时,系统自动进入开发模式:
- ✅ 不实际发送短信
- ✅ 验证码记录到日志文件
- ✅ 验证码固定为 6 位随机数
- ✅ 可在日志中查看验证码
查看日志:
tail -f runtime/log/202602/05.log
🔒 安全建议
- 生产环境必须配置真实的阿里云密钥
- Token应使用JWT标准(当前为简化版)
- 建议添加图形验证码防止恶意刷验证码
- 建议添加IP限流防止暴力破解
- 密码传输建议使用RSA加密
📞 技术支持
如有问题,请联系技术团队。