提交 70eeb8fb 编写于 作者: M mehaotian

feat(stat): reportInterval

上级 d9fc5510
...@@ -14,6 +14,8 @@ const APP_PVER_TIME = 300; // 应用在后台结束访问时间 单位s ...@@ -14,6 +14,8 @@ const APP_PVER_TIME = 300; // 应用在后台结束访问时间 单位s
const OPERATING_TIME = 10; // 数据上报时间 单位s const OPERATING_TIME = 10; // 数据上报时间 单位s
const DIFF_TIME = 60 * 1000 * 60 * 24; const DIFF_TIME = 60 * 1000 * 60 * 24;
// 获取 manifest.json 中统计配置
const uniStatisticsConfig = process.env.UNI_STATISTICS_CONFIG;
let statConfig = { let statConfig = {
appid: process.env.UNI_APP_ID, appid: process.env.UNI_APP_ID,
}; };
...@@ -471,7 +473,8 @@ const is_debug = debug; ...@@ -471,7 +473,8 @@ const is_debug = debug;
* 日志输出 * 日志输出
* @param {*} data * @param {*} data
*/ */
const log = (data) => { const log = (data, type) => {
let msg_type = ''; let msg_type = '';
switch (data.lt) { switch (data.lt) {
case '1': case '1':
...@@ -494,11 +497,41 @@ const log = (data) => { ...@@ -494,11 +497,41 @@ const log = (data) => {
msg_type = 'PUSH'; msg_type = 'PUSH';
break break
} }
// #ifdef APP
// 在 app 中,日志转为 字符串
if(typeof data === 'object') {
data = JSON.stringify(data);
}
// #endif
if (type) {
console.log(`=== 统计队列数据上报 ===`);
console.log(data);
console.log(`=== 上报结束 ===`);
return
}
if (msg_type) { if (msg_type) {
console.log(`=== 统计数据采集:${msg_type} ===`); console.log(`=== 统计数据采集:${msg_type} ===`);
console.log(data); console.log(data);
console.log(`=== 采集结束 ===`); console.log(`=== 采集结束 ===`);
} }
};
/**
* 获取上报时间间隔
* @param {*} defaultTime 默认上报间隔时间 单位s
*/
const get_report_Interval = (defaultTime) => {
let time = uniStatisticsConfig.reportInterval;
// 如果上报时间配置为0 相当于立即上报
if (Number(time) === 0) return 0
time = time || defaultTime;
let reg = /(^[1-9]\d*$)/;
// 如果不是整数,则默认为上报间隔时间
if (!reg.test(time)) return defaultTime
return Number(time)
}; };
const appid = process.env.UNI_APP_ID; // 做应用隔离 const appid = process.env.UNI_APP_ID; // 做应用隔离
...@@ -672,6 +705,7 @@ const get_residence_time = (type) => { ...@@ -672,6 +705,7 @@ const get_residence_time = (type) => {
} }
}; };
const eport_Interval = get_report_Interval(OPERATING_TIME);
// 统计数据默认值 // 统计数据默认值
let statData = { let statData = {
uuid: get_uuid(), // 设备标识 uuid: get_uuid(), // 设备标识
...@@ -1131,7 +1165,7 @@ class Report { ...@@ -1131,7 +1165,7 @@ class Report {
log(data); log(data);
} }
// 判断时候到达上报时间 ,默认 10 秒上报 // 判断时候到达上报时间 ,默认 10 秒上报
if (page_residence_time < OPERATING_TIME && !type) return if (page_residence_time < eport_Interval && !type) return
// 时间超过,重新获取时间戳 // 时间超过,重新获取时间戳
set_page_residence_time(); set_page_residence_time();
...@@ -1167,7 +1201,9 @@ class Report { ...@@ -1167,7 +1201,9 @@ class Report {
sendRequest(optionsData) { sendRequest(optionsData) {
{ {
if (!uni.__stat_uniCloud_space) { if (!uni.__stat_uniCloud_space) {
console.error('应用未关联服务空间,统计上报失败,请在uniCloud目录右键关联服务空间.'); console.error(
'应用未关联服务空间,统计上报失败,请在uniCloud目录右键关联服务空间.'
);
return return
} }
...@@ -1181,9 +1217,7 @@ class Report { ...@@ -1181,9 +1217,7 @@ class Report {
.report(optionsData) .report(optionsData)
.then(() => { .then(() => {
if (is_debug) { if (is_debug) {
console.log(`=== 统计队列数据上报 ===`); log(optionsData, true);
console.log(optionsData);
console.log(`=== 上报结束 ===`);
} }
}) })
.catch((err) => { .catch((err) => {
...@@ -1204,9 +1238,7 @@ class Report { ...@@ -1204,9 +1238,7 @@ class Report {
let options = get_sgin(get_encodeURIComponent_options(data)).options; let options = get_sgin(get_encodeURIComponent_options(data)).options;
image.src = STAT_H5_URL + '?' + options; image.src = STAT_H5_URL + '?' + options;
if (is_debug) { if (is_debug) {
console.log(`=== 统计队列数据上报 ===`); log(data, true);
console.log(data);
console.log(`=== 上报结束 ===`);
} }
}); });
} }
...@@ -1254,6 +1286,10 @@ class Stat extends Report { ...@@ -1254,6 +1286,10 @@ class Stat extends Report {
// '=== 当前绑定的统计服务空间spaceId:' + // '=== 当前绑定的统计服务空间spaceId:' +
// uni.__stat_uniCloud_space.config.spaceId // uni.__stat_uniCloud_space.config.spaceId
// ) // )
} else {
console.error(
'应用未关联服务空间,请在uniCloud目录右键关联服务空间'
);
} }
} }
} }
......
...@@ -12,6 +12,8 @@ const APP_PVER_TIME = 300; // 应用在后台结束访问时间 单位s ...@@ -12,6 +12,8 @@ const APP_PVER_TIME = 300; // 应用在后台结束访问时间 单位s
const OPERATING_TIME = 10; // 数据上报时间 单位s const OPERATING_TIME = 10; // 数据上报时间 单位s
const DIFF_TIME = 60 * 1000 * 60 * 24; const DIFF_TIME = 60 * 1000 * 60 * 24;
// 获取 manifest.json 中统计配置
const uniStatisticsConfig = process.env.UNI_STATISTICS_CONFIG;
let statConfig = { let statConfig = {
appid: process.env.UNI_APP_ID, appid: process.env.UNI_APP_ID,
}; };
...@@ -469,7 +471,8 @@ const is_debug = debug; ...@@ -469,7 +471,8 @@ const is_debug = debug;
* 日志输出 * 日志输出
* @param {*} data * @param {*} data
*/ */
const log = (data) => { const log = (data, type) => {
let msg_type = ''; let msg_type = '';
switch (data.lt) { switch (data.lt) {
case '1': case '1':
...@@ -492,11 +495,41 @@ const log = (data) => { ...@@ -492,11 +495,41 @@ const log = (data) => {
msg_type = 'PUSH'; msg_type = 'PUSH';
break break
} }
// #ifdef APP
// 在 app 中,日志转为 字符串
if(typeof data === 'object') {
data = JSON.stringify(data);
}
// #endif
if (type) {
console.log(`=== 统计队列数据上报 ===`);
console.log(data);
console.log(`=== 上报结束 ===`);
return
}
if (msg_type) { if (msg_type) {
console.log(`=== 统计数据采集:${msg_type} ===`); console.log(`=== 统计数据采集:${msg_type} ===`);
console.log(data); console.log(data);
console.log(`=== 采集结束 ===`); console.log(`=== 采集结束 ===`);
} }
};
/**
* 获取上报时间间隔
* @param {*} defaultTime 默认上报间隔时间 单位s
*/
const get_report_Interval = (defaultTime) => {
let time = uniStatisticsConfig.reportInterval;
// 如果上报时间配置为0 相当于立即上报
if (Number(time) === 0) return 0
time = time || defaultTime;
let reg = /(^[1-9]\d*$)/;
// 如果不是整数,则默认为上报间隔时间
if (!reg.test(time)) return defaultTime
return Number(time)
}; };
const appid = process.env.UNI_APP_ID; // 做应用隔离 const appid = process.env.UNI_APP_ID; // 做应用隔离
...@@ -670,6 +703,7 @@ const get_residence_time = (type) => { ...@@ -670,6 +703,7 @@ const get_residence_time = (type) => {
} }
}; };
const eport_Interval = get_report_Interval(OPERATING_TIME);
// 统计数据默认值 // 统计数据默认值
let statData = { let statData = {
uuid: get_uuid(), // 设备标识 uuid: get_uuid(), // 设备标识
...@@ -1129,7 +1163,7 @@ class Report { ...@@ -1129,7 +1163,7 @@ class Report {
log(data); log(data);
} }
// 判断时候到达上报时间 ,默认 10 秒上报 // 判断时候到达上报时间 ,默认 10 秒上报
if (page_residence_time < OPERATING_TIME && !type) return if (page_residence_time < eport_Interval && !type) return
// 时间超过,重新获取时间戳 // 时间超过,重新获取时间戳
set_page_residence_time(); set_page_residence_time();
...@@ -1165,7 +1199,9 @@ class Report { ...@@ -1165,7 +1199,9 @@ class Report {
sendRequest(optionsData) { sendRequest(optionsData) {
{ {
if (!uni.__stat_uniCloud_space) { if (!uni.__stat_uniCloud_space) {
console.error('应用未关联服务空间,统计上报失败,请在uniCloud目录右键关联服务空间.'); console.error(
'应用未关联服务空间,统计上报失败,请在uniCloud目录右键关联服务空间.'
);
return return
} }
...@@ -1179,9 +1215,7 @@ class Report { ...@@ -1179,9 +1215,7 @@ class Report {
.report(optionsData) .report(optionsData)
.then(() => { .then(() => {
if (is_debug) { if (is_debug) {
console.log(`=== 统计队列数据上报 ===`); log(optionsData, true);
console.log(optionsData);
console.log(`=== 上报结束 ===`);
} }
}) })
.catch((err) => { .catch((err) => {
...@@ -1202,9 +1236,7 @@ class Report { ...@@ -1202,9 +1236,7 @@ class Report {
let options = get_sgin(get_encodeURIComponent_options(data)).options; let options = get_sgin(get_encodeURIComponent_options(data)).options;
image.src = STAT_H5_URL + '?' + options; image.src = STAT_H5_URL + '?' + options;
if (is_debug) { if (is_debug) {
console.log(`=== 统计队列数据上报 ===`); log(data, true);
console.log(data);
console.log(`=== 上报结束 ===`);
} }
}); });
} }
...@@ -1252,6 +1284,10 @@ class Stat extends Report { ...@@ -1252,6 +1284,10 @@ class Stat extends Report {
// '=== 当前绑定的统计服务空间spaceId:' + // '=== 当前绑定的统计服务空间spaceId:' +
// uni.__stat_uniCloud_space.config.spaceId // uni.__stat_uniCloud_space.config.spaceId
// ) // )
} else {
console.error(
'应用未关联服务空间,请在uniCloud目录右键关联服务空间'
);
} }
} }
} }
......
...@@ -14,6 +14,8 @@ const APP_PVER_TIME = 300; // 应用在后台结束访问时间 单位s ...@@ -14,6 +14,8 @@ const APP_PVER_TIME = 300; // 应用在后台结束访问时间 单位s
const OPERATING_TIME = 10; // 数据上报时间 单位s const OPERATING_TIME = 10; // 数据上报时间 单位s
const DIFF_TIME = 60 * 1000 * 60 * 24; const DIFF_TIME = 60 * 1000 * 60 * 24;
// 获取 manifest.json 中统计配置
const uniStatisticsConfig = process.env.UNI_STATISTICS_CONFIG;
let statConfig = { let statConfig = {
appid: process.env.UNI_APP_ID, appid: process.env.UNI_APP_ID,
}; };
...@@ -450,7 +452,8 @@ const is_debug = debug; ...@@ -450,7 +452,8 @@ const is_debug = debug;
* 日志输出 * 日志输出
* @param {*} data * @param {*} data
*/ */
const log = (data) => { const log = (data, type) => {
let msg_type = ''; let msg_type = '';
switch (data.lt) { switch (data.lt) {
case '1': case '1':
...@@ -473,11 +476,41 @@ const log = (data) => { ...@@ -473,11 +476,41 @@ const log = (data) => {
msg_type = 'PUSH'; msg_type = 'PUSH';
break break
} }
// #ifdef APP
// 在 app 中,日志转为 字符串
if(typeof data === 'object') {
data = JSON.stringify(data);
}
// #endif
if (type) {
console.log(`=== 统计队列数据上报 ===`);
console.log(data);
console.log(`=== 上报结束 ===`);
return
}
if (msg_type) { if (msg_type) {
console.log(`=== 统计数据采集:${msg_type} ===`); console.log(`=== 统计数据采集:${msg_type} ===`);
console.log(data); console.log(data);
console.log(`=== 采集结束 ===`); console.log(`=== 采集结束 ===`);
} }
};
/**
* 获取上报时间间隔
* @param {*} defaultTime 默认上报间隔时间 单位s
*/
const get_report_Interval = (defaultTime) => {
let time = uniStatisticsConfig.reportInterval;
// 如果上报时间配置为0 相当于立即上报
if (Number(time) === 0) return 0
time = time || defaultTime;
let reg = /(^[1-9]\d*$)/;
// 如果不是整数,则默认为上报间隔时间
if (!reg.test(time)) return defaultTime
return Number(time)
}; };
const appid = process.env.UNI_APP_ID; // 做应用隔离 const appid = process.env.UNI_APP_ID; // 做应用隔离
...@@ -651,6 +684,7 @@ const get_residence_time = (type) => { ...@@ -651,6 +684,7 @@ const get_residence_time = (type) => {
} }
}; };
const eport_Interval = get_report_Interval(OPERATING_TIME);
// 统计数据默认值 // 统计数据默认值
let statData = { let statData = {
uuid: get_uuid(), // 设备标识 uuid: get_uuid(), // 设备标识
...@@ -1117,7 +1151,7 @@ class Report { ...@@ -1117,7 +1151,7 @@ class Report {
log(data); log(data);
} }
// 判断时候到达上报时间 ,默认 10 秒上报 // 判断时候到达上报时间 ,默认 10 秒上报
if (page_residence_time < OPERATING_TIME && !type) return if (page_residence_time < eport_Interval && !type) return
// 时间超过,重新获取时间戳 // 时间超过,重新获取时间戳
set_page_residence_time(); set_page_residence_time();
...@@ -1167,9 +1201,7 @@ class Report { ...@@ -1167,9 +1201,7 @@ class Report {
data: optionsData, data: optionsData,
success: () => { success: () => {
if (is_debug) { if (is_debug) {
console.log(`=== 统计队列数据上报 ===`); log(optionsData, true);
console.log(optionsData);
console.log(`=== 上报结束 ===`);
} }
}, },
fail: (e) => { fail: (e) => {
...@@ -1197,9 +1229,7 @@ class Report { ...@@ -1197,9 +1229,7 @@ class Report {
let options = get_sgin(get_encodeURIComponent_options(data)).options; let options = get_sgin(get_encodeURIComponent_options(data)).options;
image.src = STAT_H5_URL + '?' + options; image.src = STAT_H5_URL + '?' + options;
if (is_debug) { if (is_debug) {
console.log(`=== 统计队列数据上报 ===`); log(data, true);
console.log(data);
console.log(`=== 上报结束 ===`);
} }
}); });
} }
......
...@@ -12,6 +12,8 @@ const APP_PVER_TIME = 300; // 应用在后台结束访问时间 单位s ...@@ -12,6 +12,8 @@ const APP_PVER_TIME = 300; // 应用在后台结束访问时间 单位s
const OPERATING_TIME = 10; // 数据上报时间 单位s const OPERATING_TIME = 10; // 数据上报时间 单位s
const DIFF_TIME = 60 * 1000 * 60 * 24; const DIFF_TIME = 60 * 1000 * 60 * 24;
// 获取 manifest.json 中统计配置
const uniStatisticsConfig = process.env.UNI_STATISTICS_CONFIG;
let statConfig = { let statConfig = {
appid: process.env.UNI_APP_ID, appid: process.env.UNI_APP_ID,
}; };
...@@ -448,7 +450,8 @@ const is_debug = debug; ...@@ -448,7 +450,8 @@ const is_debug = debug;
* 日志输出 * 日志输出
* @param {*} data * @param {*} data
*/ */
const log = (data) => { const log = (data, type) => {
let msg_type = ''; let msg_type = '';
switch (data.lt) { switch (data.lt) {
case '1': case '1':
...@@ -471,11 +474,41 @@ const log = (data) => { ...@@ -471,11 +474,41 @@ const log = (data) => {
msg_type = 'PUSH'; msg_type = 'PUSH';
break break
} }
// #ifdef APP
// 在 app 中,日志转为 字符串
if(typeof data === 'object') {
data = JSON.stringify(data);
}
// #endif
if (type) {
console.log(`=== 统计队列数据上报 ===`);
console.log(data);
console.log(`=== 上报结束 ===`);
return
}
if (msg_type) { if (msg_type) {
console.log(`=== 统计数据采集:${msg_type} ===`); console.log(`=== 统计数据采集:${msg_type} ===`);
console.log(data); console.log(data);
console.log(`=== 采集结束 ===`); console.log(`=== 采集结束 ===`);
} }
};
/**
* 获取上报时间间隔
* @param {*} defaultTime 默认上报间隔时间 单位s
*/
const get_report_Interval = (defaultTime) => {
let time = uniStatisticsConfig.reportInterval;
// 如果上报时间配置为0 相当于立即上报
if (Number(time) === 0) return 0
time = time || defaultTime;
let reg = /(^[1-9]\d*$)/;
// 如果不是整数,则默认为上报间隔时间
if (!reg.test(time)) return defaultTime
return Number(time)
}; };
const appid = process.env.UNI_APP_ID; // 做应用隔离 const appid = process.env.UNI_APP_ID; // 做应用隔离
...@@ -649,6 +682,7 @@ const get_residence_time = (type) => { ...@@ -649,6 +682,7 @@ const get_residence_time = (type) => {
} }
}; };
const eport_Interval = get_report_Interval(OPERATING_TIME);
// 统计数据默认值 // 统计数据默认值
let statData = { let statData = {
uuid: get_uuid(), // 设备标识 uuid: get_uuid(), // 设备标识
...@@ -1115,7 +1149,7 @@ class Report { ...@@ -1115,7 +1149,7 @@ class Report {
log(data); log(data);
} }
// 判断时候到达上报时间 ,默认 10 秒上报 // 判断时候到达上报时间 ,默认 10 秒上报
if (page_residence_time < OPERATING_TIME && !type) return if (page_residence_time < eport_Interval && !type) return
// 时间超过,重新获取时间戳 // 时间超过,重新获取时间戳
set_page_residence_time(); set_page_residence_time();
...@@ -1165,9 +1199,7 @@ class Report { ...@@ -1165,9 +1199,7 @@ class Report {
data: optionsData, data: optionsData,
success: () => { success: () => {
if (is_debug) { if (is_debug) {
console.log(`=== 统计队列数据上报 ===`); log(optionsData, true);
console.log(optionsData);
console.log(`=== 上报结束 ===`);
} }
}, },
fail: (e) => { fail: (e) => {
...@@ -1195,9 +1227,7 @@ class Report { ...@@ -1195,9 +1227,7 @@ class Report {
let options = get_sgin(get_encodeURIComponent_options(data)).options; let options = get_sgin(get_encodeURIComponent_options(data)).options;
image.src = STAT_H5_URL + '?' + options; image.src = STAT_H5_URL + '?' + options;
if (is_debug) { if (is_debug) {
console.log(`=== 统计队列数据上报 ===`); log(data, true);
console.log(data);
console.log(`=== 上报结束 ===`);
} }
}); });
} }
......
...@@ -88,7 +88,9 @@ const plugins = [ ...@@ -88,7 +88,9 @@ const plugins = [
RUN_BY_HBUILDERX: process.env.RUN_BY_HBUILDERX, RUN_BY_HBUILDERX: process.env.RUN_BY_HBUILDERX,
UNI_AUTOMATOR_WS_ENDPOINT: JSON.stringify(process.env.UNI_AUTOMATOR_WS_ENDPOINT), UNI_AUTOMATOR_WS_ENDPOINT: JSON.stringify(process.env.UNI_AUTOMATOR_WS_ENDPOINT),
UNI_STAT_UNI_CLOUD: process.env.UNI_STAT_UNI_CLOUD || '""', UNI_STAT_UNI_CLOUD: process.env.UNI_STAT_UNI_CLOUD || '""',
UNI_STAT_DEBUG: process.env.UNI_STAT_DEBUG || '""' UNI_STATISTICS_CONFIG: process.env.UNI_STATISTICS_CONFIG || '""',
UNI_STAT_DEBUG: process.env.UNI_STAT_DEBUG || '""',
UNI_COMPILER_VERSION: JSON.stringify(process.env.UNI_COMPILER_VERSION)
} }
}), }),
new webpack.BannerPlugin({ new webpack.BannerPlugin({
......
...@@ -104,8 +104,9 @@ module.exports = function chainWebpack (platformOptions, vueOptions, api) { ...@@ -104,8 +104,9 @@ module.exports = function chainWebpack (platformOptions, vueOptions, api) {
'process.env.UNICLOUD_DEBUG': process.env.UNICLOUD_DEBUG, 'process.env.UNICLOUD_DEBUG': process.env.UNICLOUD_DEBUG,
'process.env.RUN_BY_HBUILDERX': process.env.RUN_BY_HBUILDERX, 'process.env.RUN_BY_HBUILDERX': process.env.RUN_BY_HBUILDERX,
'process.env.UNI_AUTOMATOR_WS_ENDPOINT': JSON.stringify(process.env.UNI_AUTOMATOR_WS_ENDPOINT), 'process.env.UNI_AUTOMATOR_WS_ENDPOINT': JSON.stringify(process.env.UNI_AUTOMATOR_WS_ENDPOINT),
'process.env.UNI_STAT_UNI_CLOUD': process.env.UNI_STAT_UNI_CLOUD || '""', 'process.env.UNI_STATISTICS_CONFIG': process.env.UNI_STATISTICS_CONFIG,
'process.env.UNI_STAT_DEBUG': process.env.UNI_STAT_DEBUG || '""', 'process.env.UNI_STAT_UNI_CLOUD': process.env.UNI_STAT_UNI_CLOUD,
'process.env.UNI_STAT_DEBUG': process.env.UNI_STAT_DEBUG,
'process.env.UNI_COMPILER_VERSION': JSON.stringify(process.env.UNI_COMPILER_VERSION), 'process.env.UNI_COMPILER_VERSION': JSON.stringify(process.env.UNI_COMPILER_VERSION),
'process.env.UNI_APP_VERSION_NAME': JSON.stringify(process.env.UNI_APP_VERSION_NAME), 'process.env.UNI_APP_VERSION_NAME': JSON.stringify(process.env.UNI_APP_VERSION_NAME),
'process.env.UNI_APP_VERSION_CODE': JSON.stringify(process.env.UNI_APP_VERSION_CODE) 'process.env.UNI_APP_VERSION_CODE': JSON.stringify(process.env.UNI_APP_VERSION_CODE)
......
...@@ -324,8 +324,9 @@ if ((process.env.UNI_PLATFORM === 'mp-kuaishou' || process.env.UNI_PLATFORM === ...@@ -324,8 +324,9 @@ if ((process.env.UNI_PLATFORM === 'mp-kuaishou' || process.env.UNI_PLATFORM ===
process.env.MERGE_VIRTUAL_HOST_ATTRIBUTES = (!!platformOptions.mergeVirtualHostAttributes).toString() process.env.MERGE_VIRTUAL_HOST_ATTRIBUTES = (!!platformOptions.mergeVirtualHostAttributes).toString()
process.env.UNI_STAT_UNI_CLOUD = '' process.env.UNI_STATISTICS_CONFIG = '""'
process.env.UNI_STAT_DEBUG = '' process.env.UNI_STAT_UNI_CLOUD = '""'
process.env.UNI_STAT_DEBUG = '""'
if ( if (
process.env.UNI_USING_COMPONENTS || process.env.UNI_USING_COMPONENTS ||
process.env.UNI_PLATFORM === 'h5' process.env.UNI_PLATFORM === 'h5'
...@@ -336,9 +337,10 @@ if ( ...@@ -336,9 +337,10 @@ if (
) )
if (uniStatistics.enable === true) { if (uniStatistics.enable === true) {
process.env.UNI_USING_STAT = uniStatistics.version === '2' ? '2' : '1' process.env.UNI_USING_STAT = Number(uniStatistics.version) === 2 ? '2' : '1'
// 获取服务空间配置信息 // 获取服务空间配置信息
const uniCloudConfig = uniStatistics.uniCloud || {} const uniCloudConfig = uniStatistics.uniCloud || {}
process.env.UNI_STATISTICS_CONFIG = JSON.stringify(uniStatistics)
process.env.UNI_STAT_UNI_CLOUD = JSON.stringify(uniCloudConfig) process.env.UNI_STAT_UNI_CLOUD = JSON.stringify(uniCloudConfig)
process.env.UNI_STAT_DEBUG = uniStatistics.debug === true ? 'true' : 'false' process.env.UNI_STAT_DEBUG = uniStatistics.debug === true ? 'true' : 'false'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册