尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Marketing site for enGo智管家 (Smart enGo Technology). Vue 3 + Vite single-page app with a handful of Vercel serverless functions (contact form, chatbot, admin back office) backed by Supabase.
smtengowebsite, auto-deployed from this repo (main → production,
every other branch / PR → preview). See DEPLOYMENT.md.website (contact submissions, chatbot analytics, admin members).index.html SPA shell: meta, GTM + Consent Mode v2, fonts
src/ Vue app — views/, components/, layout/, router/, locale/, data/*.json, css/
api/ Vercel serverless functions (Node): contact, chatbot-query, legal/acknowledge, line/webhook, admin/*
lib/ server-side helpers shared by api/: session, ratelimit, redact, supabase-admin, chatbot-answer, line, line-bot, legal-ack
legal Center `src/views/legal.vue` (public /legal) → `api/legal/acknowledge.ts`, validated by `lib/legal-ack.ts`
documents are controlled (ENGO-LG-NNN, rev A.n, SHA-256) in `src/data/legal.json`; change them via `npm run legal:bump`, see `docs/LEGAL_DOCUMENT_REGISTER.md`
scripts/ prerender-meta.mjs (per-route <head> shells), hash-password.mjs (admin passwords)
public/ static assets, sitemap.xml, robots.txt, policy pages, product-feed.xml
supabase_setup.sql one-time schema; supabase_add_member_contact.sql is the follow-up migration
vercel.json rewrites (prerendered routes + SPA fallback) and security headers
npm ci # install (lockfile)
npm run dev # Vite dev server on http://localhost:5173 (SPA only, no api/)
vercel dev # SPA + api/ functions, reads .env.local (see DEPLOYMENT.md)
npm run build # vue-tsc type-check + vite build + prerender shells → dist/
npm run test:unit # vitest (lib/*.test.ts, src/utils/*.test.ts)
npm run lint # eslint --fix
Before pushing, npm run build and npx vitest run must both pass. Vercel's own build command is
vite build only, so the type-check is a local gate, not a deploy gate.
Traditional Chinese (zh) is the default and lives at unprefixed URLs; English mirrors under /en.
Both are prerendered and declared as hreflang alternates. Dictionaries for fr, ja, zhCN and es
exist in src/locale/ but are not indexed or prerendered.
The 智管家 LINE official account answers from the same knowledge base as the website chatbot:
api/line/webhook.ts verifies LINE's signature, lib/line-bot.ts picks the answer with the site's
own ranking (src/utils/chatbotMatch.ts over src/data/knowledge_base.json) and lib/line.ts
flattens the chatbot markdown into LINE plain text. Updating the knowledge base and deploying updates
both channels.
https://www.smtengo.com/api/line/webhook (GET answers { ok, configured } as a health check).LINE_CHANNEL_SECRET, LINE_CHANNEL_ACCESS_TOKEN.
Without both the endpoint answers 503 and the bot stays silent.@. Stickers, images and audio are ignored.chatbot_analytics with locale line-<lang> (plus the kb:<entry> row), so the
admin「使用洞察」panel shows LINE traffic next to the website's.