const fs = require('fs')

const publish = () => {
    const src = './dist/build/h5'
    const dest = '../niucloud/public/wap'

    solve()

    // 目标目录不存在停止复制
    try {
        const dir = fs.readdirSync(dest)
    } catch (e) {
        return
    }

    // 删除目标目录下文件
    fs.rm(dest, { recursive: true }, err => {
        if(err) {
            console.log(err)
            return
        }

        fs.cp(src, dest, { recursive: true }, (err) => {
            if (err) {
                console.error(err)
            }
        })
    })
}

const solve = () => {
    const src = './dist/build/h5/assets'
    const filemaps = fs.readdirSync(src)

    filemaps.forEach(file => {
        if (/^(index-)(\w{8})(.js)$/.test(file)) {
            const path = `${src}/${file}`
            let content = fs.readFileSync(path, 'utf-8')
            const first = 'const match = location.href.match(/\\/wap\\/(\\d*)\\//);'

            if (content.indexOf(first) == -1) {
                content = first + content
                const replace = 'router:{mode:"history",base: match ? `/wap/${match[1]}/` : "/wap/",assets:"assets",routerBase: match ? `/wap/${match[1]}/` : "/wap/"},darkmode'
                content = content.replace(/router:{(.*?)},darkmode/s, replace)
                fs.writeFileSync(path, content, 'utf8')
            }
        }
    })
}

publish()