import Taro, {
Component } from '@tarojs/taro'
import {
View, Image, Checkbox, CheckboxGroup } from '@tarojs/components'
import {
request } from './../../utils'
import './index.scss'
class Index extends Component {
config = {
//配置文件
navigationBarTitleText: '购物车',
enablePullDownRefresh: true,
backgroundColor: '#efefef'
}
//初始化数据
constructor(props) {
super(props)
this.state = {
cartlist: [],//购物车商品列表
isTrue: true,//控制页面的改变---有商品时和无商品时的变化
totalNum: 0,//总数
totalPrice: 0,//总价
allSelected: true//全选/单选
}
}
//清求购物车数据
componentDidShow() {
try {
//获取本地的token和userid值
let token = Taro.getStorageSync('token')
let userid = Taro.getStorageSync('userid')
//通过token和userid来判断是否需要登陆
if (userid && token) {
//存在,请求数据
request({
url: '/cart',
data: {
userid,
token
}
}).then(res => {
// console.log(res)
let {
code } = res.data
//通过后端返回的code来判断状态
if (code === '10119') {
Taro.showToast({
title: '您还没登陆,请登陆',
icon: 'none'
})
Taro.navigateTo({
url: '/pages/login/index'
})
} else if (code === '10112') {
Taro.showToast({
title: '购物车空空如也,请购买',
icon: 'none'
})
this.setState({
isTrue: true
})
} else {
//在商品列表中的每个商品添加一个自定义属性,来控制商品是否选中
res.data.data.map(item => {
item.f = true
})
//修改数据
this.setState({
isTrue: false,
cartlist: res.data.data
}, () => {
this.count()//计算总价
})
}
})
} else {
//不存在,重新登陆
Taro.showToast({
//提示信息
title: '您还未登陆,请先登录',
icon: 'none'
})
Taro.navigateTo(
逆战----用taro书写购物车页面功能
最新推荐文章于 2024-04-23 11:38:08 发布