AppAsset.php 2.6 KB

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