✨ add jwt / complete the rotation verification
This commit is contained in:
335
docs/docs.go
335
docs/docs.go
@@ -162,6 +162,341 @@ const docTemplate = `{
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/auth/user/register": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"鉴权模块"
|
||||
],
|
||||
"summary": "用户注册",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "用户信息",
|
||||
"name": "user",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ScaAuthUser"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/rotate/check": {
|
||||
"post": {
|
||||
"description": "验证旋转验证码",
|
||||
"tags": [
|
||||
"旋转验证码"
|
||||
],
|
||||
"summary": "验证旋转验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码角度",
|
||||
"name": "angle",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码key",
|
||||
"name": "key",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/rotate/get": {
|
||||
"get": {
|
||||
"description": "生成旋转验证码",
|
||||
"tags": [
|
||||
"旋转验证码"
|
||||
],
|
||||
"summary": "生成旋转验证码",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/shape/check": {
|
||||
"get": {
|
||||
"description": "验证点击形状验证码",
|
||||
"tags": [
|
||||
"点击形状验证码"
|
||||
],
|
||||
"summary": "验证点击形状验证码",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/shape/get": {
|
||||
"get": {
|
||||
"description": "生成点击形状验证码",
|
||||
"tags": [
|
||||
"点击形状验证码"
|
||||
],
|
||||
"summary": "生成点击形状验证码",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/shape/slide/check": {
|
||||
"get": {
|
||||
"description": "验证点击形状验证码",
|
||||
"tags": [
|
||||
"点击形状验证码"
|
||||
],
|
||||
"summary": "验证点击形状验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "点击坐标",
|
||||
"name": "point",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码key",
|
||||
"name": "key",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/shape/slide/region/get": {
|
||||
"get": {
|
||||
"description": "验证点击形状验证码",
|
||||
"tags": [
|
||||
"点击形状验证码"
|
||||
],
|
||||
"summary": "验证点击形状验证码",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/text/check": {
|
||||
"get": {
|
||||
"description": "验证基础文字验证码",
|
||||
"tags": [
|
||||
"基础文字验证码"
|
||||
],
|
||||
"summary": "验证基础文字验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码",
|
||||
"name": "captcha",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码key",
|
||||
"name": "key",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/text/get": {
|
||||
"get": {
|
||||
"description": "生成基础文字验证码",
|
||||
"tags": [
|
||||
"基础文字验证码"
|
||||
],
|
||||
"summary": "生成基础文字验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码类型",
|
||||
"name": "type",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/sms/ali/send": {
|
||||
"get": {
|
||||
"description": "发送短信验证码",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"短信验证码"
|
||||
],
|
||||
"summary": "发送短信验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "手机号",
|
||||
"name": "phone",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {}
|
||||
}
|
||||
},
|
||||
"/api/sms/smsbao/send": {
|
||||
"get": {
|
||||
"description": "发送短信验证码",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"短信验证码"
|
||||
],
|
||||
"summary": "发送短信验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "手机号",
|
||||
"name": "phone",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"model.ScaAuthUser": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"avatar": {
|
||||
"description": "头像",
|
||||
"type": "string"
|
||||
},
|
||||
"blog": {
|
||||
"description": "博客",
|
||||
"type": "string"
|
||||
},
|
||||
"company": {
|
||||
"description": "公司",
|
||||
"type": "string"
|
||||
},
|
||||
"created_by": {
|
||||
"description": "创建人",
|
||||
"type": "string"
|
||||
},
|
||||
"created_time": {
|
||||
"description": "创建时间",
|
||||
"type": "string"
|
||||
},
|
||||
"email": {
|
||||
"description": "邮箱",
|
||||
"type": "string"
|
||||
},
|
||||
"gender": {
|
||||
"description": "性别",
|
||||
"type": "string"
|
||||
},
|
||||
"introduce": {
|
||||
"description": "介绍",
|
||||
"type": "string"
|
||||
},
|
||||
"location": {
|
||||
"description": "地址",
|
||||
"type": "string"
|
||||
},
|
||||
"nickname": {
|
||||
"description": "昵称",
|
||||
"type": "string"
|
||||
},
|
||||
"phone": {
|
||||
"description": "电话",
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "状态 0 正常 1 封禁",
|
||||
"type": "integer"
|
||||
},
|
||||
"update_by": {
|
||||
"description": "更新人",
|
||||
"type": "string"
|
||||
},
|
||||
"update_time": {
|
||||
"description": "更新时间",
|
||||
"type": "string"
|
||||
},
|
||||
"username": {
|
||||
"description": "用户名",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "唯一ID",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`
|
||||
|
@@ -151,6 +151,341 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/auth/user/register": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"鉴权模块"
|
||||
],
|
||||
"summary": "用户注册",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "用户信息",
|
||||
"name": "user",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/model.ScaAuthUser"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/rotate/check": {
|
||||
"post": {
|
||||
"description": "验证旋转验证码",
|
||||
"tags": [
|
||||
"旋转验证码"
|
||||
],
|
||||
"summary": "验证旋转验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码角度",
|
||||
"name": "angle",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码key",
|
||||
"name": "key",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/rotate/get": {
|
||||
"get": {
|
||||
"description": "生成旋转验证码",
|
||||
"tags": [
|
||||
"旋转验证码"
|
||||
],
|
||||
"summary": "生成旋转验证码",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/shape/check": {
|
||||
"get": {
|
||||
"description": "验证点击形状验证码",
|
||||
"tags": [
|
||||
"点击形状验证码"
|
||||
],
|
||||
"summary": "验证点击形状验证码",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/shape/get": {
|
||||
"get": {
|
||||
"description": "生成点击形状验证码",
|
||||
"tags": [
|
||||
"点击形状验证码"
|
||||
],
|
||||
"summary": "生成点击形状验证码",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/shape/slide/check": {
|
||||
"get": {
|
||||
"description": "验证点击形状验证码",
|
||||
"tags": [
|
||||
"点击形状验证码"
|
||||
],
|
||||
"summary": "验证点击形状验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "点击坐标",
|
||||
"name": "point",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码key",
|
||||
"name": "key",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/shape/slide/region/get": {
|
||||
"get": {
|
||||
"description": "验证点击形状验证码",
|
||||
"tags": [
|
||||
"点击形状验证码"
|
||||
],
|
||||
"summary": "验证点击形状验证码",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/text/check": {
|
||||
"get": {
|
||||
"description": "验证基础文字验证码",
|
||||
"tags": [
|
||||
"基础文字验证码"
|
||||
],
|
||||
"summary": "验证基础文字验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码",
|
||||
"name": "captcha",
|
||||
"in": "query",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码key",
|
||||
"name": "key",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/captcha/text/get": {
|
||||
"get": {
|
||||
"description": "生成基础文字验证码",
|
||||
"tags": [
|
||||
"基础文字验证码"
|
||||
],
|
||||
"summary": "生成基础文字验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "验证码类型",
|
||||
"name": "type",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/sms/ali/send": {
|
||||
"get": {
|
||||
"description": "发送短信验证码",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"短信验证码"
|
||||
],
|
||||
"summary": "发送短信验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "手机号",
|
||||
"name": "phone",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {}
|
||||
}
|
||||
},
|
||||
"/api/sms/smsbao/send": {
|
||||
"get": {
|
||||
"description": "发送短信验证码",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"短信验证码"
|
||||
],
|
||||
"summary": "发送短信验证码",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "手机号",
|
||||
"name": "phone",
|
||||
"in": "query",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"model.ScaAuthUser": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"avatar": {
|
||||
"description": "头像",
|
||||
"type": "string"
|
||||
},
|
||||
"blog": {
|
||||
"description": "博客",
|
||||
"type": "string"
|
||||
},
|
||||
"company": {
|
||||
"description": "公司",
|
||||
"type": "string"
|
||||
},
|
||||
"created_by": {
|
||||
"description": "创建人",
|
||||
"type": "string"
|
||||
},
|
||||
"created_time": {
|
||||
"description": "创建时间",
|
||||
"type": "string"
|
||||
},
|
||||
"email": {
|
||||
"description": "邮箱",
|
||||
"type": "string"
|
||||
},
|
||||
"gender": {
|
||||
"description": "性别",
|
||||
"type": "string"
|
||||
},
|
||||
"introduce": {
|
||||
"description": "介绍",
|
||||
"type": "string"
|
||||
},
|
||||
"location": {
|
||||
"description": "地址",
|
||||
"type": "string"
|
||||
},
|
||||
"nickname": {
|
||||
"description": "昵称",
|
||||
"type": "string"
|
||||
},
|
||||
"phone": {
|
||||
"description": "电话",
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "状态 0 正常 1 封禁",
|
||||
"type": "integer"
|
||||
},
|
||||
"update_by": {
|
||||
"description": "更新人",
|
||||
"type": "string"
|
||||
},
|
||||
"update_time": {
|
||||
"description": "更新时间",
|
||||
"type": "string"
|
||||
},
|
||||
"username": {
|
||||
"description": "用户名",
|
||||
"type": "string"
|
||||
},
|
||||
"uuid": {
|
||||
"description": "唯一ID",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,3 +1,55 @@
|
||||
definitions:
|
||||
model.ScaAuthUser:
|
||||
properties:
|
||||
avatar:
|
||||
description: 头像
|
||||
type: string
|
||||
blog:
|
||||
description: 博客
|
||||
type: string
|
||||
company:
|
||||
description: 公司
|
||||
type: string
|
||||
created_by:
|
||||
description: 创建人
|
||||
type: string
|
||||
created_time:
|
||||
description: 创建时间
|
||||
type: string
|
||||
email:
|
||||
description: 邮箱
|
||||
type: string
|
||||
gender:
|
||||
description: 性别
|
||||
type: string
|
||||
introduce:
|
||||
description: 介绍
|
||||
type: string
|
||||
location:
|
||||
description: 地址
|
||||
type: string
|
||||
nickname:
|
||||
description: 昵称
|
||||
type: string
|
||||
phone:
|
||||
description: 电话
|
||||
type: string
|
||||
status:
|
||||
description: 状态 0 正常 1 封禁
|
||||
type: integer
|
||||
update_by:
|
||||
description: 更新人
|
||||
type: string
|
||||
update_time:
|
||||
description: 更新时间
|
||||
type: string
|
||||
username:
|
||||
description: 用户名
|
||||
type: string
|
||||
uuid:
|
||||
description: 唯一ID
|
||||
type: string
|
||||
type: object
|
||||
info:
|
||||
contact: {}
|
||||
paths:
|
||||
@@ -96,4 +148,178 @@ paths:
|
||||
summary: 根据uuid查询用户
|
||||
tags:
|
||||
- 鉴权模块
|
||||
/api/auth/user/register:
|
||||
post:
|
||||
parameters:
|
||||
- description: 用户信息
|
||||
in: body
|
||||
name: user
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/model.ScaAuthUser'
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 用户注册
|
||||
tags:
|
||||
- 鉴权模块
|
||||
/api/captcha/rotate/check:
|
||||
post:
|
||||
description: 验证旋转验证码
|
||||
parameters:
|
||||
- description: 验证码角度
|
||||
in: query
|
||||
name: angle
|
||||
required: true
|
||||
type: string
|
||||
- description: 验证码key
|
||||
in: query
|
||||
name: key
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 验证旋转验证码
|
||||
tags:
|
||||
- 旋转验证码
|
||||
/api/captcha/rotate/get:
|
||||
get:
|
||||
description: 生成旋转验证码
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 生成旋转验证码
|
||||
tags:
|
||||
- 旋转验证码
|
||||
/api/captcha/shape/check:
|
||||
get:
|
||||
description: 验证点击形状验证码
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 验证点击形状验证码
|
||||
tags:
|
||||
- 点击形状验证码
|
||||
/api/captcha/shape/get:
|
||||
get:
|
||||
description: 生成点击形状验证码
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 生成点击形状验证码
|
||||
tags:
|
||||
- 点击形状验证码
|
||||
/api/captcha/shape/slide/check:
|
||||
get:
|
||||
description: 验证点击形状验证码
|
||||
parameters:
|
||||
- description: 点击坐标
|
||||
in: query
|
||||
name: point
|
||||
required: true
|
||||
type: string
|
||||
- description: 验证码key
|
||||
in: query
|
||||
name: key
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 验证点击形状验证码
|
||||
tags:
|
||||
- 点击形状验证码
|
||||
/api/captcha/shape/slide/region/get:
|
||||
get:
|
||||
description: 验证点击形状验证码
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 验证点击形状验证码
|
||||
tags:
|
||||
- 点击形状验证码
|
||||
/api/captcha/text/check:
|
||||
get:
|
||||
description: 验证基础文字验证码
|
||||
parameters:
|
||||
- description: 验证码
|
||||
in: query
|
||||
name: captcha
|
||||
required: true
|
||||
type: string
|
||||
- description: 验证码key
|
||||
in: query
|
||||
name: key
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 验证基础文字验证码
|
||||
tags:
|
||||
- 基础文字验证码
|
||||
/api/captcha/text/get:
|
||||
get:
|
||||
description: 生成基础文字验证码
|
||||
parameters:
|
||||
- description: 验证码类型
|
||||
in: query
|
||||
name: type
|
||||
required: true
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
type: string
|
||||
summary: 生成基础文字验证码
|
||||
tags:
|
||||
- 基础文字验证码
|
||||
/api/sms/ali/send:
|
||||
get:
|
||||
description: 发送短信验证码
|
||||
parameters:
|
||||
- description: 手机号
|
||||
in: query
|
||||
name: phone
|
||||
required: true
|
||||
type: string
|
||||
produces:
|
||||
- application/json
|
||||
responses: {}
|
||||
summary: 发送短信验证码
|
||||
tags:
|
||||
- 短信验证码
|
||||
/api/sms/smsbao/send:
|
||||
get:
|
||||
description: 发送短信验证码
|
||||
parameters:
|
||||
- description: 手机号
|
||||
in: query
|
||||
name: phone
|
||||
required: true
|
||||
type: string
|
||||
produces:
|
||||
- application/json
|
||||
responses: {}
|
||||
summary: 发送短信验证码
|
||||
tags:
|
||||
- 短信验证码
|
||||
swagger: "2.0"
|
||||
|
Reference in New Issue
Block a user