<?php

namespace mobile\assets;

use yii\web\AssetBundle;
use Yii;
use yii\helpers\ArrayHelper;

/**
 * Main mobile application asset bundle.
 */
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';

    public $css = [
        '/overseas/css/public/public.css',
        '/js/alert/alert.css',
    ];

    public $js = [
        '/overseas/js/jquery-3.2.1.min.js',
        '/overseas/js/nav.js',
        '/overseas/js/signup/signup.js',
        '/overseas/js/applyVerify.min.js',
        '/overseas/js/csrftoken.js',
        '/js/alert/alert.js',
        '/overseas/js/customerservice.js',    //53商务通
    ];

    public $depends = [
        'yii\web\YiiAsset',
    ];

    /**
     * @param $view
     * @param $jsfile
     */
    public static function addScript($view, $jsfile)
    {
        $view->registerJsFile($jsfile . static::Clear(), [AppAsset::className(), "depends" => "mobile\assets\AppAsset"]);
    }

    /**
     * @param $view
     * @param $jsfile
     */
    public static function addCss($view, $jsfile)
    {
        $view->registerCssFile($jsfile . static::Clear(), [AppAsset::className(), "depends" => "mobile\assets\AppAsset"]);
    }

    /**
     * @param \yii\web\View $view
     */
    public function registerAssetFiles($view)
    {
        $manager = $view->getAssetManager();
        foreach ($this->js as $js) {
            if (is_array($js)) {
                $file = array_shift($js);
                $options = ArrayHelper::merge($this->jsOptions, $js);
                $view->registerJsFile($manager->getAssetUrl($this, $file), $options);
            } else {
                if ($js !== null) {
                    $view->registerJsFile($manager->getAssetUrl($this, $js . static::Clear()), $this->jsOptions);
                }
            }
        }
        foreach ($this->css as $css) {
            if (is_array($css)) {
                $file = array_shift($css);
                $options = ArrayHelper::merge($this->cssOptions, $css);
                $view->registerCssFile($manager->getAssetUrl($this, $file), $options);
            } else {
                if ($css !== null) {
                    $view->registerCssFile($manager->getAssetUrl($this, $css . static::Clear()), $this->cssOptions);
                }
            }
        }
    }

    /**
     * @return string
     */
    public static function Clear()
    {
        $cache = Yii::$app->cache;
        $name = Yii::$app->params['resourceCacheKey']['mobile'];
        $con = $cache->get($name);
        if ($con != false) {
            return '?v=' . $con;
        } else {
            return '?v=11111111';
        }
    }
}