Skip to content

這是一支Google Apps Script程式,讓您輕鬆提供每一用戶客製化選項進行登記、選擇或加退選的萬用系統。

License

Notifications You must be signed in to change notification settings

takan003/mySurvey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 

Repository files navigation

客製化選項選擇登記萬用系統

這是一個基於 Google Apps Script 和 Google 試算表的通用登記/選擇系統。它提供了一個網頁介面,讓用戶可以登入、進行選擇、提交資料、封存記錄,並可列印包含自訂浮水印與官印的證明。系統管理員可以透過 Google 試算表進行詳細的參數設定,並具備自動化郵件通知功能,包括通知用戶與相關督導人員。

快速上手 🚀

  1. 建立檔案副本

    • 請將 [客製化選項選擇登記萬用系統]的試算表複製到您自己的 Google 雲端硬碟,複製後檔案名稱可以任意修改 。
    • 建議您準備好用於文件浮水印及官印的圖片檔案,並設定 Google 雲端硬碟共用連結為任何人都可以檢視的權限。
  2. 設定 Google 試算表

    • 打開主試算表 (客製化選項選擇登記萬用系統或您自訂的檔案名稱)。
    • 「設定」工作表:仔細填寫此工作表中的各項設定,特別是「系統部署網址」(此欄位需待您完成步驟3並取得網址後再回來填寫)。其他重要設定包括系統標題、開放/關閉時間、動作用詞、選項內容等。
    • 「名單」工作表:準備用戶名單。至少需要「帳號」欄位 (通常為電子郵件地址)。根據您的需求,可以加入「密碼」(若啟用帳密登入)、「姓名」、「編組1」、「編組2」、「編組3」、「選項」等欄位。
    • 「編組」工作表:若您需要督導人員協助分組管理,請在此工作表設定各編組的督導人員及其電子郵件地址。 (第2層管理人員,用來協助您分組督導各組的每一位用戶是否完成登記或填報,例如導師督導班級學生)
  3. 部署程式與執行

    • 在主試算表中,點擊頂部選單的「擴充功能」>「Apps Script」,開啟程式碼編輯器。
    • 在 Apps Script 編輯器中,點擊右上角的「部署」按鈕,選擇「新增部署作業」。
    • 在「選取類型」旁點擊齒輪圖示,選擇「網頁應用程式」。
    • 設定部署:
      • 描述:可自行命名,例如「客製化選項選擇登記萬用系統 v1」。
      • 執行身分:選擇「我」(即您的 Google 帳戶)。
      • 誰可以存取:根據您的需求選擇「任何人」或僅限您機構內部成員。
    • 點擊「部署」。首次部署可能需要授權指令碼權限。
    • 部署完成後,複製產生的「網頁應用程式」網址。
    • 非常重要:回到主試算表的「設定」工作表,將此網址貼到「系統部署網址」欄位中。此網址是系統正常運作 (尤其是密碼重設等郵件連結) 的關鍵。
    • 現在,您可以透過此網址來存取系統,一切準備完成後就可以通知用戶開始使用。

功能特色 ✨

  • 彈性用戶登入:支援傳統帳號密碼登入及 Google 一鍵登入。
  • 完整密碼管理:提供首次設定密碼、忘記密碼、重設密碼的完整流程。
  • 現代化網頁介面:採用 Bootstrap 5.3.3 設計,所有頁面均支援多種主題即時切換,並儲存用戶偏好。
  • 動態選項設定:可透過試算表輕鬆設定選項的名稱、具體內容,並指定為單選或多選模式。
  • 清晰的作業流程:用戶可以提交選擇,並在確認無誤後進行最終「封存」操作。
  • 客製化列印證明:提供專業的列印證明頁面,可顯示用戶資料、選擇結果,並支援自訂文件浮水印與官印。
  • 高度可配置化:系統的絕大部分行為,如系統標題、開放/關閉時間、操作相關的動詞 (如「登記」、「報名」)、用戶稱呼 (如「學員」、「成員」)、編組的具體名稱等,皆可透過「設定」工作表進行調整。
  • 自動化郵件通知
    • 用戶完成資料封存後,可自動收到包含其記錄的確認郵件,避免糾紛。
    • 可設定定時器,每日自動寄送提醒郵件給尚未完成操作的用戶。
    • 可設定定時器,每日自動寄送用戶操作狀況匯總郵件給分組的督導人員。
  • 便捷後台管理:在試算表內建「🔔進階功能」選單,方便管理員手動觸發郵件寄送及啟用/關閉自動化定時器。
  • 資料集中管理:所有系統設定、用戶名單、編組資料及操作記錄,均安全儲存於您的 Google 試算表中。
  • 響應式設計:前端網頁操作介面針對不同螢幕尺寸 (手機、平板、桌面) 進行了優化。

您的準備 📋

  • 一個有效的 Google 帳戶。
  • 對 Google Apps Script 和 Google 試算表有基礎的操作認知。
  • (選用) 若需進行更深度的介面美化或功能調整,具備 HTML、CSS、JavaScript 基礎知識會很有幫助。

設定步驟 ⚙️

步驟 1:複製專案檔案

  1. 請從 [客製化選項選擇登記萬用系統] 複製整個專案資料夾到您的 Google 雲端硬碟。 (或參訪我的我網站[GAS])
    • 資料夾內應包含:
      • 客製化選項選擇登記萬用系統.gsheet (此試算表內嵌了所有必要的 .gs.html 程式碼檔案),複製後可以重新命名。
      • (建議) 您可以放置用於浮水印和官印的範例圖片檔案,方便後續設定。

步驟 2:設定 Google 試算表

打開您複製的 客製化選項選擇登記萬用系統.gsheet (或您自訂的檔案名稱) 試算表,並依照以下說明設定各工作表:

  1. 「設定」工作表: 此工作表是系統的核心配置中心。請仔細填寫以下欄位 (A欄為設定項名稱,B欄為對應值,欄位順序可以自由變更):

    • 系統基礎設定:
      • 系統總開關: 填寫 啟用 以開放系統,留空或填寫其他則關閉。
      • 系統標題前: 顯示於網頁頂部標題的第一行。
      • 系統標題後: 顯示於網頁頂部標題的第二行。
      • 系統開放時間: 系統開始接受操作的時間 (格式:YYYY/MM/DD HH:MM)。
      • 系統關閉時間: 系統停止接受操作的時間 (格式:YYYY/MM/DD HH:MM)。
      • 系統部署網址: 極重要! 請在完成「步驟 3:部署網頁應用程式」後,將取得的網址貼回此處。
    • 用詞與稱呼:
      • 動作用詞: 例如:登記、報名、選擇 (自訂,將影響按鈕及提示文字)。
      • 用戶稱呼: 例如:學員、成員、用戶 (自訂,將影響提示文字及郵件內容)。
    • 編組設定:
      • 編組1代名詞: 例如:學號、部門 (自訂,例如在網頁顯示學號而不是編組1)。
      • 編組2代名詞: 例如:班級、組別 (自訂,在網頁顯示的替代用詞)。
      • 編組3代名詞: 例如:班號、職稱 (自訂,在網頁顯示的替代用詞)。
    • 選項設定:
      • 選項名稱: 選項的標題,例如:選修課程、報名項目、購買品項。
      • 選項屬性: 填寫 單選多選
      • 必須做出選擇: 填寫 啟用 時,用戶在提交或封存前必須至少選擇一個項目 (若為多選) 或做出選擇 (若為單選)。留空或填寫其他則不強制,不選擇也是一種選擇
    • 郵件與通知:
      • 封存紀錄寄給用戶: 填寫 啟用 時,用戶封存資料後會收到確認郵件。
      • 督導編組: 指定督導人員依據哪一個編組來管理,可填 編組1, 編組2, 或 編組3,比如編組1為班級,同一班的學生為同一個編組。
      • 督導名單細節: 督導通知郵件中提供的登記、選擇結果詳細程度,可填 內嵌詳細名單內嵌簡略名單,詳細名單會羅列每位用戶的選擇明細。
      • 督導自動發信指定時間: 配合定時器,每日自動寄送督導信的時間 (0-23 點的整點)。
      • 督導通知信定時器狀態: (系統自動更新) 顯示督導信定時器的狀態 (啟用/關閉)。
      • 用戶自動發信指定時間: 配合定時器,每日自動寄送用戶提醒信的時間 (0-23 點的整點)。
      • 用戶通知信定時器狀態: (系統自動更新) 顯示用戶提醒信定時器的狀態 (啟用/關閉)。
    • 列印與文件:
      • 文件浮水印超連結: 您的浮水印圖片的 Google 雲端硬碟共用連結(權限須設為知道連結的任何人皆可檢視)。
      • 文件浮水印寬度: 調整列印證明中浮水印的寬度 (純數字,預設 600)。
      • 文件浮水印透明值: 列印證明中浮水印的透明度 (純數字 0-100,0為全透明,100為不透明,預設 100)。
      • 文件官印超連結: 您的官印圖片的 Google 雲端硬碟共用連結(權限同上)。
      • 文件官印寬度: 調整列印證明中官印的寬度 (純數字,預設 200)。
    • 其他:
      • 指定排序編組: 督導通知郵件中成員列表的排序依據欄位 (可選 編組1, 編組2, 編組3)。
      • 贊助廣告開關: 填寫 啟用 以顯示頁尾廣告,為鼓勵作者,請儘量保留,非常感謝您;贊助廣告顯示於首頁與主功能頁。
      • 自訂版權宣告: 填寫您自訂的頁尾版權文字,留空則使用預設版權。
  2. 「名單」工作表: 此工作表儲存所有用戶的資料。第一列為欄位標題,欄位順序可以自由變更每一位用戶可能有一筆資料或同時擁有多筆資料

    • 必要/建議欄位:
      • 帳號: 用戶的登入帳號,也是電子郵件地址。此欄位也用於接收系統郵件 (如密碼設定、封存確認)。
      • 密碼: 若啟用帳號密碼登入,此處為用戶自行設定的密碼 (系統會在首次設定或重設時自動處理)。
      • 帳號驗證: 記錄帳號的驗證狀態 (例如:完成驗證信箱、一鍵登入帳號)。
      • 姓名: 用戶姓名。
      • 編組1, 編組2, 編組3: 用戶的分組資訊,對應「設定」中的代名詞,網頁顯示時可以替換。
      • 選項: 重要! 此欄位定義了該用戶可以看到並選擇的項目,同一位用戶的每一筆資料都是一個獨立選項
      • 勾選: 系統會自動記錄用戶勾選的狀態,勾選的項目以 v 表示,未勾選則為空。
      • 勾選異動: (系統自動更新) 記錄用戶勾選操作的描述 (例如:首次勾選、取消勾選、變更勾選)。
      • 勾選異動時間: (系統自動更新) 上次勾選操作的日期與時間。
      • 封存時間: (系統自動更新) 用戶完成資料封存的日期與時間。
      • 最新通知情形, 最新通知時間: (系統自動更新) 記錄上次寄送用戶提醒信的狀態與時間。
      • 異動, 異動時間: (系統自動更新) 通用的用戶資料異動記錄與時間。
  3. 「編組」工作表: 此工作表用於設定督導人員及其負責的編組,配合督導郵件功能使用。第一列為欄位標題,欄位順序可以自由變更

    • 欄位說明:
      • 編組: 舉例來說,指定編組2 (代名詞為班級) 為分組依據,名單中 (編組2) 班級499的學生,都會通知這位編組為499的老師。
      • 姓名: 督導人員的姓名。
      • 稱呼: 對督導人員的稱謂 (例如:老師、經理)。
      • 電子郵件地址: 督導人員接收督導郵件的電子郵件地址。
      • 最新寄送情形, 最新寄送時間: (系統自動更新) 記錄上次寄送督導信的狀態與時間。

步驟 3:部署網頁應用程式

  1. 開啟主試算表 (客製化選項選擇登記萬用系統.gsheet或您自訂的檔案名稱)。
  2. 點擊頂部選單的 擴充功能 > Apps Script
  3. 在 Apps Script 編輯器中,點擊右上角的 部署 > 新增部署作業
  4. 在「選取類型」旁點擊 ⚙️ (齒輪圖示) > 網頁應用程式
  5. 進行以下設定:
    • 描述: (選填) 為此次部署命名,例如「萬用登記系統 - 正式版」。
    • 網頁應用程式 > 為其執行應用程式的身分: 選擇 (您的 Google 帳戶)。
    • 網頁應用程式 > 誰可以存取應用程式: 根據您的需求選擇:
      • 僅限我自己: 只有您能存取。
      • 任何擁有 Google 帳戶的用戶 (在 [您的網域] 中): 僅限您 Google Workspace 機構成員存取。
      • 任何人: 公開存取,任何人只要有連結即可使用 (若您的系統需要對外開放,請選此項)。
        • 補充: 非 Google Workspace 的 Google 個人帳號若要使用郵件功能,須同時開啟「知道連結的任何人都能編輯」的最大權限,具有一定的資安風險
  6. 點擊 部署
  7. Google Apps Script 可能會要求您授權指令碼執行必要的服務 (如存取試算表、寄送郵件等)。請檢閱並同意授權。
  8. 部署成功後,會顯示一個「網頁應用程式」的網址。複製此網址
  9. 回到主試算表的「設定」工作表,將剛剛複製的網址完整地貼到「系統部署網址」這一項的B欄儲存格中。
  10. 您現在可以將此網址分享給用戶,或在瀏覽器中開啟以使用系統。

使用方法 🖱️

1. 登入系統 (index.html)

  • 開啟系統的網頁應用程式網址。
  • 帳號密碼登入:用戶可以直接輸入帳號與密碼後登入。
  • Google 一鍵登入:如果同一機構下的 Google 用戶或特別開放,用戶可以直接點擊「使用 Google 帳戶快速登入」按鈕。
  • 首次設定密碼
    • 若要使用帳號與密碼登入,用戶須先驗證信箱與自訂密碼,請點擊登入框下方的「證信箱與自訂密碼」連結。
    • 用戶在相關設定頁面提供名單中相符的電子郵件地址,系統會寄送一封包含驗證碼和設定連結的郵件給用戶。
    • 用戶開啟郵件,點擊連結或複製連結到瀏覽器,進入 設定新密碼 頁面。輸入郵件中的6位數驗證碼及您的新密碼 (至少6個字元),完成設定。
  • 忘記密碼
    • 點擊登入框下方的「忘記密碼?」連結。
    • 用戶進入 忘記密碼 頁面,輸入的名單中相符的電子郵件地址,系統會寄送包含驗證碼和重設連結的郵件。
    • 開啟郵件,點擊連結或複製連結到瀏覽器,進入 重設密碼 頁面。輸入郵件中的6位數驗證碼及您的新密碼,完成重設。

2. 主操作頁面 (main.html)

登入成功後,用戶會進入系統主操作頁面:

  • 查看個人資料:頁面頂部會顯示用的姓名及編組資訊 (根據「設定」中的代名詞顯示)。
  • 進行選擇
    • 頁面會根據「設定」中的「選項名稱」和「選項內容」顯示可勾選的項目。
    • 如果「選項屬性」為 單選,則以圓形按鈕 (radio buttons) 呈現,用戶只能選擇其中一項。
    • 如果「選項屬性」為 多選,則以方形框 (checkboxes) 呈現,用戶可以勾選多個項目。
  • 提交:完成勾選後,點擊頁面下方的「提交」,用戶的選擇會被儲存。
  • 清除:若要清除所有已勾選的項目,可以點擊「清除」按鈕。
  • 封存:當用戶確認所有選擇都正確無誤後,請點擊「封存」按鈕。
    • 重要:封存是最終確認的動作。一旦封存,表示用戶的選擇已定案,不再修改。
    • 如果系統在「設定」中啟用了「封存紀錄寄給用戶」,用戶在封存後會收到一封確認郵件,內含用戶的最終選擇記錄。
  • 查看異動/封存時間:頁面下方會顯示用戶的「勾選異動時間」和「記錄封存時間」。
  • 列印證明:封存後才會顯示,點擊「列印證明」按鈕,系統會帶用戶前往列印證明頁面。
  • 登出系統:點擊頁面最下方的「登出系統」按鈕即可登出。

3. 列印證明頁面 (downloadAndPrint.html)

  • 此頁面專為用戶列印設計,會清晰展示用戶的基本資料、最終的選項勾選情形、相關的異動時間及封存時間。
  • 如果管理員在「設定」中配置了文件浮水印或官印,它們會顯示在此頁面上。
  • 點擊頁面上的「列印此頁」按鈕,即可調用瀏覽器的列印功能。
  • 點擊「返回主操作頁」按鈕,可以回到主操作頁面。

4. 管理員功能選單

  • 手動寄發督導信:用戶在使用期間,可以發信給協助的督導人員,藉由他們提醒用戶完成,例如透過導師提醒學生。
  • 啟用/關閉寄發督導信定時器:設定定時器在系統開放期間內自動寄發督導信件。
  • 手動寄發用戶通知信:用戶在使用期間,由管理者直接寄發提醒的通知信函,完成封存的用戶不會收到。
  • 啟用/關閉寄發用戶通知信定時器:設定定時器在系統開放期間內自動寄發用戶通知信件。
  • 關閉後整合名單:提供不同格式版本名單,主要用在關閉系統後整理之用,管理員視需求取用。

5. 主題切換

系統所有頁面的右上角都有一個「切換主題」的下拉選單,您可以選擇喜歡的介面風格。您的選擇會被儲存在瀏覽器中,下次開啟時會自動套用。

自訂方式 🎨

  • 外觀與常用文字
    • 大部分的顯示文字,如系統標題、按鈕文字中的動詞、用戶稱呼、編組的顯示名稱等,都可以直接在「設定」工作表中修改對應欄位的值。
    • 頁尾的版權宣告和贊助廣告也可以在「設定」工作表中自訂或開關。
  • 選項內容與形式
    • 在「設定」工作表中修改「選項名稱」和「選項屬性」(設為 單選多選)。
    • 如果不同用戶的可選項目不同,則需要直接增減「名單」工作表中不同用戶的不同選項的資料。
  • CSS 樣式
    • 若要進一步調整頁面元素的顏色、字體、間距等視覺樣式,可以編輯 Apps Script 專案中的 style.html 檔案。此檔案包含了所有頁面共用的 CSS 規則,以及專為列印設計的 @media print 樣式。
  • 頁面結構 (HTML)
    • 如需修改頁面的佈局或增刪元素,可以編輯對應的 .html 檔案 (例如 index.html, main.html 等)。
  • 後端邏輯 (Google Apps Script)
    • 如需修改系統的核心功能、資料處理方式或郵件邏輯,則需要編輯專案中的 .gs 檔案。

問題排查 🛠️

  • 無法登入系統?
    • 請確認用戶輸入的帳號和密碼是否正確 (若使用帳密登入)。
    • 確認用戶的帳號 (電子郵件) 是否存在於「名單」工作表中。
    • 如果用戶是首次使用且需要設定密碼,請依照「首次設定密碼」的流程操作。
    • 檢查系統是否在「設定」工作表指定的「系統開放時間」和「系統關閉時間」內。
    • 檢查「設定」工作表的「系統總開關」是否為 啟用
  • 未收到密碼設定/重設郵件或封存確認信?
    • 請檢查您的電子郵件垃圾郵件匣 (Spam/Junk folder),第一次寄送時可能被認定為垃圾郵件。
    • 確認您在「名單」工作表中的「帳號」(或「電子郵件地址」欄位,若有) 是否正確無誤。
    • (管理員) Google Apps Script 有每日寄送郵件的配額限制。如果大量用戶同時操作,可能會達到上限。您可以到 Apps Script 儀表板查看配額使用情況。
  • 定時器 (自動寄送督導信/用戶提醒信) 未按預期執行?
    • 自動寄送信件不會整點準時發送,通常會有延遲,在設定的一小時內完成寄送皆屬正常。
    • (管理員) 在 Apps Script 編輯器中,點擊左側的「觸發條件」(時鐘圖示)。檢查對應的觸發條件 (函數名稱為 triggeredSupervisionEmailtriggeredUserReminderEmail) 是否存在、已啟用,並查看其「上次執行時間」和是否有執行失敗的記錄。
    • 確認「設定」工作表中對應的「定時器狀態」欄位是否為 啟用,以及「自動發信指定時間」是否設定正確 (0-23的整數)。
    • 定時器觸發的郵件寄送也會檢查系統是否在開放時間內,若不在則不寄送。
  • 列印證明的浮水印或官印未顯示?
    • (管理員) 檢查「設定」工作表中「文件浮水印超連結」和「文件官印超連結」是否為有效的 Google 雲端硬碟圖片共用連結,且權限已設定為「知道連結的任何人:檢視者」。
    • 確認圖片檔案本身沒有問題。

注意事項 ⚠️

  • 系統部署網址至關重要:首次部署網頁應用程式後,務必將取得的 URL 完整複製並貼到「設定」工作表的「系統部署網址」欄位。此網址用於產生郵件中的回呼連結 (如密碼重設),若此處空白或不正確,相關功能將無法正常運作。
  • 欄位名稱的敏感性:修改「設定」、「名單」、「編組」工作表中的既有的欄位切勿修改,程式碼是依賴這些固定的名稱來讀取和寫入資料的,任何不一致都可能導致系統錯誤,變更欄位順序或新增自己的欄位不會影響功能。
  • Google Apps Script 配額:請留意 Google Apps Script 的各項服務配額,例如每日可寄送的郵件數量、每日觸發器總執行時間、指令碼執行時間上限等。高流量使用下可能需要注意這些限制。
  • 錯誤日誌:(管理員) 建議定期前往 Apps Script 編輯器,點擊左側的「執行作業」查看指令碼的執行記錄,特別注意是否有失敗的執行緒及其錯誤訊息,有助於及早發現並解決問題。
  • 備份:定期備份您的主試算表是一個好習慣,以防意外發生。

授權 📄

本專案採用 MIT 授權。詳情請參閱專案中的 LICENSE 檔案 (若有提供),或參考標準 MIT 授權條款。

致謝 🙏

歡迎參觀我的網站 Gas Station,裡頭也許會有一些能幫助您的工具、程式,甚至是提供您創意的靈感。如果您願意的話,也非常樂意接受您的打賞。❤️
Copyright (c) 2025 Chang, Chia-Cheng 張家誠


祝您使用愉快,輕鬆完成各項登記選擇作業!🚀

附錄:程式碼檔案結構 (進階用戶參考)

本系統主要由以下 Google Apps Script (.gs) 和 HTML (.html) 檔案組成,它們都內嵌於主試算表檔案中:

Google Apps Script 檔案 (.gs)

  • code.js:
    • 核心後端邏輯檔案。
    • 包含 doGet(e)doPost(e) 函數,處理所有網頁請求的入口。
    • onOpen(): 試算表開啟時建立「🔔進階功能」選單。
    • getSheetDataByName(sheetName): 重要的輔助函數,用於從指定的試算表工作表讀取並格式化資料。
    • serveHtmlPage(pageName, settingsData, requestParams): 輔助函數,用於準備並提供 HTML 頁面給前端。
  • codeUser.js:
    • 處理所有用戶帳號相關的操作。
    • processLogin(username, password): 標準帳號密碼登入驗證。
    • signInWithGoogle(): Google 一鍵登入處理。
    • sendVerificationEmail(email): 寄送首次設定密碼的驗證郵件。
    • verifyCodeAndSetPassword(email, code, newPassword): 驗證碼並設定新密碼。
    • sendPasswordResetLink(email): 寄送忘記密碼的重設連結郵件。
    • verifyResetCodeAndRenewPassword(email, code, newPassword): 驗證重設碼並更新密碼。
  • codeCheck.js:
    • 處理用戶在主操作頁面的選項勾選、提交與封存邏輯。
    • processRegistration(userAccount, settings, formParameters): 處理用戶提交的選項。
    • processArchive(userAccount, settings, anyOptionSelectedInForm): 處理資料封存請求。
    • sendArchiveConfirmationEmail(userAccount, userDataArray, settings): 寄送封存確認郵件給用戶。
    • formatDisplayDateTime(dateTimeInput): 輔助函數,格式化日期時間顯示。
  • codeDownload.js:
    • 原包含產生 PDF 下載的功能 (現已主要由 downloadAndPrint.html 的列印方案取代)。
    • getFileIdFromDriveLink(link): 輔助函數,從 Google 雲端硬碟分享連結中提取檔案 ID (仍用於 downloadAndPrint.html 載入浮水印/官印圖片)。
    • generateFilename(...), getDownloadableUrl(...), formatDisplayDateTime(...): 其他相關輔助函數。
  • codeMenuAndSupervise.js:
    • 定義「🔔進階功能」選單中的部分功能 (主要與督導相關)。
    • manualSendSupervisionEmail(isTriggeredContext): 手動觸發寄送督導信的函數。
    • updateSettingValue(settingName, value): 輔助函數,用於更新「設定」工作表中的特定值。
    • formatDisplayDateTime(dateTimeInput): (重複定義,建議統一) 格式化日期時間。
  • codeMenuAutoSendMail.js:
    • 管理督導信的自動寄送定時器。
    • turnOnTrigger(): 啟用督導信每日自動寄送的定時器。
    • turnOffTrigger(): 關閉督導信定時器。
    • triggeredSupervisionEmail(): 由定時器觸發,檢查條件後呼叫 manualSendSupervisionEmail
  • codeMenuNotify.js:
    • 管理用戶提醒信的相關功能及定時器。
    • manualSendUserNotificationEmail(isTriggeredContext): 手動觸發寄送用戶提醒信。
    • turnOnUserNotificationTrigger(): 啟用用戶提醒信每日自動寄送的定時器。
    • turnOffUserNotificationTrigger(): 關閉用戶提醒信定時器。
    • triggeredUserReminderEmail(): 由定時器觸發,檢查條件後呼叫 manualSendUserNotificationEmail
  • base.js:
    • 包含系統版本號 (version)。
    • 預設的HTML格式版權宣告 (copyrightDefault)。
    • 預設的HTML格式贊助廣告 (advertise)。

HTML 檔案 (.html)

  • index.html:
    • 系統登入頁面。包含帳號密碼輸入、Google 一鍵登入按鈕、首次設定密碼及忘記密碼的連結。
  • main.html:
    • 用戶登入後的主要操作介面。
    • 顯示個人資料、可勾選的選項、提交按鈕、清除按鈕、封存按鈕、列印證明按鈕及登出按鈕。
  • passwordSetNew.html:
    • 用戶請求首次設定密碼時,輸入其電子郵件地址以接收驗證信的頁面。
  • passwordSetting.html:
    • 用戶點擊首次密碼設定郵件中的連結後,輸入驗證碼和新密碼的頁面。
  • passwordForget.html:
    • 用戶請求重設忘記的密碼時,輸入其電子郵件地址以接收驗證信的頁面。
  • passwordRenew.html:
    • 用戶點擊忘記密碼郵件中的連結後,輸入驗證碼和新密碼以完成重設的頁面。
  • downloadAndPrint.html:
    • 用於顯示用戶最終資料以供列印的頁面。
    • 會顯示用戶資料、勾選項目、異動/封存時間,並可整合浮水印與官印。
  • style.html:
    • 包含所有前端頁面共用的 CSS 樣式規則。
    • 使用 Bootstrap 5.3.3 作為基礎框架,並定義了額外的自訂樣式,包括響應式設計和列印專用樣式 (@media print)。

檢查方式

  1. 開啟主試算表。
  2. 點擊 功能選單中的擴充功能 > Apps Script
  3. 查看或編輯程式碼檔案。

About

這是一支Google Apps Script程式,讓您輕鬆提供每一用戶客製化選項進行登記、選擇或加退選的萬用系統。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published