diff --git a/src/pages/user/myTicket/myTicket.tsx b/src/pages/user/myTicket/myTicket.tsx
index ecdb920..6f2385c 100644
--- a/src/pages/user/myTicket/myTicket.tsx
+++ b/src/pages/user/myTicket/myTicket.tsx
@@ -1,12 +1,14 @@
import { Component, ReactNode } from 'react';
import { View } from '@tarojs/components';
import { AtList, AtListItem } from 'taro-ui';
+import Taro from '@tarojs/taro';
import moment from 'moment';
import repair from '@/assets/icons/MyTickets/repair.svg';
import finished from '@/assets/icons/MyTickets/finished.svg';
import tick from '@/assets/icons/MyTickets/tick.svg';
import fail from '@/assets/icons/MyTickets/fail.svg';
import pt from '@/plain-text';
+import { getUrl } from '@/service';
import './myTicket.scss';
type FixStatus = 1 | 2 | 3 | 4 | 5;
@@ -53,12 +55,57 @@ class TicketListItem {
export default class SettingsPage extends Component {
state = {
- fixList: [
- new TicketListItem('华硕', '天选3', 3, moment()),
- new TicketListItem('联想', '拯救者', 5, moment()),
- ],
+ loading: true,
+ success: false,
+ fixList: [new TicketListItem('华硕', '天选3', 3, moment())],
};
+
+ componentDidMount(): void {
+ Taro.request({
+ url: getUrl('/user/mytickets'),
+ method: 'GET',
+ data: {
+ token: 'token_test',
+ },
+ })
+ .then(res => {
+ if (!res.data.success) {
+ this.setState({
+ loading: false,
+ success: false,
+ });
+ return;
+ }
+ this.setState({
+ loading: false,
+ success: true,
+ fixList: res.data.data.list.map(
+ item =>
+ new TicketListItem(
+ item.device,
+ item.deviceModel,
+ item.status,
+ moment(),
+ ),
+ ),
+ });
+ })
+ .catch(reason => {
+ this.setState({
+ loading: false,
+ success: false,
+ });
+ console.log(reason);
+ });
+ }
+
render(): ReactNode {
+ if (this.state.loading) {
+ return loading;
+ }
+ if (!this.state.success) {
+ return Failed;
+ }
const fixListRenderer = this.state.fixList.map(item => item.render());
return (