feat: phone validation
Some checks failed
build quyun / Build (push) Failing after 1m25s

This commit is contained in:
2025-12-20 11:47:45 +08:00
parent fdbf26d751
commit 0e4af79b53
31 changed files with 1130 additions and 984 deletions

View File

@@ -95,7 +95,7 @@ const docTemplate = `{
"type": "object",
"properties": {
"items": {
"$ref": "#/definitions/models.Media"
"$ref": "#/definitions/models.Medium"
}
}
}
@@ -698,239 +698,37 @@ const docTemplate = `{
}
}
},
"/posts": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "作品列表",
"parameters": [
{
"type": "integer",
"name": "limit",
"in": "query"
},
{
"type": "integer",
"name": "page",
"in": "query"
},
{
"type": "string",
"name": "keyword",
"in": "query"
}
],
"responses": {
"200": {
"description": "成功",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"$ref": "#/definitions/http.PostItem"
}
}
}
]
}
}
}
}
},
"/posts/mine": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "我的已购作品",
"parameters": [
{
"type": "integer",
"name": "limit",
"in": "query"
},
{
"type": "integer",
"name": "page",
"in": "query"
},
{
"type": "string",
"name": "keyword",
"in": "query"
}
],
"responses": {
"200": {
"description": "成功",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"$ref": "#/definitions/http.PostItem"
}
}
}
]
}
}
}
}
},
"/posts/{id}/buy": {
"/v1/auth/{phone}": {
"post": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "购买作品",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "作品 ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "成功(余额支付返回 AppId=balance",
"schema": {
"$ref": "#/definitions/wechat.JSAPIPayParams"
}
}
}
}
},
"/posts/{id}/play": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "获取播放地址",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "作品 ID",
"name": "id",
"in": "path",
"required": true
}
"Auth"
],
"summary": "手机验证",
"responses": {
"200": {
"description": "成功",
"schema": {
"$ref": "#/definitions/http.PlayUrl"
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"$ref": "#/definitions/http.PostItem"
}
}
}
]
}
}
}
}
},
"/posts/{id}/show": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "作品详情",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "作品 ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "成功",
"schema": {
"$ref": "#/definitions/http.PostItem"
}
}
}
}
},
"/users/profile": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Users"
],
"summary": "获取个人信息",
"responses": {
"200": {
"description": "成功",
"schema": {
"$ref": "#/definitions/http.UserInfo"
}
}
}
}
},
"/users/username": {
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Users"
],
"summary": "修改用户名",
"parameters": [
{
"description": "请求体",
"name": "form",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/http.ProfileForm"
}
}
],
"responses": {
"200": {
"description": "成功",
"schema": {}
}
}
}
},
"/v1/medias/{id}": {
"post": {
"consumes": [
@@ -1008,6 +806,239 @@ const docTemplate = `{
}
}
}
},
"/v1/posts": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "作品列表",
"parameters": [
{
"type": "integer",
"name": "limit",
"in": "query"
},
{
"type": "integer",
"name": "page",
"in": "query"
},
{
"type": "string",
"name": "keyword",
"in": "query"
}
],
"responses": {
"200": {
"description": "成功",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"$ref": "#/definitions/http.PostItem"
}
}
}
]
}
}
}
}
},
"/v1/posts/mine": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "我的已购作品",
"parameters": [
{
"type": "integer",
"name": "limit",
"in": "query"
},
{
"type": "integer",
"name": "page",
"in": "query"
},
{
"type": "string",
"name": "keyword",
"in": "query"
}
],
"responses": {
"200": {
"description": "成功",
"schema": {
"allOf": [
{
"$ref": "#/definitions/requests.Pager"
},
{
"type": "object",
"properties": {
"items": {
"$ref": "#/definitions/http.PostItem"
}
}
}
]
}
}
}
}
},
"/v1/posts/{id}/buy": {
"post": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "购买作品",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "作品 ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "成功(余额支付返回 AppId=balance",
"schema": {
"$ref": "#/definitions/wechat.JSAPIPayParams"
}
}
}
}
},
"/v1/posts/{id}/play": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "获取播放地址",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "作品 ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "成功",
"schema": {
"$ref": "#/definitions/http.PlayUrl"
}
}
}
}
},
"/v1/posts/{id}/show": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Posts"
],
"summary": "作品详情",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "作品 ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "成功",
"schema": {
"$ref": "#/definitions/http.PostItem"
}
}
}
}
},
"/v1/users/profile": {
"get": {
"produces": [
"application/json"
],
"tags": [
"Users"
],
"summary": "获取个人信息",
"responses": {
"200": {
"description": "成功",
"schema": {
"$ref": "#/definitions/http.UserInfo"
}
}
}
}
},
"/v1/users/username": {
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Users"
],
"summary": "修改用户名",
"parameters": [
{
"description": "请求体",
"name": "form",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/http.ProfileForm"
}
}
],
"responses": {
"200": {
"description": "成功",
"schema": {}
}
}
}
}
},
"definitions": {
@@ -1097,7 +1128,7 @@ const docTemplate = `{
"medias": {
"type": "array",
"items": {
"$ref": "#/definitions/models.Media"
"$ref": "#/definitions/models.Medium"
}
},
"price": {
@@ -1335,7 +1366,7 @@ const docTemplate = `{
}
}
},
"models.Media": {
"models.Medium": {
"type": "object",
"properties": {
"created_at": {
@@ -1348,7 +1379,10 @@ const docTemplate = `{
"type": "integer"
},
"metas": {
"$ref": "#/definitions/types.JSONType-fields_MediaMetas"
"type": "array",
"items": {
"type": "integer"
}
},
"mime_type": {
"type": "string"
@@ -1441,6 +1475,9 @@ const docTemplate = `{
"open_id": {
"type": "string"
},
"phone": {
"type": "string"
},
"status": {
"$ref": "#/definitions/fields.UserStatus"
},
@@ -1552,9 +1589,6 @@ const docTemplate = `{
"types.JSONType-array_string": {
"type": "object"
},
"types.JSONType-fields_MediaMetas": {
"type": "object"
},
"types.JSONType-fields_OrderMeta": {
"type": "object"
},