Skip to content

接口

API模块结构

API按业务领域划分为多个模块,位于app/api/目录下:

plaintext
├── app/
│   ├── api/
│   │   ├── article.ts              # 文章相关接口
│   │   ├── auth.ts                 # 认证相关接口
│   │   ├── member.ts               # 会员相关接口
│   │   └── system.ts               # 系统相关接口

文章接口模块 (article.ts)

提供文章相关的数据获取功能:

typescript
// 获取文章列表
export function getArticleList(params: Record<string, any>) {
    return request.get('article/article', params)
}

// 获取所有文章(可能用于下拉选择等场景)
export function getArticleAll(params: Record<string, any>) {
    return request.get('article/article/all', params)
}

// 获取文章详情
export function getArticleDetail(id: number) {
    return request.get(`article/article/${id}`)
}

// 获取文章分类
export function getArticleCategory() {
    return request.get('article/category')
}

认证接口模块 (auth.ts)

处理用户登录、注册、退出等认证相关功能:

typescript
// 用户名密码登录
export function usernameLogin(data: AnyObject) {
    return request.get('login', data)
}

// 手机验证码登录
export function mobileLogin(data: AnyObject) {
    return request.post('login/mobile', data)
}

// 获取登录配置
export function getConfig() {
    return request.get('login/config')
}

// 退出登录
export function logout() {
    return request.put('auth/logout')
}

// 用户名注册
export function usernameRegister(data: AnyObject) {
    let url = 'register'
    data.pid && (url += `?pid=${data.pid}`) // 支持推荐人ID
    return request.post(url, data)
}

// 手机号注册
export function mobileRegister(data: AnyObject) { /*...*/ }

// 微信登录相关接口
export function wechatLogin(data: AnyObject) { /*...*/ }
export function weappLogin(data: AnyObject) { /*...*/ }
export function scanlogin() { /*...*/ }

// 绑定手机号
export function bind(data: AnyObject) { /*...*/ }

会员接口模块 (member.ts)

提供会员信息查询和管理功能:

typescript
// 获取会员信息
export function getMemberInfo() {
    return request.get('member/member')
}

// 修改会员信息
export function modifyMember(data: AnyObject) {
    return request.put(`member/modify/${data.field}`, data)
}

// 获取积分流水
export function getPointList(data: AnyObject) {
    return request.get('member/account/point', data)
}

// 获取余额流水
export function getBalanceList(data: AnyObject) {
    return request.get('member/account/balance', data)
}

// 绑定手机号
export function bindMobile(data: AnyObject) {
    return request.put('member/mobile', data)
}

系统接口模块 (system.ts)

提供系统功能相关的接口,如验证码、配置、文件处理等:

typescript
// 获取验证码
export function getCaptcha() {
    return request.get('captcha', { time: (new Date().getTime()) })
}

// 发送短信验证码
export function sendSms(data: AnyObject) {
    return request.post(`send/mobile/${data.type}`, data)
}

// 获取协议信息
export function getAgreementInfo(key: string) {
    return request.get(`agreement/${key}`)
}

// 重置密码
export function resetPassword(data: AnyObject) {
    return request.post(`password/reset`, data)
}

// 获取站点信息
export function getSiteInfo() {
    return request.get('site')
}

// 获取版权信息
export function getCopyRight() {
    return request.get('copyright')
}

// 微信相关接口
export function getWechatAuthCode(data: AnyObject) { /*...*/ }
export function getWechatSkdConfig(data: AnyObject) { /*...*/ }

// 文件处理接口
export function fetchImage(data: AnyObject) { /*...*/ }
export function fetchBase64Image(data: AnyObject) { /*...*/ }

接口使用示例

导入并使用API:

typescript
// 在组件中导入并使用API
import { getArticleList, getArticleDetail } from '@/app/api/article'

export default {
  setup() {
    // 获取文章列表
    const fetchArticles = async () => {
      try {
        const params = { page: 1, size: 10, category_id: 1 }
        const result = await getArticleList(params)
        console.log('文章列表:', result)
      } catch (error) {
        console.error('获取文章列表失败:', error)
      }
    }

    // 获取文章详情
    const fetchArticleDetail = async (id: number) => {
      try {
        const result = await getArticleDetail(id)
        console.log('文章详情:', result)
      } catch (error) {
        console.error('获取文章详情失败:', error)
      }
    }

    return {
      fetchArticles,
      fetchArticleDetail
    }
  }
}

基于 MIT 协议发布