import React, {Component} from 'react';
import './index.scss';
import {HeaderBar, VList} from '../../common'
import { http } from "@/utils";
import {Link} from 'react-router-dom'
import {Toast} from 'antd-mobile'
import {connect} from "react-redux"
import {getCourses} from './../detail/actions';
import Loading from '@/common/Loading'

class Purchased extends Component {
    constructor(props) {
        super(props)
        this.state = {
            data: [],
            isLoading: true
        }
    }

    componentDidMount() {
        this.getList()
    }

    // 获取订单
    getList = () => {
        http.get(`${API.home}/m/my/courses`,).then((res) => {
            if (res.data.code === 200) {
                this.setState({
                    data: res.data.data,
                    isLoading: false
                })
            } else {
                Toast.info(res.data.msg, 2);
            }
        })
    }

    toCourseDetail = (id) => {
        const { dispatch, history } = this.props;
        dispatch(getCourses(id, () => {
            history.push(`/detail?id=${id}`)
        }));
    }


    render() {
        const {user} = this.props
        const uid = user && user.data && user.data.uid
        return (
            <div className='purchased-box'>
                <HeaderBar arrow={true} title='已购课程' cart={false} href='/my' />
                <Loading isLoading={this.state.isLoading}>
                    {
                        this.state.data && this.state.data.length > 0 ?
                            <div className="purchased-body">
                                <div className='tip'>加群请备注您的学号：{uid}</div>
                                {
                                    this.state.data.map((item, index) => {
                                        const Info = (
                                            <div className="info">
                                                <p className='title' onClick={() => this.toCourseDetail(item.course_id)}>
                                                    {/* <Link to={`/detail?id=${item.course_id}`}> */}
                                                        {item.course_title}
                                                    {/* </Link> */}
                                                </p>
                                                <p className='contact text-overflow-2'>{item.simpledescription}</p>
                                                {
                                                    item.is_aist
                                                        ? <div className='des'>助教微信：{item.assist_weixin}</div>
                                                        : <div className='des'>QQ群：{item.course_qq}</div>
                                                }
                                            </div>
                                        )
                                        const status = (
                                            item.is_aist && <span className='status'>返现</span>
                                        )
                                        return (
                                            <VList
                                                key={index}
                                                img={item.image_name}
                                                id={item.course_id}
                                                info={Info}
                                                status={status}
                                                toDetail={this.toCourseDetail}
                                            />
                                        )
                                    })
                                }
                            </div>
                            : <div className="cart-tip">
                                <p className='cart-mess'>您还没有课程哦，快去逛逛吧~</p>
                                <Link to='/classify'>去逛逛</Link>
                            </div>
                    }
                </Loading>

            </div>
        )
    }
}

export default connect(
    state => ({user: state.user}),
    null
)(Purchased)
