refactor(tracking): 重构监控配置和初始化逻辑

This commit is contained in:
zheng.zhang
2026-04-22 14:46:37 +08:00
parent f163b5ba79
commit b163de918e
5 changed files with 69 additions and 126 deletions
+39 -61
View File
@@ -1,17 +1,6 @@
@inject Microsoft.Extensions.Configuration.IConfiguration Configuration
@{
Layout = null;
var bonreeManageProd = Configuration["Tracking:Bonree:Manage:ProdAppId"] ?? "";
var bonreeTradeProd = Configuration["Tracking:Bonree:Trade:ProdAppId"] ?? "";
var bonreeManageTest = Configuration["Tracking:Bonree:Manage:TestAppId"] ?? "";
var bonreeTradeTest = Configuration["Tracking:Bonree:Trade:TestAppId"] ?? "";
var bonreeUploadProdHttp = Configuration["Tracking:Bonree:Upload:ProdHttp"] ?? "http://apm.glms.com.cn/upload/RUM/upload";
var bonreeUploadProdHttps = Configuration["Tracking:Bonree:Upload:ProdHttps"] ?? "https://apm.glms.com.cn/upload/RUM/upload";
var bonreeUploadTestHttp = Configuration["Tracking:Bonree:Upload:TestHttp"] ?? "http://test-apmweb.mszq.com:58896/RUM/upload";
var bonreeUploadTestHttps = Configuration["Tracking:Bonree:Upload:TestHttps"] ?? "https://test-apmweb.mszq.com:58896/RUM/upload";
}
<!DOCTYPE html>
<html lang="zh-cn">
@@ -29,27 +18,20 @@
@RenderSection("CSS", false)
<script src="~/statics/bundles/jquery.js?v=@(HtmlUtil.JsVersion)"></script>
<script src="/BonreeSDK_JS_2.5.1_min.esm.js" type="module"></script>
<script type="module">
import { BonreeStart } from '/BonreeSDK_JS_2.5.1_min.esm.js';
<script>
(function () {
const isProd = window.location.hostname.indexOf("glmszq.com") > -1 && window.location.hostname.indexOf("test") === -1;
const isTrader = window.location.hostname.indexOf("trade") > -1 || window.location.pathname.toLowerCase().indexOf("trade") > -1;
const manageAppIdProd = "@bonreeManageProd";
const tradeAppIdProd = "@bonreeTradeProd";
const manageAppIdTest = "@bonreeManageTest";
const tradeAppIdTest = "@bonreeTradeTest";
const appId = isProd
? (isTrader ? tradeAppIdProd : manageAppIdProd)
: (isTrader ? tradeAppIdTest : manageAppIdTest);
const bonreeConfig = {
appId: "@Configuration["Tracking:bonree:appId"]",
uploadAddrHttp: "@Configuration["Tracking:bonree:uploadAddrHttp"]",
uploadAddrHttps: "@Configuration["Tracking:bonree:uploadAddrHttps"]"
};
const config = {
appId: appId,
uploadAddrHttp: isProd ? "@bonreeUploadProdHttp" : "@bonreeUploadTestHttp",
uploadAddrHttps: isProd ? "@bonreeUploadProdHttps" : "@bonreeUploadTestHttps",
appId: bonreeConfig.appId,
uploadAddrHttp: bonreeConfig.uploadAddrHttp,
uploadAddrHttps: bonreeConfig.uploadAddrHttps,
useXHR: true,
cycleTime: 60,
maxSize: 60,
@@ -57,61 +39,60 @@
};
try {
if (!config.appId) {
console && console.warn && console.warn('Bonree appId missing, skip init');
if (!config.appId || !config.uploadAddrHttp || !config.uploadAddrHttps) {
console.warn('Bonree appId or uploadAddrHttp or uploadAddrHttps missing, skip init');
return;
}
BonreeStart(config);
window.BonreeAgent.BonreeStart(config);
window.bonreeApplyUser = function (userId, userName) {
if (!userId || !window.bonreeJsBridge) return;
window.bonreeJsBridge.setUserID(userId);
if (!userId || !window.BonreeAgent) return;
window.BonreeAgent.setUserID(userId);
if (userName) {
window.bonreeJsBridge.setUserExtraInfo({ name: userName });
window.BonreeAgent.setExtraInfo({ name: userName });
}
};
if ('@CurUser?.UserId') {
window.bonreeApplyUser('@CurUser.OaAccount', '@CurUser.UserName');
}
} catch (e) {
console && console.warn && console.warn('Bonree init failed', e);
}
})();
</script>
<script src="~/sensorsdata.min.js?v=@(HtmlUtil.JsVersion)"></script>
<script src="~/sensorsdata.min.js"></script>
<script>
// SDK 默认暴露 window.sensorsDataAnalytic201505,这里做一次别名兼容,确保调试台可直接使用 sensors
(function ensureSensorsAlias() {
var setAlias = function () {
if (window.sensors) { return true; }
if (window.sensors) return;
if (window.sensorsDataAnalytic201505) {
window.sensors = window.sensorsDataAnalytic201505;
return true;
}
return false;
};
if (setAlias()) { return; }
var aliasTimer = setInterval(function () {
if (setAlias()) {
clearInterval(aliasTimer);
}
}, 50);
setTimeout(function () {
clearInterval(aliasTimer);
}, 5000);
setAlias();
})();
</script>
<script type="text/javascript">
(function () {
if (!window.sensors) { return; }
var isProd = window.location.hostname.indexOf("mszq.com") > -1 && window.location.hostname.indexOf("test") === -1;
var isTrader = window.location.hostname.indexOf("trade") > -1 || window.location.pathname.toLowerCase().indexOf("trade") > -1;
var serverUrl = isProd ? "https://scdata.mszq.com/sa?project=default" : "https://scdata-test.mszq.com/sa?project=default";
const sensorsConfig = {
serverUrl: "@Configuration["Tracking:sensors:serverUrl"]",
_platformType: "@Configuration["Tracking:sensors:_platformType"]",
_systemVersion: "@Configuration["Tracking:sensors:_systemVersion"]",
_techStack: "@Configuration["Tracking:sensors:_techStack"]"
};
if (!sensorsConfig.serverUrl) {
console.warn('Sensors serverUrl missing, skip init');
return;
}
sensors.init({
server_url: serverUrl,
server_url: sensorsConfig.serverUrl,
is_track_single_page: true,
use_client_time: true,
send_type: 'beacon',
@@ -130,17 +111,14 @@
sensors.quick('autoTrack');
sensors.registerPage({
platform_type: isTrader ? 'onederiv-trader' : 'onederiv',
systemVersion: '',
techStack: ''
platform_type: sensorsConfig._platformType || 'onederiv',
systemVersion: sensorsConfig._systemVersion,
techStack: sensorsConfig._techStack
});
if ('@CurUser?.UserId' && sensors.login) {
sensors.login('@CurUser.UserId');
sensors.setOnceProfile({ userId: '@CurUser.OaAccount', name: '@CurUser.UserName' });
if (window.bonreeApplyUser) {
window.bonreeApplyUser('@CurUser.OaAccount', '@CurUser.UserName');
}
}
window.saTrack = function (eventName, props) {
+10 -17
View File
@@ -81,7 +81,6 @@
"SystemToken": "your-system-token", // OA系统鉴权Token
"SystemName": "OTC_TRADE", // 调用方系统标识
"IsNextFlow": 0
},
"GeneralSSO": {
"enable": true, //是否启用通用SSO登录
@@ -90,22 +89,16 @@
"get_user_url": "http://192.168.2.96:10117/sso/getSsoUser" //获取用户信息接口地址
},
"Tracking": {
"Bonree": {
"Manage": {
"ProdAppId": "9efad93bf1a640079c8e5a724a6b5cdf",
"TestAppId": ""
},
"Trade": {
"ProdAppId": "3d99c953b49e478e9d67ea641b8565aa",
"TestAppId": ""
},
"Upload": {
"ProdHttp": "http://apm.glms.com.cn/upload/RUM/upload",
"ProdHttps": "https://apm.glms.com.cn/upload/RUM/upload",
"TestHttp": "http://test-apmweb.mszq.com:58896/RUM/upload",
"TestHttps": "https://test-apmweb.mszq.com:58896/RUM/upload"
}
"sensors": {
"serverUrl": "",
"_platformType": "",
"_systemVersion": "",
"_techStack": ""
},
"bonree": {
"uploadAddrHttp": "",
"uploadAddrHttps": "",
"appId": ""
}
}
}
-18
View File
@@ -4,23 +4,5 @@
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"Tracking": {
"Bonree": {
"Manage": {
"ProdAppId": "9efad93bf1a640079c8e5a724a6b5cdf",
"TestAppId": ""
},
"Trade": {
"ProdAppId": "3d99c953b49e478e9d67ea641b8565aa",
"TestAppId": ""
},
"Upload": {
"ProdHttp": "http://apm.glms.com.cn/upload/RUM/upload",
"ProdHttps": "https://apm.glms.com.cn/upload/RUM/upload",
"TestHttp": "http://test-apmweb.mszq.com:58896/RUM/upload",
"TestHttps": "https://test-apmweb.mszq.com:58896/RUM/upload"
}
}
}
}
+10 -15
View File
@@ -83,21 +83,16 @@
"Issend": 0 //流程是否自动发送,0不发送,1自动发送下一步
},
"Tracking": {
"Bonree": {
"Manage": {
"ProdAppId": "9efad93bf1a640079c8e5a724a6b5cdf",
"TestAppId": ""
},
"Trade": {
"ProdAppId": "3d99c953b49e478e9d67ea641b8565aa",
"TestAppId": ""
},
"Upload": {
"ProdHttp": "http://apm.glms.com.cn/upload/RUM/upload",
"ProdHttps": "https://apm.glms.com.cn/upload/RUM/upload",
"TestHttp": "http://test-apmweb.mszq.com:58896/RUM/upload",
"TestHttps": "https://test-apmweb.mszq.com:58896/RUM/upload"
}
"sensors": {
"serverUrl": "https://scdata.mszq.com/sa?project=default",
"_platformType": "",
"_systemVersion": "",
"_techStack": ""
},
"bonree": {
"uploadAddrHttp": "http://apm.glms.com.cn/upload/RUM/upload",
"uploadAddrHttps": "https://apm.glms.com.cn/upload/RUM/upload",
"appId": "9efad93bf1a640079c8e5a724a6b5cdf"
}
}
}
+10 -15
View File
@@ -84,21 +84,16 @@
"Issend": 0 //流程是否自动发送,0不发送,1自动发送下一步
},
"Tracking": {
"Bonree": {
"Manage": {
"ProdAppId": "9efad93bf1a640079c8e5a724a6b5cdf",
"TestAppId": ""
},
"Trade": {
"ProdAppId": "3d99c953b49e478e9d67ea641b8565aa",
"TestAppId": ""
},
"Upload": {
"ProdHttp": "http://apm.glms.com.cn/upload/RUM/upload",
"ProdHttps": "https://apm.glms.com.cn/upload/RUM/upload",
"TestHttp": "http://test-apmweb.mszq.com:58896/RUM/upload",
"TestHttps": "https://test-apmweb.mszq.com:58896/RUM/upload"
}
"sensors": {
"serverUrl": "https://scdata-test.mszq.com/sa?project=default",
"_platformType": "",
"_systemVersion": "",
"_techStack": ""
},
"bonree": {
"uploadAddrHttp": "http://test-apmweb.mszq.com:58896/RUM/upload",
"uploadAddrHttps": "https://test-apmweb.mszq.com:58896/RUM/upload",
"appId": ""
}
}
}