|
1 |
| -import CommonConstants from '../common/constants/CommonConstants'; |
2 |
| -import dataPreferences from '@ohos.data.preferences'; |
| 1 | +import CommonConstants from '../common/constants/CommonConstants' |
| 2 | +import { BookList } from '../componets/dataList/bookList' |
| 3 | +import bookDataPreferences from '../common/utils/DataPreferencesUtils' |
3 | 4 |
|
4 |
| -// 获取context |
5 |
| -let context = getContext(this); |
6 |
| -export default class bookDataPreferences { |
| 5 | +/** |
| 6 | + * 初始化存放书本内容 |
| 7 | + */ |
| 8 | +let KEY = '' |
7 | 9 |
|
8 |
| - static shared = new bookDataPreferences(); |
9 |
| - preferences?: dataPreferences.Preferences; |
10 |
| - preferencesName: string = CommonConstants.PREFERENCES_BOOK_DATA_KEY; |
| 10 | +export const novelListData:BookList[] = [ |
| 11 | + new BookList('1','仙人消失之后','会说话的肘子·未读过1','更新至·第340章 镇压',$r('app.media.cover_list'),'测试作者','玄幻') |
| 12 | + ,new BookList('2','仙人消失之后','会说话的肘子·未读过2','更新至·第340章 镇压',$r('app.media.cover_list'),'测试作者','玄幻') |
| 13 | +] |
11 | 14 |
|
12 |
| - // 初始化preferences实例 |
13 |
| - initPreferences() { |
14 |
| - this.preferences = dataPreferences.getPreferencesSync(context, { name: this.preferencesName }); |
15 |
| - } |
| 15 | +const soundListData:BookList[] = [ |
| 16 | + new BookList('1','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 17 | + new BookList('2','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 18 | + new BookList('3','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 19 | + new BookList('4','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 20 | + new BookList('5','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 21 | + new BookList('6','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 22 | + new BookList('7','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 23 | + new BookList('8','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 24 | + new BookList('9','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻'), |
| 25 | + new BookList('10','三体广播据','729声工厂 · 第一季 第五集 红岸基地','共101集 · 最终季 最终集 回归大宇宙',$r('app.media.cover_list2'),'测试作者','玄幻')] |
16 | 26 |
|
17 |
| - // 设置数据 |
18 |
| - set(key: string, value: dataPreferences.ValueType) { |
19 |
| - if (!this.preferences) { |
20 |
| - this.initPreferences(); |
21 |
| - } |
22 |
| - console.log('setinitPreferences', key, value) |
23 |
| - this.preferences?.putSync(key, value); |
24 |
| - this.preferences?.flush(); |
25 |
| - } |
| 27 | +const cartoonListData:BookList[] = [ |
| 28 | + new BookList('1','极主夫道','会说话的肘子·未读过1','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 29 | + ,new BookList('2','极主夫道','会说话的肘子·未读过2','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 30 | + ,new BookList('3','极主夫道','会说话的肘子·未读过3','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 31 | + ,new BookList('4','极主夫道','会说话的肘子·未读过4','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 32 | + ,new BookList('5','极主夫道','会说话的肘子·未读过5','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 33 | + ,new BookList('6','极主夫道','会说话的肘子·未读过6','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 34 | + ,new BookList('7','极主夫道','会说话的肘子·未读过7','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 35 | + ,new BookList('8','极主夫道','会说话的肘子·未读过8','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 36 | + ,new BookList('9','极主夫道','会说话的肘子·未读过9','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 37 | + ,new BookList('10','极主夫道','会说话的肘子·未读过10','更新至·第340章 镇压',$r('app.media.cover_list1'),'测试作者','玄幻') |
| 38 | +] |
26 | 39 |
|
27 |
| - // 获取数据 |
28 |
| - get(key: string): dataPreferences.ValueType | null | undefined { |
29 |
| - if (!this.preferences) { |
30 |
| - this.initPreferences(); |
31 |
| - } |
32 |
| - let value = this.preferences?.getSync(key, null);; |
33 |
| - return value; |
34 |
| - } |
35 | 40 |
|
36 |
| - // 删除数据 |
37 |
| - delete(key: string) { |
38 |
| - if (!this.preferences) { |
39 |
| - this.initPreferences(); |
40 |
| - } |
41 |
| - if (this.preferences?.hasSync(key)) { |
42 |
| - this.preferences.deleteSync(key); |
43 |
| - this.preferences.flush(); |
44 |
| - } |
45 |
| - } |
| 41 | + |
| 42 | +export const initBookPreferences = ()=>{ |
| 43 | + //内容数据持久化 |
| 44 | + bookDataPreferences.shared.set(CommonConstants.PREFERENCES_BOOK_INIT_KEY,true) |
| 45 | + bookDataPreferences.shared.set(CommonConstants.KEY_NOVEL_BOOK_DATA,novelListData) |
| 46 | + bookDataPreferences.shared.set(CommonConstants.KEY_SOUND_BOOK_DATA,soundListData) |
| 47 | + bookDataPreferences.shared.set(CommonConstants.KEY_CARTOON_BOOK_DATA,cartoonListData) |
| 48 | +} |
| 49 | +/** |
| 50 | + * 统一更新持久化 |
| 51 | + * bookDate 书籍更新内容 |
| 52 | + * bookType 书籍类型Key |
| 53 | + */ |
| 54 | +export const updateShelfBookData = (bookDate:BookList[], bookType:number) =>{ |
| 55 | + shelfBookType(bookType) |
| 56 | + bookDataPreferences.shared.set(KEY,bookDate) |
| 57 | +} |
| 58 | + |
| 59 | +//获取书架持久化数据 |
| 60 | +export const getBookData = (shelfTye:number)=>{ |
| 61 | + shelfBookType(shelfTye) |
| 62 | + return bookDataPreferences.shared.get(KEY) as BookList[]; |
46 | 63 | }
|
47 | 64 |
|
| 65 | +function shelfBookType(shelfTye:number){ |
| 66 | + if (shelfTye === 0) { |
| 67 | + KEY = CommonConstants.KEY_NOVEL_BOOK_DATA |
| 68 | + } else if (shelfTye === 1) { |
| 69 | + KEY = CommonConstants.KEY_CARTOON_BOOK_DATA |
| 70 | + } else if (shelfTye === 2) { |
| 71 | + KEY = CommonConstants.KEY_SOUND_BOOK_DATA |
| 72 | + } |
| 73 | +} |
0 commit comments