refactor(tracking): 重构监控配置和初始化逻辑
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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": ""
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user