user.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import utils from './utils';
  2. class User {
  3. constructor(player) {
  4. this.storageName = {
  5. opacity: 'dplayer-danmaku-opacity',
  6. volume: 'dplayer-volume',
  7. unlimited: 'dplayer-danmaku-unlimited',
  8. danmaku: 'dplayer-danmaku-show',
  9. subtitle: 'dplayer-subtitle-show',
  10. };
  11. this.default = {
  12. opacity: 0.7,
  13. volume: player.options.hasOwnProperty('volume') ? player.options.volume : 0.7,
  14. unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,
  15. danmaku: 1,
  16. subtitle: 1,
  17. };
  18. this.data = {};
  19. this.init();
  20. }
  21. init() {
  22. for (const item in this.storageName) {
  23. const name = this.storageName[item];
  24. this.data[item] = parseFloat(utils.storage.get(name) || this.default[item]);
  25. }
  26. }
  27. get(key) {
  28. return this.data[key];
  29. }
  30. set(key, value) {
  31. this.data[key] = value;
  32. utils.storage.set(this.storageName[key], value);
  33. }
  34. }
  35. export default User;