@ng1005/chrome-extension-common
Version:
chrome扩展通用库--消息与storage
68 lines (67 loc) • 3.78 kB
text/typescript
import $runtime,{RuntimeEventBus} from "./message/RuntimeEventBus";
import $port,{PortEventBus} from "./message/PortEventBus";
import $demo,{EventBusDemo} from "./message/EventBusDemo";
import $window,{WindowEventBus} from "./message/WindowEventBus";
import StorageDataService from "./storage/StorageDataService";
import StorageLocalService from "./storage/StorageLocalService";
import StorageManagedService from "./storage/StorageManagedService";
import StorageSessionService from "./storage/StorageSessionService";
import StorageSyncService from "./storage/StorageSyncService";
import $action,{ActionService} from "./action/ActionService";
import $css,{CssSelectorService} from "./dom/CssSelectorService";
import $cover,{SelectorCoverService} from "./dom/SelectorCoverService";
import $drag,{DomDragService} from "./dom/DomDragService";
import ResponseUtils from "./utils/ResponseUtils";
import InterceptorRunner from './interceptor/InterceptorRunner'
import { getXPath,getSelector,xPathToCss } from "./utils/DomUtils";
import inject from "./inject/inject";
import { InjectAjaxBus } from "./inject/InjectAjaxBus";
const $inject=new InjectAjaxBus()
import {isNodeEnvironment,getEnv, isDefined,isExtension,isBackgroundScript,isContentScript,isPopupScript,isString,isObject,isArray,isObjectOrArray ,isFunction,isFunctionAsync, isPromise} from "./utils/Utils";
const $storage={
data:new StorageDataService(),
local:new StorageLocalService(),
managed:new StorageManagedService(),
session:new StorageSessionService(),
sync:new StorageSyncService()
}
class WorkService{
constructor () {
}
init(){
//后端提供axios服务
//后端提供共享数据服务
//上面已经有导出了
// new StorageDataService()
// //后端提供storage数据服务,让content-script直接操作storage
// new StorageLocalService()
// new StorageManagedService()
// new StorageSessionService()
// new StorageSyncService()
// //监听browser_action点击事件
// new ActionService()
}
initTest(){//测试
$runtime.$on('background', (res:any,sender:chrome.runtime.MessageSender,sendResponse:any)=>{
console.log('background on message---',res)
return 'background收到runtimeBus'+res
})
$runtime.$on('testSend',(res:any,sender:chrome.runtime.MessageSender,sendResponse:any)=>{
console.log('testSend background on message---',res)
return 'background收到runtimeBus'+res
})
$port.$on('background',(res:any,sender:chrome.runtime.MessageSender,sendResponse:any)=>{
console.log('background on port message---',res)
return 'background收到portBus'
})
}
}
export {WorkService,$css,$inject,inject,$action,$drag,$window,$storage,$runtime,$port,$demo,$cover,InterceptorRunner,SelectorCoverService,CssSelectorService,DomDragService,RuntimeEventBus,PortEventBus,EventBusDemo,WindowEventBus,StorageDataService,StorageManagedService,StorageSessionService,StorageSyncService,ActionService}
export { isNodeEnvironment,getEnv,isDefined,isExtension,isBackgroundScript,isContentScript,isPopupScript,isString,isObject,isArray,isObjectOrArray,isFunction,isFunctionAsync ,ResponseUtils,isPromise,getXPath,getSelector,xPathToCss}
export default{
$window,$runtime,$port,$demo,$action,$drag,$storage,$css,$cover,$inject,inject,
CssSelectorService,DomDragService,SelectorCoverService,InterceptorRunner,
WorkService,RuntimeEventBus,PortEventBus,EventBusDemo,WindowEventBus,StorageDataService,StorageManagedService,StorageSessionService,StorageSyncService,ActionService,
isDefined,isExtension,isBackgroundScript,isContentScript,isPopupScript,isString,isObject,isArray,isObjectOrArray
,isNodeEnvironment,getEnv,isFunction,isFunctionAsync,ResponseUtils,isPromise,getXPath,getSelector,xPathToCss
}