1*bf6e62f2S猫头猫import {atom} from 'jotai'; 2*bf6e62f2S猫头猫 3*bf6e62f2S猫头猫export interface ISearchResultState { 4*bf6e62f2S猫头猫 currentPage?: number; 5*bf6e62f2S猫头猫 query?: string; 6*bf6e62f2S猫头猫 pending: boolean; 7*bf6e62f2S猫头猫 result: Array<IPlugin.ISearchResult>; 8*bf6e62f2S猫头猫} 9*bf6e62f2S猫头猫const searchResults: Record<string, ISearchResultState> = {}; 10*bf6e62f2S猫头猫const searchResultsAtom = atom(searchResults); 11*bf6e62f2S猫头猫 12*bf6e62f2S猫头猫 13*bf6e62f2S猫头猫 14*bf6e62f2S猫头猫export enum PageStatus { 15*bf6e62f2S猫头猫 /** 编辑中 */ 16*bf6e62f2S猫头猫 EDITING = 'EDITING', 17*bf6e62f2S猫头猫 /** 搜索中 */ 18*bf6e62f2S猫头猫 SEARCHING = 'SEARCHING', 19*bf6e62f2S猫头猫 /** 有结果 */ 20*bf6e62f2S猫头猫 RESULT = 'RESULT', 21*bf6e62f2S猫头猫} 22*bf6e62f2S猫头猫 23*bf6e62f2S猫头猫const pageStatusAtom = atom<PageStatus>(PageStatus.EDITING); 24*bf6e62f2S猫头猫 25*bf6e62f2S猫头猫// 搜索 26*bf6e62f2S猫头猫const queryAtom = atom<string>(''); 27*bf6e62f2S猫头猫 28*bf6e62f2S猫头猫export {searchResults, pageStatusAtom, searchResultsAtom, queryAtom}; 29