1.0.6 • Published 4 years ago

@hfaxjs/core v1.0.6

Weekly downloads
7
License
ISC
Repository
-
Last release
4 years ago

Introduce

@hfaxjs 核心插件,已集成模块:

  • 存储
    1. store
  • 网络
    1. http
    2. 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 发布