Ver código fonte

动态设置ico

huangbin 4 anos atrás
pai
commit
90809c826e

+ 0 - 0
public/favicon2.ico → src/assets/images/favicon1.ico


+ 15 - 3
src/layout/components/header.vue

@@ -1,9 +1,19 @@
 <template>
-  <div>
+  <!-- 风险管理 -->
+
+  <div v-if="getOem(OemType.manager)">
+    <img src="../../assets/images/logoHeader.png" />
+    <span>深圳市多元世纪信息技术股份有限公司</span>
+  </div>
+  <!-- 云融 -->
+
+  <div v-else-if="getOem(OemType.wrspot)">
+    <img src="../../assets/images/headLogo.jpg" />
+    <span>云融</span>
+  </div>
+  <div v-else>
     <img src="../../assets/images/logoHeader.png" />
     <span>深圳市多元世纪信息技术股份有限公司</span>
-    <!-- <img src="../../assets/images/headLogo.jpg" />
-        <span>云融</span> -->
   </div>
   <div class="m-layout-header-right">
     <div @click="openDrawer">
@@ -61,6 +71,7 @@ import { logout } from '@/services/bus/login';
 import APP from '@/services';
 import Router from '@/router';
 import { handleNotice } from '@/views/setting/notice/setup';
+import { handleOem } from '@/services/request/serviceURL';
 
 // 设置
 const setFn = () => {
@@ -115,6 +126,7 @@ export default defineComponent({
             getUnReadNoticeLength,
             ...setFn(),
             ...onSearch(),
+            ...handleOem(),
         };
     },
 });

+ 27 - 2
src/services/bus/index.ts

@@ -5,7 +5,7 @@ import { checkTokenLoop, handleTokenCheck } from '@/services/bus/token';
 import { getAllEnums, GetPCMenus, getServerTime, queryErrorInfos, QueryTableDefine } from '@/services/go/commonService/index';
 import { getAppConfig, getCommonApiUrl } from '@/services/go/config';
 import { LoginQuery } from '@/services/go/useInfo/index';
-import { setServiceURL } from '@/services/request/serviceURL';
+import { handleOem, setServiceURL } from '@/services/request/serviceURL';
 import ProtobufCtr from '@/services/socket/protobuf/index';
 import { localStorageUtil } from '@/utils/storage';
 import { message } from 'ant-design-vue';
@@ -58,6 +58,31 @@ export async function globalDataRefresh(): Promise<string> {
     }
 }
 
+function getIco(): string {
+    const { OemType, getOem } = handleOem()
+    let result = 'favicon'
+    if (getOem(OemType.manager)) {
+        result = 'favicon'
+    } else if (getOem(OemType.wrspot)) {
+        result = 'favicon1'
+    }
+
+    return `./${result}.ico`
+}
+
+
+
+function setIcon() {
+    const link: any = document.querySelector("link[rel*='icon']") || document.createElement('link');
+    const obj = {
+        type: 'image/x-icon',
+        rel: 'shortcut icon',
+        href: getIco(),
+    }
+    Object.assign(link, obj)
+    document.title = 'WebPC'
+    document.getElementsByTagName('head')[0].appendChild(link);
+}
 /**
  * 全局依赖的数据查询,涉及各个方面
  */
@@ -70,7 +95,7 @@ async function queryDependencies(): Promise<number> {
         const apiUrl = await getCommonApiUrl(config.data.apiUrl);
 
         if (apiUrl.data.code === 200) setServiceURL(apiUrl.data.data);
-
+        setIcon()
         // await APP.connectQuote();
         /** 数据返回 */
         return Promise.resolve(1);

+ 5 - 3
src/services/bus/token.ts

@@ -1,8 +1,8 @@
+import Router from '@/router';
 import APP from '@/services';
+import { getLoginData } from '@/services/bus/login';
 import { tokenCheck } from '@/services/socket/login/index';
 import timerUtil from '@/utils/timer/timerUtil';
-import { getLoginData } from '@/services/bus/login';
-import Router from '@/router';
 
 /**
  * token 分为 游客和登录token
@@ -35,5 +35,7 @@ export function handleTokenCheck() {
  */
 export function checkTokenLoop(): void {
     const timeDiff = APP.get('checkTokenTimeDiff');
-    timerUtil.setInterval(handleTokenCheck, timeDiff, 'tokenCheck');
+    timerUtil.setInterval(() => {
+        handleTokenCheck()
+    }, timeDiff, 'tokenCheck');
 }

+ 16 - 1
src/services/request/serviceURL.ts

@@ -30,6 +30,7 @@ interface URL {
     android: string;
     pcNewsUrl: string;
     pcMangerUrl: string;
+    oem: string;
 }
 
 export let serviceURL: URL = {
@@ -50,6 +51,7 @@ export let serviceURL: URL = {
     tradePort: '',
     tradeUrl: '',
     uploadUrl: '',
+    oem: '',
     iOS: '',
     android: '',
     pcNewsUrl: '',
@@ -85,5 +87,18 @@ export const setServiceURL = (config: URL): void => {
         serviceURL.quoteUrl = 'ws://218.17.158.45:21004';
         serviceURL.tradeUrl = 'ws://218.17.158.45:21005';
     }
-    console.log(serviceURL);
+    console.log('api地址:', serviceURL);
 };
+
+// 获取 项目类型:例如 风险管理、千海金
+
+export function handleOem() {
+    enum OemType {
+        manager = '',
+        wrspot = 'yrdz' // 仓单贸易
+    }
+    function getOem(type: OemType) {
+        return serviceURL.oem === type
+    }
+    return { OemType, getOem }
+}

+ 2 - 2
src/services/socket/login/index.ts

@@ -53,7 +53,7 @@ export const logoutResponse = (): Promise<void> => {
                     }
                 },
                 onFail: (err) => {
-                    reject(err.message);
+                    // reject(err);
                 },
             } as Callback);
         }
@@ -88,7 +88,7 @@ export const tokenCheck = (): Promise<string> => {
                     }
                 },
                 onFail: (err) => {
-                    reject(err.message);
+                    reject(err);
                 },
             } as Callback);
         } else {

+ 12 - 4
src/views/account/login.vue

@@ -6,10 +6,16 @@
       <a-col>
         <div class="login-background">
           <div>
-            <img src="@/assets/images/logo.png"
+
+            <img v-if="getOem(OemType.manager)"
+                 src="@/assets/images/wrLogo.jpg"
+                 alt="" />
+            <img v-else-if="getOem(OemType.wrspot)"
+                 src="@/assets/images/logo.png"
+                 alt="" />
+            <img v-else
+                 src="@/assets/images/wrLogo.jpg"
                  alt="" />
-            <!-- <img src="@/assets/images/wrLogo.jpg"
-                 alt="" /> -->
           </div>
         </div>
         <div class="login-content">
@@ -77,6 +83,7 @@ import { setLoadComplete } from '@/common/methods';
 import eventBus from '@/utils/eventBus/index';
 import { QWebChannel } from '@/utils/qt/qwebchannel.js';
 import { qtAction } from './qt';
+import { handleOem } from '@/services/request/serviceURL';
 
 interface Form {
     account: string;
@@ -98,6 +105,7 @@ function setRememberAccount(): void {
         Object.assign(initForm, { account, isRemember: true });
     }
 }
+
 // declare global {
 //     interface Window {
 //         qt: {
@@ -203,7 +211,7 @@ export default defineComponent({
                     goHomeloading.value = false;
                 });
         };
-        return { form, loginAction, rules, formDom, loading, goHomeloading, goHome };
+        return { form, loginAction, rules, formDom, loading, goHomeloading, goHome, ...handleOem() };
     },
 });
 </script>

+ 10 - 1
vue.config.js

@@ -18,7 +18,16 @@ module.exports = {
 	// 查阅 https://github.com/vuejs/vue-doc-zh-cn/vue-cli/webpack.md
 	// webpack配置
 	// see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
-	chainWebpack: () => {},
+
+	//   //修改或新增html-webpack-plugin的值,在index.html里面能读取htmlWebpackPlugin.options.title
+	//   chainWebpack: config =>{
+	// 	config.plugin('html')
+	// 	  .tap(args => {
+	// 		  console.log('htmlhtml', args)
+	// 		args[0].title = "平台";
+	// 		return args;
+	// 	  })
+	//   },
 	configureWebpack: (config) => {
 		if (process.env.NODE_ENV === 'production') {
 			// 为生产环境修改配置...