Global

Methods

(async) WDwdataTweqod(token, optopt) → {Object}

Description:
  • 基於檔案之下載台灣氣象署OpenData地震數據與任務建構器

    執行階段最新hash數據放置於fdDwAttime,前次hash數據會於結束前自動備份至fdDwCurrent

    執行階段最新數據放置於fdResult,前次數據會另存備份放置於fdResultTemp,於結束前會將fdResultTemp清空

Source:
Example
import fs from 'fs'
import _ from 'lodash-es'
import w from 'wsemi'
import WDwdataTweqod from './src/WDwdataTweqod.mjs'

let j = fs.readFileSync('../_data/settings.json', 'utf8')
let st = JSON.parse(j)
let token = _.get(st, 'token')

//fdTagRemove
let fdTagRemove = `./_tagRemove`
w.fsCleanFolder(fdTagRemove)

//fdDwStorage
let fdDwStorage = `./_dwStorage`
w.fsCleanFolder(fdDwStorage)

//fdDwAttime
let fdDwAttime = `./_dwAttime`
w.fsCleanFolder(fdDwAttime)

//fdDwCurrent
let fdDwCurrent = `./_dwCurrent`
w.fsCleanFolder(fdDwCurrent)

//fdResultTemp
let fdResultTemp = `./_resultTemp`
w.fsCleanFolder(fdResultTemp)

//fdResult
let fdResult = `./_result`
w.fsCleanFolder(fdResult)

//fdTaskCpActualSrc
let fdTaskCpActualSrc = `./_taskCpActualSrc`
w.fsCleanFolder(fdTaskCpActualSrc)

//fdTaskCpSrc
let fdTaskCpSrc = `./_taskCpSrc`
w.fsCleanFolder(fdTaskCpSrc)

let opt = {
    keepAllData: false,
    fdTagRemove,
    fdDwStorage,
    fdDwAttime,
    fdDwCurrent,
    fdResultTemp,
    fdResult,
    fdTaskCpActualSrc,
    fdTaskCpSrc,
    // fdLog,
    // funDownload,
    // funGetCurrent,
    // funRemove,
    // funAdd,
    // funModify,
}
let ev = await WDwdataTweqod(token, opt)
    .catch((err) => {
        console.log(err)
    })
ev.on('change', (msg) => {
    delete msg.type
    console.log('change', msg)
})
// change { event: 'start', msg: 'running...' }
// change { event: 'proc-callfun-afterStart', msg: 'start...' }
// change { event: 'proc-callfun-afterStart', msg: 'done' }
// change { event: 'proc-callfun-download', msg: 'start...' }
// change { event: 'proc-callfun-download', num: 2, msg: 'done' }
// change { event: 'proc-callfun-getCurrent', msg: 'start...' }
// change { event: 'proc-callfun-getCurrent', num: 0, msg: 'done' }
// change { event: 'proc-compare', msg: 'start...' }
// change { event: 'proc-compare', numRemove: 0, numAdd: 2, numModify: 0, numSame: 0, msg: 'done' }
// change { event: 'proc-add-callfun-add', id: '114101', msg: 'start...' }
// change { event: 'proc-add-callfun-add', id: '114101', msg: 'done' }
// change { event: 'proc-add-callfun-add', id: '114102', msg: 'start...' }
// change { event: 'proc-add-callfun-add', id: '114102', msg: 'done' }
// ...
Parameters:
Name Type Attributes Default Description
token String

輸入氣象署OpenData之API用token字串

opt Object <optional>
{}

輸入設定物件,預設{}

Properties
Name Type Attributes Default Description
keepAllData Boolean <optional>
true

輸入是否儲存全部資料,氣象署地震資料內Intensity可能常變更而觸發事件,可設定keepAllData=false只基於重要數據進行偵測。預設true

fdTagRemove String <optional>
'./_tagRemove'

輸入暫存標記為刪除數據資料夾字串,預設'./_tagRemove'

fdDwStorage String <optional>
'./_dwStorage'

輸入完整下載數據資料夾字串,預設'./_dwStorage'

fdDwAttime String <optional>
'./_dwAttime'

輸入當前下載供比對hash用之數據資料夾字串,預設'./_dwAttime'

fdDwCurrent String <optional>
'./_dwCurrent'

輸入已下載供比對hash用之數據資料夾字串,預設'./_dwCurrent'

fdResultTemp String <optional>
`./_resultTemp`

輸入若有變更數據時,儲存前次已下載數據所連動生成數據資料夾字串,預設./_resultTemp

fdResult String <optional>
`./_result`

輸入已下載數據所連動生成數據資料夾字串,預設./_result

fdTaskCpActualSrc String <optional>
'./_taskCpActualSrc'

輸入任務狀態之來源端完整資料夾字串,預設'./_taskCpActualSrc'

fdTaskCpSrc String <optional>
'./_taskCpSrc'

輸入任務狀態之來源端資料夾字串,預設'./_taskCpSrc'

fdLog String <optional>
'./_logs'

輸入儲存log資料夾字串,預設'./_logs'

funDownloadEqs function <optional>
null

輸入自定義下載地震數據函數,回傳資料陣列,預設null

funDownload function <optional>
null

輸入當前下載數據hash之函數,回傳資料陣列,預設null

funGetCurrent function <optional>
null

輸入已下載數據hash之函數,回傳資料陣列,預設null

funAdd function <optional>
null

輸入當有新資料時,需要連動處理之函數,預設null

funModify function <optional>
null

輸入當有資料需更新時,需要連動處理之函數,預設null

funRemove function <optional>
null

輸入當有資料需刪除時,需要連動處理之函數,預設null

timeToleranceRemove Number <optional>
0

輸入刪除任務之防抖時長,單位ms,預設0,代表不使用

Returns:

回傳事件物件,可呼叫函數on監聽change事件

Type
Object