@mac-xiang/socket
v1.0.0
Published
适用于vue/uniapp 的socket.io 封装,如不想支持vue.则注释掉vue部分代码即可(index.ts 文件底部).记得编译哦.
Downloads
6
Readme
socket
介绍
适用于 vue/uniapp 的 weapp.socket.io 封装.
软件架构
编译: tsc 测试: 没有
安装教程
npm i @mac-xiang/socket"
import { tmkSocket, clients, history, events, ioEvent, send } from "@mac-xiang/socket";
如果需要使用 vue 事件则在 main.js 中添加如下代码
Vue.mixin({
created() {
if (this.$options.events) {
Object.keys(this.$options.events).forEach((key) => {
let handler = this.$options.events[key];
if (typeof handler === "string") {
handler = this[handler];
}
this[key + "::handler"] = handler.bind(this);
this.$root.$on(key, this[key + "::handler"]);
if (ioEvent.indexOf(key) >= 0) {
if (!this.events) this.events = {};
this.events[key] = uuid.v1();
if (!events[key]) events[key] = {};
events[key][this.events[key]] = this[key + "::handler"];
}
});
}
},
beforeDestroy() {
if (this.$options.events) {
Object.keys(this.$options.events).forEach((key) => {
this.$root.$off(key, this[key + "::handler"]);
if (ioEvent.indexOf(key) >= 0) {
Object.keys(events[key]).map((k) => {
delete events[key][k];
});
}
});
}
},
});
- 在需要接收消息通知的 vue 页面添加如下属性.
<script>
export default {
events: {
recv(data) {
// 这里的data 就是送达 message 消息的内容.
},
},
};
</script>
使用说明
- s=new tmkSocket(parm); // 创建实例. parm 参数如下
export interface createTmkSocket {
address: string; // 服务器地址
token: string; // 服务器认证信息
reconnect?: number; // 重新连接尝试次数; 小于0 永远尝试连接;0|undefind 不重新连接.
reTime?: number; // 重新连接间隔;最小值5000毫秒
callback?: fun; // 连接成功后回调
eventFuns?: of; // 需要覆盖监听的事件函数集合
}
- 可使用 s.send(data,method); 这里的 method 就是原 socket.io 中的 socket.emit(method,data);正好与之相反. method 默认是"message";
- 也可以使用 之前导出函数 send 进行发送.
参与贡献
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
特技
啥都没有.就自己用.自己能看懂就行.就几个方法,自己去 index.ts 中看吧,有注解. 逻辑有点杂.看代码去吧.
npm 上传包命令 npm publish --registry http://registry.npmjs.org npm config set registry https://registry.npmjs.org npm publish --access public --registry http://registry.npmjs.org npm config set scope mac-xiang --global
npm version prerelease
npm version prepatch 别笑,记不住
更新日志
1.0.0: 初次提交