尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
WalkIn Studio 會議室預約系統
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗單檔 vanilla JS(index.html)+ Firebase Realtime Database + Google Apps Script 同步後端。
index.html?mock=1| 角色 | 功能 |
|---|---|
| 訪客 | 看可預約時段(訪客開放時段)→ 匯款(NT$/hr)+填帳號末五碼 → 送出申請 → 管理員核對後成立 |
| 會員 | 手機號碼查詢登入 → 看可用時數批次 → 用時數預約(免審核,約 1 分鐘內自動確認);時數不足改匯款流程 |
| 管理員 | Firebase 登入 → 審核匯款單(顯示金額+末五碼)、會員 CRUD、手動發放有期限的時數批次、系統設定(開放時段/費率/日曆 ID/事件格式) |
時數規則:每月額度自動成為「當月批次」(月底到期歸零);手動發放批次照自訂期限;扣抵先用快到期的;預約日必須落在批次有效期內。
Firebase Console → talkloudpm 專案 → Realtime Database → 規則:
把 rules.meeting-room.json 裡的 meeting-room 區塊合併進既有 rules JSON(與 walkin-pm 節點並列),發布。
用管理員帳號([email protected])打開網站 → 管理後台登入。 首次登入會自動寫入預設設定;到「設定」調整:匯款帳戶資訊(必改)、開放時段、費率、日曆 ID。
appscript.gsFB_EMAIL / FB_PASSWORD / FB_API_KEY / DB_URL / ADMIN_EMAIL(值見 appscript.gs 開頭註解)testConnection 完成授權並確認連線(記錄應顯示 settings 與日曆名稱)installTrigger 安裝每 1 分鐘觸發器Push 到 main → GitHub Pages(Settings → Pages → Deploy from branch → main / root)。
驗收記得硬刷新(⌘+Shift+R)。
/meeting-room/)settings 公開讀;roomName/notice/slotMinutes/bookingWindowDays/
openHours{visitor,member}/payment{hourlyRate,bankInfo}/
calendar{calendarId,eventTitle,eventDesc}
schedule/{date}/{bid} 公開讀 {s,e,st,k}(分鐘制;k: m|v|cal)
bookings/{bid} admin 讀;完整預約(含 PII、payLast5、calEventId、通知戳記)
members/{code} admin;完整會員資料
membersPublic/{code} 按 key 讀 {name,quota,active}
memberIndex/{手機數字} 按 key 讀 → code
memberGrants/{code}/{gid} 按 code 讀 {h,start,exp,note,at}(手動發放批次)
memberBookings/{code}/{ym}/{bid} 按 code 讀 {date,s,e,st,pay,c}(會員端算餘額)
meta admin;lastSyncAt/lastError
寫入權限:非管理員只能「create status=pending」與「刪除自己的 pending」(push id 即取消憑證,存 localStorage);confirmed 只有管理員憑證(網頁後台或 Apps Script)能寫。