如何创建一个;旋转木马“-像spotify应用程序API中的小部件?

如何创建一个;旋转木马“-像spotify应用程序API中的小部件?,spotify,Spotify,是否可以使用spotify应用程序API创建一个充满我选择的数据的小部件 是,通过使用导入/脚本/寻呼机。下面是一个从“What's New”应用程序中提取和简化的示例。您的pager.js: "use strict"; sp = getSpotifyApi(1); var p = sp.require('sp://import/scripts/pager'); var dom = sp.require('sp://import/scripts/dom'); exports.init = i

是否可以使用spotify应用程序API创建一个充满我选择的数据的小部件

是,通过使用导入/脚本/寻呼机。下面是一个从“What's New”应用程序中提取和简化的示例。您的pager.js:

"use strict";

sp = getSpotifyApi(1);
var p = sp.require('sp://import/scripts/pager');
var dom = sp.require('sp://import/scripts/dom');

exports.init = init;

function init() {
  var pagerSection = dom.queryOne('#pager');
  var datasource = new DataSource([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);

  var options = {
    perPage: 5,
    hidePartials: true,
    orientation: 'vertical',      // 'vertical', 'horizontal'
    pagingLocation: 'top',        // 'top', 'bottom'
    bullets: false,
    listType: 'list',             // 'table', 'list'
    context: 'aToplist'           // some string unique for each pager
  };

  var pager = new p.Pager(datasource, options);
  pager.h2.innerHTML = "Example Pager";
  dom.adopt(pagerSection, pager.node);
}

function DataSource(data) {
  var data = data;

  this.count = function() {
    return data.length;
  };

  this.makeNode = function(index) {
    var dataItem = data[index];
    var li = new dom.Element('li');

    var nameColumn = new dom.Element('div', {
      className: 'nameColumn',
      html: '<div class="nameColumn">'+
              '<a href="#" class="name">Name' + dataItem + '</a>'+
              '<a href="#" class="creator">Creator' + dataItem +'</a>'+
            '</div>'
    });

    dom.adopt(li, nameColumn);
    return li;
  };
}
“严格使用”;
sp=getSpotifyApi(1);
var p=sp.require('sp://import/scripts/pager');
var dom=sp.require('sp://import/scripts/dom');
exports.init=init;
函数init(){
var pagerSection=dom.queryOne(“#pager”);
var数据源=新数据源([0,1,2,3,4,5,6,7,8,9]);
变量选项={
每页:5,
hidePartials:是的,
方向:“垂直”、“垂直”、“水平”
分页位置:“顶部”、“顶部”、“底部”
子弹:错,
listType:'列表',//'表格','列表'
context:'aToplist'//每个寻呼机都有一些唯一的字符串
};
var pager=新的p.pager(数据源,选项);
pager.h2.innerHTML=“示例寻呼机”;
采用(pagerSection,pager.node);
}
函数数据源(数据){
var数据=数据;
this.count=函数(){
返回数据长度;
};
this.makeNode=函数(索引){
var dataItem=数据[索引];
var li=新的dom.Element('li');
var nameColumn=new dom.Element('div'{
className:'nameColumn',
html:'+
''+
''+
''
});
采用(li,名称栏);
返回李;
};
}
您的index.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="pager.css">
</head>

<body onload="sp = getSpotifyApi(1); sp.require('pager').init();">
  <div id="wrapper">
    <section class="toplists" id="bottomToplists">
      <section id="pager" class="playlists playlistsTable toplist"></section>
    </section>
  </div>
</body>
</html>

最后,将whatsnew.css复制到项目中,并将其重命名为pager.css。当然,您需要清理css并修改index.html中的元素以适合您的应用程序,但这是一个很好的起点

“What's New”应用程序还有一个带有专辑插图的水平寻呼机示例。请查看以了解如何提取应用程序的源代码

还要注意,我不确定pager.js是否会成为公共API的一部分。如果没有,那么您当然可以将其提取到您自己的寻呼机小部件中并使用它