<?php namespace app\api\controller; use addons\shopro\model\Cart as CartModel; /** * 购物车接口 */ class Cart extends Base { protected $noNeedLogin = []; protected $noNeedRight = ['*']; /** * @ApiWeigh (99) * @ApiTitle (购物车首页) * @ApiSummary (购物车首页) * @ApiMethod (GET) * * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") * * @ApiReturn({ "code": 1, "msg": "我的购物车", "time": "1608087096", "data": [{ "id": 1, //购物车ID "user_id": 1, //用户ID "goods_id": 4, //商品ID "goods_num": 2, //加入数量 "sku_price_id": 6, "goods": { //商品信息 "id": 4, //商品ID "type": "normal", "title": "测试", //商品标题 "subtitle": "2", //商品副标题 "weigh": 0, "category_ids": "3", "image": "http://www.ant.top/uploads/20201214/076abf7cf60e82783cfdd819746b4b19.png", //商品主图 "images": [ //商品轮播图 "http://www.ant.top/uploads/20201214/b655ea4dc4779222ab7a4e2b95feb3a4.png" ], "params": [], "content": "测试多规格", "price": "20", //现价 "original_price": "200.00", //原价 "is_sku": 1, //是否多规格:0=否,1=是 "likes": 0, "views": 1, "sales": 0, "show_sales": 0, "service_ids": "4,3", "dispatch_type": "express", "dispatch_ids": "1", "deletetime": null, "dispatch_type_arr": [ "express" ] }, "sku_price": { "id": 6, "goods_sku_ids": "2,6", "goods_id": 4, "weigh": 0, "image": "", "stock": 20, "sales": 0, "sn": "", "weight": 1, "price": "10.00", "goods_sku_text": "黄色,小", "status": "up", "goods_sku_id_arr": [ "2", "6" ] } }] }) */ public function index() { $data = CartModel::info(); foreach ($data as $key => $v) { $data[$key]['sku_price'] = \addons\shopro\model\Goods::operActivitySkuPrice($v['goods'], [$v['sku_price']])['sku_price'][0]; } $this->success('我的购物车', $data); } /** * @ApiWeigh (97) * @ApiTitle (加入购物车) * @ApiSummary (加入购物车) * @ApiMethod (POST) * * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") * @ApiParams (name=goods_list, type=array, required=false, description="购买的商品:[{goods_id: 3, goods_num: 1, sku_price_id: 3, goods_price: 0.10}]") * * @ApiReturn({ "code": 1, "msg": "已添加", "time": "1608087096", "data": null }) */ public function add() { $params = $this->request->post(); $params['goods_list'] = is_string($params['goods_list']) ? json_decode(htmlspecialchars_decode($params['goods_list']),true) : $params['goods_list']; // 表单验证 $this->shoproValidate($params, get_class(), 'add'); $goodsList = $params['goods_list']; $this->success('已添加', CartModel::add($goodsList)); } /** * @ApiWeigh (95) * @ApiTitle (编辑购物车) * @ApiSummary (编辑购物车) * @ApiMethod (POST) * * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") * @ApiParams (name=act, type=string, required=true, description="操作类型:delete=删除,change=修改") * @ApiParams (name=cart_list, type=array, required=true, description="购物车ID数组:[1775, 1776]") * @ApiParams (name=value, type=inter, required=false, description="act为change时必传") * * @ApiReturn() */ public function edit() { $params = $this->request->post(); // 表单验证 $this->shoproValidate($params, get_class(), 'edit'); $this->success('', CartModel::edit($params)); } }