miue-ui
Version:
ali miniProgram UI components for vehicle.
101 lines (99 loc) • 2.89 kB
JavaScript
const PE={};
PE.TYPE={
PLAY:"play",
LIKE:"like",
NEXT:"next",
PREV:"prev",
LIST:"list",
MODE:"mode",
RATE:"rate",
FORWARD:'forw',
BACKWARD:'back',
VOLUME:'volu',
COLLECT:'collect'
}
PE.STATE={
LIST:'list',
PREV:'prev',
PLAY:'play',
PAUSE:'pause',
NEXT:'next',
LIKE:'like',
LIKED:'liked',
MODE_NORMAL:'normal',
MODE_SINGLE:'single',
MODE_LOOP:'loop',
MODE_RANDOM:'random',
MODE_FORWARD:'forward',
RATE_05:'rate05',
RATE_10:'rate10',
RATE_15:'rate15',
RATE_20:'rate20',
FORWARD:'playforward',
BACKWARD:'playbackward',
VOLUME_NONE:'volumenone',
VOLUME_LOW:'volumelow',
VOLUME_HIGH:'volumehigh'
}
PE.TYPES='types';
const Notice=new Map([
[PE.STATE.LIST,'展开播放列表'],
[PE.STATE.PREV,'播放前一首'],
[PE.STATE.PLAY,'播放'],
[PE.STATE.PAUSE,'暂停'],
[PE.STATE.NEXT,'播放下一首'],
[PE.STATE.LIKE,'取消收藏'],
[PE.STATE.LIKED,'添加收藏'],
[PE.STATE.MODE_NORMAL,'顺序播放'],
[PE.STATE.MODE_SINGLE,'单曲循环'],
[PE.STATE.MODE_LOOP,'循环播放'],
[PE.STATE.MODE_RANDOM,'随机播放'],
[PE.STATE.MODE_FORWARD,'倒序播放'],
[PE.STATE.RATE_05,'0.5倍慢速播放'],
[PE.STATE.RATE_10,'正常速度播放'],
[PE.STATE.RATE_15,'1.5倍速播放'],
[PE.STATE.RATE_20,'2倍速度播放'],
[PE.STATE.FORWARD,'快进'],
[PE.STATE.BACKWARD,'后退'],
[PE.STATE.VOLUME_NONE,'静音'],
[PE.STATE.VOLUME_LOW,'低音量'],
[PE.STATE.VOLUME_HIGH,'高音量']
])
const StatesMap=new Map([
[PE.TYPE.LIST,[PE.STATE.LIST]],
[PE.TYPE.PREV,[PE.STATE.PREV]],
[PE.TYPE.PLAY,[PE.STATE.PLAY,PE.STATE.PAUSE]],
[PE.TYPE.NEXT,[PE.STATE.NEXT]],
[PE.TYPE.LIKE,[PE.STATE.LIKE,PE.STATE.LIKED]],
[PE.TYPE.MODE,[PE.STATE.MODE_NORMAL,PE.STATE.MODE_SINGLE,PE.STATE.MODE_LOOP,PE.STATE.MODE_RANDOM,PE.STATE.MODE_FORWARD]],
[PE.TYPE.RATE,[PE.STATE.RATE_10,PE.STATE.RATE_15,PE.STATE.RATE_20,PE.STATE.RATE_10]],
[PE.TYPE.FORWARD,[PE.STATE.FORWARD]],
[PE.TYPE.BACKWARD,[PE.STATE.BACKWARD]],
[PE.TYPE.VOLUME,[PE.STATE.VOLUME_HIGH,PE.STATE.VOLUME_NONE,PE.STATE.VOLUME_LOW]],
[PE.TYPES,[PE.TYPE.PLAY,PE.TYPE.LIKE,PE.TYPE.NEXT,PE.TYPE.PREV,PE.TYPE.LIST,PE.TYPE.MODE,PE.TYPE.RATE,PE.TYPE.BACKWARD,PE.TYPE.FORWARD,PE.TYPE.VOLUME]]
])
PE.notice=(state)=>{
my.showToast({
type: 'none',
content: Notice.get(state)
});
}
PE.verify=(type,arr)=>{
let _legal=new Set(StatesMap.get(type));
if(arr!=undefined){
let _verify=new Set(arr);
for(let i of _verify.keys()){
i=i.toLowerCase();
if(!_legal.has(i)){
_verify.delete(i);
if(my.isIDE){
console.warn(`组件参数:${type} 的配置值 :${i} 不合法,合法值为:${[..._legal]}` )
}
}
}
return [..._verify];
}else{
return [..._legal];
}
}
export default PE;