leon 1 år sedan
förälder
incheckning
e940424974

+ 1 - 1
config/env.ts

@@ -1,4 +1,4 @@
 
 export const APP_VERSION = '1.0.2'
 export const ANDROID_VERSION = '1.0.0'
-export const WX_VERSION = '1.5.6'
+export const WX_VERSION = '1.5.7'

+ 3 - 0
src/_health/base/new_button.tsx

@@ -105,6 +105,9 @@ export default function NewButton(props: {
             style = {
                 height: props.height ?? rpxToPx(72),
                 width: props.width ?? rpxToPx(198),
+                // paddingLeft:rpxToPx(24),
+                // paddingRight:rpxToPx(24),
+                // boxSizing:'border-box',
                 borderRadius: props.height ? props.height / 4 : rpxToPx(72 / 4),
                 backgroundColor: isTouched ? props.color + '40' : props.disable ? '#B2B2B240' : props.color + '1A',
                 color: props.disable ? '#b2b2b2' : props.color,

+ 28 - 5
src/_health/pages/timeline_detail.tsx

@@ -32,6 +32,7 @@ import FastSleepPopupContent from "../components/fast_sleep_popup_content";
 import { StatusType } from "../base/status_indicator";
 import 'dayjs/locale/zh-cn';
 import 'dayjs/locale/en';
+import { getInfoSuccess } from "@/store/user";
 
 let useRoute;
 let useNavigation;
@@ -238,6 +239,21 @@ export default function TimelineDetail() {
         // })
     }, [showPop])
 
+    useEffect(() => {
+        if (!user.isLogin) {
+            //用户未登录读取cache
+            var gps = Taro.getStorageSync('gps')
+            if (gps) {
+                global.locationDetail = JSON.parse(gps)
+            }
+            global.memberAlert = Taro.getStorageSync('memberAlert') || false
+            var userData = Taro.getStorageSync('userData')
+            if (userData) {
+                dispatch(getInfoSuccess(JSON.parse(userData)));
+            }
+        }
+    }, [])
+
     function setTitle(timestamp) {
         dayjs.locale(global.language == 'en' ? 'en' : 'zh-cn');
         require('moment/locale/en-gb')
@@ -631,7 +647,6 @@ export default function TimelineDetail() {
             })
             return
         }
-        debugger
 
         if (health.mode != 'ACTIVE' && health.mode != 'EAT') {
             list = [t('health.delete')]
@@ -740,21 +755,29 @@ export default function TimelineDetail() {
         }
     }
 
-    function goHome(){
+    function goHome() {
         // jumpPage('/_moment/pages/message')
-        // jumpPage('/_moment/pages/home?uid='+(shareUser ? shareUser.id:detail.share_user ? detail.share_user.id : user.id))
+        if (!user.isLogin){
+            jumpPage('/_account/pages/ChooseAuth')
+            return
+        }
+        if (router.params.source == 'home') {
+            Taro.navigateBack()
+            return
+        }
+        jumpPage('/_moment/pages/home?uid=' + (shareUser ? shareUser.id : detail.share_user ? detail.share_user.id : user.id))
     }
 
     return <View style={{ display: 'flex', flex: 1, flexDirection: 'column', backgroundColor: '#fff', height: '101vh' }}>
         {
             !showEmpty && <View className="detail_header">
                 <Image className="detail_header_header"
-                onClick={goHome}
+                    onClick={goHome}
                     src={shareUser ? shareUser.avatar : detail.share_user ? detail.share_user.avatar : user.avatar}
                     mode="aspectFill"
                 />
                 <View className="detail_header_content">
-                    <Text className="detail_nickname">{shareUser ? shareUser.nickname : detail.share_user ? detail.share_user.nickname : user.nickname}</Text>
+                    <Text className="detail_nickname" onClick={goHome}>{shareUser ? shareUser.nickname : detail.share_user ? detail.share_user.nickname : user.nickname}</Text>
                     {
                         (!window_id || window_id == 'undefined') && (detail.scenario != 'MEAL' && detail.scenario != 'ACTIVITY') &&
                         <TimeTitleDesc

+ 4 - 4
src/_moment/components/recent_item.tsx

@@ -39,12 +39,12 @@ export default function RecentItem(props: { data: any, index: number }) {
             jumpPage('/_health/pages/move_detail?id=' + link.move.id)
             return;
         }
-        jumpPage(`/_health/pages/timeline_detail?window_id=${link.window_id}`)
+        jumpPage(`/_health/pages/timeline_detail?source=home&window_id=${link.window_id}`)
     }
 
     const hasImg = moment && moment.media.length > 0
     var hasText = moment && (moment.title || moment.description)
-    if (hasText == undefined){
+    if (hasText == undefined) {
         hasText = false
     }
 
@@ -83,7 +83,7 @@ export default function RecentItem(props: { data: any, index: number }) {
 
                 </View>
                 {
-                    link && link.ring && <View style={{ marginTop: (hasImg || hasText)?spaceY:0 }}>
+                    link && link.ring && <View style={{ marginTop: (hasImg || hasText) ? spaceY : 0 }}>
                         <TargetProgress
                             color={getThemeColor(link.window)}
                             showRing={true}
@@ -95,7 +95,7 @@ export default function RecentItem(props: { data: any, index: number }) {
                     </View>
                 }
                 {
-                    link && link.move && <View style={{ marginTop: (hasImg || hasText)?spaceY:0 }}>
+                    link && link.move && <View style={{ marginTop: (hasImg || hasText) ? spaceY : 0 }}>
                         <TargetProgress
                             color={getThemeColor(link.window)}
                             showRing={false}

+ 37 - 30
src/_moment/pages/home.tsx

@@ -10,6 +10,8 @@ import { MainColorType } from "@/context/themes/color";
 import showActionSheet from "@/components/basic/ActionSheet";
 import ListFooter from "@/_health/components/list_footer";
 import RecentItem from "../components/recent_item";
+import { useTranslation } from "react-i18next";
+import NoRecord from "@/_health/components/no_record";
 
 let useRoute;
 let useNavigation;
@@ -20,10 +22,11 @@ if (process.env.TARO_ENV == 'rn') {
 }
 let timer
 export default function UserHome() {
-    
+
     const user = useSelector((state: any) => state.user);
     const [profile, setProfile] = useState<any>(null)
     const [loaded, setLoaded] = useState(false)
+    const [loadedList, setLoadedList] = useState(false)
     const systemInfo: any = Taro.getWindowInfo ? Taro.getWindowInfo() : Taro.getSystemInfoSync();
     const navigationBarHeight = systemInfo.statusBarHeight + 44;
 
@@ -38,9 +41,10 @@ export default function UserHome() {
     const [endSignal, setEndSignal] = useState(0)
     const [list, setList] = useState<any>([])
     const query = Taro.createSelectorQuery()
+    const { t } = useTranslation()
 
-    const [myScrollTop,setMyScrollTop] = useState(0)
-    const [count,setCount] = useState(0)
+    const [myScrollTop, setMyScrollTop] = useState(0)
+    const [count, setCount] = useState(0)
 
 
     let router
@@ -61,14 +65,14 @@ export default function UserHome() {
         moments(1)
     }, [])
 
-    useEffect(()=>{
-        timer = setInterval(()=>{
-            setCount(count=>count+1)
-        },1000)
-        return ()=>{
+    useEffect(() => {
+        timer = setInterval(() => {
+            setCount(count => count + 1)
+        }, 1000)
+        return () => {
             clearInterval(timer)
         }
-    },[])
+    }, [])
 
     useEffect(() => {
         if (list.length == 0) return
@@ -125,7 +129,7 @@ export default function UserHome() {
                 setList([...list, ...(res as any).data])
             }
             setLoading(false)
-
+            setLoadedList(true)
             if ((res as any).data.length == 0) {
                 setNoMore(true)
             }
@@ -237,7 +241,7 @@ export default function UserHome() {
         onScrollToLower={loadMore}
     ><View>
             <View className="home_top">
-                <Image className="cover" mode="aspectFill" src={profile.cover}/>
+                <Image className="cover" mode="aspectFill" src={profile.cover} />
                 <Image className="home_avatar" src={profile.avatar} />
                 <View className="home_nickname bold">{profile.nickname}</View>
                 <View style={{
@@ -269,27 +273,27 @@ export default function UserHome() {
                     </View>
                 </View>
             </View>
-            <View style={{height:rpxToPx(62)}}></View>
+            <View style={{ height: rpxToPx(62) }}></View>
             {
-                router.params.uid != user.id && <View style={{  marginLeft: rpxToPx(45) }}>
+                router.params.uid != user.id && <View style={{ marginLeft: rpxToPx(45) }}>
                     {
-                        profile.relation == 'FRIEND' || profile.relation == 'FOLLOWING' ? 
-                        // <NewButton type={NewButtonType.fill}
-                        //     width={rpxToPx(665)}
-                        //     height={rpxToPx(72)}
-                        //     title="following"
-                        //     color={MainColorType.g02}
-                        //     onClick={tapFollowing}
-                        // />
-                        <View onClick={tapFollowing} className="following h30 bold">following</View> 
-                        
-                        : <NewButton type={NewButtonType.fill}
-                            width={rpxToPx(665)}
-                            height={rpxToPx(72)}
-                            title="follow"
-                            color={MainColorType.blue}
-                            onClick={tapFollow}
-                        />
+                        profile.relation == 'FRIEND' || profile.relation == 'FOLLOWING' ?
+                            // <NewButton type={NewButtonType.fill}
+                            //     width={rpxToPx(665)}
+                            //     height={rpxToPx(72)}
+                            //     title="following"
+                            //     color={MainColorType.g02}
+                            //     onClick={tapFollowing}
+                            // />
+                            <View onClick={tapFollowing} className="following h30 bold">{t('health.following2')}</View>
+
+                            : <NewButton type={NewButtonType.fill}
+                                width={rpxToPx(665)}
+                                height={rpxToPx(72)}
+                                title={t('health.follow')}
+                                color={MainColorType.blue}
+                                onClick={tapFollow}
+                            />
                     }
                 </View>
             }
@@ -308,6 +312,9 @@ export default function UserHome() {
                     </View>
                 })
             }
+            {
+                loadedList && list.length == 0 && <NoRecord />
+            }
             <ListFooter noMore={noMore} loading={loading} />
             <View id="footer" style={{ width: 1, height: 1 }}></View>
         </View>

+ 6 - 3
src/_moment/pages/message.tsx

@@ -11,6 +11,7 @@ import NewButton, { NewButtonType } from '@/_health/base/new_button'
 import Taro from '@tarojs/taro'
 import NoRecord from '@/_health/components/no_record'
 import relativeTime from 'dayjs/plugin/relativeTime';
+import { useTranslation } from 'react-i18next'
 
 dayjs.extend(relativeTime);
 export default function Message() {
@@ -20,6 +21,7 @@ export default function Message() {
   const [isPulling, setIsPulling] = useState(false)
   const [isLoading, setIsLoading] = useState(false)
   const [total, setTotal] = useState(-1)
+  const {t} = useTranslation()
   useEffect(() => {
     Taro.setNavigationBarTitle({
       title: '消息'
@@ -107,12 +109,13 @@ export default function Message() {
         item.relation == 'FOLLOWER' ? <NewButton
           type={NewButtonType.fill}
           height={rpxToPx(72)}
+          width={global.language=='en'?rpxToPx(202):rpxToPx(110)}
           color={MainColorType.blue}
-          title='Follow back'
+          title={t('health.follow_back')}
           onClick={() => tapFollow(item)}
         /> :
-          item.relation == 'FRIEND' ? <Text className="h30 g02">Friend</Text> :
-            item.relation == 'FOLLOWING' ? <Text className="h30 g02">Following</Text> : null
+          item.relation == 'FRIEND' ? <Text className="h30 g02">{t('health.friends')}</Text> :
+            item.relation == 'FOLLOWING' ? <Text className="h30 g02">{t('health.following')}</Text> : null
       }
       <View className='border_footer_line' style={{left:rpxToPx(150)}}/>
     </View>

+ 9 - 7
src/_moment/pages/relation.tsx

@@ -9,6 +9,7 @@ import { jumpPage } from "@/features/trackTimeDuration/hooks/Common";
 import { IconArrow } from "@/components/basic/Icons";
 import Taro from "@tarojs/taro";
 import NoRecord from "@/_health/components/no_record";
+import { useTranslation } from "react-i18next";
 
 export default function Relation() {
     const [count, setCount] = useState(0)
@@ -26,6 +27,7 @@ export default function Relation() {
 
     const systemInfo: any = Taro.getWindowInfo ? Taro.getWindowInfo() : Taro.getSystemInfoSync();
     const navigationBarHeight = systemInfo.statusBarHeight + 44;
+    const {t} = useTranslation()
 
     useEffect(() => {
         // getRelation()
@@ -220,7 +222,6 @@ export default function Relation() {
         followUser(params).then(res => {
             // getProfile()
             Taro.eventCenter.trigger('followUser', item.id)
-            debugger
         })
     }
 
@@ -232,17 +233,18 @@ export default function Relation() {
             <Text className="h34 bold" style={{ color: MainColorType.link, flex: 1 }}>{item.nickname}</Text>
             {/* <Text>{item.relation}</Text> */}
             {
-                item.relation == 'FRIEND' && <Text className="h30 g02">Friend</Text>
+                item.relation == 'FRIEND' && <Text className="h30 g02">{t('health.friends')}</Text>
             }
             {
-                item.relation == 'FOLLOWING' && <Text className="h30 g02">Following</Text>
+                item.relation == 'FOLLOWING' && <Text className="h30 g02">{t('health.following2')}</Text>
             }
             {
                 item.relation == 'FOLLOWER' && <NewButton
-                    title="Follow"
+                    title={t('health.follow')}
                     type={NewButtonType.alpha}
                     color={MainColorType.blue}
                     height={rpxToPx(72)}
+                    width={global.language=='en'?rpxToPx(152):rpxToPx(110)}
                     onClick={() => {
                         tapFollow(item)
                     }}
@@ -286,17 +288,17 @@ export default function Relation() {
                 />
                 <View style={{ display: 'flex', flexDirection: 'row', height: 44, alignItems: 'center', justifyContent: 'center' }}>
                     <View className="relation_tab_item" onClick={() => { setIndex(0) }}>
-                        <View className="h34 bold" style={{ color: index == 0 ? '#000' : MainColorType.g02 }}>Friend</View>
+                        <View className="h34 bold" style={{ color: index == 0 ? '#000' : MainColorType.g02 }}>{t('health.friends')}</View>
                         <View className={index == 0 ? 'sel_line1' : 'line'}></View>
                     </View>
 
                     <View className="relation_tab_item" onClick={() => { setIndex(1) }}>
-                        <View className="h34 bold" style={{ color: index == 1 ? '#000' : MainColorType.g02 }}>Following</View>
+                        <View className="h34 bold" style={{ color: index == 1 ? '#000' : MainColorType.g02 }}>{t('health.following')}</View>
                         <View className={index == 1 ? 'sel_line1' : 'line'}></View>
                     </View>
 
                     <View className="relation_tab_item" onClick={() => { setIndex(2) }}>
-                        <View className="h34 bold" style={{ color: index == 2 ? '#000' : MainColorType.g02 }}>Follower</View>
+                        <View className="h34 bold" style={{ color: index == 2 ? '#000' : MainColorType.g02 }}>{t('health.followers')}</View>
                         <View className={index == 2 ? 'sel_line1' : 'line'}></View>
                     </View>
                     {/* <View style={{ flex: 1, color: index == 0 ? '#000' : MainColorType.g02, textAlign: 'center' }} onClick={() => { setIndex(0) }}>搭子</View>

+ 7 - 0
src/context/locales/en.js

@@ -1229,5 +1229,12 @@ export default {
         notification:'Notifications',
 
         moment_share_title:'Hi, let\'s be friends!',
+
+        follow:'Follow',
+        following:'Following',
+        following2:'Following',
+        followers:'Followers',
+        friends:'Friends',
+        follow_back:'Follow back',
     }
 }

+ 7 - 0
src/context/locales/zh.js

@@ -1230,5 +1230,12 @@ export default {
         notification:'消息通知',
 
         moment_share_title:'Hi, 快来成为我的搭子!',
+
+        follow:'关注',
+        following:'关注',
+        following2:'已关注',
+        followers:'粉丝',
+        friends:'搭子',
+        follow_back:'回关',
     }
 }

+ 1 - 1
src/pages/moment/guide.scss

@@ -16,7 +16,7 @@
     width: 558px;
     height: 504px;
     margin-top: 96px;
-    margin-bottom: 136px;
+    margin-bottom: 108px;
 }
 
 .friend_share_btn {

+ 67 - 7
src/pages/moment/moment.tsx

@@ -15,19 +15,23 @@ import { windows } from "@/services/health";
 import { setFastWithSleep, setFinishSetup, setLongFast, setRefreshs, setWindows } from "@/store/health";
 import { getInfoSuccess } from "@/store/user";
 import MomentMain from "./moment_main";
+import { TimeFormatter } from "@/utils/time_format";
+import dayjs from "dayjs";
+import { SHARE_COVER_URL } from "@/services/http/api";
 
 
 export default function Friend() {
     const dispatch = useDispatch();
     const user = useSelector((state: any) => state.user);
     const [loaded, setLoaded] = useState(false)
-    const {t} = useTranslation()
+    const { t } = useTranslation()
 
     const launchObj = Taro.getLaunchOptionsSync()
 
+    global.dispatch2 = dispatch;
+
 
     useEffect(() => {
-        console.log('launchObj',launchObj)
         if (process.env.TARO_ENV == 'weapp') {
             loadWXCache()
         }
@@ -48,12 +52,70 @@ export default function Friend() {
 
         useShareAppMessage((e) => {
             var sharePath = ``
-            if (global.shareData) {
-                console.log(global.shareData)
+            if (global.momentShareData) {
+                const detail = global.momentShareData
+                var timestamp = detail.time.timestamp
+                var shareDate = ''
+                if (TimeFormatter.isToday(timestamp)) {
+                    shareDate = global.language == 'en' ? 'Today\'s' : '今日'
+                }
+                else if (TimeFormatter.isYesterday(timestamp)) {
+                    shareDate = global.language == 'en' ? 'Yesterday\'s' : '昨日'
+                }
+                else if (TimeFormatter.isTimestampInThisWeek(timestamp)) {
+                    shareDate = global.language == 'en' ? (dayjs(timestamp).format('dddd') + '\'s') : dayjs(timestamp).format('dddd')
+                }
+                else {
+                    shareDate = global.language == 'en' ? dayjs(timestamp).format('MMMM D') : dayjs(timestamp).format('MMMD日')
+                }
+
+                var title = ''
+                var defaultImg = SHARE_COVER_URL + 'my_fast.jpg'
+
+
+
+                switch (detail.link.window) {
+                    case 'FAST':
+                        title = t('health.share_check_in', { date: shareDate, type: t('health.fasting') })
+                        defaultImg = SHARE_COVER_URL + 'my_fast.jpg'
+                        break;
+                    case 'EAT':
+                        title = t('health.share_check_in', { date: shareDate, type: detail.title })
+                        defaultImg = SHARE_COVER_URL + 'my_meal.jpg'
+                        break;
+                    case 'ACTIVE':
+                        title = t('health.share_check_in', { date: shareDate, type: detail.title })
+                        defaultImg = SHARE_COVER_URL + 'my_activity.jpg'
+                        break;
+                    case 'SLEEP':
+                        title = t('health.share_check_in', { date: shareDate, type: t('health.sleep') })
+                        defaultImg = SHARE_COVER_URL + 'my_sleep.jpg'
+                        break;
+
+                }
+
+
+                var imgs = detail.moment.media
+                var imageUrl = imgs.length > 0 ? imgs[0].url : defaultImg
+                var sharePath = `/_health/pages/timeline_detail?window_id=${detail.link.window_id}&event_id=${detail.link.event_id}&uid=${detail.user.id}&disable_edit=1&enter_type=share`
+                var nickname = detail.user ? detail.user.nickname : user.nickname
+                if (nickname.length > 10) {
+                    nickname.substring(0, 10) + '...'
+                }
+                global.momentShareData = null
+                return {
+                    title: nickname + ': ' + title,
+                    path: sharePath,
+                    imageUrl: imageUrl
+                }
+
+
+
+
             }
             return {
                 // title: user.nickname+': 快来和搭子们一起,分享彼此的日常生活',
-                title:t('health.moment_share_title'),
+                title: t('health.moment_share_title'),
                 path: '/pages/moment/moment?type=share&uid=' + user.id,
                 imageUrl: global.moment_share_url
             }
@@ -79,7 +141,6 @@ export default function Friend() {
         global.memberAlert = Taro.getStorageSync('memberAlert') || false
         var userData = Taro.getStorageSync('userData')
         if (userData) {
-            console.log('load user cache')
             dispatch(getInfoSuccess(JSON.parse(userData)));
         }
         setLoaded(true)
@@ -94,7 +155,6 @@ export default function Friend() {
             global.locationDetail = JSON.parse(gps)
         }
         var userData = await getStorage('userData')
-        console.log(userData)
         if (userData) {
             dispatch(getInfoSuccess(JSON.parse(userData)));
         }

+ 18 - 0
src/pages/moment/moment_item.scss

@@ -20,4 +20,22 @@
     flex: 1;
     display: flex;
     flex-direction: column;
+}
+
+.item_share_bg{
+    width: 44px;
+    height: 44px;
+    display: flex;
+    position: relative;
+    align-items: center;
+    justify-content: center;
+}
+
+.item_share{
+    position: absolute;
+    left: 0;
+    right: 0;
+    top: 0;
+    bottom: 0;
+    opacity: 0;
 }

+ 15 - 5
src/pages/moment/moment_item.tsx

@@ -12,7 +12,7 @@ import { rpxToPx } from "@/utils/tools";
 import { getThemeColor } from "@/features/health/hooks/health_hooks";
 import CoverList from "@/_health/components/cover_list";
 import { jumpPage } from "@/features/trackTimeDuration/hooks/Common";
-import { IconActive } from "@/components/basic/Icons";
+import { IconActive, IconShare } from "@/components/basic/Icons";
 import Taro from "@tarojs/taro";
 
 dayjs.extend(relativeTime);
@@ -69,6 +69,12 @@ export default function MomentItem(props: { data: any }) {
         }} mode="aspectFill" style={{ width: rpxToPx(width), height: rpxToPx(height) }} src={imgObj.url + scale} />
     }
 
+    function tapShare(e) {
+        if (process.env.TARO_ENV == 'weapp') {
+            e.stopPropagation()
+        }
+    }
+
     const kSpace = rpxToPx(12)
     const hasMedia = moment.media.length > 0
     const hasLink = link && (link.ring || link.move)
@@ -124,11 +130,15 @@ export default function MomentItem(props: { data: any }) {
                 />
             }
             <View style={{ padding: kSpace }} />
-            <View style={{ display: 'flex', flexDirection: 'row', justifyContent: 'space-between',alignItems:'center',height:rpxToPx(44) }}>
+            <View style={{ display: 'flex', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', height: rpxToPx(44) }}>
                 <View className="h26 g02">{dayjs(moment.timestamp).fromNow()}</View>
-                <View style={{ position: 'relative' }}>
-                    <Button className="item_share" openType="share" onClick={() => { global.shareData = '9527'; console.log('sgareeeeeee') }}></Button>
-                </View>
+                {
+                    link && link.scenario != 'MOVE' && <View className="item_share_bg" onClick={tapShare}>
+                        <IconShare color={MainColorType.link} width={20} />
+                        <Button className="item_share" openType="share" onClick={() => { global.momentShareData = props.data; }}></Button>
+                    </View>
+                }
+
             </View>
         </View>
         <View className="border_footer_line" />

+ 4 - 0
src/pages/moment/moment_main.tsx

@@ -82,6 +82,7 @@ export default function MomentMain() {
     const { t } = useTranslation()
 
     useEffect(() => {
+
         dayjs.locale(global.language == 'en' ? 'en' : 'zh-cn');
         require('moment/locale/en-gb')
         require('moment/locale/zh-cn')
@@ -249,6 +250,7 @@ export default function MomentMain() {
         }).catch(e => {
             setIsPulling(false)
             setLoading(false)
+            setLoaded(true)
         })
     }
 
@@ -257,6 +259,8 @@ export default function MomentMain() {
             setLoaded(true)
             setHomeType((res as any).homepage_type)
             setDashBoard(res)
+        }).catch(e=>{
+            setLoaded(true)
         })
     }
 

+ 4 - 0
src/services/http/request.ts

@@ -177,6 +177,10 @@ export async function request<T>(param: RequestParam): Promise<T> {
                         global.dispatch(logoutSuccess());
                     }
 
+                    if (global.dispatch2) {
+                        global.dispatch2(logoutSuccess());
+                    }
+
                 } else if (statusCode == 500 && response.data.error_code == 'WX_STEP_PARSE_FAIL') {
                     //单独对计步第一次请求失败处理
                     resolve(response.data);