import tools from '/common/tools'; import { apiCardConfigQuery, apiWarnMessageQuery, apiUnReadMessageQuery, checkResCode } from '/common/api'; import { defaultPopUpDataList, defaultPopUpDataList2 } from '/common/define'; var cardfunc = { caller: null, token: "", ecId: 0, // 卡片id cardConfigData: { tabActiveColor: "#81cd00", popupRuleConfig: {}, // 规则弹窗配置 popupRuleList: [], // 规则弹窗数据 popupExchgConfig: {}, // 兑换地址弹窗配置 popupExchgList: [], // 兑换地址弹窗数据 popupHelpConfig: {}, // 帮助弹窗配置 popupHelpList: [], popupMessageConfig: {}, // 通知弹窗配置 popupMessageList: [], // 通知弹窗数据 popupWarnConfig: {}, // 警告弹窗配置 popupWarnList: [], // 警告弹窗数据 }, init(caller, token, ecId) { this.caller = caller; this.token = token; this.ecId = ecId; this.removeCss(); }, // 清除css removeCss() { tools.removeCssCode("css-common"); tools.removeCssCode("css-custom"); }, getCardConfig(loadConfig, testconfig) { const cardconfigType = getApp().$cardconfigType; // console.log("[getConfig] cardconfigType:", cardconfigType); if (cardconfigType == "local") { loadConfig(testconfig); // this.testCardConfig(testconfig, loadConfig); } else { this.cardConfigQuery(loadConfig); } }, parseCardConfig(cardconfig) { // console.log("[parseCardConfig] cardconfig:", cardconfig); if (cardconfig == undefined || cardconfig == "") { return; } if (typeof cardconfig == "string") { cardconfig = cardconfig.replace(/[\r|\n|\t]/g, ""); const config = JSON.parse(cardconfig); // console.log("[parseCardConfig] config:", config); return config; } else { return cardconfig; } }, // 加载卡片通用配置 loadCardCommonConfig(config_common) { // console.log("[loadCardCommonConfig] config_common:", config_common); config_common = this.parseCardConfig(config_common); if (config_common == undefined || config_common == "") { return; } if (config_common.css != undefined && config_common.css.length > 0) { tools.loadCssCode(config_common.css, "css-common"); } if (config_common.tabActiveColor != undefined && config_common.tabActiveColor.length > 0) { this.cardConfigData.tabActiveColor = config_common.tabActiveColor; } // 加载规则弹窗配置 if (config_common.popupRuleConfig != undefined) { this.cardConfigData.popupRuleConfig = config_common.popupRuleConfig; } // 加载帮助弹窗配置 if (config_common.popupHelpConfig != undefined) { this.cardConfigData.popupHelpConfig = config_common.popupHelpConfig; } // 加载警告弹窗配置 if (config_common.popupWarnConfig != undefined) { this.cardConfigData.popupWarnConfig = config_common.popupWarnConfig; } // 加载兑换地址弹窗配置 if (config_common.popupExchgConfig != undefined) { this.cardConfigData.popupExchgConfig = config_common.popupExchgConfig; } // 加载通知弹窗配置 if (config_common.popupMessageConfig != undefined) { this.cardConfigData.popupMessageConfig = config_common.popupMessageConfig; } // 加载弹窗(规则)数据 const popupRuleList = config_common.popupRuleList; // console.log("[loadCardCommonConfig] popupRuleList:", popupRuleList); if (popupRuleList != undefined && popupRuleList.length > 0) { this.cardConfigData.popupRuleList.length = 0; for (var i = 0; i < popupRuleList.length; i++) { // console.log("[loadCardCommonConfig] popupRuleList", i, popupRuleList[i]); if (popupRuleList[i] == 'default') { for (var j = 0; j < defaultPopUpDataList.length; j++) { this.cardConfigData.popupRuleList.push(defaultPopUpDataList[j]); } } else if (popupRuleList[i] == 'default2') { for (var j = 0; j < defaultPopUpDataList2.length; j++) { this.cardConfigData.popupRuleList.push(defaultPopUpDataList2[j]); } } else { this.cardConfigData.popupRuleList.push(popupRuleList[i]); } } } else { this.cardConfigData.popupRuleList = defaultPopUpDataList2; // console.log("[loadCardCommonConfig] popupRuleList 加载默认列表"); } // 加载弹窗(兑换地址)数据 const popupExchgList = config_common.popupExchgList; if (popupExchgList != undefined && popupExchgList.length > 0) { this.cardConfigData.popupExchgList.length = 0; for (var i = 0; i < popupExchgList.length; i++) { // console.log("[loadCardCommonConfig] popupExchgList", i, popupExchgList[i]); this.cardConfigData.popupExchgList.push(popupExchgList[i]); } } // 加载弹窗(帮助)数据 const popupHelpList = config_common.popupHelpList; if (popupHelpList != undefined && popupHelpList.length > 0) { this.cardConfigData.popupHelpList.length = 0; for (var i = 0; i < popupHelpList.length; i++) { // console.log("[loadCardCommonConfig] popupHelpList", i, popupHelpList[i]); this.cardConfigData.popupHelpList.push(popupHelpList[i]); } } // console.log("[loadCardCommonConfig] cardConfigData:", this.cardConfigData); }, // 卡片配置信息查询 cardConfigQuery(callback) { uni.request({ url: apiCardConfigQuery, header: { "Content-Type": "application/x-www-form-urlencoded", "token": this.token, }, method: "POST", data: { ecId: this.ecId, pageName: "all" }, success: (res) => { // console.log("[cardConfigQuery]", res); const data = res.data.data; const config = data.configJson; // console.log("[cardConfigQuery] config", config); callback(config); }, fail: (err) => { console.log("[cardConfigQuery] err", err) }, }); }, // 警告列表查询 warnMessageQuery(callback=null) { uni.request({ url: apiWarnMessageQuery, header: { "Content-Type": "application/x-www-form-urlencoded", "token": this.token, }, method: "POST", data: { ecId: this.ecId }, success: (res) => { // console.log("warnMessageQuery", res); if (checkResCode(res)) { const warnRs = res.data.data; this.cardConfigData.popupWarnList.length = 0; for (var i = 0; i < warnRs.length; i++) { let popupData = { type: 9, // 9: 警告 data: {} }; popupData.data.warnType = warnRs[i].warnType; popupData.data.title = warnRs[i].warnTitle; popupData.data.iconUrl = warnRs[i].iconUrl; popupData.data.iconNum = warnRs[i].iconNum; popupData.data.message = warnRs[i].warnMessage; popupData.data.qrCodeUrl = warnRs[i].qrCodeUrl; this.cardConfigData.popupWarnList.push(popupData); } /* this.cardConfigData.popupWarnList.push( { type: 9, // 9: 警告 data: { warnType: 1, title: "黄牌", iconUrl: "/static/common/card_yellows.png", iconNum: 1, message: `亲爱的参赛者:    收到此黄牌,说明您的比赛数据被系统判定为存在异常,此次比赛(活动)为徒步定向校园文化主题活动,请自觉遵守规则,如果您收到的黄牌数量过多(超过2张),您的成绩将影响到您的院系/单位成绩,同时您的个人成绩也有可能根据规则被取消。如果您坚持您的比赛数据没有问题,请联系我们的客服人员,谢谢!   让我们一起创造文明、和谐的校园生活,感谢您的支持!`, qrCodeUrl: "https://orienteering.beswell.com/shanda/%E8%AD%A6%E5%91%8A%E4%BA%8C%E7%BB%B4%E7%A0%81%402x.png" } } ); */ // console.log("popupWarnList", this.cardConfigData.popupWarnList); // console.log("caller.popupWarnList length:", this.caller.cardConfigData.popupWarnList.length); if (callback != null) { callback(this.cardConfigData.popupWarnList); } } }, fail: (err) => { console.log("warnMessageQuery err", err) }, }); }, // 未读消息列表查询 unReadMessageQuery(callback=null) { uni.request({ url: apiUnReadMessageQuery, header: { "Content-Type": "application/x-www-form-urlencoded", "token": this.token, }, method: "POST", data: { relationType: 2, // 类型 1 成就 2 卡片 relationId: this.ecId }, success: (res) => { // console.log("getUnReadMessageQuery", res); if (checkResCode(res)) { const unReadMessageRs = res.data.data; this.cardConfigData.popupMessageList.length = 0; let mqIdListStr = ""; for (var i = 0; i < unReadMessageRs.length; i++) { let popupData = { type: 6, // 6: 通知 data: {} }; mqIdListStr += "-" + unReadMessageRs[i].mqId; popupData.data.mqType = unReadMessageRs[i].mqType; popupData.data.title = unReadMessageRs[i].mqTitle; popupData.data.message = unReadMessageRs[i].mqMessage; this.cardConfigData.popupMessageList.push(popupData); } /* this.cardConfigData.popupMessageList.push( { type: 6, // 6: 通知 data: { mqType: 3, title: "特别提醒", message: `本次比赛的目的为体验校园文化,提升身体素质,让大家感受和熟悉定向运动魅力及技巧。
在此特别提醒:
无论是驰骋校园,还是漫步秋色,“勿以轮带步,唯愿步量途”。让我们用脚步来丈量这片共同热爱的家园,见证山大123周年的辉煌时刻!
山东大学体育委员会
` } } ); */ // console.log("popupMessageList", this.cardConfigData.popupMessageList); if (callback != null) { callback(this.cardConfigData.popupMessageList, mqIdListStr); } } }, fail: (err) => { console.log("getUnReadMessageQuery err", err); }, }); }, } export default cardfunc;