12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- const adChace = {}
- const adUnitIds = [
- 'adunit-43f0133726683dec',
- 'adunit-e0d329fbf15baad3',
- 'adunit-d4d828a7202aa659',
- 'adunit-77f75ec31751b42c',
- 'adunit-776e9695447f0bd9',
- 'adunit-731499e60b328a41',
- 'adunit-92daaea26f101651',
- 'adunit-e1e0fa16d8157808',
- 'adunit-85594f587d807fbe',
- 'adunit-40d51a741c1d1342',
- ]
- export default function ad(config) {
- if (wx.getSystemInfoSync().platform === 'devtools') {
- return Page(config)
- }
- const { onLoad, onUnload } = config
- let timeout = null
- config.onLoad = function() {
- let interstitialAd = adChace[this.route]
- if (onLoad) onLoad.call(this)
- if (wx.createInterstitialAd && !interstitialAd) {
- interstitialAd = wx.createInterstitialAd({
- adUnitId: adUnitIds[Math.floor(Math.random() * adUnitIds.length)],
- })
- interstitialAd.onLoad(() => {
- console.log(`%c ${this.route} - ad: onLoad event emit`, 'color: #1890ff')
- })
- interstitialAd.onError((err) => {
- console.log(`%c ${this.route} - ad: onError event emit`, 'color: #1890ff', err)
- })
- interstitialAd.onClose((res) => {
- console.log(`%c ${this.route} - ad: onClose event emit`, 'color: #1890ff', res)
- })
- }
- this.showInterstitialAd = this.showInterstitialAd || function() {
- if (interstitialAd) {
- timeout = setTimeout(() => {
- interstitialAd.show().catch((err) => {
- console.error(`${this.route} - ad: onShow event emit`, err)
- })
- }, 3000)
- }
- }
- this.showInterstitialAd.call(this)
- }
- config.onUnload = function() {
- if (onUnload) onUnload.call(this)
- if (timeout) {
- clearTimeout(timeout)
- timeout = null
- }
- }
- return Page(config)
- }
|