Explorar el Código

观测云SDK接入

刘洋 hace 1 año
padre
commit
5c9c9dca68
Se han modificado 4 ficheros con 39 adiciones y 2 borrados
  1. 2 1
      package.json
  2. 2 0
      src/main.js
  3. 5 1
      src/store/modules/user.js
  4. 30 0
      src/utils/dataKit.js

+ 2 - 1
package.json

@@ -20,6 +20,7 @@
   },
   "dependencies": {
     "@chenfengyuan/vue-qrcode": "^2.0.0",
+    "@cloudcare/browser-rum": "^3.1.10",
     "@tinymce/tinymce-vue": "^5.1.1",
     "@vueuse/core": "^9.13.0",
     "autoprefixer": "^10.4.14",
@@ -87,4 +88,4 @@
     "vite-svg-loader": "^3.6.0",
     "vue-tsc": "^1.0.11"
   }
-}
+}

+ 2 - 0
src/main.js

@@ -16,6 +16,7 @@ import './style/black.less';
 import 'uno.css';
 import { setGlobalOptions } from 'vue-request';
 import packageJson from '../package.json';
+import dataKitSdk from '@/utils/dataKit';
 // import './mock/index';
 setGlobalOptions({
   manual: true, //当 manual 设置为 true 时,你需要手动触发 run 或者 runAsync 才会发起请求 ,见vue-request文档:https://www.attojs.com/api/#manual
@@ -30,3 +31,4 @@ app.mount('#app');
 
 capsule('质控平台', `v${packageJson.version} release`);
 appUpdateObserver();
+dataKitSdk.init();

+ 5 - 1
src/store/modules/user.js

@@ -8,7 +8,7 @@ import asyncRoutes, {
 } from '@/router/asyncRoutes';
 import { getTreeList, local, session, clear } from '@/utils/tool';
 import { routesNotMenu } from '@/router/asyncRoutes';
-
+import dataKitSdk from '@/utils/dataKit';
 // 路由扁平化
 const flatAsyncRoutes = (routes, breadcrumb = []) => {
   const res = [];
@@ -99,6 +99,10 @@ const useUserStore = defineStore('user', {
     },
     setInfo(data) {
       this.user = data;
+      dataKitSdk.setUser({
+        id: data.id,
+        name: data.realName,
+      });
     },
     resetUserInfo() {
       this.$reset();

+ 30 - 0
src/utils/dataKit.js

@@ -0,0 +1,30 @@
+import { datafluxRum } from '@cloudcare/browser-rum';
+class DataKitSdk {
+  constructor() {
+    this.isProd = location.host === 'sop.qmth.com.cn';
+  }
+  isProd = true;
+  init() {
+    if (this.isProd) {
+      datafluxRum.init({
+        applicationId: 'e89104f0_c00d_11ee_8336_0f54bfdf06bb',
+        datakitOrigin: 'https://datakit.qmth.com.cn', // 协议(包括://),域名(或IP地址)[和端口号]
+        env: 'production',
+        version: '1.0.0',
+        service: 'browser',
+        sessionSampleRate: 100,
+        sessionReplaySampleRate: 70,
+        trackInteractions: true,
+        traceType: 'ddtrace', // 非必填,默认为ddtrace,目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6种类型
+        // allowedTracingOrigins: ['https://api.example.com', /https:\/\/.*\.my-api-domain\.com/],  // 非必填,允许注入trace采集器所需header头部的所有请求列表。可以是请求的origin,也可以是正则
+      });
+    }
+  }
+  setUser(obj) {
+    if (this.isProd) {
+      datafluxRum.setUser(obj);
+    }
+  }
+}
+const dataKitSdk = new DataKitSdk();
+export default dataKitSdk;