package proto // 基础统计信息,会话数,问答数,用户数,今日处理问答数 type DashBoardStatisticsSt struct { SessionNum int64 `json:"session_num"` MessageCount int64 `json:"message_count"` UserCount int64 `json:"user_count"` TodayMessageCount int64 `json:"today_message_count"` } // 统计过去一周每天的会话数、消息数 type DashBoardStatisticsWeekSt struct { SessionCount []DashBoardStatisticsWeekCount `json:"session_count"` MessageCount []DashBoardStatisticsWeekCount `json:"message_count"` } type DashBoardStatisticsWeekCount struct { Count int64 `json:"count"` } type DashBoardStatisticsResp struct { DashBoardStatisticsSt DashBoardStatisticsSt `json:"dashboard_statistics_st"` DashBoardStatisticsWeekSt DashBoardStatisticsWeekSt `json:"dashboard_statistics_week"` // 模型的使用统计 DashBoardStatisticsModelSt []MessageModelIDCountSt `json:"dashboard_statistics_model_st"` } type MessageModelIDCountSt struct { ModelID uint `json:"model_id"` ModelName string `json:"name"` Count int `json:"value"` } type FileContentReq struct { UserFileID int `json:"user_file_id" form:"user_file_id"` // 用户文件ID FileID int `json:"file_id" form:"file_id"` // 文件ID FileContent string `json:"file_content" form:"file_content"` // 文件内容 } type FileContentResp struct { Code int `json:"code"` Message string `json:"message"` Data any `json:"data"` } type GenerateResp struct { Code int `json:"code"` Message string `json:"message"` Data any `json:"data"` } type MessageConvertFileReq struct { MessageID int `json:"message_id" form:"message_id"` // 消息ID FileType string `json:"file_type" form:"file_type"` // 需要转成的文件类型 FileName string `json:"file_name" form:"file_name"` // 文件名称 } // 第三方登录 type ThirdPartyLoginStatus struct { Status int `json:"status"` // 登录状态,0:登录成功,1:登录失败 Type string `json:"type"` // 登录类型,qq,github UserInfo UserLoginInfo `json:"user_info"` // 用户信息 } type UserLoginInfo struct { UserID int `json:"id"` // 用户ID Username string `json:"username"` // 用户名 Email string `json:"email"` // 用户邮箱 Token string `json:"token"` // 用户token } // 第三方登录state type ThirdPartyLoginState struct { UUID string `json:"uuid"` // uuid Type string `json:"type"` // 操作类型add,login Project string `json:"project"` // 项目名称,saw //第三方平台 Platform string `json:"platform"` // 平台名称,qq,github UserID int `json:"user_id"` // 用户ID,当为add时需要 } type OAuthResponse struct { AccessToken string `json:"access_token"` // access_token } // github type GitHubOAuthResponse struct { AccessToken string `json:"access_token"` Scope string `json:"scope"` TokenType string `json:"token_type"` } type GiteeOAuthTokenResponse struct { AccessToken string `json:"access_token"` TokenType string `json:"token_type"` ExpiresIn int `json:"expires_in"` RefreshToken string `json:"refresh_token"` Scope string `json:"scope"` CreatedAt int `json:"created_at"` Error string `json:"error"` ErrorDescription string `json:"error_description"` } type GoogleOAuthResponse struct { AccessToken string `json:"access_token"` ExpiresIn int `json:"expires_in"` Scope string `json:"scope"` TokenType string `json:"token_type"` IDToken string `json:"id_token"` // id_token } type GoogleOAuthRequest struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` Code string `json:"code"` RedirectURI string `json:"redirect_uri"` GrantType string `json:"grant_type"` // authorization_code } type OAuthGetTokenRequest struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` Code string `json:"code"` RedirectURI string `json:"redirect_uri" ` } type GitHubOAuthRequest struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` Code string `json:"code"` RedirectURI string `json:"redirect_uri"` } type GiteeOAuthRequest struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` Code string `json:"code"` RedirectURI string `json:"redirect_uri" ` //'grant_type': 'authorization_code', GrantType string `json:"grant_type"` } type ThirdPartyUserInfo struct { UserID string `json:"user_id"` // 第三方用户ID Email string `json:"email"` // 第三方平台用户邮箱 Avatar string `json:"avatar"` // 第三方平台用户头像 Name string `json:"name"` // 第三方平台用户名 Url string `json:"url"` // 第三方平台用户主页,可选 // 其他信息 } // github返回用户信息 type GitHubUserInfo struct { LoginUserName string `json:"login"` // 用户名 UserID int `json:"id"` // 用户ID AvatarUrl string `json:"avatar_url"` //头像 Url string `json:"url"` // 用户主页 } type GoogleUserInfoResp struct { ID string `json:"id"` Email string `json:"email"` VerifiedEmail bool `json:"verified_email"` Name string `json:"name"` GivenName string `json:"given_name"` FamilyName string `json:"family_name"` Picture string `json:"picture"` } // 国外服务器负责请求的请求 type OnlineServerReq struct { Type string `json:"type" form:"type"` // 请求类型,get,post PostType string `json:"post_type" form:"post_type"` // post请求类型,form,json Url string `json:"url" form:"url"` // 请求地址 Data any `json:"data" form:"data"` // 请求数据 Header []OutlineServerReqData `json:"header" form:"header"` // 请求头 } type OutlineServerReqData struct { Key string `json:"key" form:"key"` // 请求的key Value string `json:"value" form:"value"` // 请求的值 } type OnlineServerRespData struct { Response string `json:"response"` // 响应数据 } type OutlineServerResp struct { Request OnlineServerReq `json:"request" form:"request"` // 请求 Response OnlineServerRespData `json:"response" form:"response"` // 响应 } type OutlineServerReqResp struct { Code int `json:"code"` // 响应码 Message string `json:"message"` // 响应信息 Data OutlineServerResp `json:"data"` // 响应数据 } // google回调信息 type GoogleOAuthCallback struct { Code string `json:"code"` // code AccessToken string `json:"access_token"` // access_token Scope string `json:"scope"` // scope State string `json:"state"` // state } /**************************facebook****************************/ type FacebookOAuthResponse struct { AccessToken string `json:"access_token"` TokenType string `json:"token_type"` ExpiresIn int `json:"expires_in"` } type FaceBookOAuthRequest struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` Code string `json:"code"` RedirectURI string `json:"redirect_uri"` } type FaceBookUserInfoResp struct { ID string `json:"id"` Name string `json:"name"` Picture FaceBookUserInfoPicture `json:"picture"` } type FaceBookUserInfoPicture struct { Data FaceBookUserInfoPictureData `json:"data"` } type FaceBookUserInfoPictureData struct { Height int `json:"height"` Width int `json:"width"` IsSilhouette bool `json:"is_silhouette"` Url string `json:"url"` } /***************************Stackoverflow****************************/ type StackoverflowOAuthResponse struct { AccessToken string `json:"access_token"` Expires int `json:"expires"` } type StackoverflowUserInfoBadgeCounts struct { Bronze int `json:"bronze"` Silver int `json:"silver"` Gold int `json:"gold"` } type StackoverflowUserInfo struct { BadgeCounts StackoverflowUserInfoBadgeCounts `json:"badge_counts"` AccountID int `json:"account_id"` IsEmployee bool `json:"is_employee"` LastAccessDate int `json:"last_access_date"` ReputationChangeYear int `json:"reputation_change_year"` ReputationChangeQuarter int `json:"reputation_change_quarter"` ReputationChangeMonth int `json:"reputation_change_month"` ReputationChangeWeek int `json:"reputation_change_week"` ReputationChangeDay int `json:"reputation_change_day"` Reputation int `json:"reputation"` CreationDate int `json:"creation_date"` UserType string `json:"user_type"` UserID int `json:"user_id"` Link string `json:"link"` ProfileImage string `json:"profile_image"` DisplayName string `json:"display_name"` } type StackoverflowUserInfoResponse struct { Items []StackoverflowUserInfo `json:"items"` HasMore bool `json:"has_more"` Backoff int `json:"backoff"` QuotaMax int `json:"quota_max"` QuotaRemaining int `json:"quota_remaining"` } /*********************QQ**************************/ type QQOAuthRequest struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` Code string `json:"code"` RedirectURI string `json:"redirect_uri" ` //'grant_type': 'authorization_code', GrantType string `json:"grant_type"` } type QQOAuthTokenResponse struct { AccessToken string `json:"access_token"` ExpiresIn int `json:"expires_in"` RefreshToken string `json:"refresh_token"` } type GetQQOpenIDResponse struct { ClientID string `json:"client_id"` OpenID string `json:"openid"` } type QQUserInfoResponse struct { OpenID string `json:"openid"` Ret int `json:"ret"` Msg string `json:"msg"` IsLost int `json:"is_lost"` Nickname string `json:"nickname"` Gender string `json:"gender"` GenderType int `json:"gender_type"` Province string `json:"province"` City string `json:"city"` Year string `json:"year"` Figureurl string `json:"figureurl"` Figureurl1 string `json:"figureurl_1"` Figureurl2 string `json:"figureurl_2"` FigureurlQQ1 string `json:"figureurl_qq_1"` FigureurlQQ2 string `json:"figureurl_qq_2"` FigureurlQQ string `json:"figureurl_qq"` IsYellowVip string `json:"is_yellow_vip"` Vip string `json:"vip"` YellowVipLevel string `json:"yellow_vip_level"` Level string `json:"level"` IsYellowYearVip string `json:"is_yellow_year_vip"` } /**************************gitea***********************/ type GiteaOAuthResponse struct { AccessToken string `json:"access_token"` TokenType string `json:"token_type"` ExpiresIn int `json:"expires_in"` RefreshToken string `json:"refresh_token"` } type GiteaOAuthRequest struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` Code string `json:"code"` RedirectURI string `json:"redirect_uri"` GrantType string `json:"grant_type"` // authorization_code } type GiteaUserInfo struct { Sub string `json:"sub"` Name string `json:"name"` PreferredUsername string `json:"preferred_username"` Email string `json:"email"` Picture string `json:"picture"` Groups interface{} `json:"groups"` }