                 @saveData baseDetail
     updateCountdown: ->
       {countdown, needToUpdate, nextUpdateTime} = @state
-      if getCountdown() > 0 and nextUpdateTime isnt 0
+      if getCountdown() >= 1 and nextUpdateTime isnt 0
         countdown = getCountdown()
         @setState
           countdown: countdown
-      else
+      else if getCountdown() < 1
         for index in [0..needToUpdate.length - 1]
           needToUpdate[index] = true
+        @setState
+          needToUpdate: needToUpdate
     saveData: (baseDetail) ->
       try
         fs.writeJSONSync join(APPDATA_PATH, 'hairstrength', "#{@state.memberId}.json"), baseDetail

            <div style={getStatusStyle update[0]}>
              <h5>截止至  {timeToString detail.updateTime} 时</h5>
              <h5>顺位:  {detail.ranking}位 ({
                                                  if detail.rankingDelta > 0
                                                    "↑#{detail.rankingDelta}"
                                                  else if detail.rankingDelta < 0
                                                    "↓#{detail.rankingDelta}"
                                                  else
                                                    '-'})</h5>

        baseDetail.exp = exp
        for index in [0..needToUpdate.length - 1]
          needToUpdate[index] = true
      else
        if (getRefreshTime('') - baseDetail.updateTime) > 43199000 # 60 * 60 * 1000 * 12
          for index in [0..needToUpdate.length - 1]
            needToUpdate[index] = true
      @setState
        baseDetail: baseDetail
        memberId: parseInt memberId
