去评论
dz插件网

帝国CMS DJ音乐网站解密

xiao9469
2025/01/05 09:06:58
帝国CMS DJ音乐网站解密。爱站网查询下这些DJ网站权重还是不错的。貌似看到帝国做的音乐网站很少很少的啊!其实这样的DJ网站对帝国是没有任何难度的。单模型就可以做到的,不需要双模型关联的。其实细心的都会发现就舞曲连播与加入播放器播放才是稍微难点问题,其他跟那文章与下载模型差不多的。至于像程式CMS那样无刷新只需要改为AJAX请求API接口即可!
比如我们要勾选连播那就写个JS得了。
  1. //勾选连续播放开始function getdjbyId(elementId) {    if (document.getElementById) {        return document.getElementById(elementId);    } else if (document.all) {        return document.all[elementId];    } else if (document.layers) {        return document.layers[elementId];    } else {        return null;    }}function get_tags(parentObj, tag) {    if (typeof parentObj.getElementsByTagName != 'undefined') {        return parentObj.getElementsByTagName(tag);    } else if (parentObj.all && parentObj.all.tags) {        return parentObj.all.tags(tag);    } else {        return new Array();    }}function clk(_act, _id) {      var v = [];      var a = get_tags(getdjbyId(_id), 'input');      var totalItems = a.length;      if (_act == 'all') {          for (var i = 0; i < a.length; i++) {              a[i].checked = true;          }      } else if (_act == 'un') {          for (var i = 0; i < a.length; i++) {              a[i].checked = !a[i].checked;          }      } else if (_act == 'random') {            var count = Math.min(Math.floor(totalItems / 3), totalItems);          if (count > 0) {              var selected = new Set();              while (selected.size < count) {                  var index = Math.floor(Math.random() * totalItems);                  selected.add(index);              }              for (var i = 0; i < totalItems; i++) {                  a[i].checked = selected.has(i);              }          }      } else {          for (var i = 0; i < a.length; i++) {              if (a[i].value && a[i].checked) {                  v.push(a[i].value);              }          }      }        if (_act == 'play') {          if (v.length < 3) {          layer.msg('至少选择三首歌曲以上吧!', {icon: 5, offset: '300px'});          return;          }          localStorage.setItem('selecteddjIDs', v.join('_'));// 保存 mid 到 localStorage        window.open('/e/MusicSys/play/indexdj.html', 'lplay');    }  }
小编把勾选的id保存到localStorage,目测大部分网站还是保存到cookie的。(一个 cookie 中的数据不能超过 4KB,而localStorage至少保存5m)
那接下来怎么搞呢?那继续构造一个AJAX发起请求请求后端。
  1. var mid= localStorage.getItem('selectedmusicIDs');const ap = new APlayer({container: document.getElementById('aplayer'),mutex: true,autoplay:true,theme: '#078106',preload:'auto',});$.ajax({url: '/ecmsapi/index.php?mod=duomeiti&act=music',type:"POST",dataType: "json",data:{'mid':mid},success: function (result) {ap.list.add(result.data);}});
这样就把AJAX请求成功的勾选的播放列表添加到APlayer音乐播放器了哦