【临时抱佛脚之大二实习日志】异步获取数据库数据,通过uid索引购物车数据

异步获取数据库数据

获取的数据是一个数组嵌套,shopData1.data是数据库的数据部分,ceshi[0]是真正需要的部分。

shopData1打印出来是这样

shopData1.data打印结果

 ceshi[0]打印结果

下面函数可以返回所需数据

export async function shopOut()
{
    var shopData1 = await Http.asyncRequest('php','get',
  {target:'trade_info'});
  console.log(shopData1.data);
  var ceshi = shopData1.data;
  console.log(ceshi[0]);
  //  console.log(111);
  return ceshi[0];
  //}
  
}

在购物车部分的js文件引用函数接收数据并使用,ceshi[0]返回值是键值对。

 var shoppingData = await shopOut();
title:
 shoppingData["title"],

如此可以改变界面商品的名字

通过uid索引购物车数据

数据库cart中,userid是用于区别用户,不同用户的购物车不同。goodsid用于寻找商品,商品信息存在goods中。addtime是存储时间。

 

 修改PHP使其可以返回最终商品的数据

if ($_GET['target'] == 'user1')
    {
	    $rows = $mysql->db_get_all("SELECT * FROM `cart` WHERE userid=0");
	    //$data = $mysql->db_get_all("SELECT * FROM `goods` WHERE id=$rows");
	    header('Content-Type: application/json');
        echo json_encode($rows);
 	}
	elseif ($_GET['target'] == 'user2') {
	    $rows = $mysql->db_get_all("SELECT * FROM `cart` WHERE userid=1");
	    header('Content-Type: application/json');
        echo json_encode($rows);
	}
// 	else {
// 	    $rows = $mysql->db_get_all("SELECT * FROM `goods` WHERE id=$_GET['target']");
// 	    header('Content-Type: application/json');
//         echo json_encode($rows);
// 	}
    elseif ($_GET['target'] == 'goodsid1')
    {
	    $rows = $mysql->db_get_all("SELECT * FROM `goods` WHERE id = 27");
	    header('Content-Type: application/json');
        echo json_encode($rows);
	}
	elseif ($_GET['target'] == 'goodsid2')
    {
	    $rows = $mysql->db_get_all("SELECT * FROM `goods` WHERE id = 21");
	    header('Content-Type: application/json');
        echo json_encode($rows);
	}

修改交互函数

export async function userid (username)
{
  if(username == 'user1'){
    var shopData1 = await Http.asyncRequest('php','get',
    {target:'user1'});
  }
  else if(username == 'user2'){
    var shopData1 = await Http.asyncRequest('php','get',
    {target:'user2'});
  }
  var ceshi = shopData1.data;
  console.log(ceshi[0]);
  var goodsid = ceshi[0];
  return goodsid['goodsid'];
}
export async function shopOut(goods)
{
  if(goods == 27){
    var shopData1 = await Http.asyncRequest('php','get',
    {target:'goodsid1'});
  }
  else if(goods == 21){
    var shopData1 = await Http.asyncRequest('php','get',
    {target:'goodsid2'});
  }
  console.log(shopData1);
  var ceshi = shopData1.data;
  console.log(ceshi[0]);
  //  console.log(111);
  return ceshi[0];
  //}
  
}

删除无关代码,最后 结果

export async function genCartGroupData() {
  var shoppingData = await shopOut( await userid('user1')); 
  console.log(shoppingData);
  const resp = {
    data: {
      isNotEmpty: true,
      storeGoods: [
        {
          storeId: '1000',
          storeName: '店名',
          storeStatus: 1,
          totalDiscountSalePrice: '9990',
           promotionGoodsList: [
             {
              goodsPromotionList: [
                {
                  uid: '88888888205468',
                  saasId: '88888888',
                  storeId: '1000',
                  spuId: '12',
                  skuId: '135691622',
                  isSelected: 1,
                  thumb:
                    '7.jpg',
                  title:
                    shoppingData['title'],
                  primaryImage:
                    '7.jpg',
                  quantity: 1,
                  stockStatus: true,
                  stockQuantity: 10,//库存
                  price: shoppingData['sprice']*100,
                  originPrice: shoppingData['msprice']*100,
                   //后两位数字为小数位,所以要在原数据上*100
                  tagPrice: null,
                  titlePrefixTags: shoppingData['mark1'],
                  roomId: null,
                  specInfo: [
                    {
                      specTitle: '颜色',
                      specValue: '经典白',
                    },
                    {
                      specTitle: '类型',
                      specValue: '经典套装',
                    },
                  ],//这个等大佬改
                  joinCartTime: shoppingData['addtime'],
                  available: 1,
                  putOnSale: 1,
                  etitle: null,
                },
              ],
            },
          ],
          //lastJoinTime: '2020-06-29T07:55:40.000+0000',
          postageFreePromotionVo: {
            title: null,
            promotionCode: null,
            promotionSubCode: null,
            promotionId: null,
            tagText: null,
            promotionStatus: null,
            tag: null,
            description: null,
            doorSillRemain: null,
            isNeedAddOnShop: 0,
          },
        },
      ],
      invalidGoodItems: [],
      isAllSelected: false,
      selectedGoodsCount: 1,
      totalAmount: shoppingData['sprice']*100,
      totalDiscountAmount: (shoppingData['mprice']-shoppingData['sprice'])*100,
    },
    code: 'Success',
    msg: null,
    requestId: mockReqId(),
    clientIp: mockIp(),
    rt: 269,
    success: true,
  };
  return resp;
}

运行结果

由于图片在数据库存储是以字符串存储名字的,例如shoppingData['img']=='1.jpg'

真正的图片在服务器中存储,因此调用图片需要写出它的url

写一个拼接url的函数并调用

//拼接函数
export async function jpgOut(jpg)
{
  var jpgURL = 'http://地址/';
  jpgURL = jpgURL + jpg;
  return jpgURL;
}

//调用
var jpg = await jpgOut(shoppingData['img']);
thumb:jpg,

运行结果相同只是提高了灵活性。

等明天吧,把全选部分做了。(点击全选并没有选择购物车内商品)反正现在使找不到组件,我去别的地方偷一个来。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值