1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import { search_item_data } from '../data/data';
- import { config } from '../config/config';
- import { util } from '../framework/util';
- export class SearchManager {
- private static data_list:search_item_data[] = null
- private static max_count = 20
- // 获取书列表
- public static getList():search_item_data[] {
- if(SearchManager.data_list) {
- return SearchManager.data_list
- }
- SearchManager.data_list = []
- let string = util.getStorage(config.storage_key.SEARCH_RECORD)
- if(string) {
- SearchManager.data_list = JSON.parse(string)
- }
- return SearchManager.data_list
- }
-
- // 保存列表
- private static saveLocalList() {
- util.setStorage(config.storage_key.SEARCH_RECORD, JSON.stringify(SearchManager.data_list))
- }
- // 异步检查
- public static async asyncCheckNameOnSearch(name:string, cb:Function) {
- let index = -1
- for (let i = 0; i < SearchManager.getList().length; i++) {
- let element = SearchManager.getList()[i]
- if(element.name == name) {
- index = i
- break
- }
- }
- cb && cb(index)
- }
-
- // 同步检查
- public static syncCheckNameOnSearch(name:string):number {
- let index = -1
- for (let i = 0; i < SearchManager.getList().length; i++) {
- let element = SearchManager.getList()[i]
- if(element.name == name) {
- index = i
- break
- }
- }
- return index
- }
-
- // 添加
- public static addName(name:string):search_item_data[] {
- let index = SearchManager.syncCheckNameOnSearch(name)
- if(index>-1) {
- SearchManager.getList().splice(index,1)
- } else {
- if(SearchManager.getList().length >= SearchManager.max_count) {
- SearchManager.getList().pop()
- }
- }
- let data = new search_item_data()
- data.name = name
- SearchManager.getList().unshift(data)
-
- SearchManager.saveLocalList()
-
- return SearchManager.getList()
- }
-
- // 删除
- public static deleteName(data_name_list:string[]) {
- for (let i = 0; i < data_name_list.length; i++) {
- let element = data_name_list[i]
- for (let j = 0; j < SearchManager.getList().length; j++) {
- let j_element = SearchManager.getList()[j]
- if(element==j_element.name) {
- SearchManager.getList().splice(j,1)
- }
- }
- }
- SearchManager.saveLocalList()
- }
-
- // 重置数据
- public static resetData(data_list:search_item_data[]) {
- SearchManager.data_list = data_list
- SearchManager.saveLocalList()
- }
- }
|