{ "swagger": "2.0", "info": { "title": "用户服务", "version": "1.0.0" }, "basePath": "/", "paths": { "/dict/all": { "get": { "tags": [ "小程序接口" ], "summary": "获取所有字典数据(公开接口)", "description": "获取系统全部字典类型及其字典数据,供小程序C端使用。无需认证即可调用。返回格式与管理端 /admin/dict/all 一致。\n\n**字典层级说明**:\n- 每个元素包含 dictType(编码)、dictName(名称)、dataList(字典数据列表)\n- 前端通过 dictType 匹配业务字段,用 dataList 中的 dictValue/dictLabel 做翻译展示\n- 常用字典:order_status、product_status、id_card_type、gender、traveler_type、favorite_resource_type、footprint_resource_type\n", "operationId": "getAllDictUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«字典VO»»", "$ref": "#/definitions/统一响应结果«List«字典VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«字典VO»»", "$ref": "#/definitions/统一响应结果«List«字典VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/account": { "delete": { "tags": [ "小程序接口" ], "summary": "注销账号", "description": "永久注销当前用户账号(软删除)。注销后该账号的openid和手机号将被释放,可用于重新注册。注销操作不可撤销,请谨慎调用。需要小程序用户认证。", "operationId": "deleteAccountUsingDELETE", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/favorite": { "get": { "tags": [ "小程序接口" ], "summary": "收藏列表", "description": "分页查询当前用户的所有收藏记录,按收藏时间倒序排列。返回收藏记录的基础信息(不包含资源详情),需前端根据targetType和targetId再查详情。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):返回字段targetType,前端据此判断跳转到哪种资源详情页\n", "operationId": "listFavoritesUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Favorite»»", "$ref": "#/definitions/统一响应结果«分页结果«Favorite»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Favorite»»", "$ref": "#/definitions/统一响应结果«分页结果«Favorite»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "小程序接口" ], "summary": "添加收藏", "description": "将指定资源添加到当前用户的收藏列表。同一用户对同一资源不可重复收藏,重复收藏会报错。targetType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT/EXPLORE等。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品, EXPLORE=探索(请求参数targetType)\n", "operationId": "addFavoriteUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "favoriteRequest", "description": "收藏请求", "required": false, "schema": { "originalRef": "收藏请求", "$ref": "#/definitions/收藏请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Favorite»", "$ref": "#/definitions/统一响应结果«Favorite»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Favorite»", "$ref": "#/definitions/统一响应结果«Favorite»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/favorite/check": { "get": { "tags": [ "小程序接口" ], "summary": "检查是否已收藏", "description": "检查当前用户是否已收藏指定类型的资源。返回true=已收藏,false=未收藏。targetType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT/EXPLORE等。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品, EXPLORE=探索(请求参数targetType)\n", "operationId": "checkFavoriteUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "targetId", "in": "query", "description": "目标资源ID", "required": false, "type": "integer", "format": "int64", "allowEmptyValue": false }, { "name": "targetType", "in": "query", "description": "目标类型", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«boolean»", "$ref": "#/definitions/统一响应结果«boolean»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«boolean»", "$ref": "#/definitions/统一响应结果«boolean»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/favorite/{favoriteId}": { "delete": { "tags": [ "小程序接口" ], "summary": "删除收藏", "description": "根据收藏记录ID取消收藏。只能删除自己的收藏记录,删除他人的收藏会报权限错误。需要小程序用户认证。", "operationId": "deleteFavoriteUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "favoriteId", "in": "path", "description": "收藏ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/footprint": { "get": { "tags": [ "小程序接口" ], "summary": "足迹列表", "description": "分页查询当前用户的浏览足迹,按浏览时间倒序排列。需要小程序用户认证。\n\n**关联字典**:\n- footprint_resource_type(足迹资源类型):返回字段resourceType,前端据此判断跳转到哪种资源详情页\n", "operationId": "listFootprintsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Footprint»»", "$ref": "#/definitions/统一响应结果«分页结果«Footprint»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Footprint»»", "$ref": "#/definitions/统一响应结果«分页结果«Footprint»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "小程序接口" ], "summary": "添加足迹", "description": "记录用户浏览资源的足迹。同一用户对同一资源多次浏览只保留最新一条记录(更新时间)。resourceType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT等。通常由前端在进入资源详情页时自动调用。需要小程序用户认证。\n\n**关联字典**:\n- footprint_resource_type(足迹资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品(请求参数resourceType)\n", "operationId": "addFootprintUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "footprintRequest", "description": "足迹请求", "required": false, "schema": { "originalRef": "足迹请求", "$ref": "#/definitions/足迹请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Footprint»", "$ref": "#/definitions/统一响应结果«Footprint»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Footprint»", "$ref": "#/definitions/统一响应结果«Footprint»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/footprint/{footprintId}": { "delete": { "tags": [ "小程序接口" ], "summary": "删除足迹", "description": "根据足迹记录ID删除单条浏览足迹。只能删除自己的足迹记录。需要小程序用户认证。", "operationId": "deleteFootprintUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "footprintId", "in": "path", "description": "足迹ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/login": { "post": { "tags": [ "小程序接口" ], "summary": "微信登录", "description": "小程序用户通过微信授权码(wx.login获取的code)登录。可选传入phoneCode用于获取手机号绑定,avatar和nickname用于设置头像昵称。首次登录自动注册,返回JWT Token。needProfile=true表示需补充实名信息。无需认证即可调用。", "operationId": "loginUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "微信登录请求", "required": false, "schema": { "originalRef": "微信小程序登录请求", "$ref": "#/definitions/微信小程序登录请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«用户登录响应»", "$ref": "#/definitions/统一响应结果«用户登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«用户登录响应»", "$ref": "#/definitions/统一响应结果«用户登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/login/sms": { "post": { "tags": [ "小程序接口" ], "summary": "手机号验证码登录", "description": "小程序用户通过手机号+短信验证码登录。首次登录自动注册账号,返回JWT Token。登录成功后若needProfile=true,表示需要补充个人信息(实名认证),前端应跳转到信息补充页。无需认证即可调用。", "operationId": "loginBySmsUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "短信验证码登录请求", "required": false, "schema": { "originalRef": "短信验证码登录请求", "$ref": "#/definitions/短信验证码登录请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«用户登录响应»", "$ref": "#/definitions/统一响应结果«用户登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«用户登录响应»", "$ref": "#/definitions/统一响应结果«用户登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/logout": { "post": { "tags": [ "小程序接口" ], "summary": "用户登出", "description": "清除当前用户的登录状态并使Token失效。需要小程序用户认证。", "operationId": "logoutUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/profile": { "get": { "tags": [ "小程序接口" ], "summary": "获取用户信息", "description": "获取当前登录用户的个人资料,包括昵称、头像、手机号(脱敏)、实名信息等。手机号返回脱敏格式(如138****0000),证件号同样脱敏处理。需要小程序用户认证(Token中的userId)。\n\n**关联字典**:\n- id_card_type(证件类型):ID_CARD=身份证, PASSPORT=护照\n- gender(性别):0=女, 1=男\n", "operationId": "getProfileUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«用户信息VO»", "$ref": "#/definitions/统一响应结果«用户信息VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«用户信息VO»", "$ref": "#/definitions/统一响应结果«用户信息VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "小程序接口" ], "summary": "更新用户信息", "description": "更新当前用户的个人资料。首次登录补充信息时realName/idCardType/idCardNo为必填(使用ProfileCompletion验证组)。如果传入身份证号,后端自动解析性别和出生日期。更新手机号后会自动绑定匹配的待绑定订单。需要小程序用户认证。\n\n**关联字典**:\n- id_card_type(证件类型):ID_CARD=身份证, PASSPORT=护照(请求参数idCardType)\n- gender(性别):0=女, 1=男\n", "operationId": "updateProfileUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "updateRequest", "description": "更新用户信息请求", "required": false, "schema": { "originalRef": "更新用户资料请求", "$ref": "#/definitions/更新用户资料请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«用户信息VO»", "$ref": "#/definitions/统一响应结果«用户信息VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«用户信息VO»", "$ref": "#/definitions/统一响应结果«用户信息VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/sms/send": { "post": { "tags": [ "小程序接口" ], "summary": "发送短信验证码", "description": "向指定手机号发送6位数字短信验证码,用于小程序手机号登录。同一手机号60秒内不可重复发送,每日最多发送10次。验证码有效期5分钟。无需认证即可调用。", "operationId": "sendSmsCodeUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "发送短信验证码请求", "required": false, "schema": { "originalRef": "发送短信验证码请求", "$ref": "#/definitions/发送短信验证码请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/traveler": { "get": { "tags": [ "小程序接口" ], "summary": "出行人列表", "description": "获取当前用户的所有出行人列表。如果用户已完成实名认证(realName不为空),列表首项会自动注入一个'本人'虚拟出行人(travelerId=0)。默认出行人排在前面,其余按创建时间排序。需要小程序用户认证。\n\n**关联字典**:\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType", "operationId": "listTravelersUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«Traveler»»", "$ref": "#/definitions/统一响应结果«List«Traveler»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«Traveler»»", "$ref": "#/definitions/统一响应结果«List«Traveler»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "小程序接口" ], "summary": "新增出行人", "description": "为当前用户添加一位出行人信息,用于下单时选择。出行人类型(成人/儿童/婴儿)根据出生日期自动判断,无需手动传入。如果传入身份证号,后端自动校验格式并解析性别。每个用户最多可添加20位出行人。需要小程序用户认证。\n\n**关联字典**:\n- gender(性别):请求/返回字段gender(0=女, 1=男)\n- id_card_type(证件类型):请求/返回字段idCardType(ID_CARD=身份证, PASSPORT=护照等)\n- traveler_type(出行人类型):返回字段travelerType(ADULT=成人, CHILD=儿童, INFANT=婴儿,自动计算)", "operationId": "addTravelerUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "travelerRequest", "description": "出行人信息", "required": false, "schema": { "originalRef": "出行人请求", "$ref": "#/definitions/出行人请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Traveler»", "$ref": "#/definitions/统一响应结果«Traveler»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Traveler»", "$ref": "#/definitions/统一响应结果«Traveler»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/traveler/{travelerId}": { "get": { "tags": [ "小程序接口" ], "summary": "出行人详情", "description": "获取指定出行人的详细信息。\n\n**关联字典**:\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType", "operationId": "getTravelerUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "travelerId", "in": "path", "description": "出行人ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Traveler»", "$ref": "#/definitions/统一响应结果«Traveler»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Traveler»", "$ref": "#/definitions/统一响应结果«Traveler»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "小程序接口" ], "summary": "更新出行人", "description": "更新指定出行人的信息。\n\n**关联字典**:\n- gender(性别):请求/返回字段gender\n- id_card_type(证件类型):请求/返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType(自动计算)", "operationId": "updateTravelerUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "travelerId", "in": "path", "description": "出行人ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "travelerRequest", "description": "出行人信息", "required": false, "schema": { "originalRef": "出行人请求", "$ref": "#/definitions/出行人请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Traveler»", "$ref": "#/definitions/统一响应结果«Traveler»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Traveler»", "$ref": "#/definitions/统一响应结果«Traveler»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "小程序接口" ], "summary": "删除出行人", "description": "删除指定的出行人记录(软删除)。\n\n**权限**:需要小程序用户认证。\n**注意**:如果该出行人已关联到未完成的订单,删除不影响订单中的出行人快照数据。", "operationId": "deleteTravelerUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "travelerId", "in": "path", "description": "出行人ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/user/traveler/{travelerId}/default": { "put": { "tags": [ "小程序接口" ], "summary": "设为默认出行人", "description": "将指定出行人设为默认。每个用户只能有一个默认出行人,设置新的默认会自动取消原来的默认。默认出行人在下单时会被自动选中。需要小程序用户认证。", "operationId": "setDefaultUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "travelerId", "in": "path", "description": "出行人ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/user": { "get": { "tags": [ "管理员管理接口" ], "summary": "管理员列表", "description": "分页查询管理员列表,支持按角色、状态、企微绑定状态、关键词筛选。keyword支持模糊匹配用户名和企业微信名称。status取值:ACTIVE=正常 LOCKED=已锁定 DISABLED=已禁用。wechatBound:true=已绑定企业微信 false=未绑定。需要管理员认证。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用(筛选条件+列表展示)\n", "operationId": "listAdminsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "关键词(模糊匹配用户名/企业微信名称)", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "roleId", "in": "query", "description": "角色ID", "required": false, "type": "integer", "format": "int64", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "wechatBound", "in": "query", "description": "是否绑定企业微信: true=已绑定, false=未绑定", "required": false, "type": "boolean", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«AdminUser»»", "$ref": "#/definitions/统一响应结果«分页结果«AdminUser»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«AdminUser»»", "$ref": "#/definitions/统一响应结果«分页结果«AdminUser»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "管理员管理接口" ], "summary": "创建管理员", "description": "创建新的后台管理员账号。默认密码为Admin@123456,管理员首次登录后建议修改密码。可通过roleIds分配多个角色,也兼容旧的单角色roleId参数。需要SUPER_ADMIN或ADMIN角色。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n", "operationId": "createAdminUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "创建管理员请求", "required": false, "schema": { "originalRef": "创建管理员请求", "$ref": "#/definitions/创建管理员请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«AdminUser»", "$ref": "#/definitions/统一响应结果«AdminUser»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«AdminUser»", "$ref": "#/definitions/统一响应结果«AdminUser»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/user/designers": { "get": { "tags": [ "管理员管理接口" ], "summary": "全部定制师(不分页)", "description": "返回所有已上线的定制师列表,不分页。用于订单指派定制师、下拉选择等场景。\n返回定制师ID、姓名、头像、认证等级等基本信息。", "operationId": "listAllDesignersUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«旅行设计师VO»»", "$ref": "#/definitions/统一响应结果«List«旅行设计师VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«旅行设计师VO»»", "$ref": "#/definitions/统一响应结果«List«旅行设计师VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/user/{adminId}": { "get": { "tags": [ "管理员管理接口" ], "summary": "获取管理员详情", "description": "获取指定管理员的完整信息。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n", "operationId": "getAdminUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "path", "description": "管理员ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«AdminUser»", "$ref": "#/definitions/统一响应结果«AdminUser»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«AdminUser»", "$ref": "#/definitions/统一响应结果«AdminUser»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "管理员管理接口" ], "summary": "更新管理员", "description": "更新管理员信息,包括用户名、状态、角色分配等。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n", "operationId": "updateAdminUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "path", "description": "管理员ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "更新管理员请求", "required": false, "schema": { "originalRef": "更新管理员请求", "$ref": "#/definitions/更新管理员请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«AdminUser»", "$ref": "#/definitions/统一响应结果«AdminUser»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«AdminUser»", "$ref": "#/definitions/统一响应结果«AdminUser»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "管理员管理接口" ], "summary": "删除管理员", "description": "删除指定管理员账号(软删除)。不能删除自己的账号,不能删除SUPER_ADMIN角色的账号(除非操作者也是SUPER_ADMIN)。删除后该管理员的登录状态自动失效。需要SUPER_ADMIN或ADMIN角色。", "operationId": "deleteAdminUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "path", "description": "管理员ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/user/{adminId}/reset-password": { "post": { "tags": [ "管理员管理接口" ], "summary": "重置密码", "description": "将指定管理员的密码重置为默认密码(Admin@123456)。用于管理员忘记密码时由上级管理员操作重置。重置后管理员可用默认密码登录,建议立即修改。需要SUPER_ADMIN或ADMIN角色。", "operationId": "resetPasswordUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "path", "description": "管理员ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/user/{adminId}/unlock": { "post": { "tags": [ "管理员管理接口" ], "summary": "解锁管理员", "description": "解锁因登录失败次数过多而被锁定的管理员账号。管理员连续5次登录失败后账号自动锁定30分钟,此接口可立即解锁。需要SUPER_ADMIN或ADMIN角色。", "operationId": "unlockAdminUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "path", "description": "管理员ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/user/{adminId}/wechat-binding": { "put": { "tags": [ "管理员管理接口" ], "summary": "修改企业微信绑定(支持换绑)", "description": "为管理员绑定或更换企业微信账号。绑定后管理员可通过企业微信扫码登录,并可接收审批通知。如果目标企微ID已被其他管理员绑定,需设置forceRebind=true强制换绑。需要管理员认证。", "operationId": "updateWechatBindingUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "path", "description": "管理员ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "body", "description": "企业微信绑定信息", "required": false, "schema": { "originalRef": "企业微信绑定请求", "$ref": "#/definitions/企业微信绑定请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/banner": { "get": { "tags": [ "Banner管理接口" ], "summary": "Banner列表", "description": "分页查询Banner列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)", "operationId": "listBannersUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "integer", "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Banner VO»»", "$ref": "#/definitions/统一响应结果«分页结果«Banner VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Banner VO»»", "$ref": "#/definitions/统一响应结果«分页结果«Banner VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "Banner管理接口" ], "summary": "创建Banner", "description": "创建新的首页轮播图,包括标题、封面图、跳转链接、排序等。\n\n**权限**:需要管理员登录。\n**注意**:创建后默认为启用状态,小程序端将按排序展示。", "operationId": "createBannerUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "轮播图创建请求", "required": false, "schema": { "originalRef": "Banner请求", "$ref": "#/definitions/Banner请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Banner VO»", "$ref": "#/definitions/统一响应结果«Banner VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Banner VO»", "$ref": "#/definitions/统一响应结果«Banner VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/banner/{id}": { "get": { "tags": [ "Banner管理接口" ], "summary": "Banner详情", "description": "获取指定Banner的详细信息,包括标题、图片、跳转链接、排序等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)", "operationId": "getBannerUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "轮播图ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Banner VO»", "$ref": "#/definitions/统一响应结果«Banner VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Banner VO»", "$ref": "#/definitions/统一响应结果«Banner VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "Banner管理接口" ], "summary": "更新Banner", "description": "更新指定Banner的标题、封面图、跳转链接、排序、状态等信息。\n\n**权限**:需要管理员登录。", "operationId": "updateBannerUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "轮播图ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "轮播图更新请求", "required": false, "schema": { "originalRef": "Banner请求", "$ref": "#/definitions/Banner请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Banner VO»", "$ref": "#/definitions/统一响应结果«Banner VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Banner VO»", "$ref": "#/definitions/统一响应结果«Banner VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "Banner管理接口" ], "summary": "删除Banner", "description": "删除指定的Banner记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序首页将不再展示该Banner。", "operationId": "deleteBannerUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "轮播图ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/contact": { "get": { "tags": [ "联系我们管理接口" ], "summary": "联系方式列表", "description": "分页查询联系方式列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):返回字段channelType(PHONE=电话, WECHAT=微信, EMAIL=邮箱等)\n- common_status(通用状态):请求参数status和返回字段status", "operationId": "listContactsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "integer", "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«联系我们 VO»»", "$ref": "#/definitions/统一响应结果«分页结果«联系我们 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«联系我们 VO»»", "$ref": "#/definitions/统一响应结果«分页结果«联系我们 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "联系我们管理接口" ], "summary": "创建联系方式", "description": "新增一条联系方式记录。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):请求字段channelType", "operationId": "createContactUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "联系方式创建请求", "required": false, "schema": { "originalRef": "联系我们请求", "$ref": "#/definitions/联系我们请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«联系我们 VO»", "$ref": "#/definitions/统一响应结果«联系我们 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«联系我们 VO»", "$ref": "#/definitions/统一响应结果«联系我们 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/contact/{id}": { "get": { "tags": [ "联系我们管理接口" ], "summary": "联系方式详情", "description": "获取指定联系方式的详细信息。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):返回字段channelType\n- common_status(通用状态):返回字段status", "operationId": "getContactUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "联系方式ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«联系我们 VO»", "$ref": "#/definitions/统一响应结果«联系我们 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«联系我们 VO»", "$ref": "#/definitions/统一响应结果«联系我们 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "联系我们管理接口" ], "summary": "更新联系方式", "description": "更新指定联系方式记录。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):请求字段channelType", "operationId": "updateContactUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "联系方式ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "联系方式更新请求", "required": false, "schema": { "originalRef": "联系我们请求", "$ref": "#/definitions/联系我们请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«联系我们 VO»", "$ref": "#/definitions/统一响应结果«联系我们 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«联系我们 VO»", "$ref": "#/definitions/统一响应结果«联系我们 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "联系我们管理接口" ], "summary": "删除联系方式", "description": "删除指定的联系方式记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序端将不再展示该联系方式。", "operationId": "deleteContactUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "联系方式ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/explore/category": { "get": { "tags": [ "探索分类管理接口" ], "summary": "探索分类列表", "description": "分页查询探索分类列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)", "operationId": "listCategoriesUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "integer", "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«探索分类 VO»»", "$ref": "#/definitions/统一响应结果«分页结果«探索分类 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«探索分类 VO»»", "$ref": "#/definitions/统一响应结果«分页结果«探索分类 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "探索分类管理接口" ], "summary": "创建探索分类", "description": "创建新的探索分类,用于小程序探索页面的分类展示。\n可关联多个景区资源,设置封面图和描述文字。\n\n**权限**:需要管理员登录。", "operationId": "createCategoryUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "分类创建请求", "required": false, "schema": { "originalRef": "探索分类请求", "$ref": "#/definitions/探索分类请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/explore/category/{id}": { "get": { "tags": [ "探索分类管理接口" ], "summary": "探索分类详情", "description": "获取指定探索分类的详细信息,包括标题、封面图、描述、关联的景区资源列表等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)", "operationId": "getCategoryUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "分类ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«探索分类详情 VO»", "$ref": "#/definitions/统一响应结果«探索分类详情 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«探索分类详情 VO»", "$ref": "#/definitions/统一响应结果«探索分类详情 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "探索分类管理接口" ], "summary": "更新探索分类", "description": "更新指定探索分类的标题、封面图、描述、关联资源、状态等信息。\n\n**权限**:需要管理员登录。", "operationId": "updateCategoryUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "分类ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "分类更新请求", "required": false, "schema": { "originalRef": "探索分类请求", "$ref": "#/definitions/探索分类请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "探索分类管理接口" ], "summary": "删除探索分类", "description": "删除指定的探索分类(软删除),同时清除关联的资源绑定关系。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序探索页面将不再展示该分类。", "operationId": "deleteCategoryUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "分类ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/frontend-config": { "get": { "tags": [ "前端配置管理接口" ], "summary": "配置列表", "description": "分页查询前端配置列表,支持按关键词、分组和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)", "operationId": "listConfigsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "configGroup", "in": "query", "description": "配置分组", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "integer", "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«前端配置 VO»»", "$ref": "#/definitions/统一响应结果«分页结果«前端配置 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«前端配置 VO»»", "$ref": "#/definitions/统一响应结果«分页结果«前端配置 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "前端配置管理接口" ], "summary": "创建配置", "description": "创建新的前端配置项,用于控制前端页面的展示和行为。\n\n**权限**:需要管理员登录。\n**注意**:configKey 必须全局唯一,不能与已有配置重复。可通过 sensitive 字段标记是否为敏感配置(敏感配置不会通过公开接口暴露给小程序)。", "operationId": "createConfigUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "配置创建请求", "required": false, "schema": { "originalRef": "前端配置请求", "$ref": "#/definitions/前端配置请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«前端配置 VO»", "$ref": "#/definitions/统一响应结果«前端配置 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«前端配置 VO»", "$ref": "#/definitions/统一响应结果«前端配置 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/frontend-config/all": { "get": { "tags": [ "前端配置管理接口" ], "summary": "配置列表(不分页)", "description": "获取所有前端配置项的完整列表(不分页),支持按分组和状态筛选。\n适用于需要一次性加载全部配置的场景。\n\n**权限**:需要管理员登录。", "operationId": "listAllConfigsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "configGroup", "in": "query", "description": "配置分组", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "integer", "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«前端配置 VO»»", "$ref": "#/definitions/统一响应结果«List«前端配置 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«前端配置 VO»»", "$ref": "#/definitions/统一响应结果«List«前端配置 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/frontend-config/by-key/{key}": { "get": { "tags": [ "前端配置管理接口" ], "summary": "按key查询配置", "description": "根据配置键(configKey)获取指定的前端配置项。\nconfigKey为全局唯一标识,如 app_name、primary_color 等。\n\n**权限**:需要管理员登录。", "operationId": "getConfigByKeyUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "key", "in": "path", "description": "配置键", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«前端配置 VO»", "$ref": "#/definitions/统一响应结果«前端配置 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«前端配置 VO»", "$ref": "#/definitions/统一响应结果«前端配置 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/frontend-config/groups": { "get": { "tags": [ "前端配置管理接口" ], "summary": "获取所有分组", "description": "获取前端配置中所有已使用的分组名称列表。\n用于配置管理页面的分组筛选下拉框。\n\n**权限**:需要管理员登录。", "operationId": "listGroupsUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«string»»", "$ref": "#/definitions/统一响应结果«List«string»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«string»»", "$ref": "#/definitions/统一响应结果«List«string»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/frontend-config/{id}": { "get": { "tags": [ "前端配置管理接口" ], "summary": "配置详情", "description": "根据配置ID获取指定前端配置项的详细信息,包括key、value、分组、描述等。\n\n**权限**:需要管理员登录。", "operationId": "getConfigUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "配置ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«前端配置 VO»", "$ref": "#/definitions/统一响应结果«前端配置 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«前端配置 VO»", "$ref": "#/definitions/统一响应结果«前端配置 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "前端配置管理接口" ], "summary": "更新配置", "description": "更新指定前端配置项的值、分组、描述、状态等信息。\n\n**权限**:需要管理员登录。\n**注意**:修改后前端会实时使用新值(如有缓存需等待刷新)。", "operationId": "updateConfigUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "配置ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "配置更新请求", "required": false, "schema": { "originalRef": "前端配置请求", "$ref": "#/definitions/前端配置请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«前端配置 VO»", "$ref": "#/definitions/统一响应结果«前端配置 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«前端配置 VO»", "$ref": "#/definitions/统一响应结果«前端配置 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "前端配置管理接口" ], "summary": "删除配置", "description": "删除指定的前端配置项(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后前端将无法获取该配置,可能影响页面展示,请确认无引用后再删除。", "operationId": "deleteConfigUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "配置ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/faq/categories": { "get": { "tags": [ "常见问题管理接口" ], "summary": "分类列表", "description": "获取所有FAQ分类的完整列表(不分页)。\n每个分类包含名称、排序号、状态等信息。\n\n**权限**:需要管理员登录。", "operationId": "listCategoriesUsingGET_1", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«常见问题分类VO»»", "$ref": "#/definitions/统一响应结果«List«常见问题分类VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«常见问题分类VO»»", "$ref": "#/definitions/统一响应结果«List«常见问题分类VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "常见问题管理接口" ], "summary": "创建分类", "description": "创建新的FAQ分类,用于对常见问题进行归类。\n\n**权限**:需要管理员登录。\n**注意**:分类名称不能重复。", "operationId": "createCategoryUsingPOST_1", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "request", "required": true, "schema": { "originalRef": "常见问题分类请求", "$ref": "#/definitions/常见问题分类请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«常见问题分类VO»", "$ref": "#/definitions/统一响应结果«常见问题分类VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«常见问题分类VO»", "$ref": "#/definitions/统一响应结果«常见问题分类VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/faq/categories/{id}": { "put": { "tags": [ "常见问题管理接口" ], "summary": "更新分类", "description": "更新指定FAQ分类的名称、排序号、状态等信息。\n\n**权限**:需要管理员登录。", "operationId": "updateCategoryUsingPUT_1", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "分类ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "request", "required": true, "schema": { "originalRef": "常见问题分类请求", "$ref": "#/definitions/常见问题分类请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«常见问题分类VO»", "$ref": "#/definitions/统一响应结果«常见问题分类VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«常见问题分类VO»", "$ref": "#/definitions/统一响应结果«常见问题分类VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "常见问题管理接口" ], "summary": "删除分类", "description": "删除指定的FAQ分类(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除分类不会删除其下的条目,但条目将变为无分类状态。", "operationId": "deleteCategoryUsingDELETE_1", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "分类ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/faq/items": { "get": { "tags": [ "常见问题管理接口" ], "summary": "条目列表", "description": "查询FAQ条目列表,支持按分类ID筛选。\n返回问题标题、回答内容(富文本)、排序号等。\n\n**权限**:需要管理员登录。", "operationId": "listItemsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "categoryId", "in": "query", "description": "分类ID(可选)", "required": false, "type": "integer", "format": "int64", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«常见问题条目VO»»", "$ref": "#/definitions/统一响应结果«List«常见问题条目VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«常见问题条目VO»»", "$ref": "#/definitions/统一响应结果«List«常见问题条目VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "常见问题管理接口" ], "summary": "创建条目", "description": "创建一条常见问题,包含问题标题和回答(支持富文本)。\n\n**权限**:需要管理员登录。\n**注意**:需指定所属分类ID,排序号越小越靠前。", "operationId": "createItemUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "request", "required": true, "schema": { "originalRef": "常见问题条目请求", "$ref": "#/definitions/常见问题条目请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«常见问题条目VO»", "$ref": "#/definitions/统一响应结果«常见问题条目VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«常见问题条目VO»", "$ref": "#/definitions/统一响应结果«常见问题条目VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/faq/items/{id}": { "put": { "tags": [ "常见问题管理接口" ], "summary": "更新条目", "description": "更新指定FAQ条目的问题标题、回答内容、排序号等信息。\n\n**权限**:需要管理员登录。", "operationId": "updateItemUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "条目ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "request", "required": true, "schema": { "originalRef": "常见问题条目请求", "$ref": "#/definitions/常见问题条目请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«常见问题条目VO»", "$ref": "#/definitions/统一响应结果«常见问题条目VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«常见问题条目VO»", "$ref": "#/definitions/统一响应结果«常见问题条目VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "常见问题管理接口" ], "summary": "删除条目", "description": "删除指定的FAQ条目(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序FAQ页面将不再展示该条目。", "operationId": "deleteItemUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "条目ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/agreement": { "get": { "tags": [ "用户协议管理接口" ], "summary": "协议列表", "description": "分页查询用户协议列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)", "operationId": "listAgreementsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "integer", "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«协议 VO»»", "$ref": "#/definitions/统一响应结果«分页结果«协议 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«协议 VO»»", "$ref": "#/definitions/统一响应结果«分页结果«协议 VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "用户协议管理接口" ], "summary": "新增协议", "description": "创建新的用户协议,如用户服务协议、隐私政策等。\n\n**权限**:需要管理员登录。\n**注意**:协议类型(type)需唯一,同一类型不能重复创建。内容支持富文本。", "operationId": "createAgreementUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "request", "required": true, "schema": { "originalRef": "协议请求", "$ref": "#/definitions/协议请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«协议 VO»", "$ref": "#/definitions/统一响应结果«协议 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«协议 VO»", "$ref": "#/definitions/统一响应结果«协议 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/agreement/{id}": { "get": { "tags": [ "用户协议管理接口" ], "summary": "协议详情", "description": "获取指定用户协议的详细信息,包括标题、内容(富文本)、版本号等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)", "operationId": "getAgreementUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "协议ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«协议 VO»", "$ref": "#/definitions/统一响应结果«协议 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«协议 VO»", "$ref": "#/definitions/统一响应结果«协议 VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "用户协议管理接口" ], "summary": "编辑协议", "description": "更新指定用户协议的标题、内容、状态等信息。\n\n**权限**:需要管理员登录。\n**注意**:修改后小程序端会实时展示新内容。", "operationId": "updateAgreementUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "协议ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "request", "required": true, "schema": { "originalRef": "协议请求", "$ref": "#/definitions/协议请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«协议 VO»", "$ref": "#/definitions/统一响应结果«协议 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«协议 VO»", "$ref": "#/definitions/统一响应结果«协议 VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "用户协议管理接口" ], "summary": "删除协议", "description": "删除指定的用户协议记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序端将无法查看该协议。", "operationId": "deleteAgreementUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "协议ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/2fa/callback": { "get": { "tags": [ "管理员认证接口" ], "summary": "2FA企微扫码回调", "description": "企业微信OAuth回调地址,用户扫码授权后微信服务器回调此接口。此接口由微信服务器调用,非前端直接调用。回调成功后将state对应的会话标记为已扫码,前端轮询 /2fa/check 即可获取结果。返回HTML页面(成功/失败提示),不返回JSON。", "operationId": "handle2FaCallbackUsingGET", "produces": [ "text/html" ], "parameters": [ { "name": "code", "in": "query", "description": "授权码", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "state", "in": "query", "description": "会话状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "type": "string" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/2fa/check": { "get": { "tags": [ "管理员认证接口" ], "summary": "查询2FA扫码状态", "description": "前端轮询此接口检查2FA扫码验证是否完成。返回status字段:PENDING=等待扫码,SCANNED=已完成验证(附带token和用户信息)。建议轮询间隔2秒,超过5分钟未扫码会话自动失效。无需认证即可调用(登录流程中使用)。", "operationId": "check2FaStatusUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "state", "in": "query", "description": "会话状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/2fa/confirm": { "post": { "tags": [ "管理员认证接口" ], "summary": "手动确认扫码(内网穿透环境workaround,默认关闭)", "description": "在内网穿透环境下,企微回调可能无法正常到达,此接口作为手动替代方案。\n需在Nacos配置中开启 auth.2fa-confirm-enabled=true 才可使用。\n\n**权限**:无需认证(登录流程中使用)。\n**注意**:生产环境应保持关闭,仅限开发/测试时使用。", "operationId": "confirm2FaScanUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "query", "description": "管理员ID", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "state", "in": "query", "description": "会话状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/2fa/qrcode": { "get": { "tags": [ "管理员认证接口" ], "summary": "生成2FA扫码会话", "description": "生成企业微信扫码二维码的会话信息,用于新设备二次验证。返回包含qrcodeUrl(二维码链接)和state(会话标识)。前端展示二维码后通过轮询 /2fa/check 接口检查扫码状态。无需认证即可调用(登录流程中使用)。", "operationId": "generate2FaQrcodeUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "query", "description": "管理员ID", "required": false, "type": "integer", "format": "int64", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/avatar": { "put": { "tags": [ "管理员认证接口" ], "summary": "更新头像", "description": "管理员更新自己的头像。需先通过文件服务上传图片获取OSS URL和fileId,再调用此接口绑定。旧头像的文件引用会自动解绑。需要管理员认证。", "operationId": "updateAvatarUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "body", "description": "头像更新请求", "required": false, "schema": { "originalRef": "头像更新请求", "$ref": "#/definitions/头像更新请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/info": { "get": { "tags": [ "管理员认证接口" ], "summary": "获取当前管理员信息", "description": "获取当前登录管理员的完整信息,包括用户名、头像、角色列表、当前角色、菜单权限等。前端页面初始化时调用此接口获取用户信息和权限数据。需要管理员认证。", "operationId": "getAdminInfoUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«管理员登录响应»", "$ref": "#/definitions/统一响应结果«管理员登录响应»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«管理员登录响应»", "$ref": "#/definitions/统一响应结果«管理员登录响应»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/login": { "post": { "tags": [ "管理员认证接口" ], "summary": "管理员登录", "description": "管理员通过用户名+密码登录后台管理系统。首次在新设备登录时需要进行企业微信扫码二次验证(2FA),返回needTwoFa=true。登录失败5次后账号将被锁定30分钟。无需认证即可调用。", "operationId": "loginUsingPOST_1", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "管理员登录请求", "required": false, "schema": { "originalRef": "管理员登录请求", "$ref": "#/definitions/管理员登录请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«管理员登录响应»", "$ref": "#/definitions/统一响应结果«管理员登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«管理员登录响应»", "$ref": "#/definitions/统一响应结果«管理员登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/logout": { "post": { "tags": [ "管理员认证接口" ], "summary": "管理员登出", "description": "清除管理员的登录状态并使当前Token失效。前端应在登出后清除本地存储的Token和用户信息。需要管理员认证。", "operationId": "logoutUsingPOST_1", "consumes": [ "application/json" ], "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/password": { "put": { "tags": [ "管理员认证接口" ], "summary": "修改密码", "description": "管理员修改自己的登录密码。需验证旧密码正确后才能设置新密码,新密码须满足复杂度要求(8-128位,含大小写字母和数字)。修改成功后当前Token仍然有效,无需重新登录。需要管理员认证(Token中的adminId)。", "operationId": "changePasswordUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "changeRequest", "description": "修改密码请求", "required": false, "schema": { "originalRef": "修改密码请求", "$ref": "#/definitions/修改密码请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/switch-role": { "post": { "tags": [ "管理员认证接口" ], "summary": "切换当前角色", "description": "多角色管理员切换当前活跃角色。切换后返回新的Token和角色对应的菜单权限,前端需更新本地Token并刷新菜单。只能切换到该管理员已分配的角色,否则报错。需要管理员认证。", "operationId": "switchRoleUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "body", "description": "角色切换请求", "required": false, "schema": { "originalRef": "角色切换请求", "$ref": "#/definitions/角色切换请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«管理员登录响应»", "$ref": "#/definitions/统一响应结果«管理员登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«管理员登录响应»", "$ref": "#/definitions/统一响应结果«管理员登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/wechat-qr": { "get": { "tags": [ "管理员认证接口" ], "summary": "生成企业微信扫码登录会话", "description": "生成企业微信扫码直接登录的会话信息(非2FA验证,而是扫码替代密码登录)。返回包含qrcodeUrl和state。前端展示二维码后通过轮询 /wechat-qr/status 检查登录状态。无需认证即可调用。", "operationId": "generateWechatLoginQrUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/wechat-qr/callback": { "get": { "tags": [ "管理员认证接口" ], "summary": "企业微信扫码登录回调", "description": "企业微信OAuth回调地址,扫码登录授权后微信服务器回调此接口。此接口由微信服务器调用,非前端直接调用。回调后标记会话为已扫码,前端通过轮询 /wechat-qr/status 获取登录结果。返回HTML页面,不返回JSON。", "operationId": "handleWechatLoginCallbackUsingGET", "produces": [ "text/html" ], "parameters": [ { "name": "code", "in": "query", "description": "授权码", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "state", "in": "query", "description": "会话状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "type": "string" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/wechat-qr/status": { "get": { "tags": [ "管理员认证接口" ], "summary": "查询企业微信扫码登录状态", "description": "前端轮询此接口检查扫码登录是否完成。返回status字段:PENDING=等待扫码,SCANNED=已扫码登录成功(附带token和用户信息)。建议轮询间隔2秒,超过5分钟未扫码会话自动失效。无需认证即可调用。", "operationId": "checkWechatLoginStatusUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "state", "in": "query", "description": "会话状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/auth/wechat/verify-2fa": { "post": { "tags": [ "管理员认证接口" ], "summary": "2FA验证", "description": "新设备登录时的企业微信二次验证。管理员登录返回needTwoFa=true后,前端调用此接口提交验证码完成登录。验证通过后设备将被标记为可信设备,后续登录不再需要2FA。无需认证即可调用。", "operationId": "verifyTwoFaUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "adminId", "in": "query", "description": "管理员ID", "required": false, "type": "integer", "format": "int64", "allowEmptyValue": false }, { "in": "body", "name": "request", "description": "2FA验证请求", "required": false, "schema": { "originalRef": "二次验证请求", "$ref": "#/definitions/二次验证请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«管理员登录响应»", "$ref": "#/definitions/统一响应结果«管理员登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«管理员登录响应»", "$ref": "#/definitions/统一响应结果«管理员登录响应»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/role": { "get": { "tags": [ "角色管理接口" ], "summary": "分页查询角色", "description": "分页查询系统角色列表,支持按状态筛选。\n\n**关联字典**:\n- common_status(通用状态):ACTIVE=启用, DISABLED=禁用(筛选条件+列表展示)\n", "operationId": "listRolesUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«SysRole»»", "$ref": "#/definitions/统一响应结果«分页结果«SysRole»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«SysRole»»", "$ref": "#/definitions/统一响应结果«分页结果«SysRole»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "角色管理接口" ], "summary": "创建角色", "description": "创建新的系统角色。角色标识(roleKey)全局唯一,创建后不可修改,用于代码中的权限判断。创建后需通过[分配菜单权限]接口为角色授权菜单。需要SUPER_ADMIN角色。", "operationId": "createRoleUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "创建角色请求", "required": false, "schema": { "originalRef": "创建角色请求", "$ref": "#/definitions/创建角色请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysRole»", "$ref": "#/definitions/统一响应结果«SysRole»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysRole»", "$ref": "#/definitions/统一响应结果«SysRole»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/role/all": { "get": { "tags": [ "角色管理接口" ], "summary": "获取所有角色(下拉)", "description": "获取所有状态正常的角色列表,用于下拉选择框。不分页,返回全部角色。创建管理员、筛选管理员列表时使用。需要管理员认证。", "operationId": "getAllRolesUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysRole»»", "$ref": "#/definitions/统一响应结果«List«SysRole»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysRole»»", "$ref": "#/definitions/统一响应结果«List«SysRole»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/role/{roleId}": { "get": { "tags": [ "角色管理接口" ], "summary": "获取角色详情(含菜单ID)", "description": "获取角色基本信息及其已分配的菜单ID列表。返回role对象和menuIds数组,用于角色编辑页面回显已勾选的菜单。需要管理员认证。", "operationId": "getRoleDetailUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "roleId", "in": "path", "description": "角色ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "角色管理接口" ], "summary": "更新角色", "description": "更新角色名称、状态等信息。角色标识(roleKey)不可修改。\n\n**关联字典**:\n- common_status(通用状态):ACTIVE=启用, DISABLED=禁用\n", "operationId": "updateRoleUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "更新角色请求", "required": false, "schema": { "originalRef": "更新角色请求", "$ref": "#/definitions/更新角色请求" } }, { "name": "roleId", "in": "path", "description": "角色ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysRole»", "$ref": "#/definitions/统一响应结果«SysRole»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysRole»", "$ref": "#/definitions/统一响应结果«SysRole»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "角色管理接口" ], "summary": "删除角色", "description": "删除指定角色(软删除)。如果该角色下还有关联的管理员,将无法删除,需先解除绑定关系。内置角色(SUPER_ADMIN等)不可删除。需要SUPER_ADMIN角色。", "operationId": "deleteRoleUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "roleId", "in": "path", "description": "角色ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/role/{roleId}/menus": { "put": { "tags": [ "角色管理接口" ], "summary": "分配菜单权限", "description": "为指定角色分配菜单权限(全量覆盖模式)。传入的menuIds将完全替换该角色原有的菜单权限。分配后该角色的所有在线管理员下次请求 /admin/menu/my 时会获取到新的菜单树。注意:需同步清除Redis中的菜单缓存,否则前端拿到的是旧菜单。需要SUPER_ADMIN角色。", "operationId": "assignMenusUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "分配菜单请求", "required": false, "schema": { "originalRef": "分配菜单权限请求", "$ref": "#/definitions/分配菜单权限请求" } }, { "name": "roleId", "in": "path", "description": "角色ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/menu": { "post": { "tags": [ "菜单管理接口" ], "summary": "创建菜单", "description": "创建新的菜单/目录/按钮。menuType取值:D=目录(含子菜单) M=页面菜单 B=操作按钮。目录和菜单需设置path路由路径,菜单还需设置component组件路径。按钮类型需设置permissionCode权限标识(如system:user:add)。需要SUPER_ADMIN角色。\n\n**关联字典**:\n- menu_type(菜单类型):请求/返回字段menuType(D=目录, M=菜单, B=按钮)\n- common_status(通用状态):返回字段status", "operationId": "createMenuUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "创建菜单请求", "required": false, "schema": { "originalRef": "创建菜单请求", "$ref": "#/definitions/创建菜单请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysMenu»", "$ref": "#/definitions/统一响应结果«SysMenu»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysMenu»", "$ref": "#/definitions/统一响应结果«SysMenu»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/menu/my": { "get": { "tags": [ "菜单管理接口" ], "summary": "获取当前管理员菜单", "description": "获取当前登录管理员的菜单树(基于其当前角色的权限)。SUPER_ADMIN角色返回完整菜单树,其他角色返回已授权的菜单子集。前端登录后调用此接口动态生成路由和侧边栏菜单。需要管理员认证。", "operationId": "getMyMenusUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysMenu»»", "$ref": "#/definitions/统一响应结果«List«SysMenu»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysMenu»»", "$ref": "#/definitions/统一响应结果«List«SysMenu»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/menu/tree": { "get": { "tags": [ "菜单管理接口" ], "summary": "获取完整菜单树", "description": "获取系统所有菜单的完整树形结构。用于角色权限配置页面展示完整的菜单树供勾选。仅SUPER_ADMIN可查看完整菜单树。需要管理员认证。\n\n**关联字典**:\n- menu_type(菜单类型):返回字段menuType\n- common_status(通用状态):返回字段status", "operationId": "getMenuTreeUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysMenu»»", "$ref": "#/definitions/统一响应结果«List«SysMenu»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysMenu»»", "$ref": "#/definitions/统一响应结果«List«SysMenu»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/menu/tree/role/{roleId}": { "get": { "tags": [ "菜单管理接口" ], "summary": "获取角色菜单树", "description": "获取指定角色已分配的菜单树形结构。\n用于角色权限配置页面,展示该角色已拥有的菜单权限。\n\n**权限**:需要管理员登录。", "operationId": "getMenuTreeByRoleIdUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "roleId", "in": "path", "description": "角色ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysMenu»»", "$ref": "#/definitions/统一响应结果«List«SysMenu»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysMenu»»", "$ref": "#/definitions/统一响应结果«List«SysMenu»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/menu/{menuId}": { "get": { "tags": [ "菜单管理接口" ], "summary": "获取菜单详情", "description": "获取指定菜单的详细信息,包括名称、路径、组件、图标、排序、权限标识等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- menu_type(菜单类型):返回字段menuType(D=目录, M=菜单, B=按钮)\n- common_status(通用状态):返回字段status", "operationId": "getMenuUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "menuId", "in": "path", "description": "菜单ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysMenu»", "$ref": "#/definitions/统一响应结果«SysMenu»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysMenu»", "$ref": "#/definitions/统一响应结果«SysMenu»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "菜单管理接口" ], "summary": "更新菜单", "description": "更新指定菜单的名称、路径、组件、图标、排序、状态等信息。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:修改后需清除 Redis 菜单缓存才能生效。\n\n**关联字典**:\n- menu_type(菜单类型):请求字段menuType(D=目录, M=菜单, B=按钮)\n- common_status(通用状态):请求字段status", "operationId": "updateMenuUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "menuId", "in": "path", "description": "菜单ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "更新菜单请求", "required": false, "schema": { "originalRef": "更新菜单请求", "$ref": "#/definitions/更新菜单请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysMenu»", "$ref": "#/definitions/统一响应结果«SysMenu»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysMenu»", "$ref": "#/definitions/统一响应结果«SysMenu»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "菜单管理接口" ], "summary": "删除菜单", "description": "删除指定的菜单/目录/按钮(软删除)。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:如果该菜单有子菜单,需先删除子菜单才能删除父菜单。删除后需清除 Redis 菜单缓存才能生效。", "operationId": "deleteMenuUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "menuId", "in": "path", "description": "菜单ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/all": { "get": { "tags": [ "字典管理接口" ], "summary": "获取所有字典数据", "description": "获取系统全部字典类型及其字典数据,按字典类型分组返回。用于后台管理系统初始化时一次性加载所有下拉选项。返回结果包含dictType编码、dictName名称、dataList数据列表。需要管理员认证。\n\n**字典层级说明**:\n- 字典类型(SysDictType):一级分类,如 admin_status、order_status、id_card_type 等\n- 字典数据(SysDictData):二级选项,归属于某个字典类型,如 admin_status 下的 ACTIVE/LOCKED/DISABLED\n- 前端通过 dictType 编码查找对应的 dataList,用 dictValue 匹配实际数据进行翻译展示\n", "operationId": "getAllDictUsingGET_1", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«字典VO»»", "$ref": "#/definitions/统一响应结果«List«字典VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«字典VO»»", "$ref": "#/definitions/统一响应结果«List«字典VO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/data": { "post": { "tags": [ "字典管理接口" ], "summary": "创建字典数据", "description": "在指定字典类型下新增一条字典数据项。dictValue为前端匹配的值(如ACTIVE),dictLabel为前端展示的标签(如'启用')。支持树形字典数据(通过parentId设置父级)。", "operationId": "createDictDataUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "创建字典数据请求", "required": false, "schema": { "originalRef": "创建字典数据请求", "$ref": "#/definitions/创建字典数据请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictData»", "$ref": "#/definitions/统一响应结果«SysDictData»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictData»", "$ref": "#/definitions/统一响应结果«SysDictData»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/data/detail/{dictDataId}": { "get": { "tags": [ "字典管理接口" ], "summary": "根据ID获取字典数据详情", "description": "获取单个字典数据项的详细信息,包括dictValue、dictLabel、cssClass等。", "operationId": "getDictDataByIdUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "dictDataId", "in": "path", "description": "字典数据ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictData»", "$ref": "#/definitions/统一响应结果«SysDictData»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictData»", "$ref": "#/definitions/统一响应结果«SysDictData»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/data/tree/{dictTypeId}": { "get": { "tags": [ "字典管理接口" ], "summary": "按类型查询字典数据(树形结构)", "description": "根据字典类型ID查询其下所有字典数据,以树形结构返回(支持父子级字典数据)。用于多级联动下拉框场景(如省市区)。需要管理员认证。", "operationId": "getDictDataTreeUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "dictTypeId", "in": "path", "description": "字典类型ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysDictData»»", "$ref": "#/definitions/统一响应结果«List«SysDictData»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysDictData»»", "$ref": "#/definitions/统一响应结果«List«SysDictData»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/data/{dictType}": { "get": { "tags": [ "字典管理接口" ], "summary": "按类型查询字典数据", "description": "根据字典类型编码(如order_status)查询其下所有字典数据(平铺列表)。用于单层下拉框场景。需要管理员认证。", "operationId": "getDictDataByTypeUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "dictType", "in": "path", "description": "字典类型编码", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysDictData»»", "$ref": "#/definitions/统一响应结果«List«SysDictData»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«SysDictData»»", "$ref": "#/definitions/统一响应结果«List«SysDictData»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/data/{id}": { "put": { "tags": [ "字典管理接口" ], "summary": "更新字典数据", "description": "更新字典数据项的标签、样式类型、排序号等。dictValue建议不修改以免影响已有业务数据。", "operationId": "updateDictDataUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "字典数据ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "更新字典数据请求", "required": false, "schema": { "originalRef": "更新字典数据请求", "$ref": "#/definitions/更新字典数据请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictData»", "$ref": "#/definitions/统一响应结果«SysDictData»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictData»", "$ref": "#/definitions/统一响应结果«SysDictData»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "字典管理接口" ], "summary": "删除字典数据", "description": "删除指定字典数据项(软删除)。删除后不影响已引用该字典值的业务数据。", "operationId": "deleteDictDataUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "字典数据ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/type": { "get": { "tags": [ "字典管理接口" ], "summary": "分页查询字典类型", "description": "分页查询字典类型列表,支持按分类(category)筛选、关键词(keyword)搜索。keyword 同时匹配字典类型编码(dict_type)和字典名称(dict_name),模糊搜索。字典类型是字典数据的上级分组,管理字典类型即管理有哪些可供前端使用的下拉选项组。", "operationId": "listDictTypesUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "category", "in": "query", "description": "字典分类", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "keyword", "in": "query", "description": "搜索关键词(匹配字典编码或名称)", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«SysDictType»»", "$ref": "#/definitions/统一响应结果«分页结果«SysDictType»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«SysDictType»»", "$ref": "#/definitions/统一响应结果«分页结果«SysDictType»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "字典管理接口" ], "summary": "创建字典类型", "description": "新建一个字典类型(如:订单状态、证件类型等)。字典类型编码(dictType)全局唯一,创建后不可修改。需要管理员认证,建议仅SUPER_ADMIN/ADMIN角色操作。\n\n**已有字典类型示例**:\n- admin_status(管理员状态)、common_status(通用状态)、login_status(登录状态)\n- order_status(订单状态)、product_status(产品状态)、rating_level(评价等级)\n- id_card_type(证件类型)、gender(性别)、traveler_type(出行人类型)\n- contact_channel_type(联系方式渠道类型)、favorite_resource_type(收藏资源类型)、footprint_resource_type(足迹资源类型)\n", "operationId": "createDictTypeUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "创建字典类型请求", "required": false, "schema": { "originalRef": "创建字典类型请求", "$ref": "#/definitions/创建字典类型请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictType»", "$ref": "#/definitions/统一响应结果«SysDictType»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictType»", "$ref": "#/definitions/统一响应结果«SysDictType»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/type/{dictTypeId}": { "get": { "tags": [ "字典管理接口" ], "summary": "根据ID获取字典类型详情", "description": "获取单个字典类型的详细信息,包括编码、名称、分类、状态等。", "operationId": "getDictTypeByIdUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "dictTypeId", "in": "path", "description": "字典类型ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictType»", "$ref": "#/definitions/统一响应结果«SysDictType»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictType»", "$ref": "#/definitions/统一响应结果«SysDictType»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/dict/type/{id}": { "put": { "tags": [ "字典管理接口" ], "summary": "更新字典类型", "description": "更新字典类型的名称、分类、备注等信息。字典类型编码(dictType)不可修改。", "operationId": "updateDictTypeUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "字典类型ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "更新字典类型请求", "required": false, "schema": { "originalRef": "更新字典类型请求", "$ref": "#/definitions/更新字典类型请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictType»", "$ref": "#/definitions/统一响应结果«SysDictType»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«SysDictType»", "$ref": "#/definitions/统一响应结果«SysDictType»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "字典管理接口" ], "summary": "删除字典类型", "description": "删除字典类型及其下所有字典数据(软删除)。如果该字典类型已被业务引用,删除后不影响已有数据,但新的表单将无法选择该字典值。需要管理员认证。", "operationId": "deleteDictTypeUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "字典类型ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/job": { "get": { "tags": [ "定时任务接口" ], "summary": "分页查询定时任务", "description": "分页查询定时任务列表。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n- job_status(任务状态):ACTIVE=启用, PAUSED=已暂停", "operationId": "listJobsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«定时任务信息»»", "$ref": "#/definitions/统一响应结果«分页结果«定时任务信息»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«定时任务信息»»", "$ref": "#/definitions/统一响应结果«分页结果«定时任务信息»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "post": { "tags": [ "定时任务接口" ], "summary": "创建定时任务", "description": "创建新的定时任务。invokeTarget格式为'Bean名称.方法名'(如wechatSyncService.syncAll),方法必须是无参公开方法。cronExpression为标准6位Cron表达式(秒 分 时 日 月 周)。创建后任务默认为暂停状态(PAUSED),需手动调用[恢复任务]接口启用。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n- job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。", "operationId": "createJobUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "request", "description": "创建定时任务请求", "required": false, "schema": { "originalRef": "创建定时任务请求", "$ref": "#/definitions/创建定时任务请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定时任务信息»", "$ref": "#/definitions/统一响应结果«定时任务信息»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定时任务信息»", "$ref": "#/definitions/统一响应结果«定时任务信息»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/job/{jobId}": { "put": { "tags": [ "定时任务接口" ], "summary": "更新定时任务", "description": "更新指定定时任务的名称、Cron表达式、调用目标等信息。\n修改Cron表达式后任务将按新的计划执行。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n\n**权限**:需要SUPER_ADMIN角色。", "operationId": "updateJobUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "jobId", "in": "path", "description": "定时任务ID", "required": false, "type": "integer", "format": "int64" }, { "in": "body", "name": "request", "description": "更新定时任务请求", "required": false, "schema": { "originalRef": "更新定时任务请求", "$ref": "#/definitions/更新定时任务请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定时任务信息»", "$ref": "#/definitions/统一响应结果«定时任务信息»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定时任务信息»", "$ref": "#/definitions/统一响应结果«定时任务信息»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "定时任务接口" ], "summary": "删除定时任务", "description": "删除指定的定时任务(软删除),同时从调度器中移除该任务。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:删除后任务将不再执行,但历史执行日志仍可查看。", "operationId": "deleteJobUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "jobId", "in": "path", "description": "定时任务ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/job/{jobId}/logs": { "get": { "tags": [ "定时任务接口" ], "summary": "查询任务日志", "description": "分页查询指定定时任务的执行日志,按执行时间倒序排列。日志包含执行状态(成功/失败)、执行耗时、异常信息等。\n\n**关联字典**:job_log_status(日志状态):SUCCESS=成功, FAIL=失败\n\n需要管理员认证。", "operationId": "listJobLogsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "jobId", "in": "path", "description": "定时任务ID", "required": false, "type": "integer", "format": "int64" }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«定时任务执行日志»»", "$ref": "#/definitions/统一响应结果«分页结果«定时任务执行日志»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«定时任务执行日志»»", "$ref": "#/definitions/统一响应结果«分页结果«定时任务执行日志»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/job/{jobId}/pause": { "post": { "tags": [ "定时任务接口" ], "summary": "暂停任务", "description": "暂停指定的定时任务,任务状态变为PAUSED。暂停后任务不再按Cron计划执行,但可通过[恢复任务]接口重新启用。\n\n**关联字典**:job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。", "operationId": "pauseJobUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "jobId", "in": "path", "description": "定时任务ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/job/{jobId}/resume": { "post": { "tags": [ "定时任务接口" ], "summary": "恢复任务", "description": "恢复已暂停的定时任务,任务状态变为ACTIVE。恢复后任务按Cron计划继续执行。\n\n**关联字典**:job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。", "operationId": "resumeJobUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "jobId", "in": "path", "description": "定时任务ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/job/{jobId}/trigger": { "post": { "tags": [ "定时任务接口" ], "summary": "立即执行一次", "description": "立即触发一次定时任务的执行,不影响原有的Cron计划。无论任务当前状态是ACTIVE还是PAUSED,都可以手动触发。执行结果可在任务日志中查看。需要SUPER_ADMIN角色。", "operationId": "triggerJobUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "jobId", "in": "path", "description": "定时任务ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/wechat/departments": { "get": { "tags": [ "企业微信同步接口" ], "summary": "部门列表(部门管理页面)", "description": "获取已同步的所有企业微信部门列表(平铺结构),用于部门管理页面展示。\n包含部门ID、名称、上级部门ID、排序等信息。\n\n**权限**:需要管理员登录。", "operationId": "listAllDepartmentsUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«WechatDepartment»»", "$ref": "#/definitions/统一响应结果«List«WechatDepartment»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«WechatDepartment»»", "$ref": "#/definitions/统一响应结果«List«WechatDepartment»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/wechat/departments/tree": { "get": { "tags": [ "企业微信同步接口" ], "summary": "部门树(下拉筛选)", "description": "以树形结构返回企业微信部门数据。用于部门筛选下拉框,每个节点包含id/label/children。需要管理员认证。", "operationId": "listDepartmentsTreeUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«List«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/wechat/sync/all": { "post": { "tags": [ "企业微信同步接口" ], "summary": "手动同步全部(部门+用户)", "description": "一键同步企业微信的部门和用户数据,先同步部门再同步用户。推荐使用此接口而非单独同步,确保部门和用户数据一致性。同步过程为异步执行,接口立即返回成功。需要SUPER_ADMIN角色。", "operationId": "syncAllUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/wechat/sync/departments": { "post": { "tags": [ "企业微信同步接口" ], "summary": "手动同步部门", "description": "从企业微信拉取最新的部门列表并同步到本地数据库。通常在企业微信后台调整组织架构后手动触发。也可通过定时任务自动执行。需要SUPER_ADMIN角色。", "operationId": "syncDepartmentsUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/wechat/sync/status": { "get": { "tags": [ "企业微信同步接口" ], "summary": "同步状态(最后同步时间)", "description": "获取企业微信数据的最后同步时间和状态。\n返回部门和用户各自的最后同步时间,用于管理页面展示同步状态。\n\n**权限**:需要管理员登录。", "operationId": "getSyncStatusUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Map«string,object»»", "$ref": "#/definitions/统一响应结果«Map«string,object»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/wechat/sync/users": { "post": { "tags": [ "企业微信同步接口" ], "summary": "手动同步用户", "description": "从企业微信拉取所有部门的成员列表并同步到本地数据库。包括姓名、手机号、职位、部门归属等信息。需先同步部门再同步用户,或直接使用[同步全部]接口。需要SUPER_ADMIN角色。", "operationId": "syncUsersUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/wechat/users": { "get": { "tags": [ "企业微信同步接口" ], "summary": "查询企业微信用户(分页+搜索)", "description": "分页查询已同步的企业微信用户列表。支持按姓名/手机号/职位关键词搜索,按部门ID和状态筛选。status取值:1=已激活 2=已禁用 4=未关注。用于管理员绑定企微账号时选择企微用户。需要管理员认证。\n\n**关联字典**:\n- wechat_user_status(企微用户状态):请求参数status和返回字段status(1=已激活, 2=已禁用, 4=未关注)", "operationId": "listWechatUsersUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "deptId", "in": "query", "description": "部门ID筛选", "required": false, "type": "integer", "format": "int64", "allowEmptyValue": false }, { "name": "keyword", "in": "query", "description": "关键词搜索(姓名/手机/职位)", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态筛选(1=已激活,2=已禁用,4=未关注)", "required": false, "type": "integer", "format": "int32", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«WechatUser»»", "$ref": "#/definitions/统一响应结果«分页结果«WechatUser»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«WechatUser»»", "$ref": "#/definitions/统一响应结果«分页结果«WechatUser»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/designer/dashboard": { "get": { "tags": [ "个人中心(旧路径,已废弃)" ], "summary": "工作台概览(已废弃,请使用 /admin/profile/dashboard)", "description": "已废弃接口,请迁移至 GET /admin/profile/dashboard。\n\n**权限**:需要管理员登录。", "operationId": "getDashboardUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定制师工作台VO(重构版)»", "$ref": "#/definitions/统一响应结果«定制师工作台VO(重构版)»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定制师工作台VO(重构版)»", "$ref": "#/definitions/统一响应结果«定制师工作台VO(重构版)»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": true, "x-order": "2147483647" } }, "/admin/designer/orders": { "get": { "tags": [ "个人中心(旧路径,已废弃)" ], "summary": "我的订单列表(已废弃,请使用 /admin/profile/orders)", "description": "已废弃接口。\n\n**关联字典**:\n- order_status(订单状态):请求参数status和返回字段status", "operationId": "getMyOrdersUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "keyword", "required": false, "type": "string" }, { "name": "page", "in": "query", "description": "page", "required": false, "type": "integer", "default": 1, "format": "int32" }, { "name": "pageSize", "in": "query", "description": "pageSize", "required": false, "type": "integer", "default": 20, "format": "int32" }, { "name": "status", "in": "query", "description": "status", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": true, "x-order": "2147483647" } }, "/admin/designer/products": { "get": { "tags": [ "个人中心(旧路径,已废弃)" ], "summary": "我的产品列表(已废弃,请使用 /admin/profile/products)", "description": "已废弃接口。\n\n**关联字典**:\n- product_status(产品状态):请求参数status和返回字段status", "operationId": "getMyProductsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "keyword", "required": false, "type": "string" }, { "name": "page", "in": "query", "description": "page", "required": false, "type": "integer", "default": 1, "format": "int32" }, { "name": "pageSize", "in": "query", "description": "pageSize", "required": false, "type": "integer", "default": 20, "format": "int32" }, { "name": "status", "in": "query", "description": "status", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": true, "x-order": "2147483647" } }, "/admin/designer/profile": { "get": { "tags": [ "个人中心(旧路径,已废弃)" ], "summary": "获取我的个人资料(已废弃,请使用 /admin/profile/me)", "description": "已废弃接口。\n\n**关联字典**:\n- designer_cert_level(认证等级):返回字段certLevel(none/bronze/silver/gold/diamond)", "operationId": "getMyProfileUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定制师个人资料VO»", "$ref": "#/definitions/统一响应结果«定制师个人资料VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定制师个人资料VO»", "$ref": "#/definitions/统一响应结果«定制师个人资料VO»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": true, "x-order": "2147483647" }, "put": { "tags": [ "个人中心(旧路径,已废弃)" ], "summary": "更新我的个人资料(已废弃,请使用 PUT /admin/profile/me)", "description": "已废弃接口,请迁移至 PUT /admin/profile/me。\n\n**权限**:需要管理员登录。", "operationId": "updateMyProfileUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "body", "description": "body", "required": true, "schema": { "originalRef": "更新定制师个人资料请求", "$ref": "#/definitions/更新定制师个人资料请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定制师个人资料VO»", "$ref": "#/definitions/统一响应结果«定制师个人资料VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«定制师个人资料VO»", "$ref": "#/definitions/统一响应结果«定制师个人资料VO»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": true, "x-order": "2147483647" } }, "/admin/profile/dashboard": { "get": { "tags": [ "个人中心" ], "summary": "工作台仪表盘(角色分发,支持时间范围)", "description": "根据当前管理员角色返回不同的仪表盘数据。CUSTOMIZER(定制师):待处理订单数、产品数、评价统计等。SUPER_ADMIN/ADMIN:全局概览(订单、收入、用户增长等)。ROOM_MANAGER(客房管理):房间分配概览。VEHICLE_MANAGER(车辆管理):车辆调度概览。FINANCE(财务):收支统计。MATERIAL_ADMIN(素材管理):素材库概览。period取值:today=今日 week=本周 month=本月。需要管理员认证。\n\n**关联字典**:\n- order_status(订单状态):仪表盘中订单统计按状态分组展示", "operationId": "getDashboardUsingGET_1", "produces": [ "*/*" ], "parameters": [ { "name": "period", "in": "query", "description": "时间范围: today/week/month", "required": false, "type": "string", "default": "today", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«object»", "$ref": "#/definitions/统一响应结果«object»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«object»", "$ref": "#/definitions/统一响应结果«object»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/profile/me": { "get": { "tags": [ "个人中心" ], "summary": "获取我的个人资料", "description": "获取当前登录管理员的个人资料,根据角色返回不同的资料内容。\n定制师角色会返回认证等级、个人简介、擅长领域等附加信息。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- designer_cert_level(认证等级):返回字段certLevel(none/bronze/silver/gold/diamond)", "operationId": "getMyProfileUsingGET_1", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«个人资料VO(角色感知)»", "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«个人资料VO(角色感知)»", "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "个人中心" ], "summary": "更新我的个人资料", "description": "更新当前登录管理员的个人资料,支持修改昵称、头像、个人简介等。\n定制师角色可额外更新擅长领域、服务区域等信息。\n\n**权限**:需要管理员登录。", "operationId": "updateMyProfileUsingPUT_1", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "body", "description": "body", "required": true, "schema": { "originalRef": "更新定制师个人资料请求", "$ref": "#/definitions/更新定制师个人资料请求" } } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«个人资料VO(角色感知)»", "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«个人资料VO(角色感知)»", "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/profile/orders": { "get": { "tags": [ "个人中心" ], "summary": "订单列表", "description": "查询当前定制师的订单列表,支持按状态筛选。\n\n**关联字典**:\n- order_status(订单状态):请求参数status和返回字段status", "operationId": "getOrdersUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "订单状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/profile/products": { "get": { "tags": [ "个人中心" ], "summary": "产品列表", "description": "查询当前定制师的产品列表,支持按状态筛选。\n\n**关联字典**:\n- product_status(产品状态):请求参数status和返回字段status", "operationId": "getProductsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "产品状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«Map«string,object»»»", "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/profile/reviews": { "get": { "tags": [ "个人中心" ], "summary": "我的评价列表", "description": "查询当前定制师收到的评价列表,支持按评价等级筛选。\n\n**关联字典**:\n- rating_level(评价等级):GOOD=好评, MEDIUM=中评, BAD=差评(筛选条件+列表展示)\n", "operationId": "getReviewsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "ratingLevel", "in": "query", "description": "评价等级: GOOD/MEDIUM/BAD", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«object»", "$ref": "#/definitions/统一响应结果«object»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«object»", "$ref": "#/definitions/统一响应结果«object»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/customer": { "get": { "tags": [ "客户管理接口" ], "summary": "客户列表", "description": "分页查询小程序注册的C端用户(客户)列表。支持按昵称/手机号/真实姓名关键词搜索,按状态筛选。status取值:ACTIVE=正常 BANNED=已封禁。需要管理员认证。\n\n**关联字典**:\n- user_status(用户状态):请求参数status和返回字段status(ACTIVE=正常, BANNED=已封禁)\n- gender(性别):返回字段gender(0=女, 1=男)\n- id_card_type(证件类型):返回字段idCardType", "operationId": "listCustomersUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "allowEmptyValue": false }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "default": 1, "format": "int32", "allowEmptyValue": false }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "default": 20, "format": "int32", "allowEmptyValue": false }, { "name": "status", "in": "query", "description": "状态", "required": false, "type": "string", "allowEmptyValue": false } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«客户信息VO(管理端)»»", "$ref": "#/definitions/统一响应结果«分页结果«客户信息VO(管理端)»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«分页结果«客户信息VO(管理端)»»", "$ref": "#/definitions/统一响应结果«分页结果«客户信息VO(管理端)»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/customer/{userId}": { "get": { "tags": [ "客户管理接口" ], "summary": "客户详情", "description": "获取指定客户的详细信息。\n\n**关联字典**:\n- user_status(用户状态):返回字段status\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType", "operationId": "getCustomerUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "userId", "in": "path", "description": "用户ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«客户信息VO(管理端)»", "$ref": "#/definitions/统一响应结果«客户信息VO(管理端)»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«客户信息VO(管理端)»", "$ref": "#/definitions/统一响应结果«客户信息VO(管理端)»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/customer/{userId}/ban": { "post": { "tags": [ "客户管理接口" ], "summary": "封禁客户", "description": "封禁指定的C端用户,状态变为BANNED。封禁后该用户无法登录小程序,已有的Token将失效。封禁操作不会删除用户数据,可通过[解封客户]接口恢复。需要管理员认证。", "operationId": "banCustomerUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "userId", "in": "path", "description": "用户ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/customer/{userId}/unban": { "post": { "tags": [ "客户管理接口" ], "summary": "解封客户", "description": "解封已封禁的C端用户,状态恢复为ACTIVE。解封后用户可正常登录小程序。需要管理员认证。", "operationId": "unbanCustomerUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "userId", "in": "path", "description": "用户ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "originalRef": "统一响应结果«Void»", "$ref": "#/definitions/统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } } }, "definitions": { "Favorite": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "favoriteId": { "type": "integer", "format": "int64" }, "targetId": { "type": "integer", "format": "int64" }, "targetType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer", "format": "int64" } }, "title": "Favorite" }, "Footprint": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "footprintId": { "type": "integer", "format": "int64" }, "resourceId": { "type": "integer", "format": "int64" }, "resourceType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer", "format": "int64" }, "visitTime": { "type": "string", "format": "date-time" } }, "title": "Footprint" }, "Traveler": { "type": "object", "properties": { "birthday": { "type": "string", "format": "date" }, "createdAt": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "email": { "type": "string" }, "emergencyContact": { "type": "string" }, "emergencyPhone": { "type": "string" }, "gender": { "type": "string" }, "idCardNo": { "type": "string" }, "idCardType": { "type": "string" }, "isDefault": { "type": "integer", "format": "int32" }, "name": { "type": "string" }, "nationality": { "type": "string" }, "phone": { "type": "string" }, "travelerId": { "type": "integer", "format": "int64" }, "travelerType": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "userId": { "type": "integer", "format": "int64" } }, "title": "Traveler" }, "出行人请求": { "type": "object", "required": [ "name" ], "properties": { "birthday": { "type": "string", "format": "date", "example": "1990-01-01", "description": "出生日期(后端根据此字段自动判断人员类型,未传则默认ADULT)" }, "email": { "type": "string", "example": "zhangsan@example.com", "description": "邮箱" }, "emergencyContact": { "type": "string", "example": "李四", "description": "紧急联系人姓名" }, "emergencyPhone": { "type": "string", "example": 13900139000, "description": "紧急联系人电话" }, "gender": { "type": "string", "example": 1, "description": "性别,关联字典gender:1=男, 2=女" }, "idCardNo": { "type": "string", "example": 110101199001011234, "description": "证件号码" }, "idCardType": { "type": "string", "example": "ID_CARD", "description": "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照" }, "isDefault": { "type": "boolean", "example": false, "description": "是否设为默认出行人" }, "name": { "type": "string", "example": "张三", "description": "出行人姓名" }, "nationality": { "type": "string", "example": "中国", "description": "国籍" }, "phone": { "type": "string", "example": 13800138000, "description": "手机号" } }, "title": "出行人请求" }, "分页结果«Favorite»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "Favorite", "$ref": "#/definitions/Favorite" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«Favorite»" }, "分页结果«Footprint»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "Footprint", "$ref": "#/definitions/Footprint" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«Footprint»" }, "发送短信验证码请求": { "type": "object", "required": [ "phone" ], "properties": { "phone": { "type": "string", "example": 13800138000, "description": "手机号" } }, "title": "发送短信验证码请求" }, "字典VO": { "type": "object", "properties": { "dataList": { "type": "array", "description": "字典数据列表", "items": { "originalRef": "字典数据项VO", "$ref": "#/definitions/字典数据项VO" } }, "dictName": { "type": "string", "description": "字典名称" }, "dictType": { "type": "string", "description": "字典类型标识" } }, "title": "字典VO" }, "字典数据项VO": { "type": "object", "properties": { "dictLabel": { "type": "string", "description": "字典标签" }, "dictValue": { "type": "string", "description": "字典值" }, "remark": { "type": "string", "description": "备注(扩展信息,如年龄规则JSON)" }, "sort": { "type": "integer", "format": "int32", "description": "排序号" } }, "title": "字典数据项VO" }, "微信小程序登录请求": { "type": "object", "required": [ "code" ], "properties": { "avatar": { "type": "string", "example": "https://thirdwx.qlogo.cn/xxx", "description": "用户头像URL" }, "code": { "type": "string", "example": "0c3NKj000...", "description": "微信登录授权码" }, "nickname": { "type": "string", "example": "微信用户", "description": "用户昵称" }, "phoneCode": { "type": "string", "example": "0c3NKj000...", "description": "手机号授权码(用于获取手机号)" } }, "title": "微信小程序登录请求", "description": "通过wx.login获取code进行登录,首次登录自动注册" }, "收藏请求": { "type": "object", "required": [ "targetId", "targetType" ], "properties": { "targetId": { "type": "integer", "format": "int64", "example": 1, "description": "收藏目标ID" }, "targetType": { "type": "string", "example": "SCENIC_SPOT", "description": "收藏类型,关联字典favorite_resource_type" } }, "title": "收藏请求", "description": "添加收藏时的请求体,指定收藏的资源类型和ID" }, "更新用户资料请求": { "type": "object", "properties": { "avatar": { "type": "string", "example": "https://oss.example.com/avatar/1.jpg", "description": "头像URL" }, "birthday": { "type": "string", "format": "date", "example": "1990-01-01", "description": "出生日期(从身份证号自动解析)" }, "email": { "type": "string", "example": "zhangsan@example.com", "description": "邮箱" }, "gender": { "type": "string", "example": "MALE", "description": "性别:MALE=男 FEMALE=女(从身份证号自动解析)" }, "idCardNo": { "type": "string", "example": 110101199001011234, "description": "证件号码(首次登录必填)" }, "idCardType": { "type": "string", "example": "ID_CARD", "description": "证件类型:ID_CARD=身份证 PASSPORT=护照(首次登录必填)" }, "nationality": { "type": "string", "example": "中国", "description": "国籍(默认中国)" }, "nickname": { "type": "string", "example": "旅行达人", "description": "昵称" }, "phone": { "type": "string", "example": 13800138000, "description": "手机号" }, "realName": { "type": "string", "example": "张三", "description": "真实姓名(首次登录必填)" } }, "title": "更新用户资料请求" }, "用户信息VO": { "type": "object", "properties": { "avatar": { "type": "string", "description": "头像URL" }, "birthday": { "type": "string", "format": "date", "description": "出生日期" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "email": { "type": "string", "description": "邮箱" }, "gender": { "type": "integer", "format": "int32", "description": "性别,关联字典gender:1=男, 2=女" }, "idCardNo": { "type": "string", "description": "证件号码" }, "idCardType": { "type": "string", "description": "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照" }, "nationality": { "type": "string", "description": "国籍" }, "needProfile": { "type": "boolean", "description": "是否需要完善资料(realName为空时为true)" }, "nickname": { "type": "string", "description": "昵称" }, "phone": { "type": "string", "description": "手机号(脱敏)" }, "realName": { "type": "string", "description": "真实姓名" }, "status": { "type": "string", "description": "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁" }, "updatedAt": { "type": "string", "format": "date-time", "description": "更新时间" }, "userId": { "type": "integer", "format": "int64", "description": "用户ID" } }, "title": "用户信息VO" }, "用户登录响应": { "type": "object", "properties": { "avatar": { "type": "string", "description": "头像URL" }, "isNewUser": { "type": "boolean", "description": "是否新用户" }, "needProfile": { "type": "boolean", "description": "是否需要完善资料(realName为空时为true)" }, "nickname": { "type": "string", "description": "昵称" }, "phone": { "type": "string", "description": "手机号" }, "token": { "type": "string", "description": "登录令牌" }, "userId": { "type": "integer", "format": "int64", "description": "用户ID" } }, "title": "用户登录响应" }, "短信验证码登录请求": { "type": "object", "required": [ "code", "phone" ], "properties": { "code": { "type": "string", "example": 123456, "description": "短信验证码(6位数字)" }, "phone": { "type": "string", "example": 13800138000, "description": "手机号" } }, "title": "短信验证码登录请求" }, "统一响应结果«Favorite»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "Favorite", "$ref": "#/definitions/Favorite" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«Favorite»" }, "统一响应结果«Footprint»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "Footprint", "$ref": "#/definitions/Footprint" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«Footprint»" }, "统一响应结果«List«Traveler»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "Traveler", "$ref": "#/definitions/Traveler" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«Traveler»»" }, "统一响应结果«List«字典VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "字典VO", "$ref": "#/definitions/字典VO" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«字典VO»»" }, "统一响应结果«Traveler»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "Traveler", "$ref": "#/definitions/Traveler" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«Traveler»" }, "统一响应结果«Void»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«Void»" }, "统一响应结果«boolean»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "boolean", "description": "响应数据" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«boolean»" }, "统一响应结果«分页结果«Favorite»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«Favorite»", "$ref": "#/definitions/分页结果«Favorite»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«Favorite»»" }, "统一响应结果«分页结果«Footprint»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«Footprint»", "$ref": "#/definitions/分页结果«Footprint»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«Footprint»»" }, "统一响应结果«用户信息VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "用户信息VO", "$ref": "#/definitions/用户信息VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«用户信息VO»" }, "统一响应结果«用户登录响应»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "用户登录响应", "$ref": "#/definitions/用户登录响应" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«用户登录响应»" }, "足迹请求": { "type": "object", "required": [ "resourceId", "resourceType" ], "properties": { "resourceId": { "type": "integer", "format": "int64", "example": 1, "description": "资源ID" }, "resourceType": { "type": "string", "example": "SCENIC_SPOT", "description": "资源类型,关联字典footprint_resource_type" } }, "title": "足迹请求", "description": "记录用户浏览足迹时的请求体" }, "AdminUser": { "type": "object", "properties": { "adminId": { "type": "integer", "format": "int64" }, "avatar": { "type": "string" }, "contactQrUrl": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "currentRoleId": { "type": "integer", "format": "int64" }, "effectiveAvatar": { "type": "string" }, "enterpriseWechatDeptNames": { "type": "string" }, "enterpriseWechatId": { "type": "string" }, "enterpriseWechatName": { "type": "string" }, "failedLoginCount": { "type": "integer", "format": "int32" }, "lockedUntil": { "type": "string", "format": "date-time" }, "passwordChangedAt": { "type": "string", "format": "date-time" }, "roleKey": { "type": "string" }, "roleName": { "type": "string" }, "roles": { "type": "array", "items": { "originalRef": "SysRole", "$ref": "#/definitions/SysRole" } }, "status": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "username": { "type": "string" } }, "title": "AdminUser" }, "SysRole": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time" }, "remark": { "type": "string" }, "roleId": { "type": "integer", "format": "int64" }, "roleKey": { "type": "string" }, "roleName": { "type": "string" }, "sortOrder": { "type": "integer", "format": "int32" }, "status": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } }, "title": "SysRole" }, "企业微信绑定请求": { "type": "object", "properties": { "enterpriseWechatId": { "type": "string", "description": "企业微信ID(为空则解绑)" }, "forceRebind": { "type": "boolean", "description": "是否强制换绑(当ID已被其他管理员占用时)" } }, "title": "企业微信绑定请求" }, "分页结果«AdminUser»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "AdminUser", "$ref": "#/definitions/AdminUser" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«AdminUser»" }, "创建管理员请求": { "type": "object", "required": [ "username" ], "properties": { "roleId": { "type": "integer", "format": "int64", "example": 1, "description": "角色ID(已废弃,请使用roleIds)" }, "roleIds": { "type": "array", "example": [ 1, 2 ], "description": "角色ID列表(多角色)", "items": { "type": "integer", "format": "int64" } }, "username": { "type": "string", "example": "zhangsan", "description": "用户名" } }, "title": "创建管理员请求", "description": "创建后台管理员账号,默认密码Admin@123456" }, "旅行设计师VO": { "type": "object", "properties": { "avatar": { "type": "string", "description": "头像URL" }, "certLevel": { "type": "string", "description": "认证等级:none/bronze/silver/gold/diamond" }, "certLevelLabel": { "type": "string", "description": "认证等级中文标签" }, "certified": { "type": "boolean", "description": "是否已认证" }, "description": { "type": "string", "description": "个人简介" }, "experience": { "type": "integer", "format": "int32", "description": "从业年限" }, "id": { "type": "string", "description": "设计师ID" }, "motto": { "type": "string", "description": "座右铭" }, "name": { "type": "string", "description": "设计师姓名" }, "phone": { "type": "string", "description": "联系电话" }, "rating": { "type": "string", "description": "评分" }, "routeCount": { "type": "integer", "format": "int32", "description": "设计路线数量" }, "serviceAreas": { "type": "array", "description": "服务区域", "items": { "type": "string" } }, "specialties": { "type": "array", "description": "擅长领域", "items": { "type": "string" } } }, "title": "旅行设计师VO" }, "更新管理员请求": { "type": "object", "properties": { "enterpriseWechatId": { "type": "string", "example": 842, "description": "企业微信用户ID" }, "roleId": { "type": "integer", "format": "int64", "example": 1, "description": "角色ID(已废弃,请使用roleIds)" }, "roleIds": { "type": "array", "example": [ 1, 2 ], "description": "角色ID列表(多角色)", "items": { "type": "integer", "format": "int64" } } }, "title": "更新管理员请求" }, "统一响应结果«AdminUser»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "AdminUser", "$ref": "#/definitions/AdminUser" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«AdminUser»" }, "统一响应结果«List«旅行设计师VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "旅行设计师VO", "$ref": "#/definitions/旅行设计师VO" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«旅行设计师VO»»" }, "统一响应结果«Map«string,object»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "object", "description": "响应数据" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«Map«string,object»»" }, "统一响应结果«分页结果«AdminUser»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«AdminUser»", "$ref": "#/definitions/分页结果«AdminUser»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«AdminUser»»" }, "Banner VO": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "endTime": { "type": "string", "format": "date-time", "description": "展示结束时间" }, "id": { "type": "string", "description": "Banner ID" }, "imageUrl": { "type": "string", "description": "图片URL(图片类型为图片,视频类型为封面图)" }, "linkId": { "type": "string", "description": "链接目标ID(PRODUCT/SCENIC/ACTIVITY/HOTEL时有值)" }, "linkTargetName": { "type": "string", "description": "链接目标名称(用于后台展示)" }, "linkType": { "type": "string", "description": "链接类型:NONE=无链接 PRODUCT=产品 SCENIC=景区 ACTIVITY=活动 HOTEL=酒店 PAGE=小程序页面 WEBVIEW=网页" }, "linkUrl": { "type": "string", "description": "链接URL(PAGE时为路由名,WEBVIEW时为完整URL)" }, "materialId": { "type": "integer", "format": "int64", "description": "素材库关联ID" }, "mediaType": { "type": "string", "description": "媒体类型: IMAGE/VIDEO" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序号" }, "startTime": { "type": "string", "format": "date-time", "description": "展示开始时间" }, "status": { "type": "integer", "format": "int32", "description": "状态:0=下线 1=上线" }, "subtitle": { "type": "string", "description": "副标题" }, "tags": { "type": "array", "description": "标签列表", "items": { "type": "string" } }, "title": { "type": "string", "description": "标题" }, "videoUrl": { "type": "string", "description": "视频URL(媒体类型为VIDEO时有值)" } }, "title": "Banner VO" }, "Banner请求": { "type": "object", "required": [ "imageUrl", "title" ], "properties": { "endTime": { "type": "string", "format": "date-time", "example": "2026-03-31T23:59:59", "description": "展示结束时间" }, "imageUrl": { "type": "string", "example": "https://oss.example.com/banner/1.jpg", "description": "Banner图片URL(图片类型时为图片,视频类型时为封面图)" }, "linkId": { "type": "string", "example": 1, "description": "链接目标ID(linkType=PRODUCT时为产品ID)" }, "linkTargetName": { "type": "string", "example": "甘南秘境之旅", "description": "链接目标名称(用于后台展示)" }, "linkType": { "type": "string", "example": "PRODUCT", "description": "链接类型:NONE=无链接 PRODUCT=产品 SCENIC=景区 ACTIVITY=活动 HOTEL=酒店 PAGE=小程序页面 WEBVIEW=网页" }, "linkUrl": { "type": "string", "example": "https://example.com", "description": "链接URL(linkType=WEBVIEW/PAGE时生效)" }, "materialId": { "type": "integer", "format": "int64", "description": "素材库关联ID(从素材库选择时传入)" }, "mediaType": { "type": "string", "example": "IMAGE", "description": "媒体类型: IMAGE/VIDEO" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号(越小越靠前)" }, "startTime": { "type": "string", "format": "date-time", "example": "2026-03-01T00:00:00", "description": "展示开始时间" }, "status": { "type": "integer", "format": "int32", "example": 1, "description": "状态:0=下线 1=上线" }, "subtitle": { "type": "string", "example": "限时优惠,不容错过", "description": "副标题" }, "tags": { "type": "string", "example": "热门,推荐", "description": "标签(逗号分隔)" }, "title": { "type": "string", "example": "春季特惠", "description": "Banner标题" }, "videoUrl": { "type": "string", "example": "https://oss.example.com/banner/1.mp4", "description": "视频URL(媒体类型为VIDEO时必填)" } }, "title": "Banner请求" }, "分页结果«Banner VO»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "Banner VO", "$ref": "#/definitions/Banner VO" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«Banner VO»" }, "统一响应结果«Banner VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "Banner VO", "$ref": "#/definitions/Banner VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«Banner VO»" }, "统一响应结果«分页结果«Banner VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«Banner VO»", "$ref": "#/definitions/分页结果«Banner VO»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«Banner VO»»" }, "分页结果«联系我们 VO»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "联系我们 VO", "$ref": "#/definitions/联系我们 VO" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«联系我们 VO»" }, "统一响应结果«分页结果«联系我们 VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«联系我们 VO»", "$ref": "#/definitions/分页结果«联系我们 VO»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«联系我们 VO»»" }, "统一响应结果«联系我们 VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "联系我们 VO", "$ref": "#/definitions/联系我们 VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«联系我们 VO»" }, "联系我们 VO": { "type": "object", "properties": { "channelType": { "type": "string", "description": "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询" }, "content": { "type": "string", "description": "富文本内容(关于我们类型使用)" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "icon": { "type": "string", "description": "图标URL" }, "id": { "type": "string", "description": "联系方式ID" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序号" }, "status": { "type": "integer", "format": "int32", "description": "状态,关联字典common_status:ACTIVE=启用, INACTIVE=停用" }, "subtitle": { "type": "string", "description": "副标题/描述" }, "title": { "type": "string", "description": "标题" }, "value": { "type": "string", "description": "渠道值" } }, "title": "联系我们 VO" }, "联系我们请求": { "type": "object", "required": [ "channelType", "title" ], "properties": { "channelType": { "type": "string", "example": "PHONE", "description": "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询" }, "content": { "type": "string", "description": "富文本内容(关于我们类型使用)" }, "icon": { "type": "string", "example": "https://oss.example.com/icon/phone.png", "description": "图标URL" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号(越小越靠前)" }, "status": { "type": "integer", "format": "int32", "example": "ACTIVE", "description": "状态,关联字典common_status:ACTIVE=启用, INACTIVE=停用" }, "subtitle": { "type": "string", "example": "客服热线", "description": "副标题/描述" }, "title": { "type": "string", "example": "电话咨询", "description": "标题" }, "value": { "type": "string", "example": "400-000-0000", "description": "渠道值(电话号码/客服链接等)" } }, "title": "联系我们请求" }, "分页结果«探索分类 VO»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "探索分类 VO", "$ref": "#/definitions/探索分类 VO" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«探索分类 VO»" }, "探索分类 VO": { "type": "object", "properties": { "coverUrl": { "type": "string", "description": "封面图URL" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "favoriteCount": { "type": "integer", "format": "int32", "description": "收藏数" }, "iconUrl": { "type": "string", "description": "图标URL" }, "id": { "type": "string", "description": "分类ID" }, "likeCount": { "type": "integer", "format": "int32", "description": "点赞数" }, "resourceCount": { "type": "integer", "format": "int32", "description": "关联资源数量" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序号" }, "status": { "type": "integer", "format": "int32", "description": "状态:0=下线 1=上线" }, "subtitle": { "type": "string", "description": "副标题" }, "title": { "type": "string", "description": "分类标题" }, "viewCount": { "type": "integer", "format": "int32", "description": "浏览量" } }, "title": "探索分类 VO" }, "探索分类关联资源项": { "type": "object", "properties": { "coverUrl": { "type": "string", "description": "封面图URL" }, "description": { "type": "string", "description": "资源简介(支持HTML)" }, "resourceId": { "type": "string", "description": "资源ID" }, "resourceName": { "type": "string", "description": "资源名称" }, "resourceType": { "type": "string", "description": "资源类型" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序号" } }, "title": "探索分类关联资源项" }, "探索分类详情 VO": { "type": "object", "properties": { "coverUrl": { "type": "string", "description": "封面图URL" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "description": { "type": "string", "description": "分类描述" }, "favoriteCount": { "type": "integer", "format": "int32", "description": "收藏数" }, "iconUrl": { "type": "string", "description": "图标URL" }, "id": { "type": "string", "description": "分类ID" }, "isFavorited": { "type": "boolean", "description": "当前用户是否已收藏" }, "isLiked": { "type": "boolean", "description": "当前用户是否已点赞" }, "likeCount": { "type": "integer", "format": "int32", "description": "点赞数" }, "resources": { "type": "array", "description": "关联资源列表", "items": { "originalRef": "探索分类关联资源项", "$ref": "#/definitions/探索分类关联资源项" } }, "subtitle": { "type": "string", "description": "副标题" }, "title": { "type": "string", "description": "分类标题" }, "viewCount": { "type": "integer", "format": "int32", "description": "浏览量" } }, "title": "探索分类详情 VO" }, "探索分类请求": { "type": "object", "required": [ "coverUrl", "title" ], "properties": { "coverUrl": { "type": "string", "example": "https://oss.example.com/explore/cover.jpg", "description": "封面图URL" }, "description": { "type": "string", "example": "阳光沙滩,碧海蓝天", "description": "分类描述" }, "iconUrl": { "type": "string", "example": "https://oss.example.com/explore/icon.png", "description": "图标URL" }, "resources": { "type": "array", "description": "关联资源列表", "items": { "originalRef": "探索分类资源请求", "$ref": "#/definitions/探索分类资源请求" } }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号(越小越靠前)" }, "status": { "type": "integer", "format": "int32", "example": 1, "description": "状态:0=下线 1=上线" }, "subtitle": { "type": "string", "example": "精选海岛度假目的地", "description": "副标题" }, "title": { "type": "string", "example": "海岛度假", "description": "分类标题" } }, "title": "探索分类请求" }, "探索分类资源请求": { "type": "object", "properties": { "coverUrl": { "type": "string", "example": "https://oss.example.com/scenic/1.jpg", "description": "封面图URL" }, "description": { "type": "string", "description": "资源简介(支持HTML)" }, "resourceId": { "type": "integer", "format": "int64", "example": 100, "description": "资源ID" }, "resourceName": { "type": "string", "example": "西湖风景区", "description": "资源名称" }, "resourceType": { "type": "string", "example": "SCENIC_SPOT", "description": "资源类型" } }, "title": "探索分类资源请求" }, "统一响应结果«分页结果«探索分类 VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«探索分类 VO»", "$ref": "#/definitions/分页结果«探索分类 VO»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«探索分类 VO»»" }, "统一响应结果«探索分类详情 VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "探索分类详情 VO", "$ref": "#/definitions/探索分类详情 VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«探索分类详情 VO»" }, "分页结果«前端配置 VO»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "前端配置 VO", "$ref": "#/definitions/前端配置 VO" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«前端配置 VO»" }, "前端配置 VO": { "type": "object", "properties": { "configGroup": { "type": "string", "description": "配置分组: COLOR/PAGE/SECRET/GENERAL" }, "configKey": { "type": "string", "description": "配置键" }, "configType": { "type": "string", "description": "值类型" }, "configValue": { "type": "string", "description": "配置值(SECRET类型脱敏)" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "description": { "type": "string", "description": "配置项描述" }, "id": { "type": "string", "description": "配置ID" }, "label": { "type": "string", "description": "配置项中文名称" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序号" }, "status": { "type": "integer", "format": "int32", "description": "状态: 0=禁用 1=启用" }, "updatedAt": { "type": "string", "format": "date-time", "description": "更新时间" } }, "title": "前端配置 VO" }, "前端配置请求": { "type": "object", "required": [ "configGroup", "configKey", "configType", "label" ], "properties": { "configGroup": { "type": "string", "example": "COLOR", "description": "配置分组" }, "configKey": { "type": "string", "example": "primaryColor", "description": "配置键" }, "configType": { "type": "string", "example": "COLOR", "description": "值类型" }, "configValue": { "type": "string", "example": "#1890FF", "description": "配置值" }, "description": { "type": "string", "example": "系统主色调", "description": "配置项描述" }, "label": { "type": "string", "example": "主题色", "description": "配置项中文名称" }, "sortOrder": { "type": "integer", "format": "int32", "example": 0, "description": "排序号" }, "status": { "type": "integer", "format": "int32", "example": 1, "description": "状态: 0=禁用 1=启用" } }, "title": "前端配置请求" }, "统一响应结果«List«string»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "type": "string" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«string»»" }, "统一响应结果«List«前端配置 VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "前端配置 VO", "$ref": "#/definitions/前端配置 VO" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«前端配置 VO»»" }, "统一响应结果«分页结果«前端配置 VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«前端配置 VO»", "$ref": "#/definitions/分页结果«前端配置 VO»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«前端配置 VO»»" }, "统一响应结果«前端配置 VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "前端配置 VO", "$ref": "#/definitions/前端配置 VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«前端配置 VO»" }, "常见问题分类VO": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "id": { "type": "integer", "format": "int64", "description": "分类ID" }, "items": { "type": "array", "description": "条目列表(仅内部接口返回)", "items": { "originalRef": "常见问题条目VO", "$ref": "#/definitions/常见问题条目VO" } }, "name": { "type": "string", "description": "分类名称" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序号" }, "status": { "type": "integer", "format": "int32", "description": "状态:0=禁用 1=启用" }, "updatedAt": { "type": "string", "format": "date-time", "description": "更新时间" } }, "title": "常见问题分类VO" }, "常见问题分类请求": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "example": "常见问题", "description": "分类名称" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号" }, "status": { "type": "integer", "format": "int32", "example": 1, "description": "状态:0=禁用 1=启用" } }, "title": "常见问题分类请求" }, "常见问题条目VO": { "type": "object", "properties": { "answer": { "type": "string", "description": "回答" }, "categoryId": { "type": "integer", "format": "int64", "description": "所属分类ID" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "id": { "type": "integer", "format": "int64", "description": "条目ID" }, "question": { "type": "string", "description": "问题" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序号" }, "status": { "type": "integer", "format": "int32", "description": "状态:0=禁用 1=启用" }, "updatedAt": { "type": "string", "format": "date-time", "description": "更新时间" } }, "title": "常见问题条目VO" }, "常见问题条目请求": { "type": "object", "required": [ "categoryId", "question" ], "properties": { "answer": { "type": "string", "example": "您可以在首页浏览路线产品...", "description": "回答(支持富文本)" }, "categoryId": { "type": "integer", "format": "int64", "description": "所属分类ID" }, "question": { "type": "string", "example": "如何预订行程?", "description": "问题" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号" }, "status": { "type": "integer", "format": "int32", "example": 1, "description": "状态:0=禁用 1=启用" } }, "title": "常见问题条目请求" }, "统一响应结果«List«常见问题分类VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "常见问题分类VO", "$ref": "#/definitions/常见问题分类VO" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«常见问题分类VO»»" }, "统一响应结果«List«常见问题条目VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "常见问题条目VO", "$ref": "#/definitions/常见问题条目VO" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«常见问题条目VO»»" }, "统一响应结果«常见问题分类VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "常见问题分类VO", "$ref": "#/definitions/常见问题分类VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«常见问题分类VO»" }, "统一响应结果«常见问题条目VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "常见问题条目VO", "$ref": "#/definitions/常见问题条目VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«常见问题条目VO»" }, "分页结果«协议 VO»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "协议 VO", "$ref": "#/definitions/协议 VO" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«协议 VO»" }, "协议 VO": { "type": "object", "properties": { "content": { "type": "string", "description": "协议内容(HTML富文本)" }, "createTime": { "type": "string", "format": "date-time", "description": "创建时间" }, "id": { "type": "string", "description": "协议ID" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序号" }, "status": { "type": "integer", "format": "int32", "description": "状态:0=下线 1=上线" }, "title": { "type": "string", "description": "协议标题" }, "type": { "type": "string", "description": "协议类型标识" }, "updateTime": { "type": "string", "format": "date-time", "description": "更新时间" }, "version": { "type": "string", "description": "版本号" } }, "title": "协议 VO" }, "协议请求": { "type": "object", "required": [ "content", "title", "type" ], "properties": { "content": { "type": "string", "description": "协议内容(HTML富文本)" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号(越小越靠前)" }, "status": { "type": "integer", "format": "int32", "example": 1, "description": "状态:0=下线 1=上线" }, "title": { "type": "string", "example": "隐私政策", "description": "协议标题" }, "type": { "type": "string", "example": "privacy", "description": "协议类型标识(唯一)" }, "version": { "type": "string", "example": 1.0, "description": "版本号" } }, "title": "协议请求" }, "统一响应结果«分页结果«协议 VO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«协议 VO»", "$ref": "#/definitions/分页结果«协议 VO»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«协议 VO»»" }, "统一响应结果«协议 VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "协议 VO", "$ref": "#/definitions/协议 VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«协议 VO»" }, "二次验证请求": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "example": 123456, "description": "验证码" } }, "title": "二次验证请求" }, "修改密码请求": { "type": "object", "required": [ "newPassword", "oldPassword" ], "properties": { "newPassword": { "type": "string", "example": "NewPass@456", "description": "新密码(8-128位,须含大小写字母和数字)" }, "oldPassword": { "type": "string", "example": "OldPass@123", "description": "旧密码" } }, "title": "修改密码请求" }, "头像更新请求": { "type": "object", "required": [ "avatar" ], "properties": { "avatar": { "type": "string", "description": "头像URL" }, "fileId": { "type": "integer", "format": "int64", "description": "文件ID" } }, "title": "头像更新请求", "description": "更新管理员头像,需先通过文件服务上传图片" }, "管理员登录响应": { "type": "object", "properties": { "adminId": { "type": "integer", "format": "int64", "description": "管理员ID" }, "avatar": { "type": "string", "description": "头像URL" }, "requireTwoFa": { "type": "boolean", "description": "是否需要二次验证" }, "requireWechatBind": { "type": "boolean", "description": "是否需要绑定企业微信" }, "role": { "type": "string", "description": "角色标识(主角色)" }, "roleName": { "type": "string", "description": "角色名称(主角色)" }, "roles": { "type": "array", "description": "角色列表(多角色)", "items": { "originalRef": "角色信息", "$ref": "#/definitions/角色信息" } }, "token": { "type": "string", "description": "登录令牌" }, "username": { "type": "string", "description": "用户名" } }, "title": "管理员登录响应" }, "管理员登录请求": { "type": "object", "required": [ "password", "username" ], "properties": { "password": { "type": "string", "example": "Admin@2026", "description": "密码" }, "username": { "type": "string", "example": "admin", "description": "用户名" } }, "title": "管理员登录请求", "description": "后台管理员通过用户名+密码登录,新设备首次登录需2FA验证" }, "统一响应结果«管理员登录响应»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "管理员登录响应", "$ref": "#/definitions/管理员登录响应" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«管理员登录响应»" }, "角色信息": { "type": "object", "properties": { "roleId": { "type": "integer", "format": "int64", "description": "角色ID" }, "roleKey": { "type": "string", "description": "角色标识" }, "roleName": { "type": "string", "description": "角色名称" } }, "title": "角色信息" }, "角色切换请求": { "type": "object", "required": [ "roleId" ], "properties": { "roleId": { "type": "integer", "format": "int64", "description": "目标角色ID" } }, "title": "角色切换请求", "description": "多角色管理员切换当前活跃角色" }, "分配菜单权限请求": { "type": "object", "required": [ "menuIds" ], "properties": { "menuIds": { "type": "array", "example": [ 1, 2, 3 ], "description": "菜单ID列表", "items": { "type": "integer", "format": "int64" } } }, "title": "分配菜单权限请求" }, "分页结果«SysRole»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "SysRole", "$ref": "#/definitions/SysRole" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«SysRole»" }, "创建角色请求": { "type": "object", "required": [ "roleKey", "roleName" ], "properties": { "remark": { "type": "string", "example": "负责日常运营管理", "description": "备注" }, "roleKey": { "type": "string", "example": "OPERATOR", "description": "角色标识" }, "roleName": { "type": "string", "example": "运营专员", "description": "角色名称" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号" } }, "title": "创建角色请求" }, "更新角色请求": { "type": "object", "properties": { "remark": { "type": "string", "example": "负责日常运营管理", "description": "备注" }, "roleName": { "type": "string", "example": "运营专员", "description": "角色名称" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号" }, "status": { "type": "string", "example": "ACTIVE", "description": "状态:ACTIVE=启用 DISABLED=禁用" } }, "title": "更新角色请求" }, "统一响应结果«List«SysRole»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "SysRole", "$ref": "#/definitions/SysRole" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«SysRole»»" }, "统一响应结果«SysRole»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "SysRole", "$ref": "#/definitions/SysRole" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«SysRole»" }, "统一响应结果«分页结果«SysRole»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«SysRole»", "$ref": "#/definitions/分页结果«SysRole»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«SysRole»»" }, "SysMenu": { "type": "object", "properties": { "children": { "type": "array", "items": { "originalRef": "SysMenu", "$ref": "#/definitions/SysMenu" } }, "component": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "icon": { "type": "string" }, "isCache": { "type": "boolean" }, "menuId": { "type": "integer", "format": "int64" }, "menuName": { "type": "string" }, "menuType": { "type": "string" }, "parentId": { "type": "integer", "format": "int64" }, "path": { "type": "string" }, "permissionCode": { "type": "string" }, "sortOrder": { "type": "integer", "format": "int32" }, "status": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "visible": { "type": "boolean" } }, "title": "SysMenu" }, "创建菜单请求": { "type": "object", "required": [ "menuName", "menuType" ], "properties": { "component": { "type": "string", "example": "system/user/index", "description": "组件路径" }, "icon": { "type": "string", "example": "user", "description": "菜单图标" }, "isCache": { "type": "boolean", "example": true, "description": "是否缓存(true=缓存 false=不缓存)" }, "menuName": { "type": "string", "example": "用户管理", "description": "菜单名称" }, "menuType": { "type": "string", "example": "M", "description": "菜单类型:D=目录 M=菜单 B=按钮(关联字典menu_type)" }, "parentId": { "type": "integer", "format": "int64", "example": 0, "description": "父菜单ID(顶级菜单为空)" }, "path": { "type": "string", "example": "/system/user", "description": "路由路径" }, "permissionCode": { "type": "string", "example": "system:user:list", "description": "权限标识" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号" }, "visible": { "type": "boolean", "example": true, "description": "是否可见" } }, "title": "创建菜单请求" }, "更新菜单请求": { "type": "object", "properties": { "component": { "type": "string", "example": "system/user/index", "description": "组件路径" }, "icon": { "type": "string", "example": "user", "description": "菜单图标" }, "isCache": { "type": "boolean", "example": true, "description": "是否缓存(true=缓存 false=不缓存)" }, "menuName": { "type": "string", "example": "用户管理", "description": "菜单名称" }, "menuType": { "type": "string", "example": "M", "description": "菜单类型:D=目录 M=菜单 B=按钮(关联字典menu_type)" }, "parentId": { "type": "integer", "format": "int64", "example": 0, "description": "父菜单ID" }, "path": { "type": "string", "example": "/system/user", "description": "路由路径" }, "permissionCode": { "type": "string", "example": "system:user:list", "description": "权限标识" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号" }, "status": { "type": "string", "example": "ACTIVE", "description": "状态:ACTIVE=启用 DISABLED=禁用" }, "visible": { "type": "boolean", "example": true, "description": "是否可见" } }, "title": "更新菜单请求" }, "统一响应结果«List«SysMenu»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "SysMenu", "$ref": "#/definitions/SysMenu" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«SysMenu»»" }, "统一响应结果«SysMenu»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "SysMenu", "$ref": "#/definitions/SysMenu" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«SysMenu»" }, "SysDictData": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time" }, "dictDataId": { "type": "integer", "format": "int64" }, "dictLabel": { "type": "string" }, "dictType": { "type": "string" }, "dictValue": { "type": "string" }, "remark": { "type": "string" }, "sortOrder": { "type": "integer", "format": "int32" }, "status": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } }, "title": "SysDictData" }, "SysDictType": { "type": "object", "properties": { "category": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "dictName": { "type": "string" }, "dictType": { "type": "string" }, "dictTypeId": { "type": "integer", "format": "int64" }, "remark": { "type": "string" }, "status": { "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } }, "title": "SysDictType" }, "分页结果«SysDictType»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "SysDictType", "$ref": "#/definitions/SysDictType" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«SysDictType»" }, "创建字典数据请求": { "type": "object", "required": [ "dictLabel", "dictType", "dictValue" ], "properties": { "dictLabel": { "type": "string", "example": "男", "description": "字典标签" }, "dictType": { "type": "string", "example": "sys_gender", "description": "字典类型" }, "dictValue": { "type": "string", "example": 1, "description": "字典值" }, "remark": { "type": "string", "example": "男性", "description": "备注" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号" } }, "title": "创建字典数据请求" }, "创建字典类型请求": { "type": "object", "required": [ "dictName", "dictType" ], "properties": { "category": { "type": "string", "example": "BASE", "description": "字典分类(如BASE=基础字典, BUSINESS=业务字典,也可自定义)" }, "dictName": { "type": "string", "example": "性别", "description": "字典名称" }, "dictType": { "type": "string", "example": "sys_gender", "description": "字典类型标识" }, "remark": { "type": "string", "example": "用户性别字典", "description": "备注" } }, "title": "创建字典类型请求" }, "更新字典数据请求": { "type": "object", "properties": { "dictLabel": { "type": "string", "example": "男", "description": "字典标签" }, "dictValue": { "type": "string", "example": 1, "description": "字典值" }, "remark": { "type": "string", "example": "男性", "description": "备注" }, "sortOrder": { "type": "integer", "format": "int32", "example": 1, "description": "排序号" }, "status": { "type": "string", "example": "ACTIVE", "description": "状态:ACTIVE=启用 DISABLED=禁用" } }, "title": "更新字典数据请求" }, "更新字典类型请求": { "type": "object", "properties": { "dictName": { "type": "string", "example": "性别", "description": "字典名称" }, "remark": { "type": "string", "example": "用户性别字典", "description": "备注" }, "status": { "type": "string", "example": "ACTIVE", "description": "状态:ACTIVE=启用 DISABLED=禁用" } }, "title": "更新字典类型请求" }, "统一响应结果«List«SysDictData»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "SysDictData", "$ref": "#/definitions/SysDictData" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«SysDictData»»" }, "统一响应结果«SysDictData»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "SysDictData", "$ref": "#/definitions/SysDictData" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«SysDictData»" }, "统一响应结果«SysDictType»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "SysDictType", "$ref": "#/definitions/SysDictType" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«SysDictType»" }, "统一响应结果«分页结果«SysDictType»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«SysDictType»", "$ref": "#/definitions/分页结果«SysDictType»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«SysDictType»»" }, "分页结果«定时任务信息»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "定时任务信息", "$ref": "#/definitions/定时任务信息" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«定时任务信息»" }, "分页结果«定时任务执行日志»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "定时任务执行日志", "$ref": "#/definitions/定时任务执行日志" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«定时任务执行日志»" }, "创建定时任务请求": { "type": "object", "required": [ "cronExpression", "invokeTarget", "jobName" ], "properties": { "concurrent": { "type": "boolean", "example": false, "description": "是否允许并发执行" }, "cronExpression": { "type": "string", "example": "0 0 2 * * ?", "description": "Cron表达式,标准6位(秒 分 时 日 月 周)" }, "invokeTarget": { "type": "string", "example": "wechatSyncService.syncDepartments", "description": "调用目标(Bean名称.方法名),方法必须是无参公开方法" }, "jobGroup": { "type": "string", "example": "SYSTEM", "description": "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)" }, "jobName": { "type": "string", "example": "同步企微通讯录", "description": "任务名称" }, "misfirePolicy": { "type": "string", "example": "DEFAULT", "description": "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)" }, "remark": { "type": "string", "example": "每天凌晨2点同步企微通讯录", "description": "备注" } }, "title": "创建定时任务请求" }, "定时任务信息": { "type": "object", "properties": { "concurrent": { "type": "boolean", "description": "是否允许并发执行" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "cronExpression": { "type": "string", "description": "Cron表达式" }, "invokeTarget": { "type": "string", "description": "调用目标(Bean名称.方法名)" }, "jobGroup": { "type": "string", "description": "任务分组" }, "jobId": { "type": "integer", "format": "int64", "description": "任务ID" }, "jobName": { "type": "string", "description": "任务名称" }, "misfirePolicy": { "type": "string", "description": "计划执行策略" }, "remark": { "type": "string", "description": "备注" }, "status": { "type": "string", "description": "任务状态" }, "updatedAt": { "type": "string", "format": "date-time", "description": "更新时间" } }, "title": "定时任务信息" }, "定时任务执行日志": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "endTime": { "type": "string", "format": "date-time", "description": "结束时间" }, "invokeTarget": { "type": "string", "description": "调用目标" }, "jobId": { "type": "integer", "format": "int64", "description": "任务ID" }, "jobLogId": { "type": "integer", "format": "int64", "description": "日志ID" }, "jobName": { "type": "string", "description": "任务名称" }, "message": { "type": "string", "description": "执行结果/异常信息" }, "startTime": { "type": "string", "format": "date-time", "description": "开始时间" }, "status": { "type": "string", "description": "执行状态" } }, "title": "定时任务执行日志" }, "更新定时任务请求": { "type": "object", "properties": { "concurrent": { "type": "boolean", "example": false, "description": "是否允许并发执行" }, "cronExpression": { "type": "string", "example": "0 0 2 * * ?", "description": "Cron表达式,标准6位(秒 分 时 日 月 周)" }, "invokeTarget": { "type": "string", "example": "wechatSyncService.syncDepartments", "description": "调用目标(Bean名称.方法名),方法必须是无参公开方法" }, "jobGroup": { "type": "string", "example": "SYSTEM", "description": "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)" }, "jobName": { "type": "string", "example": "同步企微通讯录", "description": "任务名称" }, "misfirePolicy": { "type": "string", "example": "DEFAULT", "description": "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)" }, "remark": { "type": "string", "example": "每天凌晨2点同步企微通讯录", "description": "备注" } }, "title": "更新定时任务请求" }, "统一响应结果«分页结果«定时任务信息»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«定时任务信息»", "$ref": "#/definitions/分页结果«定时任务信息»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«定时任务信息»»" }, "统一响应结果«分页结果«定时任务执行日志»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«定时任务执行日志»", "$ref": "#/definitions/分页结果«定时任务执行日志»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«定时任务执行日志»»" }, "统一响应结果«定时任务信息»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "定时任务信息", "$ref": "#/definitions/定时任务信息" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«定时任务信息»" }, "Map«string,object»": { "type": "object", "title": "Map«string,object»", "additionalProperties": { "type": "object" } }, "WechatDepartment": { "type": "object", "properties": { "createdAt": { "type": "string", "format": "date-time" }, "deptId": { "type": "integer", "format": "int64" }, "deptName": { "type": "string" }, "orderIndex": { "type": "integer", "format": "int32" }, "parentId": { "type": "integer", "format": "int64" }, "status": { "type": "string" }, "syncedAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "title": "WechatDepartment" }, "WechatUser": { "type": "object", "properties": { "avatar": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "deptIds": { "type": "string" }, "deptNames": { "type": "string" }, "email": { "type": "string" }, "gender": { "type": "integer", "format": "int32" }, "mobile": { "type": "string" }, "name": { "type": "string" }, "position": { "type": "string" }, "status": { "type": "integer", "format": "int32" }, "syncedAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "userid": { "type": "string" } }, "title": "WechatUser" }, "分页结果«WechatUser»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "WechatUser", "$ref": "#/definitions/WechatUser" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«WechatUser»" }, "统一响应结果«List«Map«string,object»»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "Map«string,object»", "$ref": "#/definitions/Map«string,object»" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«Map«string,object»»»" }, "统一响应结果«List«WechatDepartment»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "originalRef": "WechatDepartment", "$ref": "#/definitions/WechatDepartment" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«WechatDepartment»»" }, "统一响应结果«分页结果«WechatUser»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«WechatUser»", "$ref": "#/definitions/分页结果«WechatUser»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«WechatUser»»" }, "Map«string,object»_1": { "type": "object", "title": "Map«string,object»_1", "additionalProperties": { "type": "object" } }, "Map«string,object»_2": { "type": "object", "title": "Map«string,object»_2", "additionalProperties": { "type": "object" } }, "Map«string,object»_3": { "type": "object", "title": "Map«string,object»_3", "additionalProperties": { "type": "object" } }, "Map«string,object»_4": { "type": "object", "title": "Map«string,object»_4", "additionalProperties": { "type": "object" } }, "个人资料VO(角色感知)": { "type": "object", "properties": { "adminId": { "type": "string", "description": "管理员用户ID" }, "avatar": { "type": "string", "description": "头像URL" }, "certLevel": { "type": "string", "description": "认证等级(定制师专属)" }, "certified": { "type": "boolean", "description": "是否已认证(定制师专属)" }, "contactQrUrl": { "type": "string", "description": "企业微信联系二维码URL" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "description": { "type": "string", "description": "个人简介(定制师专属)" }, "experience": { "type": "integer", "format": "int32", "description": "从业年限(定制师专属)" }, "isFeatured": { "type": "boolean", "description": "是否推荐(定制师专属)" }, "motto": { "type": "string", "description": "座右铭(定制师专属)" }, "name": { "type": "string", "description": "姓名" }, "phone": { "type": "string", "description": "手机号" }, "role": { "type": "string", "description": "当前角色key" }, "roleName": { "type": "string", "description": "角色中文名" }, "serviceAreas": { "type": "array", "description": "服务区域(定制师专属)", "items": { "type": "string" } }, "sortOrder": { "type": "integer", "format": "int32", "description": "展示排序(定制师专属)" }, "specialties": { "type": "array", "description": "擅长领域(定制师专属)", "items": { "type": "string" } }, "updatedAt": { "type": "string", "format": "date-time", "description": "更新时间" } }, "title": "个人资料VO(角色感知)" }, "产品统计": { "type": "object", "properties": { "publishedProducts": { "type": "integer", "format": "int32", "description": "已上架产品数" }, "totalProducts": { "type": "integer", "format": "int32", "description": "产品总数" } }, "title": "产品统计" }, "分页结果«Map«string,object»»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "Map«string,object»", "$ref": "#/definitions/Map«string,object»" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«Map«string,object»»" }, "定制师个人资料VO": { "type": "object", "properties": { "adminId": { "type": "string", "description": "管理员用户ID" }, "avatar": { "type": "string", "description": "头像URL" }, "certLevel": { "type": "string", "description": "认证等级:none/bronze/silver/gold/diamond" }, "certified": { "type": "boolean", "description": "是否已认证" }, "contactQrUrl": { "type": "string", "description": "企业微信联系二维码URL" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "description": { "type": "string", "description": "个人简介" }, "experience": { "type": "integer", "format": "int32", "description": "从业年限" }, "isFeatured": { "type": "boolean", "description": "是否推荐" }, "motto": { "type": "string", "description": "座右铭" }, "name": { "type": "string", "description": "姓名(优先取企微名称,否则管理员用户名)" }, "phone": { "type": "string", "description": "手机号" }, "serviceAreas": { "type": "array", "description": "服务区域列表", "items": { "type": "string" } }, "sortOrder": { "type": "integer", "format": "int32", "description": "展示排序" }, "specialties": { "type": "array", "description": "擅长领域列表", "items": { "type": "string" } }, "updatedAt": { "type": "string", "format": "date-time", "description": "更新时间" } }, "title": "定制师个人资料VO" }, "定制师工作台VO(重构版)": { "type": "object", "properties": { "calendarEvents": { "type": "array", "description": "日历事件", "items": { "originalRef": "Map«string,object»", "$ref": "#/definitions/Map«string,object»" } }, "customerStats": { "description": "客户统计", "originalRef": "客户统计", "$ref": "#/definitions/客户统计" }, "funnel": { "type": "object", "description": "转化漏斗" }, "overview": { "description": "数据概览", "originalRef": "数据概览", "$ref": "#/definitions/数据概览" }, "productStats": { "description": "产品统计", "originalRef": "产品统计", "$ref": "#/definitions/产品统计" }, "ranking": { "type": "array", "description": "本月业绩排行", "items": { "originalRef": "Map«string,object»", "$ref": "#/definitions/Map«string,object»" } }, "reviewStats": { "description": "评价统计", "originalRef": "评价统计", "$ref": "#/definitions/评价统计" }, "shortcuts": { "type": "array", "description": "快捷入口列表", "items": { "originalRef": "快捷入口", "$ref": "#/definitions/快捷入口" } }, "todos": { "type": "object", "description": "待办汇总" }, "trend": { "type": "array", "description": "数据趋势(按天)", "items": { "originalRef": "Map«string,object»", "$ref": "#/definitions/Map«string,object»" } }, "upcomingTrips": { "type": "array", "description": "即将出行列表", "items": { "originalRef": "Map«string,object»", "$ref": "#/definitions/Map«string,object»" } } }, "title": "定制师工作台VO(重构版)" }, "客户统计": { "type": "object", "properties": { "customerAddCount": { "type": "integer", "format": "int32", "description": "新增客户数" }, "customerLossCount": { "type": "integer", "format": "int32", "description": "客户流失数" } }, "title": "客户统计" }, "快捷入口": { "type": "object", "properties": { "icon": { "type": "string", "description": "图标" }, "name": { "type": "string", "description": "名称" }, "path": { "type": "string", "description": "路径" } }, "title": "快捷入口" }, "数据概览": { "type": "object", "properties": { "gmv": { "type": "number", "description": "当期GMV" }, "gmvDiffRate": { "type": "number", "description": "与前一期GMV增长率" }, "orderCount": { "type": "integer", "format": "int64", "description": "当期订单数" }, "orderCountDiff": { "type": "integer", "format": "int64", "description": "与前一期订单数差值" }, "period": { "type": "string", "description": "当期时间范围" } }, "title": "数据概览" }, "更新定制师个人资料请求": { "type": "object", "properties": { "certLevel": { "type": "string", "example": "gold", "description": "认证等级:none/bronze/silver/gold/diamond" }, "certified": { "type": "boolean", "example": true, "description": "是否已认证" }, "description": { "type": "string", "example": "10年+旅行定制师", "description": "个人简介" }, "experience": { "type": "integer", "format": "int32", "example": 5, "description": "从业年限" }, "isFeatured": { "type": "boolean", "example": false, "description": "是否推荐" }, "motto": { "type": "string", "example": "让每一次旅行都值得回忆", "description": "座右铭" }, "serviceAreas": { "type": "array", "example": [ "西南地区", "华中地区" ], "description": "服务区域列表", "items": { "type": "string" } }, "sortOrder": { "type": "integer", "format": "int32", "example": 0, "description": "展示排序" }, "specialties": { "type": "array", "example": [ "云南", "西藏" ], "description": "擅长领域列表", "items": { "type": "string" } } }, "title": "更新定制师个人资料请求" }, "统一响应结果«object»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "object", "description": "响应数据" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«object»" }, "统一响应结果«个人资料VO(角色感知)»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "个人资料VO(角色感知)", "$ref": "#/definitions/个人资料VO(角色感知)" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«个人资料VO(角色感知)»" }, "统一响应结果«分页结果«Map«string,object»»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«Map«string,object»»", "$ref": "#/definitions/分页结果«Map«string,object»»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«Map«string,object»»»" }, "统一响应结果«定制师个人资料VO»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "定制师个人资料VO", "$ref": "#/definitions/定制师个人资料VO" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«定制师个人资料VO»" }, "统一响应结果«定制师工作台VO(重构版)»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "定制师工作台VO(重构版)", "$ref": "#/definitions/定制师工作台VO(重构版)" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«定制师工作台VO(重构版)»" }, "评价统计": { "type": "object", "properties": { "averageRating": { "type": "number", "description": "平均评分(1-5)" }, "goodRate": { "type": "number", "description": "好评率(%)" }, "totalReviews": { "type": "integer", "format": "int32", "description": "评价总数" } }, "title": "评价统计" }, "分页结果«客户信息VO(管理端)»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "originalRef": "客户信息VO(管理端)", "$ref": "#/definitions/客户信息VO(管理端)" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«客户信息VO(管理端)»" }, "客户信息VO(管理端)": { "type": "object", "properties": { "avatar": { "type": "string", "description": "头像URL" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "nickname": { "type": "string", "description": "昵称" }, "phone": { "type": "string", "description": "手机号(不脱敏)" }, "status": { "type": "string", "description": "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁" }, "updatedAt": { "type": "string", "format": "date-time", "description": "更新时间" }, "userId": { "type": "integer", "format": "int64", "description": "用户ID" } }, "title": "客户信息VO(管理端)" }, "统一响应结果«分页结果«客户信息VO(管理端)»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "分页结果«客户信息VO(管理端)»", "$ref": "#/definitions/分页结果«客户信息VO(管理端)»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«客户信息VO(管理端)»»" }, "统一响应结果«客户信息VO(管理端)»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "originalRef": "客户信息VO(管理端)", "$ref": "#/definitions/客户信息VO(管理端)" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«客户信息VO(管理端)»" } } }