|
@@ -239,35 +239,38 @@ class Reader extends Vue {
|
|
wasOpened = (wasOpened ? wasOpened : {});
|
|
wasOpened = (wasOpened ? wasOpened : {});
|
|
const bookPos = (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPos);
|
|
const bookPos = (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPos);
|
|
|
|
|
|
- // пытаемся загрузить и распарсить книгу в менеджере из локального кеша
|
|
|
|
- const bookParsed = await bookManager.getBook({url: opts.url}, (prog) => {
|
|
|
|
- progress.setState({progress: prog});
|
|
|
|
- });
|
|
|
|
|
|
+ let book = null;
|
|
|
|
|
|
- // если есть в локальном кеше
|
|
|
|
- if (bookParsed) {
|
|
|
|
- this.commit('reader/setOpenedBook', Object.assign({bookPos}, bookManager.metaOnly(bookParsed)));
|
|
|
|
- this.loaderActive = false;
|
|
|
|
- progress.hide(); this.progressActive = false;
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
|
|
+ if (!opts.force) {
|
|
|
|
+ // пытаемся загрузить и распарсить книгу в менеджере из локального кеша
|
|
|
|
+ const bookParsed = await bookManager.getBook({url: opts.url}, (prog) => {
|
|
|
|
+ progress.setState({progress: prog});
|
|
|
|
+ });
|
|
|
|
|
|
- // иначе идем на сервер
|
|
|
|
- let book = null;
|
|
|
|
- progress.setState({totalSteps: 5});
|
|
|
|
|
|
+ // если есть в локальном кеше
|
|
|
|
+ if (bookParsed) {
|
|
|
|
+ this.commit('reader/setOpenedBook', Object.assign({bookPos}, bookManager.metaOnly(bookParsed)));
|
|
|
|
+ this.loaderActive = false;
|
|
|
|
+ progress.hide(); this.progressActive = false;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
|
|
- // пытаемся загрузить готовый файл с сервера
|
|
|
|
- if (wasOpened.path) {
|
|
|
|
- try {
|
|
|
|
- const resp = await readerApi.loadCachedBook(wasOpened.path, (state) => {
|
|
|
|
- progress.setState(state);
|
|
|
|
- });
|
|
|
|
- book = Object.assign({}, wasOpened, {data: resp.data});
|
|
|
|
- } catch (e) {
|
|
|
|
- //молчим
|
|
|
|
|
|
+ // иначе идем на сервер
|
|
|
|
+ // пытаемся загрузить готовый файл с сервера
|
|
|
|
+ if (wasOpened.path) {
|
|
|
|
+ try {
|
|
|
|
+ const resp = await readerApi.loadCachedBook(wasOpened.path, (state) => {
|
|
|
|
+ progress.setState(state);
|
|
|
|
+ });
|
|
|
|
+ book = Object.assign({}, wasOpened, {data: resp.data});
|
|
|
|
+ } catch (e) {
|
|
|
|
+ //молчим
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ progress.setState({totalSteps: 5});
|
|
|
|
+
|
|
// не удалось, скачиваем книгу полностью с конвертацией
|
|
// не удалось, скачиваем книгу полностью с конвертацией
|
|
if (!book) {
|
|
if (!book) {
|
|
book = await readerApi.loadBook(opts.url, (state) => {
|
|
book = await readerApi.loadBook(opts.url, (state) => {
|