/* utilities.gs */ /*=========================== 樣板引入函數 != include("index-css") ?> ===========================*/ function include(file){ return HtmlService.createHtmlOutputFromFile(file).getContent(); } /*=========================== 渲染 ===========================*/ function render(file, argsObject){ var tmp = HtmlService.createTemplateFromFile(file); if(argsObject){ var keys = Object.keys(argsObject); keys.forEach(function(key){ tmp[key] = argsObject[key]; }); } return tmp.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL); } /*=========================== 姓名取代 ===========================*/ function formatName(name) { let newStr; if (name.length === 2) { newStr = name.substr(0, 1) + '*'; } else if (name.length > 2) { let char = ''; for (let i = 0, len = name.length - 2; i < len; i++) { char += 'O'; } newStr = name.substr(0, 1) + char + name.substr(-1, 1); } else { newStr = name; } return newStr; } /*=========================== 除錯,返回json return debug({"rows": rows}); ===========================*/ function debug(argsObject){ var tmp = {}; if(argsObject){ var keys = Object.keys(argsObject); keys.forEach(function(key){ tmp[key] = argsObject[key]; }); return ContentService .createTextOutput(JSON.stringify(tmp)) .setMimeType(ContentService.MimeType.JSON); } } /*=========================== 數字左邊補0 ===========================*/ function paddingLeft(str,lenght){ if(str.length >= lenght) return str; else return paddingLeft("0" +str,lenght); } ```