const fs = require('fs')
|
const path = require('path')
|
const {
|
isInHBuilderX
|
} = require('@dcloudio/uni-cli-shared')
|
|
class UniTips {
|
apply (compiler) {
|
compiler.hooks.emit.tap('PreprocessAssetsPlugin', compilation => {
|
const assets = compilation.assets
|
let hasAd = false
|
|
try {
|
Object.keys(assets).forEach(name => {
|
if (hasAd) {
|
return
|
}
|
|
if (!name.startsWith('common') && !name.startsWith('pages')) {
|
return
|
}
|
|
const extname = path.extname(name)
|
if (extname !== '.js') {
|
return
|
}
|
|
if (!hasAd && !process.env.USE_UNI_AD) {
|
hasAd = assets[name]._value.match(/createRewardedVideoAd|createInterstitialAd/)
|
}
|
})
|
|
setTimeout(() => {
|
if (hasAd) {
|
console.log(
|
'推荐使用uni-ad微信小程序版广告,无开通门槛、提前结算、插件丰富,助力广告变现。详情: https://uniapp.dcloud.net.cn/component/ad-weixin.html'
|
)
|
}
|
|
let projectRoot = ''
|
if (isInHBuilderX) {
|
projectRoot = process.env.UNI_INPUT_DIR
|
} else {
|
projectRoot = process.env.UNI_CLI_CONTEXT
|
}
|
|
const paths = fs.readdirSync(projectRoot)
|
const useUniCloud = paths.find((name) => {
|
return name.includes('uniCloud-')
|
})
|
|
if (!useUniCloud && assets['project.config.json']) {
|
const pcjString = assets['project.config.json'].source()
|
const pcjJson = JSON.parse(pcjString)
|
if (typeof pcjJson.cloudfunctionRoot === 'string' && pcjJson.cloudfunctionRoot.length > 0) {
|
console.log(
|
'欢迎使用uniCloud,价格更便宜、开发更方便、生态更丰富的云开发。详情: https://uniapp.dcloud.net.cn/uniCloud/wx2unicloud.html'
|
)
|
}
|
}
|
}, 100)
|
} catch (e) {}
|
})
|
}
|
}
|
|
module.exports = UniTips
|