zhangchong 2 éve
szülő
commit
a14c6040a7

+ 1 - 1
.env.development

@@ -8,4 +8,4 @@ VITE_API_URL = 'http://hotline.fw.com'
 VITE_API_URL_IDENTITY = 'http://identity.fengwo.com'
 
 #socket API
-VITE_APP_SOCKET_API = '/hubs/callcenter'
+VITE_APP_SOCKET_API = 'http://192.168.100.223:50110/hubs/callcenter'

+ 1 - 1
.env.production

@@ -9,4 +9,4 @@ VITE_API_URL_IDENTITY = 'http://identity.fengwo.com'
 
 
 #socket API
-VITE_APP_SOCKET_API = '/msghub'
+VITE_APP_SOCKET_API = 'http://192.168.100.223:50110/hubs/callcenter'

+ 8 - 9
src/layout/navBars/breadcrumb/user.vue

@@ -161,7 +161,7 @@ export default defineComponent({
 		let isShowPassword = ref(false);
 		// 设置分割样式
 		const layoutUserFlexNum = computed(() => {
-			let num: string | number = '';
+			let num: string | number;
 			const { layout, isClassicSplitMenu } = themeConfig.value;
 			const layoutArr: string[] = ['defaults', 'columns'];
 			if (layoutArr.includes(layout) || (layout === 'classic' && !isClassicSplitMenu)) num = '1';
@@ -176,8 +176,7 @@ export default defineComponent({
 			}
 			screenfull.toggle();
 			screenfull.on('change', () => {
-				if (screenfull.isFullscreen) state.isScreenfull = true;
-				else state.isScreenfull = false;
+				state.isScreenfull = screenfull.isFullscreen;
 			});
 		};
 		// 布局配置 icon 点击时
@@ -330,12 +329,12 @@ export default defineComponent({
 					loading.value = true;
 					onDuty(state.dutyForm.telNo).then(()=>{
 						// 开启 signalr 链接
-						// if (Session.get('token')) {
-						// 	proxy.signalr.start();
-						// 	proxy.signalr.SR.on("Ring", (data:any) =>{// 接收消息
-						// 		console.log(data)
-						// 	})
-						// }
+						if (Session.get('token')) {
+							proxy.signalr.start();
+							proxy.signalr.SR.on("Ring", (data:any) =>{// 订阅接收消息
+								console.log(data)
+							})
+						}
 						ElMessage.success('上班成功');
 						showDutyDialog.value = false;
 						loading.value = false;

+ 2 - 2
src/main.ts

@@ -4,7 +4,7 @@
  * @version: 
  * @Date: 2022-08-09 16:19:55
  * @LastEditors: Please set LastEditors
- * @LastEditTime: 2022-08-24 15:58:23
+ * @LastEditTime: 2022-10-25 16:46:16
  */
 import { createApp } from 'vue';
 import pinia from '/@/stores/index';
@@ -34,7 +34,7 @@ import VueViewer from 'v-viewer';
 import VueLazyloadNext from 'vue-lazyload-next';
 
 const app = createApp(App);
-//  signalR
+//  signalR 初始化signalr 
 signalR.init(import.meta.env.VITE_APP_SOCKET_API);
 
 // 自定义指令和svg组件

+ 1 - 4
src/utils/request.ts

@@ -41,9 +41,7 @@ service.interceptors.request.use(
 service.interceptors.response.use(
 	(response) => {
 		// 对响应数据做点什么
-		console.log(response,'res.code')
 		const res = response.data;
-		console.log(res,'res.code')
 		if (res.code && res.code !== 0) {
 			// `token` 过期或者账号已在别处登录
 			if (res.code === 401 || res.code === 4001) {
@@ -59,13 +57,12 @@ service.interceptors.response.use(
 		}
 	},
 	(error) => {
-		console.log(error,'res.code')
 		// 对响应错误做点什么
 		if (error.message.indexOf('timeout') != -1) {
 			ElMessage.error('网络超时');
 		} else if (error.message == 'Network Error') {
 			ElMessage.error('网络连接错误');
-		} else if(error.response.status == 401){
+		} else if(error.response.status == 401){ //`token` 过期或者账号已在别处登录
 			Session.clear(); // 清除浏览器全部临时缓存
 			window.location.href = '/'; // 去登录页
 			ElMessageBox.alert('你已被登出,请重新登录', '提示', {})

+ 13 - 7
src/utils/signalR.ts

@@ -1,3 +1,11 @@
+/*
+ * @Author: zc
+ * @Description: 
+ * @version: 
+ * @Date: 2022-10-21 09:01:23
+ * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2022-10-25 16:45:06
+ */
 // 官方文档:https://docs.microsoft.com/zh-cn/aspnet/core/signalr/javascript-client?view=aspnetcore-6.0&viewFallbackFrom=aspnetcore-2.2&tabs=visual-studio
 import * as signalR from '@microsoft/signalr'
 import { ElNotification } from 'element-plus'
@@ -9,11 +17,9 @@ export default {
   failNum: 4,
   baseUrl: '',
   init(url:string) {
-    // var socketUrl = window.location.origin + url;
-    const socketUrl = "http://192.168.100.22:50001" + url;
     const token = Session.get("token")
     const connection = new signalR.HubConnectionBuilder()
-      .withUrl(socketUrl, { accessTokenFactory:() => token,skipNegotiation: true, transport : 1 })
+      .withUrl(url, { accessTokenFactory:() => token,skipNegotiation: true, transport : 1 })
       .withAutomaticReconnect() //自动重新连接
       .configureLogging(signalR.LogLevel.Warning)
       .build();
@@ -45,7 +51,7 @@ export default {
       //使用async和await 或 promise的then 和catch 处理来自服务端的异常
       await this.SR.start()
       //console.assert(this.SR.state === signalR.HubConnectionState.Connected);
-      console.log('signalR', this.SR.state);
+      console.log('signalR', this.SR.state,'链接状态');
       return true
     } catch (error){
       that.failNum--;
@@ -61,9 +67,9 @@ export default {
   // 接收消息处理
   receiveMsg(connection:any) {
     // 接收欢迎语
-    connection.on("Ring", (data:any) => {
-      console.log(data)
-    });
+    // connection.on("Ring", (data:any) => {
+    //   console.log(data)
+    // });
     // 接收后台手动推送消息
     connection.on("receiveNotice", (title:string, data:any) => {
       ElNotification({