使用方式
1. 直接使用SDK
import YunSDK from '@fantai/yunsdk';
// const YunSDK = require('@fantai/yunsdk').default; // nodejs
const yunsdk = new YunSDK({
address: 'wss://api.fantaiai.com/ws',
auth: {
appid: '',
secret_key: '',
shortid: '',
}
});
yunsdk.query('xxx').then().catch();
yunsdk.subscribe('xxx', function callback() {});
2. vue插件
import Vue from 'vue';
import YunSDK, { YunSDKMixin } from '@fantai/yunsdk/esm/vue';
Vue.use(YunSDK, {
address: 'wss://api.fantaiai.com/ws',
auth: {
appid: '',
secret_key: '',
shortid: '',
}
});
Vue.prototype.$yunsdk.query('xxx');
// 提供vue组件上查询方法,能够在vue组件失效时自动取消请求,并且在切换activated时自动请求和取消请求(一个组件只能包含一个请求)
const vm = new Vue({ mixins: [YunSDKMixin] }); // Vue.mixins(YunSDKMixin);
vm.queryYunData('xxx');
vm.subscribeYunData('xxx');
3. vuex模块
提供queryYunData和subscribeYunData两个action
import Vue from 'vue';
import Vuex from 'vuex';
import YunSDK from '@fantai/yunsdk/esm/vue';
import YunSDKVuexModule from '@fantai/yunsdk/esm/vuex';
Vue.use(YunSDK, {
address: 'wss://api.fantaiai.com/ws',
auth: {
appid: '',
secret_key: '',
shortid: '',
}
});
Vue.use(Vuex);
const vm = new Vue({
store: new Vuex.Store({ modules: { YunSDKVuexModule } });
});
vm.$store.dispatch('queryYunData', {
url: 'xxx',
params: {},
callback() {}
});
vm.$store.dispatch('subscribeYunData', {
...
});
4. webpack插件的使用
使用方式和配置参数默认值如下
const YunSDKPlugin = require('@fantai/yunsdk/plugin');
...
plugins: [
new YunSDKPlugin({
compress: false, // 是否使用压缩格式数据
pb: false, // 是否支持请求pb格式数据 (基本行情数据可用,小程序不可用)
json: true, // 是否支持请求json格式数据
http: true, // 是否支持http协议请求数据
websocket: true, // 是否支持websocket协议请求数据
wxapp: false // 是否使用需要小程序支持 (会添加额外的补丁)
worker: false // 是否使用线程处理数据请求和解析
workerPath: true // 是否修改worker编译后生成位置,true 设置为output filename 相同位置,false 不修改默认根目录,string 指定编译后位置
})
]