尚未检测到更新。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.