虾米桌面客户端app.asar文件判断vip代码

虾米桌面客户端app.asar文件判断vip代码


var UserModel = function () {

  function UserModel() {

    _classCallCheck(this, UserModel);

    this._userInfo;

  }

  _createClass(UserModel, [{

    key: '_fetchUserInfo',

    value: function _fetchUserInfo() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      if (update) this._userInfo = electron.remote.getGlobal("userInfo") || {};

    }

  }, {

    key: 'getUserInfo',

    value: function getUserInfo() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return this._userInfo;

    }

  }, {

    key: 'checkVipExpired',

    value: function checkVipExpired() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      var targetExpired = this._userInfo.vipExpire;

      return !(targetExpired && isNumber(targetExpired) && targetExpired > Date.now());

    }

  }, {

    key: 'getExpiredDays',

    value: function getExpiredDays() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      var targetExpired = this._userInfo.vipExpire || 0;

      return Math.ceil((targetExpired - Date.now()) / (24 * 3600 * 1000));

    }

  }, {

    key: 'isReachedMaxDownloadItem',

    value: function isReachedMaxDownloadItem() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return this._userInfo.downCountLeft <= 0;

    }

  }, {

    key: 'isLogin',

    value: function isLogin() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return !!this._userInfo.accessToken;

    }

    /**

     * 判断是否是307版本之前的用户信息结构

     */

  }, {

    key: 'isBefore307VersionData',

    value: function isBefore307VersionData() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return !this._userInfo.version;

    }

    /**

     * 判断是否是309版本之前的用户信息结构

     */

  }, {

    key: 'isBefore309VersionData',

    value: function isBefore309VersionData() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return this._userInfo.verifyIsOpen === undefined && this._userInfo.userVerify === undefined;

    }

    /**

     * 是不是VIP

     * @param update

     * @returns {UserModel.isVip|*}

     */

  }, {

    key: 'isVip',

    value: function isVip() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return this.isNormalVip(false) || this.isSuperVip(false);

    }

    /**

     * 穷逼VIP(活动送的那种)

     * @param update

     * @returns {boolean}

     */

  }, {

    key: 'isBeggarVip',

    value: function isBeggarVip() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return this._userInfo.isDemoVip || false;

    }

    /**

     * 普通VIP

     * @param update

     * @returns {number}

     */

  }, {

    key: 'isNormalVip',

    value: function isNormalVip() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return this._userInfo.visits & 1 << 8;

    }

    /**

     * 超级VIP

     * @param update

     * @returns {number}

     */

  }, {

    key: 'isSuperVip',

    value: function isSuperVip() {

      var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      this._fetchUserInfo(update);

      return this._userInfo.visits & 1;

    }

  }]);

  return UserModel;

}();

Report Page