const axios = require('axios'); var utils = require('./utils.js'); var { http_log_report_config } = require('../config/config.js') const redis = require("./db/redis_db") //导入 db.js const mysql = require("./db/mysql_db") const logger = require('./logger') //埋点文档 https://st94nif1cq.feishu.cn/docs/doccnoEvFRxdD0zy4I0MVhzCMLg# //测试环境阿里 https://sls.console.aliyun.com/lognext/project/wqsd-longvideo-frontend-log-test/logsearch/denet-event-log const REPORT_TYPE = { transfer_record: 'transfer_record', collect_coins: 'collect_coins', withdraw: 'withdraw', monitor: 'monitor' } const http_request_post = async (params) => { var data = { baseInfo: {}, params: { eventData: JSON.stringify(params.eventData), logType: params.logType, }, } var host = http_log_report_config.HOST var path = http_log_report_config.PATH var url = host + path var url = host + path // logger.log('http_request_post eventData', params.eventData) // logger.log('http_request_post', JSON.stringify(data), url) // axios.post(url, data) // .then(res => { // logger.log('res=>', res.status, res.data); // }).catch(err => { // logger.error('http_request_post', err.toString(),url.toString()); // }); } /** * 日志埋点上报 * @param {*} obj */ const logReport = async (obj) => { switch (obj.type) { case REPORT_TYPE.transfer_record: var results; if (obj.results) { var rets = JSON.parse(obj.results) if (rets.code == 0 && rets.data && rets.data.result) { results = rets.data.result.filter(element => { // console.log('filter', element, obj.address) return element.to_address.toString().toLowerCase() == obj.address.toString().toLowerCase() }) // console.log('filter results', results) if (results && Array.isArray(results) && results.length > 0) { obj.results = results } else { return } } } var params = { eventData: obj } params.logType = http_log_report_config.LOG_TYPE logger.log('transfer_record') if (!obj.results) { logger.log('transfer_record', obj.results) return } http_request_post(params); break case REPORT_TYPE.collect_coins: logger.log('collect_coins') var params = { eventData: obj } params.logType = http_log_report_config.LOG_TYPE http_request_post(params); break case REPORT_TYPE.withdraw: logger.log('withdraw') var params = { eventData: obj } params.logType = http_log_report_config.LOG_TYPE http_request_post(params); break } } module.exports = { logReport, REPORT_TYPE, }