海上捞火锅

海上捞火锅


清空购物车

[TOC]

简要描述
  • 清空购物车接口
前端页面和服务端的交互过程
  • 点击清空购物车按钮,页面发送ajax请求,请求服务端来执行清空购物车操作
触发事件
<div class="clear" @click="clearCart">
    <i class="el-icon-delete"></i> 清空
</div>
接口调用
async clearCart(){
    const res = await clearCartApi()
    if(res.code === 1){
        for(let ele of this.dishList){
            ele.number = undefined
        }
        this.cartData = []
        this.cartDialogShow = false
    }else{
        this.$notify({ type:'warning', message:res.msg});
    }
},
请求URL
  • [context-path]/shoppingCart/clean
请求方式
  • delete
接口API
function clearCartApi() {
    return $axios({
        'url': '/shoppingCart/clean',
        'method': 'delete',
    })
}
返回示例
code: 1
data: "购物车已清空,请重新选择"
map: {}
msg: null
返回参数说明
参数名 类型 说明
code int 返回码,1:成功;0或其他:失败
msg string 错误信息
data object 返回数据
map map 动态数据
备注

data有两种返回值

public static <T> R<T> success(T object) {
    R<T> r = new R<T>();
    r.data = object;
    r.code = 1;
    return r;
}

public static <T> R<T> error(String msg) {
    R r = new R();
    r.msg = msg;
    r.code = 0;
    return r;
}
后端代码
@DeleteMapping("/clean")  
public R<String> clean(){  
    LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();  
    queryWrapper.eq(ShoppingCart::getUserId,BaseContext.getCurrentId());  
    shoppingCartService.remove(queryWrapper);  
    return R.success("购物车已清空,请重新选择");  
}

页面列表

ITEM_HTML