Parcourir la source

fix: service logout error

ryanemax il y a 3 mois
Parent
commit
d7849c61f0
2 fichiers modifiés avec 33 ajouts et 9 suppressions
  1. 24 0
      deploy.ps1
  2. 9 9
      projects/live-app/src/services/message.service.ts

+ 24 - 0
deploy.ps1

@@ -0,0 +1,24 @@
+
+# https://app.fmode.cn/dev/live/tabs/home
+# 打包项目,携带应用前缀(index.html中相对路径将自动修复为/dev/live前缀)
+# live-app 子项目名称
+# /dev/ 项目测试版上传路径
+# /dev/live live-app项目预留路径
+ng build live-app --base-href=/dev/live/
+
+# 清空旧文件目录
+obsutil rm obs://nova-cloud/dev/live -r -f -i=XSUWJSVMZNHLWFAINRZ1 -k=P4TyfwfDovVNqz08tI1IXoLWXyEOSTKJRVlsGcV6 -e="obs.cn-south-1.myhuaweicloud.com"
+
+# 同步文件目录
+obsutil sync ./dist/live-app/browser obs://nova-cloud/dev/live  -i=XSUWJSVMZNHLWFAINRZ1 -k=P4TyfwfDovVNqz08tI1IXoLWXyEOSTKJRVlsGcV6 -e="obs.cn-south-1.myhuaweicloud.com" -acl=public-read
+
+# 复制默认首页至项目路由(解决路径导航到错误页面问题)
+# 例如:https://app.fmode.cn/dev/live/crm/test 匹配项目路由 /crm/test 需要放置一个默认页面
+obsutil cp ./dist/live-app/browser/index.html obs://nova-cloud/dev/live/crm/test/index.html  -i=XSUWJSVMZNHLWFAINRZ1 -k=P4TyfwfDovVNqz08tI1IXoLWXyEOSTKJRVlsGcV6 -e="obs.cn-south-1.myhuaweicloud.com" -acl=public-read
+
+
+# 授权公开可读
+obsutil chattri obs://nova-cloud/dev/live -r -f -i=XSUWJSVMZNHLWFAINRZ1 -k=P4TyfwfDovVNqz08tI1IXoLWXyEOSTKJRVlsGcV6 -e="obs.cn-south-1.myhuaweicloud.com" -acl=public-read
+
+# 超级权限(内部机密AKSK)
+hcloud CDN CreateRefreshTasks/v2 --cli-region="cn-north-1" --refresh_task.urls.1="https://app.fmode.cn/dev/live/" --refresh_task.type="directory" --cli-access-key=2BFF7JWXAIJ0UGNJ0OSB --cli-secret-key=NaPCiJCGmD3nklCzX65s8mSK1Py13ueyhgepa0s1

+ 9 - 9
projects/live-app/src/services/message.service.ts

@@ -129,7 +129,7 @@ export class MessageService {
    *@'RESPONSEINVITOIN_' + uid: 接受邀请
    */
   joinReady(channelName?: string) {
-    this.rtmClient.addEventListener('message', async (event: any) => {
+    this.rtmClient?.addEventListener('message', async (event: any) => {
       console.log('接收到一条消息:', event);
       let states = [
         'USERCALLINVITATION',
@@ -146,7 +146,7 @@ export class MessageService {
       }
       this.showMessage(event);
     });
-    this.rtmClient.addEventListener('presence', (event: any) => {
+    this.rtmClient?.addEventListener('presence', (event: any) => {
       console.log('频道人员状态变化 ', event);
       let is_self = event.publisher == this.userId;
       //远端用户离开频道,主播在线状态
@@ -158,7 +158,7 @@ export class MessageService {
         this.setConnectState(this.userId, 'ONLINE');
       }
     });
-    this.rtmClient.addEventListener('linkState', (event: any) => {
+    this.rtmClient?.addEventListener('linkState', (event: any) => {
       console.log('连接状态: ', event);
     });
   }
@@ -170,7 +170,7 @@ export class MessageService {
       Mode: mode,
     };
     try {
-      await this.rtmClient.presence.setState(channelName, channelType, states);
+      await this.rtmClient?.presence.setState(channelName, channelType, states);
     } catch (err: any) {
       console.log(err);
     }
@@ -272,7 +272,7 @@ export class MessageService {
   // }
   async loginRTM(channelName?: string) {
     try {
-      await this.rtmClient.login({
+      await this.rtmClient?.login({
         token: this.options.token,
       });
       this.options.connectState = true; // 登录成功
@@ -296,7 +296,7 @@ export class MessageService {
           addTimeStamp: true,
           addUserId: true,
         };
-        let result = await this.rtmClient.storage.setUserMetadata(
+        let result = await this.rtmClient?.storage.setUserMetadata(
           metadata,
           options
         );
@@ -307,7 +307,7 @@ export class MessageService {
     }
   }
   logOutRTM() {
-    this.rtmClient.logout().then(() => {
+    this.rtmClient?.logout().then(() => {
       console.log('logout success');
       this.options.connectState = false;
     });
@@ -375,7 +375,7 @@ export class MessageService {
   }
   async getUserMetadata(uid: string) {
     try {
-      const result = await this.rtmClient.storage.getUserMetadata({
+      const result = await this.rtmClient?.storage.getUserMetadata({
         userId: uid,
       });
       return result.metadata;
@@ -393,7 +393,7 @@ export class MessageService {
     const publishMessage = JSON.stringify(payload);
     const publishOptions = { channelType: channelType ?? 'MESSAGE' };
     try {
-      const result = await this.rtmClient.publish(
+      const result = await this.rtmClient?.publish(
         channelName,
         publishMessage,
         publishOptions