uniapp 长链接 socket 封装

752 阅读1分钟

App.vue

<script>
	import socket from '@/util/IM.js'
	export default {
		watch: {
			'$route': function() {
				var page = getCurrentPages();
				console.log('watch-监听路由', page);
			}
		},
		globalData: {
			ImAuth: socket.connect(),
		},
		onLaunch: function(e) {


		},
		onShow: function() {
			socket.ifReConnect = true
			socket.connect(false)
		},
		onHide: function() {
			socket.ifReConnect = false
			uni.closeSocket();
		}
	}
</script>

<style>
</style>

 

IM.js

// import JMessage from '@/static/jmessage-wxapplet-sdk-1.4.3.min.js';
import request from '@/util/request.js'
import api from "@/util/api.js";

// 长链接
var socket = {
		access_token: '',
		ifReConnect:true,//是否需要断线重连
		socketStatus: false, //连接状态
		socketTask: false, //当前长链接的对象
		connect: function(rePromise) {
			console.log('连接socket')
			socket