@hfaxjs/core
v1.0.6
Published
hfaxjs core lib
Downloads
0
Readme
Introduce
@hfaxjs 核心插件,已集成模块:
- 存储
- store
- 网络
- http
- websocket
- 性能
TODO
- 灰度
TODO
已更新插件:
- 错误上报:
@hfax/bug-report
- 数据打点
TODO
- 用户模块
TODO
- 规则模块
TODO
- to be continue
Getting Started
安装@hfaxjs/core
核心库
cnpm install @hfaxjs/core --save
Usage
import hfax from '@hfaxjs/core';
//----------------------------------------
//ajax例子
const http = hfax.http.ajax // axios实例
const service = http.create({
baseUrl:process.env.VUE_APP_BASE_API,
timeout:5000
});
// request interceptor
service.interceptors.request.use(
config => {
// do something before request is sent
if (store.getters.token) {
// let each request carry token
// ['X-Token'] is a custom headers key
// please modify it according to the actual situation
config.headers['X-Token'] = getToken()
}
return config
},
error => {
// do something with request error
console.log(error) // for debug
return Promise.reject(error)
}
)
const jsonp = hfax.http.jsonp // jsonp
jsonp.promise(url,config);
//----------------------------------------
const websocket = hfax.websocket // ws实例
//----------------------------------------
//存储例子
const store = hfax.store // store 实例
// Store current user
store.set('user', { name:'Marcus' })
// Get current user
store.get('user')
// Remove current user
store.remove('user')
// Clear all keys
store.clearAll()
store.set('foo2', 'bar', new Date().getTime() + 3000) // Using expire plugin to expire in 3 seconds
//更多见doc https://github.com/marcuswestin/store.js
//event模块
const event = hfax.event.create();
event.on('test',function(data){
expect(data).toBe("it works!")
})
event.emit('test','it works!');
更多用法见 https://github.com/JacksonTian/eventproxy/blob/master/test/test.js
Api
use(plugin:Plugin,..args)
扩展插件,args为传入参数;
export interface Plugin{
isInstall?:Boolean,
pluginVersion:String,
install(core:any,config:Object):any,
pluginName:String,
}
getAppInfo()
获取当前应用版本
getCoreVersion()
获取核心库版本号
getPluginLists()
获取插件列表
applyConfig(config:object)
应用配置
getConfig(item?:string)
获取配置项
Version
current version:1.0.5-alpha
Update
2019-11-23 version 1.0.6 增加envent模块 2019-10-22 version 1.0.5-alpha 删除了cookie模块,增加了store支持 2019-07-01 version 1.0.4-alpha 发布