let logitems = []; let dbgRtmp = false; let systemInfoChecked = false; let uid = `${parseInt(Math.random() * 1000000)}`; let timer; const debounce = function(fn, delay) { return function () { let context = this let args = arguments clearTimeout(timer) timer = setTimeout(function () { fn.apply(context, args) }, delay) } } const formatTime = date => { const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() const millisecond = date.getMilliseconds(); return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second, millisecond].map(formatNumber).join(':') } const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n } const requestPermission = (scope, cb) => { wx.getSetting({ success(res) { if (res.authSetting[scope]) { cb && cb(); } else { wx.authorize({ scope: scope, success() { cb && cb(); } }) } } }) } const log = (msg, level) => { let time = formatTime(new Date()); logitems.push(`${time}: ${msg}`); if (level === "error") { console.error(`${time}: ${msg}`); } else { console.log(`${time}: ${msg}`); } } const getUid = () => { return uid; } const mashupUrl = (url, channel) => { return url; } const checkSystemInfo = (app) => { if (!systemInfoChecked) { systemInfoChecked = true; wx.getSystemInfo({ success: function (res) { log(`${JSON.stringify(res)}`); let sdkVersion = res.SDKVersion; let version_items = sdkVersion.split("."); let major_version = parseInt(version_items[0]); let minor_version = parseInt(version_items[1]); app.globalData.systemInfo = res; if (major_version <= 1 && minor_version < 7) { wx.showModal({ title: '版本过低', content: '微信版本过低,部分功能可能无法工作', success: function (res) { if (res.confirm) { console.log('用户点击确定') } else if (res.cancel) { console.log('用户点击取消') } } }) } } }) } } module.exports = { getUid: getUid, checkSystemInfo: checkSystemInfo, formatTime: formatTime, requestPermission: requestPermission, log: log, clearLogs: function () {logitems = []}, getLogs: function () { return logitems }, mashupUrl: mashupUrl, debounce: debounce }