AppAsset.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace mobile\modules\live\assets;
  3. use yii\web\AssetBundle;
  4. use yii\helpers\ArrayHelper;
  5. use Yii;
  6. /**
  7. * Main frontend application asset bundle.
  8. */
  9. class AppAsset extends AssetBundle
  10. {
  11. public $basePath = '@webroot';
  12. public $baseUrl = '@web';
  13. public $css = [
  14. '/modules/live/css/public.css',
  15. // '/modules/live/js/alert/alert.css', /*公共弹窗样式*/
  16. ];
  17. public $js = [
  18. '/modules/live/js/jquery-3.2.1.min.js',
  19. // '/modules/live/js/applyVerify.js',
  20. // '/modules/live/js/alert/alert.js',
  21. // 'js/nav.js?v=11',
  22. // 'js/signup/signup.js',
  23. ];
  24. public $depends = [
  25. 'yii\web\YiiAsset',
  26. ];
  27. public static function addScript($view, $jsfile)
  28. {
  29. $view->registerJsFile($jsfile . static::Clear(), [AppAsset::className(), "depends" => "\mobile\modules\live\assets\AppAsset"]);
  30. }
  31. public static function addCss($view, $jsfile)
  32. {
  33. $view->registerCssFile($jsfile . static::Clear(), [AppAsset::className(), "depends" => "\mobile\modules\live\assets\AppAsset"]);
  34. }
  35. public function registerAssetFiles($view)
  36. {
  37. $manager = $view->getAssetManager();
  38. foreach ($this->js as $js) {
  39. if (is_array($js)) {
  40. $file = array_shift($js);
  41. $options = ArrayHelper::merge($this->jsOptions, $js);
  42. $view->registerJsFile($manager->getAssetUrl($this, $file), $options);
  43. } else {
  44. if ($js !== null) {
  45. $view->registerJsFile($manager->getAssetUrl($this, $js . static::Clear()), $this->jsOptions);
  46. }
  47. }
  48. }
  49. foreach ($this->css as $css) {
  50. if (is_array($css)) {
  51. $file = array_shift($css);
  52. $options = ArrayHelper::merge($this->cssOptions, $css);
  53. $view->registerCssFile($manager->getAssetUrl($this, $file), $options);
  54. } else {
  55. if ($css !== null) {
  56. $view->registerCssFile($manager->getAssetUrl($this, $css . static::Clear()), $this->cssOptions);
  57. }
  58. }
  59. }
  60. }
  61. public static function Clear()
  62. {
  63. $cache = Yii::$app->cache;
  64. $name = Yii::$app->params['resourceCacheKey']['mobile'];
  65. $con = $cache->get($name);
  66. if ($con != false) {
  67. return '?v=' . $con;
  68. } else {
  69. return '?v=11111111';
  70. }
  71. }
  72. }