# Athena-Mall-Front服务接口文档

# 一、接口公共参数设置

# 1.1代理服务器地址

const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({
    devServer: {
        proxy: {
            '/api': {
                //vue-mall 后端服务地址
                target: "http://sph-h5-api.atguigu.cn",
                ws:true,
                changeOrigin:true,
            },
        },
    },
    productionSourceMap: false,
})

# 1.2公共请求参数

参数名称 类型 是否必选 描述
token String Y 登录的token
userTempId String(通过uuidjs生成) Y 未登陆用户生成的临时ID

每个接口需要的Header参数值(登录接口不需要)例如:

  • token: d90aa16f24d04c7d882051412f9ec45b 后台生成
  • userTempId: b2f79046-7ee6-4dbf-88d0-725b1045460b 前台生成

# 二、级分类接口

请求地址 请求方式 请求参数 返回示例
/api/product/getBaseCategoryList GET 如下
{
  "code": 200,
  "message": "成功",
  "data": [
    {
      "categoryChild": [
        {
          "categoryChild": [
            {
              "categoryName": "电子书",
              "categoryId": 1
            }
          ],
          "categoryName": "电子书刊",
          "categoryId": 1
        }
      ],
      "categoryName": "图书、音像、电子书刊",
      "categoryId": 1
    }
  ],
  "ok": true
}

# 三、搜索商品接口

请求地址 请求方式 请求参数 返回示例
/api/list POST 如下 如下

请求参数说明

参数名称 参数类型 是否必选 描述
category1Id string N 一级分类ID
category2Id string N 二级分类ID
category3Id string N 三级分类ID
categoryName string N 分类名称
keyword string N 搜索关键字
props Array N 商品属性的数组: ["属性ID:属性值:属性名"]

请求参数示例

{
  "category3Id": "61",
  "categoryName": "手机",
  "keyword": "小米",
  "order": "1:desc",
  "pageNo": 1,
  "pageSize": 10,
  "props": ["1:1700-2799:价格", "2:6.65-6.74英寸:屏幕尺寸"],
  "trademark": "4:小米"
}

返回参数示例

{
    "code": 200,
    "message": "成功",
    "data": {
        "trademarkList": [
            {
                "tmId": 1,
                "tmName": "苹果"
            }
        ],
        "attrsList": [
            {
                "attrId": 1,
                "attrValueList": [
                    "4500-11999",
                    "2800-4499"
                ],
                "attrName": "价格"
            }
        ],
        "goodsList": [
            {
                "id": 2,
                "defaultImg": "http://192.168.200.128:8080/xxx.jpg",
                "title": "Apple iPhone 11 (A2223)",
                "price": 5499,
                "createTime": null,
                "tmId": null,
                "tmName": null,
                "category1Id": null,
                "category1Name": null,
                "category2Id": null,
                "category2Name": null,
                "category3Id": null,
                "category3Name": null,
                "hotScore": 0,
                "attrs": null
            }
        ],
        "total": 8,
        "pageSize": 2,
        "pageNo": 1,
        "totalPages": 4
    },
    "ok": true
}

# 四、获取商品详情接口

请求地址 请求方式 请求参数 返回示例
/api/item/{skuId} GET skuId(string) 如下

请求参数说明

参数名称 参数类型 是否必选 描述
skuId string Y 商品ID

请求参数示例

http://sph-h5-api.atguigu.cn/api/item/13

参数返回实例

{
  "code": 200,
  "message": "成功",
  "data": {
    "valuesSkuJson": "{\"3|5|7\":6,\"3|4|7\":2,\"2|4|7\":3,\"1|5|7\":5,\"1|4|7\":1,\"2|5|7\":4}",
    "price": 5499,
    "categoryView": {
      "id": 61,
      "category1Id": 2,
      "category1Name": "手机",
      "category2Id": 13,
      "category2Name": "手机通讯",
      "category3Id": 61,
      "category3Name": "手机"
    },
    "spuSaleAttrList": [
      {
        "id": 1,
        "spuId": 1,
        "baseSaleAttrId": 1,
        "saleAttrName": "选择颜色",
        "spuSaleAttrValueList": [
          {
            "id": 1,
            "spuId": 1,
            "baseSaleAttrId": 1,
            "saleAttrValueName": "黑色",
            "saleAttrName": "选择颜色",
            "isChecked": "0"
          }
        ]
      },
      {
        "id": 2,
        "spuId": 1,
        "baseSaleAttrId": 2,
        "saleAttrName": "选择版本",
        "spuSaleAttrValueList": [
          {
            "id": 4,
            "spuId": 1,
            "baseSaleAttrId": 2,
            "saleAttrValueName": "64GB",
            "saleAttrName": "选择版本",
            "isChecked": "1"
          }
        ]
      },
      {
        "id": 3,
        "spuId": 1,
        "baseSaleAttrId": 3,
        "saleAttrName": "选择套装",
        "spuSaleAttrValueList": [
          {
            "id": 7,
            "spuId": 1,
            "baseSaleAttrId": 3,
            "saleAttrValueName": " 官方标配",
            "saleAttrName": "选择套装",
            "isChecked": "1"
          }
        ]
      }
    ],
    "skuInfo": {
      "id": 2,
      "spuId": 1,
      "price": 5499,
      "skuName": "Apple iPhone 11 (A2223) 64GB 红色 移动联通电信双卡双待",
      "skuDesc": "主体\n入网型号\nA2223\n品牌\nApple\n产品名称\niPhone 11\n上市年份\n2019年\n上市月份\n9月\n基本信息\n机身颜色\n红色\n机身长度(mm)\n150.9\n机身重量(g)\n194\n机身材质工艺\n以官网信息为准\n机身宽度(mm)\n75.7\n机身材质分类\n玻璃后盖\n机身厚度(mm)\n8.3\n运营商标志或内容\n无",
      "weight": "0.47",
      "tmId": 1,
      "category3Id": 61,
      "skuDefaultImg": "http://192.168.200.128:8080/xxxx.jpg",
      "isSale": 1,
      "skuImageList": [
        {
          "id": 6,
          "skuId": 2,
          "imgName": "63e862164165f483.jpg",
          "imgUrl": "http://192.168.200.128:8080/group1/M00/00/00/wKjIgF42RLOAd5YSAANTQTjaVjQ819.jpg",
          "spuImgId": 2,
          "isDefault": "0"
        }
      ],
      "skuAttrValueList": [
        {
          "id": 6,
          "attrId": 1,
          "valueId": 6,
          "skuId": 2
        }
      ],
      "skuSaleAttrValueList": null
    }
  },
  "ok": true
}

# 五、获取购物车列表接口

请求地址 请求方式 请求参数 返回示例
/api/cart/cartlist GET 如下

参数返回实例

{
  "code": 200,
  "message": "成功",
  "data": [
    {
      "id": 61,
      "userId": "2",
      "skuId": 4,
      "cartPrice": 5999,
      "skuNum": 4,
      "imgUrl": "http://192.168.200.128:8080xxx.jpg",
      "skuName": "Apple iPhone 11 (A2223) ",
      "isChecked": 1,
      "skuPrice": 5999
    },
    {
      "id": 62,
      "userId": "2",
      "skuId": 2,
      "cartPrice": 5499,
      "skuNum": 1,
      "imgUrl": "http://192.168.200.128:8080/yyyy.jpg",
      "skuName": "Apple iPhone 11 (A2223) 64GB 红色",
      "isChecked": 0,
      "skuPrice": 5499
    }
  ],
  "ok": true
}

# 六、添加到购物车接口

请求地址 请求方式 请求参数 返回示例
/api/cart/addToCart/{skuId}/{skuNum} POST 如下 如下

请求参数说明

参数名称 参数类型 是否必选 描述
skuId string Y 商品Id
skuNum string Y 商品数量
// 增加商品数量
http://sph-h5-api.atguigu.cn/api/cart/addToCart/3/4
// 减少商品数量
http://sph-h5-api.atguigu.cn/api/cart/addToCart/3/-2

返回参数示例

{
  "code": 200,
  "message": "成功",
  "data": null,
  "ok": true
}

# 七、切换商品选中状态接口

请求地址 请求方式 请求参数 返回示例
/api/cart/checkCart/{skuId}/{isChecked} GET 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
skuId string Y 商品Id
isChecked string Y 是否被选中0 代表曲线,1代表选中

返回参数示例

{
  "code": 200,
  "message": "成功",
  "data": null,
  "ok": true
}

# 八、删除购物车商品接口

请求地址 请求方式 请求参数 返回示例
/api/cart/deleteCart/{skudId} DELETE 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
skuId string Y 商品Id

返回参数示例

{
  "code": 200,
  "message": "成功",
  "data": null,
  "ok": true
}

# 九、获取订单交易页信息接口

请求地址 请求方式 请求参数 返回示例
/api/order/auth/trade GET 如下

返回参数示例

{
  "code": 200,
  "message": "成功",
  "data": {
    "totalAmount": 23996,
    "userAddressList": [
      {
        "id": 2,
        "userAddress": "北京市昌平区2",
        "userId": 2,
        "consignee": "admin",
        "phoneNum": "15011111111",
        "isDefault": "1"
      }
    ],
    "tradeNo": "1b23c1efc8144bfc83e51807f4e71d3a",
    "totalNum": 1,
    "detailArrayList": [
      {
        "id": null,
        "orderId": null,
        "skuId": 4,
        "skuName": "Apple iPhone 11 移动联通电信4G手机 双卡双待",
        "imgUrl": "http://192.168.200.128:8080/RLOAElEmAATrIT-1J9Q110.jpg",
        "orderPrice": 5999,
        "skuNum": 4,
        "hasStock": null
      }
    ]
  },
  "ok": true
}

# 十、获取我的订单列表接口

请求地址 请求方式 请求参数 返回示例
/api/order/auth/{page}/{limit} GET 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
page string Y 页码
limit string Y 每一页显示的数量

返回参数示例

{
  "code": 200,
  "message": "成功",
  "data": {
    "records": [
      {
        "id": 70,
        "consignee": "admin",
        "consigneeTel": "15011111111",
        "totalAmount": 29495,
        "orderStatus": "UNPAID",
        "userId": 2,
        "paymentWay": "ONLINE",
        "deliveryAddress": "北京市昌平区2",
        "orderComment": "",
        "outTradeNo": "ATGUIGU1584247289311481",
        "tradeBody": "Apple iPhone 11 (A2223) 128GB手机 双卡双待 A",
        "createTime": "2020-03-15 12:41:29",
        "expireTime": "2020-03-16 12:41:29",
        "processStatus": "UNPAID",
        "trackingNo": null,
        "parentOrderId": null,
        "imgUrl": null,
        "orderDetailList": [
          {
            "id": 81,
            "orderId": 70,
            "skuId": 2,
            "skuName": "Apple iPhone 11 (A2223) 64GB 红色",
            "imgUrl": "http://192.168.200.128:8080/xxx.jpg",
            "orderPrice": 5499,
            "skuNum": 1,
            "hasStock": null
          }
        ],
        "orderStatusName": "未支付",
        "wareId": null
      }
    ],
    "total": 41,
    "size": 2,
    "current": 1,
    "pages": 21
  },
  "ok": true
}

# 十一、提交订单接口

请求地址 请求方式 请求参数 返回示例
/api/order/auth/submitOrder?tradeNo={tradeNo} POST 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
traderNo string Y 交易编号(拼接在路径中)
consignee string Y 收件人姓名
consigneeTel string Y 收件人电话
deliveryAddress string Y 收件地址
paymentWay string Y 支付方式(ONLINE代表在线)
orderComment string Y 订单备注
orderDetailList string Y 存储多个商品对象的数组

请求参数示例

{
  "consignee": "admin",
  "consigneeTel": "15011111111",
  "deliveryAddress": "北京市昌平区2",
  "paymentWay": "ONLINE",
  "orderComment": "xxx",
  "orderDetailList": [
    {
      "id": null,
      "orderId": null,
      "skuId": 6,
      "skuName": " Apple iPhone 11 (A2223) 128GB 红色 移动联通电信22",
      "imgUrl": "http://182.92.128.115:8080//rBFUDF6V0JmAG9XGAAGL4LZv5fQ163.png",
      "orderPrice": 4343,
      "skuNum": 2,
      "hasStock": null
    },
    {
      "id": null,
      "orderId": null,
      "skuId": 4,
      "skuName": "Apple iPhone 11 (A2223) 128GB 红色",
      "imgUrl": "http://182.92.128.115:80800/rBFUDF6VzaeANzIOAAL1X4gVWEE035.png",
      "orderPrice": 5999,
      "skuNum": 1,
      "hasStock": null
    }
  ]
}

返回参数示例

{
  "code": 200,
  "message": "成功",
  "data": "SN1234251353",
  "ok": true
}

# 十二、获取订单支付信息接口

请求地址 请求方式 请求参数 返回示例
/api/payment/weixin/createnative/{orderId} GET 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
orderId string Y 支付订单号

返回参数示例

{
  "code": 200,
  "message": "成功",
  "data": {
    "codeUrl": "weixin://wxpay/bizpayurl?pr=P0aPBJK",
    "orderId": 71,
    "totalFee": 23996,
    "resultCode": "SUCCESS"
  },
  "ok": true
}

# 十三、查询支付订单状态接口

请求地址 请求方式 请求参数 返回示例
/api/payment/weixin/queryPayStatus/{orderId} GTET 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
orderId string Y 支付订单号

返回参数示例

{
  "code": 205,
  "message": "支付中",
  "data": null,
  "ok": false
}

# 十四、获取注册验证码接口

请求地址 请求方式 请求参数 返回示例
/api/user/passport/sendCode/{phone} GET 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
phone string $1600 Y

返回参数示例

{
  "code": 205,
  "message": "success",
  "data": 346776,
  "ok": false
}

# 十五、用户登陆接口

请求地址 请求方式 请求参数 返回示例
/api/user/passport/login POST 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
phone string Y 注册的电话号码
password string Y 注册的密码

返回参数示例

{
  "code": 200,
  "message": "success",
  "data": {
    "token": "dafadgatetwr4123425151"
  },
  "ok": false
}
{
  "code": 204,
  "message": "failed",
  "data": {
    "token": null
  },
  "ok": false
}

# 十六、注册用户接口

请求地址 请求方式 请求参数 返回示例
/api/user/passport/regeiser POST 如下 如下

请求参数

参数名称 参数类型 是否必选 描述
phone string Y 注册的电话号码
password string Y 密码
code string Y 验证码

返回参数示例

{
  "code": 205,
  "message": "success",
  "data": null,
  "ok": false
}

# 十七、退出登陆接口

请求地址 请求方式 请求参数 返回示例
/api/user/passport/logout GET 如下

返回参数示例

{
  "code": 205,
  "message": "success",
  "data": null,
  "ok": false
}

# 十八、获取用户地址

请求地址 请求方式 请求参数 返回示例
/api/user/userAddress/auth/findUserAddressList GET 如下

返回参数示例

{
  "code": 200,
  "message": "success",
  "data": {
    "address": {
      "address1":"上海",
      "address2":"北京"
    }
  },
  "ok": false
}