models.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <!DOCTYPE html>
  2. <html lang="vi">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Models — DoTouch.AI</title>
  7. <link rel="stylesheet" href="style.css">
  8. </head>
  9. <body>
  10. <div class="dev-note" id="demoLoginBanner" style="bottom:56px;"></div>
  11. <div class="dev-note">v1.1.0 · Models 列表页(下钻入口)</div>
  12. <header>
  13. <div class="wrap nav">
  14. <a class="nav-logo" href="index.html">
  15. <svg viewBox="0 0 460 120" xmlns="http://www.w3.org/2000/svg">
  16. <defs><linearGradient id="g1" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#9B7BFF"/><stop offset="1" stop-color="#5C3DF0"/></linearGradient></defs>
  17. <g transform="translate(0,6) scale(0.92)"><circle cx="50" cy="50" r="33" stroke="rgba(124,92,255,.3)" stroke-width="1.5" stroke-dasharray="2 7" fill="none"/><g stroke="#00E5A0" stroke-width="1.8" opacity=".55"><line x1="50" y1="50" x2="76" y2="26"/><line x1="50" y1="50" x2="26" y2="76"/><line x1="50" y1="50" x2="78" y2="75"/></g><circle cx="50" cy="50" r="12" stroke="rgba(124,92,255,.4)" fill="none"/><circle cx="50" cy="50" r="7.5" fill="url(#g1)"/><circle cx="76" cy="26" r="4" fill="#00E5A0"/><circle cx="26" cy="76" r="4" fill="#00E5A0"/><circle cx="78" cy="75" r="4" fill="#00E5A0"/></g>
  18. <text x="128" y="78" font-size="50" font-weight="700" fill="#E8ECF8" font-family="inherit">DoTouch</text><text x="348" y="78" font-size="50" font-weight="700" fill="url(#g1)" font-family="inherit">.AI</text>
  19. </svg>
  20. </a>
  21. <nav class="nav-links">
  22. <a href="index.html" data-i18n="nav_home">Trang chủ</a>
  23. <a href="models.html" class="active" data-i18n="nav_models">Models</a>
  24. <a href="pricing.html" data-i18n="nav_pricing">Pricing</a>
  25. <a href="docs.html" data-i18n="nav_docs_ops">Hướng dẫn</a>
  26. <a href="../console-v1.0.0/user-console.html" data-i18n="nav_console">Console</a>
  27. </nav>
  28. <div class="nav-right">
  29. <div class="lang-switch">
  30. <button class="lang-btn active" data-lang="vi">VI</button><button class="lang-btn" data-lang="en">EN</button><button class="lang-btn" data-lang="zh-CN">简</button><button class="lang-btn" data-lang="zh-TW">繁</button>
  31. </div>
  32. <a class="btn btn-sm" href="#" data-open-auth="login" data-i18n="nav_login">Đăng nhập</a>
  33. <a class="btn btn-primary btn-sm" href="#" data-open-auth="register" data-i18n="nav_signup">Bắt đầu</a>
  34. </div>
  35. </div>
  36. </header>
  37. <div class="wrap">
  38. <div class="crumbs"><a href="index.html" data-i18n="crumb_home">Trang chủ</a><span class="sep">/</span><span data-i18n="nav_models">Models</span></div>
  39. <div class="page-hero">
  40. <h1 data-i18n="nav_models">Models</h1>
  41. <p data-i18n="models_p">Tất cả mô hình được phục vụ qua Alibaba Cloud DashScope, tương thích hoàn toàn OpenAI. Xem chi tiết từng mô hình.</p>
  42. </div>
  43. <!-- 搜索 + 筛选 -->
  44. <div class="filter-bar">
  45. <input class="search-box" id="search" type="text" placeholder="" data-i18n="models_ph">
  46. <button class="filter-tag active" data-filter="all" data-i18n="filter_all">Tất cả</button>
  47. <button class="filter-tag" data-filter="flagship" data-i18n="filter_flagship">Cao cấp</button>
  48. <button class="filter-tag" data-filter="value" data-i18n="filter_value">Đáng giá</button>
  49. <button class="filter-tag" data-filter="reasoning" data-i18n="filter_reasoning">Suy luận</button>
  50. <button class="filter-tag" data-filter="enterprise" data-i18n="filter_enterprise">Doanh nghiệp</button>
  51. </div>
  52. <!-- 模型表格 -->
  53. <div class="table-wrap">
  54. <table class="data">
  55. <thead>
  56. <tr>
  57. <th data-i18n="m_col_model">Mô hình</th>
  58. <th data-i18n="m_col_vendor">Nhà cung cấp</th>
  59. <th data-i18n="m_col_ctx">Ngữ cảnh</th>
  60. <th data-i18n="m_col_in">Đầu vào / 1M</th>
  61. <th data-i18n="m_col_out">Đầu ra / 1M</th>
  62. <th></th>
  63. </tr>
  64. </thead>
  65. <tbody>
  66. <tr data-cat="flagship">
  67. <td><b data-i18n="m_glm_name">GLM 5.2</b><br><span class="tag tag-purple" data-i18n="tag_flagship">Cao cấp</span></td>
  68. <td style="color:var(--muted);" data-i18n="m_glm_vendor">Zhipu AI</td>
  69. <td class="price" data-i18n="m_glm_ctx">128K</td>
  70. <td class="price"><span class="price-usd" data-usd="0.98">$0.98</span></td>
  71. <td class="price"><span class="price-usd" data-usd="3.08">$3.08</span></td>
  72. <td><a class="btn btn-sm" href="model-detail.html?m=glm-5.2" data-i18n="m_see_detail">Xem chi tiết →</a></td>
  73. </tr>
  74. <tr data-cat="value">
  75. <td><b data-i18n="m_dsv4_name">DeepSeek V4</b><br><span class="tag tag-green" data-i18n="tag_best">Đáng giá</span></td>
  76. <td style="color:var(--muted);" data-i18n="m_dsv4_vendor">DeepSeek</td>
  77. <td class="price" data-i18n="m_dsv4_ctx">1M</td>
  78. <td class="price"><span class="price-usd" data-usd="0.14">$0.14</span></td>
  79. <td class="price"><span class="price-usd" data-usd="0.28">$0.28</span></td>
  80. <td><a class="btn btn-sm" href="model-detail.html?m=deepseek-v4" data-i18n="m_see_detail">Xem chi tiết →</a></td>
  81. </tr>
  82. <tr data-cat="reasoning">
  83. <td><b data-i18n="m_dsv4p_name">DeepSeek V4 Pro</b><br><span class="tag tag-gold" data-i18n="tag_reasoning">Suy luận</span></td>
  84. <td style="color:var(--muted);" data-i18n="m_dsv4p_vendor">DeepSeek</td>
  85. <td class="price" data-i18n="m_dsv4p_ctx">1M</td>
  86. <td class="price"><span class="price-usd" data-usd="0.30">$0.30</span></td>
  87. <td class="price"><span class="price-usd" data-usd="0.60">$0.60</span></td>
  88. <td><a class="btn btn-sm" href="model-detail.html?m=deepseek-v4-pro" data-i18n="m_see_detail">Xem chi tiết →</a></td>
  89. </tr>
  90. <tr data-cat="enterprise">
  91. <td><b data-i18n="m_qwen_name">Qwen Max</b><br><span class="tag tag-gray" data-i18n="tag_enterprise">Doanh nghiệp</span></td>
  92. <td style="color:var(--muted);" data-i18n="m_qwen_vendor">Alibaba</td>
  93. <td class="price" data-i18n="m_qwen_ctx">256K</td>
  94. <td class="price"><span class="price-usd" data-usd="1.96">$1.96</span></td>
  95. <td class="price"><span class="price-usd" data-usd="7.84">$7.84</span></td>
  96. <td><a class="btn btn-sm" href="model-detail.html?m=qwen-max" data-i18n="m_see_detail">Xem chi tiết →</a></td>
  97. </tr>
  98. </tbody>
  99. </table>
  100. </div>
  101. <p style="color:var(--muted);font-size:12.5px;margin-top:10px;"><span id="visible-count">4</span> <span data-i18n="models_count">mô hình có sẵn</span></p>
  102. <div class="notice"><b>💡</b> <span data-i18n="detail_rel_view">Xem tất cả mô hình →</span> Mỗi mô hình có trang chi tiết riêng: thông số, khả năng, giá và ví dụ API.</div>
  103. </div>
  104. <footer>
  105. <div class="wrap">
  106. <div class="foot-grid">
  107. <div class="foot-brand">
  108. <svg viewBox="0 0 460 120" width="140" xmlns="http://www.w3.org/2000/svg">
  109. <defs><linearGradient id="fg" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#9B7BFF"/><stop offset="1" stop-color="#5C3DF0"/></linearGradient></defs>
  110. <g transform="translate(0,6) scale(0.92)"><circle cx="50" cy="50" r="33" stroke="rgba(124,92,255,.3)" stroke-width="1.5" stroke-dasharray="2 7" fill="none"/><g stroke="#00E5A0" stroke-width="1.8" opacity=".55"><line x1="50" y1="50" x2="76" y2="26"/><line x1="50" y1="50" x2="26" y2="76"/><line x1="50" y1="50" x2="78" y2="75"/></g><circle cx="50" cy="50" r="7.5" fill="url(#fg)"/><circle cx="76" cy="26" r="4" fill="#00E5A0"/><circle cx="26" cy="76" r="4" fill="#00E5A0"/><circle cx="78" cy="75" r="4" fill="#00E5A0"/></g>
  111. <text x="128" y="78" font-size="50" font-weight="700" fill="#E8ECF8" font-family="inherit">DoTouch</text><text x="348" y="78" font-size="50" font-weight="700" fill="url(#fg)" font-family="inherit">.AI</text>
  112. </svg>
  113. <p data-i18n="foot_p">AI Trung Quốc giá rẻ cho lập trình viên và doanh nghiệp nhỏ trên toàn thế giới.</p>
  114. </div>
  115. <div class="foot-col"><h4 data-i18n="foot_product">Sản phẩm</h4><a href="models.html" data-i18n="nav_models">Mô hình</a><a href="pricing.html" data-i18n="nav_pricing">Bảng giá</a><a href="#" data-i18n="foot_console">Console</a><a href="#" data-i18n="foot_status">Trạng thái</a></div>
  116. <div class="foot-col"><h4 data-i18n="foot_dev">Nhà phát triển</h4><a href="docs.html" data-i18n="foot_docs">Tài liệu</a><a href="docs.html" data-i18n="foot_quickstart">Bắt đầu nhanh</a><a href="#" data-i18n="foot_support">Hỗ trợ</a></div>
  117. <div class="foot-col"><h4 data-i18n="foot_legal">Pháp lý</h4><a href="#" data-i18n="foot_tos">Điều khoản dịch vụ</a><a href="#" data-i18n="foot_privacy">Chính sách bảo mật</a><a href="#" data-i18n="foot_refund">Chính sách hoàn tiền</a></div>
  118. </div>
  119. <div class="foot-bottom"><span>© 2026 DoTouch.AI — doTouch.ai</span><span data-i18n="foot_made">Tạo cho Việt Nam & thế giới · 算力普惠</span></div>
  120. </div>
  121. </footer>
  122. <div class="support-panel" id="supportPanel">
  123. <div class="support-head"><b data-i18n="chat_title">Trợ giúp & Hỗ trợ</b><span class="chat-status" data-i18n="chat_online">Trực tuyến</span></div>
  124. <div class="support-body">
  125. <p data-i18n="chat_hello">Xin chào! Chúng tôi có thể giúp gì cho bạn?</p>
  126. <div class="chat-sugg">
  127. <button data-i18n="chat_q_balance">Làm sao để nạp tiền?</button>
  128. <button data-i18n="chat_q_key">Tạo API key thế nào?</button>
  129. <button data-i18n="chat_q_model">Nên chọn mô hình nào?</button>
  130. </div>
  131. <div class="chat-input"><input placeholder="Nhập tin nhắn..." data-i18n="chat_input"><button>➤</button></div>
  132. <div class="chat-channels"><a class="tag tag-purple" href="#">Zalo</a><a class="tag tag-green" href="#">Telegram</a><a class="tag tag-gray" href="#">Email</a></div>
  133. </div>
  134. </div>
  135. <button class="support-fab" id="supportFab" aria-label="Support">
  136. <span class="pulse-ring"></span>
  137. <svg viewBox="0 0 24 24" width="26" height="26" fill="#fff"><path d="M12 3C7 3 3 6.6 3 11c0 2.3 1 4.3 2.7 5.8L5 20l3.4-1.5c1.1.4 2.3.5 3.6.5 5 0 9-3.6 9-8s-4-8-9-8z"/><circle cx="8.5" cy="11" r="1.2" fill="#0B1020"/><circle cx="12" cy="11" r="1.2" fill="#0B1020"/><circle cx="15.5" cy="11" r="1.2" fill="#0B1020"/></svg>
  138. </button>
  139. <div class="modal-mask" id="authModal">
  140. <div class="modal">
  141. <button class="modal-close" aria-label="Close">✕</button>
  142. <div id="viewLogin">
  143. <h3 data-i18n="auth_login_title">Đăng nhập</h3>
  144. <div class="auth-error" data-i18n="auth_err_email">Email không hợp lệ</div>
  145. <div class="field"><label data-i18n="auth_email">Email</label><input type="email" placeholder="you@example.com"></div>
  146. <div class="field"><label data-i18n="auth_password">Mật khẩu</label><input type="password"></div>
  147. <button class="btn btn-primary btn-block" data-i18n="auth_login_btn">Đăng nhập</button>
  148. <div class="auth-links"><a data-auth-view="reset" data-i18n="auth_forgot">Quên mật khẩu?</a><a data-auth-view="register" data-i18n="auth_to_register">Tạo tài khoản</a></div>
  149. </div>
  150. <div id="viewRegister" hidden>
  151. <h3 data-i18n="auth_register_title">Tạo tài khoản</h3>
  152. <div class="auth-error" data-i18n="auth_err_pwd">Mật khẩu không khớp</div>
  153. <div class="field"><label data-i18n="auth_email">Email</label><input type="email" placeholder="you@example.com"></div>
  154. <div class="field"><label data-i18n="auth_password">Mật khẩu</label><input type="password"></div>
  155. <div class="field"><label data-i18n="auth_confirm">Xác nhận mật khẩu</label><input type="password"></div>
  156. <div class="field">
  157. <label data-i18n="auth_code_label">Mã xác minh</label>
  158. <div class="code-row">
  159. <input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1">
  160. <button class="btn btn-sm code-send" data-send-code data-i18n="auth_code_send">Gửi mã</button>
  161. </div>
  162. <p class="auth-note" data-code-note data-i18n="auth_code_note">Mã gồm 8 ký tự chữ hoa & số, hiệu lực 15 phút</p>
  163. </div>
  164. <button class="btn btn-primary btn-block" data-i18n="auth_register_btn">Đăng ký</button>
  165. <div class="auth-links"><a data-auth-view="login" data-i18n="auth_to_login">Đã có tài khoản? Đăng nhập</a></div>
  166. </div>
  167. <div id="viewReset" hidden>
  168. <h3 data-i18n="auth_reset_title">Đặt lại mật khẩu</h3>
  169. <div class="auth-error" data-i18n="auth_err_pwd">Mật khẩu không khớp</div>
  170. <div class="field"><label data-i18n="auth_email">Email</label><input type="email" placeholder="you@example.com"></div>
  171. <div class="field">
  172. <label data-i18n="auth_code_label">Mã xác minh</label>
  173. <div class="code-row">
  174. <input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1"><input class="code-cell" maxlength="1">
  175. <button class="btn btn-sm code-send" data-send-code data-i18n="auth_code_send">Gửi mã</button>
  176. </div>
  177. <p class="auth-note" data-code-note data-i18n="auth_code_note">Mã gồm 8 ký tự chữ hoa & số, hiệu lực 15 phút</p>
  178. </div>
  179. <div class="field"><label data-i18n="auth_new_pwd">Mật khẩu mới</label><input type="password"></div>
  180. <div class="field"><label data-i18n="auth_confirm_new">Xác nhận mật khẩu mới</label><input type="password"></div>
  181. <button class="btn btn-primary btn-block" data-i18n="auth_reset_btn">Đặt lại mật khẩu</button>
  182. <div class="auth-links"><a data-auth-view="login" data-i18n="auth_back_login">Quay lại đăng nhập</a></div>
  183. </div>
  184. </div>
  185. </div>
  186. <script src="i18n.js"></script>
  187. <script>
  188. /* 列表页搜索/筛选(简单实现) */
  189. const search = document.getElementById('search');
  190. const rows = [...document.querySelectorAll('tbody tr')];
  191. const count = document.getElementById('visible-count');
  192. document.querySelectorAll('.filter-tag').forEach(btn => btn.addEventListener('click', () => {
  193. document.querySelectorAll('.filter-tag').forEach(b => b.classList.remove('active'));
  194. btn.classList.add('active');
  195. applyFilter();
  196. }));
  197. function applyFilter() {
  198. const f = document.querySelector('.filter-tag.active').dataset.filter;
  199. const q = search.value.toLowerCase();
  200. let n = 0;
  201. rows.forEach(r => {
  202. const okCat = f === 'all' || r.dataset.cat === f;
  203. const okQ = !q || r.textContent.toLowerCase().includes(q);
  204. r.style.display = okCat && okQ ? '' : 'none';
  205. if (okCat && okQ) n++;
  206. });
  207. count.textContent = n;
  208. }
  209. search.addEventListener('input', applyFilter);
  210. </script>
  211. </body>
  212. </html>