浏览代码

fix(branding): Use config url for dynamic branding

master
Vlad Piersec 4 年前
父节点
当前提交
33e4324f6d
共有 3 个文件被更改,包括 27 次插入6 次删除
  1. 1
    1
      config.js
  2. 5
    5
      react/features/dynamic-branding/actions.js
  3. 21
    0
      react/features/dynamic-branding/functions.js

+ 1
- 1
config.js 查看文件

@@ -616,7 +616,7 @@ var config = {
616 616
          logoImageUrl: 'https://example.com/logo-img.png'
617 617
      }
618 618
     */
619
-    // brandingDataUrl: '',
619
+    // dynamicBrandingUrl: '',
620 620
 
621 621
     // The URL of the moderated rooms microservice, if available. If it
622 622
     // is present, a link to the service will be rendered on the welcome page,

+ 5
- 5
react/features/dynamic-branding/actions.js 查看文件

@@ -9,10 +9,11 @@ import {
9 9
     SET_DYNAMIC_BRANDING_FAILED,
10 10
     SET_DYNAMIC_BRANDING_READY
11 11
 } from './actionTypes';
12
-import { extractFqnFromPath } from './functions';
12
+import { getDynamicBrandingUrl } from './functions';
13 13
 
14 14
 const logger = getLogger(__filename);
15 15
 
16
+
16 17
 /**
17 18
  * Fetches custom branding data.
18 19
  * If there is no data or the request fails, sets the `customizationReady` flag
@@ -23,15 +24,14 @@ const logger = getLogger(__filename);
23 24
 export function fetchCustomBrandingData() {
24 25
     return async function(dispatch: Function, getState: Function) {
25 26
         const state = getState();
26
-        const baseUrl = state['features/base/config'].brandingDataUrl;
27 27
         const { customizationReady } = state['features/dynamic-branding'];
28 28
 
29 29
         if (!customizationReady) {
30
-            const fqn = extractFqnFromPath(state['features/base/connection'].locationURL.pathname);
30
+            const url = getDynamicBrandingUrl(state);
31 31
 
32
-            if (baseUrl && fqn) {
32
+            if (url) {
33 33
                 try {
34
-                    const res = await doGetJSON(`${baseUrl}?conferenceFqn=${encodeURIComponent(fqn)}`);
34
+                    const res = await doGetJSON(url);
35 35
 
36 36
                     return dispatch(setDynamicBrandingData(res));
37 37
                 } catch (err) {

+ 21
- 0
react/features/dynamic-branding/functions.js 查看文件

@@ -13,3 +13,24 @@ export function extractFqnFromPath(path: string) {
13 13
 
14 14
     return parts.length > 2 ? `${parts[len - 2]}/${parts[len - 1]}` : '';
15 15
 }
16
+
17
+/**
18
+ * Returns the url used for fetching dynamic branding.
19
+ *
20
+ * @param {Object} state - The state of the app.
21
+ * @returns {string}
22
+ */
23
+export function getDynamicBrandingUrl(state: Object) {
24
+    const { dynamicBrandingUrl } = state['features/base/config'];
25
+
26
+    if (dynamicBrandingUrl) {
27
+        return dynamicBrandingUrl;
28
+    }
29
+
30
+    const baseUrl = state['features/base/config'].brandingDataUrl;
31
+    const fqn = extractFqnFromPath(state['features/base/connection'].locationURL.pathname);
32
+
33
+    if (baseUrl && fqn) {
34
+        return `${baseUrl}?conferenceFqn=${encodeURIComponent(fqn)}`;
35
+    }
36
+}

正在加载...
取消
保存