Browse Source

修复手动刷新的一处问题。

oldj 8 years ago
parent
commit
21006cca1e

+ 2 - 1
app/bundle.js

@@ -16679,7 +16679,7 @@ module.exports = "data:application/vnd.ms-fontobject;base64,pj8AAIw+AAABAAIAAAAA
 "use strict";
 
 
-exports.version = [3, 3, 0, 5073];
+exports.version = [3, 3, 0, 5088];
 
 /***/ }),
 /* 72 */
@@ -22672,6 +22672,7 @@ var EditPrompt = function (_React$Component) {
           return i.id === _this2.state.id;
         });
         if (hosts) {
+          _this2.current_hosts = hosts;
           _this2.setState({
             last_refresh: hosts.last_refresh
           });

+ 3 - 14
app/server/actions/checkNeedRemoteRefresh.js

@@ -5,22 +5,11 @@
 
 'use strict'
 
-const isExpired = require('../checkIsExpired')
 const saveHosts = require('./saveHosts')
+const checkOne = require('./checkOneRemoteHosts')
 
 module.exports = (svr, list, hosts = null) => {
-  let exp = [false]
-  if (!hosts) {
-    exp = list.map(hosts => isExpired(svr, hosts))
-  } else {
-    exp = [isExpired(svr, hosts)]
-  }
-
-  if (exp.includes(true)) {
-    return saveHosts(svr, list)
-  } else {
-    return Promise.resolve()
-      .then(() => false)
-  }
+  return Promise.all(list.map(i => checkOne(svr, i, hosts && hosts.id === i.id)))
+    .then(list2 => saveHosts(svr, list2))
 }
 

+ 3 - 2
app/server/actions/checkOneRemoteHosts.js

@@ -15,14 +15,15 @@ function now () {
                                 1}-${dt.getDate()} ${dt.getHours()}:${dt.getMinutes()}:${dt.getSeconds()}`
 }
 
-module.exports = (svr, hosts) => {
+module.exports = (svr, hosts, force = false) => {
   return new Promise((resolve, reject) => {
     if (hosts.where !== 'remote' || !hosts.url) {
       resolve(hosts)
       return
     }
 
-    if (isExpired(svr, hosts)) {
+    if (force || isExpired(svr, hosts)) {
+      console.log('check', hosts.title, force, isExpired(svr, hosts))
       getUrl(svr, hosts.url)
         .then(content => {
           hosts.content = content

+ 4 - 3
app/server/actions/saveHosts.js

@@ -13,7 +13,7 @@ const apply = require('../apply')
 const sudo = require('../sudo')
 const makeOutHosts = require('../makeOutHosts')
 const cleanData = require('../cleanData')
-const checkAllRemoteHostses = require('./checkAllRemoteHostses')
+//const checkAllRemoteHostses = require('./checkAllRemoteHostses')
 
 function tryToApply (svr, cnt, pswd) {
   return new Promise((resolve, reject) => {
@@ -37,8 +37,9 @@ function tryToApply (svr, cnt, pswd) {
 }
 
 module.exports = (svr, list) => {
-  return checkAllRemoteHostses(svr, list)
-    .then(list => cleanData(list))
+  //return checkAllRemoteHostses(svr, list, cfg)
+  return Promise.resolve()
+    .then(() => cleanData(list))
     .then(list => {
       let fn = paths.data_path
       let data = {

+ 1 - 0
app/server/checkIsExpired.js

@@ -7,6 +7,7 @@
 
 module.exports = (svr, hosts) => {
   let {refresh_interval, last_refresh} = hosts
+  if (!refresh_interval || refresh_interval <= 0) return false // never expired
   if (!last_refresh) return true
 
   let dt

+ 1 - 1
app/version.js

@@ -1 +1 @@
-exports.version = [3,3,0,5073];
+exports.version = [3,3,0,5088];

+ 1 - 0
ui/frame/edit.js

@@ -92,6 +92,7 @@ export default class EditPrompt extends React.Component {
     Agent.on('list_updated', list => {
       let hosts = list.find(i => i.id === this.state.id)
       if (hosts) {
+        this.current_hosts = hosts
         this.setState({
           last_refresh: hosts.last_refresh
         })