100 lines
2.4 KiB
TypeScript
100 lines
2.4 KiB
TypeScript
|
|
import { get, post, put } from '@/api/request'
|
|||
|
|
|
|||
|
|
export interface UserInfo {
|
|||
|
|
id: number
|
|||
|
|
nickname: string
|
|||
|
|
avatar_url: string
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface LevelInfo {
|
|||
|
|
level_key: string
|
|||
|
|
name: string
|
|||
|
|
modules: string[]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface LoginResult {
|
|||
|
|
token: string
|
|||
|
|
user: UserInfo
|
|||
|
|
level: LevelInfo
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface ModuleOut {
|
|||
|
|
module_key: string
|
|||
|
|
name: string
|
|||
|
|
icon: string
|
|||
|
|
locked: boolean
|
|||
|
|
enabled_tools_count: number
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface ToolOut {
|
|||
|
|
tool_key: string
|
|||
|
|
module_key: string
|
|||
|
|
name: string
|
|||
|
|
icon: string
|
|||
|
|
description: string
|
|||
|
|
is_hot: boolean
|
|||
|
|
locked: boolean
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export interface ToolsListResult {
|
|||
|
|
modules: ModuleOut[]
|
|||
|
|
list: ToolOut[]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function apiWxLogin(code: string) {
|
|||
|
|
return post<LoginResult>('/user/wx-login', { code })
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function apiDevLogin() {
|
|||
|
|
return post<LoginResult>('/user/dev-login')
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** H5 账号注册(注册即登录) */
|
|||
|
|
export function apiRegister(username: string, password: string, nickname = '') {
|
|||
|
|
return post<LoginResult>('/user/register', { username, password, nickname })
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** H5 账号密码登录 */
|
|||
|
|
export function apiAccountLogin(username: string, password: string) {
|
|||
|
|
return post<LoginResult>('/user/login', { username, password })
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** 把 H5 独立账号合并进当前登录账号(工作台随迁) */
|
|||
|
|
export function apiBindAccount(username: string, password: string) {
|
|||
|
|
return post<{ username: string }>('/user/bind-account', { username, password })
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** 更新个人信息(昵称 / 头像) */
|
|||
|
|
export function apiUpdateProfile(nickname: string, avatarUrl: string) {
|
|||
|
|
return put<{ nickname: string, avatar_url: string }>('/user/profile', { nickname, avatar_url: avatarUrl })
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function apiGetLevel() {
|
|||
|
|
return get<LevelInfo>('/user/level')
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** 当前登录用户信息(token 校验后恢复 user) */
|
|||
|
|
export function apiGetUserInfo() {
|
|||
|
|
return get<UserInfo>('/user/info')
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function apiToolsList() {
|
|||
|
|
return get<ToolsListResult>('/tools/list')
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function apiToolsUsed(toolKey: string) {
|
|||
|
|
return post('/tools/used', { tool_key: toolKey })
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function apiWorkbenchGet() {
|
|||
|
|
return get<{ tool_keys: string[] }>('/workbench/get')
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function apiWorkbenchSave(toolKeys: string[]) {
|
|||
|
|
return post('/workbench/save', { tool_keys: toolKeys })
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export function apiFeedbackSubmit(content: string, contact = '') {
|
|||
|
|
return post('/feedback/submit', { content, contact })
|
|||
|
|
}
|