|
|
||
|---|---|---|
| .claude/commands | ||
| .gitignore | ||
| CLAUDE.md | ||
| README.md | ||
| app.js | ||
| config.js | ||
| config.local.example.js | ||
| index.html | ||
| styles.css | ||
README.md
eBay Listing — Google Sheet Loader
Web app tĩnh (HTML/CSS/JS thuần, không cần build) để:
- Nhập link Google Sheet và bấm Load.
- Đọc tab chứa danh sách sản phẩm (các cột:
Model,Condition,Title,Giá AUD,Giá USD,Package Contain (Racks)). - Hiển thị danh sách có scroll và search.
- Mỗi dòng có 2 nút AU / US — bấm để gọi API sang hệ thống của bạn.
- Tất cả thao tác load và gọi API đều có hiệu ứng disable + loading (spinner).
Cấu trúc
| File | Vai trò |
|---|---|
index.html |
Bố cục giao diện |
styles.css |
Style, spinner, trạng thái disable/loading |
config.js |
Cấu hình của bạn: API_BASE, endpoint AU/US, header, map cột |
app.js |
Logic: parse link → tải CSV → parse → render → search → call API |
Cách chạy
Vì app gọi fetch, nên chạy qua HTTP (không mở trực tiếp file://):
cd /home/andrew/listing_ebay
python3 -m http.server 8000
Chuẩn bị Google Sheet
Sheet phải được share công khai (Anyone with the link → Viewer) để đọc được qua
endpoint CSV gviz. Dán link đầy đủ (có /spreadsheets/d/...) hoặc Spreadsheet ID.
- Nếu danh sách nằm ở tab khác tab đầu tiên: nhập Tên tab vào ô nhỏ, hoặc dán
link có sẵn
#gid=.... - App tự dò dòng tiêu đề trong 15 dòng đầu (sheet có thể có thông tin phía trên).
Tuỳ chỉnh
Mở config.js:
API_BASE+ENDPOINTS.AU/US: trỏ tới backend của bạn. Request làPOSTvới body JSON (xembuildPayloadtrongapp.js).HEADERS: thêm token nếu cần.COLUMN_MAP: nếu tên cột trong sheet khác, thêm alias tại đây.
Lưu ý: nếu backend khác domain, hãy bật CORS ở phía server đó.