law.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>明律通 - AI法律顾问</title>
  7. <!-- 引入国内CDN资源 -->
  8. <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
  9. <style>
  10. body {
  11. background: linear-gradient(135deg, #F8F9FF, #E6F7FF); /* 浅蓝到白色的渐变 */
  12. background-size: cover;
  13. background-repeat: no-repeat;
  14. line-height: 1.6;
  15. max-width: 100vw;
  16. overflow-x: hidden;
  17. }
  18. :root {
  19. --primary: #3A5FE5;
  20. --secondary: #00C4A1;
  21. --danger: #FF4D4F;
  22. --bg: #F8F9FF;
  23. --text: #2D3748;
  24. --card: #FFFFFF;
  25. }
  26. * {
  27. margin: 0;
  28. padding: 0;
  29. box-sizing: border-box;
  30. font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
  31. }
  32. .container {
  33. width: 100%;
  34. max-width: 480px;
  35. margin: 0 auto;
  36. padding: 15px;
  37. min-height: 100vh;
  38. display: flex;
  39. flex-direction: column;
  40. }
  41. /* 顶部导航 */
  42. .header {
  43. display: flex;
  44. justify-content: space-between;
  45. align-items: center;
  46. padding: 10px 0;
  47. margin-bottom: 15px;
  48. }
  49. .logo {
  50. font-weight: bold;
  51. font-size: 20px;
  52. color: var(--primary);
  53. display: flex;
  54. align-items: center;
  55. }
  56. .logo i {
  57. margin-right: 8px;
  58. color: var(--secondary);
  59. }
  60. .user-avatar {
  61. width: 36px;
  62. height: 36px;
  63. border-radius: 50%;
  64. background-color: var(--primary);
  65. display: flex;
  66. align-items: center;
  67. justify-content: center;
  68. color: white;
  69. }
  70. /* 搜索框 */
  71. .search-bar {
  72. display: flex;
  73. background: white;
  74. border-radius: 24px;
  75. padding: 10px 15px;
  76. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  77. margin-bottom: 20px;
  78. }
  79. .search-input {
  80. flex: 1;
  81. border: none;
  82. outline: none;
  83. padding: 5px;
  84. font-size: 16px;
  85. }
  86. .search-btn {
  87. background: none;
  88. border: none;
  89. color: var(--primary);
  90. font-size: 18px;
  91. }
  92. /* 服务入口 */
  93. .services {
  94. display: flex;
  95. justify-content: space-between;
  96. flex-wrap: wrap;
  97. margin: 20px 0;
  98. }
  99. .service-card {
  100. width: 23%;
  101. aspect-ratio: 1;
  102. background: white;
  103. border-radius: 12px;
  104. display: flex;
  105. flex-direction: column;
  106. align-items: center;
  107. justify-content: center;
  108. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  109. margin-bottom: 10px;
  110. transition: transform 0.3s;
  111. }
  112. .service-card:active {
  113. transform: scale(0.95);
  114. }
  115. .service-icon {
  116. font-size: 24px;
  117. margin-bottom: 8px;
  118. color: var(--primary);
  119. }
  120. .service-name {
  121. font-size: 12px;
  122. color: var(--text);
  123. }
  124. /* 热点推荐 */
  125. .section-title {
  126. font-size: 18px;
  127. font-weight: bold;
  128. margin: 15px 0;
  129. display: flex;
  130. justify-content: space-between;
  131. align-items: center;
  132. }
  133. .section-title a {
  134. font-size: 14px;
  135. font-weight: normal;
  136. color: var(--primary);
  137. text-decoration: none;
  138. }
  139. .hot-topics {
  140. display: flex;
  141. overflow-x: auto;
  142. gap: 10px;
  143. padding-bottom: 10px;
  144. }
  145. .topic-card {
  146. min-width: 200px;
  147. height: 100px;
  148. border-radius: 12px;
  149. background: linear-gradient(135deg, var(--primary), #6A8EFF);
  150. color: white;
  151. padding: 15px;
  152. display: flex;
  153. flex-direction: column;
  154. justify-content: flex-end;
  155. position: relative;
  156. overflow: hidden;
  157. }
  158. .topic-card::before {
  159. content: "";
  160. position: absolute;
  161. top: 0;
  162. left: 0;
  163. right: 0;
  164. bottom: 0;
  165. background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100" opacity="0.1"><text x="10" y="20" font-family="Arial" font-size="10">《民法典》</text></svg>');
  166. }
  167. .topic-title {
  168. font-weight: bold;
  169. margin-bottom: 5px;
  170. position: relative;
  171. }
  172. .topic-desc {
  173. font-size: 12px;
  174. opacity: 0.9;
  175. position: relative;
  176. }
  177. /* 动态通知 */
  178. .notice-bar {
  179. background: white;
  180. border-radius: 12px;
  181. padding: 12px 15px;
  182. margin: 15px 0;
  183. display: flex;
  184. align-items: center;
  185. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  186. }
  187. .notice-icon {
  188. color: var(--danger);
  189. margin-right: 10px;
  190. font-size: 18px;
  191. }
  192. .notice-content {
  193. flex: 1;
  194. font-size: 14px;
  195. }
  196. .notice-close {
  197. color: #999;
  198. font-size: 14px;
  199. }
  200. .latest-news {
  201. margin: 20px 0;
  202. }
  203. .latest-news h3 {
  204. font-size: 20px;
  205. margin-bottom: 20px;
  206. }
  207. .news-card {
  208. padding: 15px;
  209. background: white;
  210. border-radius: 12px;
  211. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  212. margin-bottom: 15px;
  213. }
  214. .news-card p {
  215. font-size: 14px;
  216. color: var(--text);
  217. margin: 8px 0;
  218. }
  219. /* 底部导航 */
  220. .tab-bar {
  221. display: flex;
  222. background: white;
  223. position: fixed;
  224. bottom: 0;
  225. left: 0;
  226. right: 0;
  227. max-width: 480px;
  228. margin: 0 auto;
  229. box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
  230. padding: 8px 0;
  231. }
  232. .tab-item {
  233. flex: 1;
  234. display: flex;
  235. flex-direction: column;
  236. align-items: center;
  237. color: #999;
  238. text-decoration: none;
  239. font-size: 12px;
  240. }
  241. .tab-item.active {
  242. color: var(--primary);
  243. }
  244. .tab-icon {
  245. font-size: 20px;
  246. margin-bottom: 3px;
  247. }
  248. /* 咨询页面样式 */
  249. .chat-container {
  250. flex: 1;
  251. display: flex;
  252. flex-direction: column;
  253. padding-bottom: 60px;
  254. }
  255. .chat-messages {
  256. flex: 1;
  257. overflow-y: auto;
  258. padding: 15px;
  259. }
  260. .message {
  261. max-width: 80%;
  262. margin-bottom: 15px;
  263. position: relative;
  264. }
  265. .user-message {
  266. align-self: flex-end;
  267. background: var(--primary);
  268. color: white;
  269. border-radius: 18px 18px 0 18px;
  270. padding: 12px 15px;
  271. }
  272. .ai-message {
  273. align-self: flex-start;
  274. background: white;
  275. border-radius: 18px 18px 18px 0;
  276. padding: 12px 15px;
  277. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  278. }
  279. .law-ref {
  280. background: #E6F7FF;
  281. border-left: 3px solid var(--primary);
  282. padding: 8px 12px;
  283. margin: 8px 0;
  284. border-radius: 0 8px 8px 0;
  285. font-size: 14px;
  286. }
  287. .chat-input {
  288. display: flex;
  289. padding: 10px;
  290. background: white;
  291. position: fixed;
  292. bottom: 60px;
  293. left: 0;
  294. right: 0;
  295. max-width: 480px;
  296. margin: 0 auto;
  297. box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
  298. }
  299. .chat-input input {
  300. flex: 1;
  301. border: 1px solid #eee;
  302. border-radius: 20px;
  303. padding: 10px 15px;
  304. outline: none;
  305. }
  306. .send-btn {
  307. background: var(--primary);
  308. color: white;
  309. border: none;
  310. width: 40px;
  311. height: 40px;
  312. border-radius: 50%;
  313. margin-left: 10px;
  314. }
  315. /* 合同审查页面 */
  316. .contract-report {
  317. padding: 15px;
  318. padding-bottom: 60px;
  319. }
  320. .risk-meter {
  321. height: 10px;
  322. background: linear-gradient(to right, #00C4A1, #FFC107, var(--danger));
  323. border-radius: 5px;
  324. margin: 15px 0;
  325. position: relative;
  326. }
  327. .risk-level {
  328. position: absolute;
  329. height: 20px;
  330. width: 20px;
  331. background: white;
  332. border: 3px solid var(--danger);
  333. border-radius: 50%;
  334. top: -5px;
  335. left: 30%;
  336. transform: translateX(-50%);
  337. }
  338. .issue-item {
  339. background: white;
  340. border-radius: 12px;
  341. padding: 15px;
  342. margin-bottom: 10px;
  343. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  344. }
  345. .issue-title {
  346. display: flex;
  347. align-items: center;
  348. margin-bottom: 8px;
  349. }
  350. .issue-icon {
  351. color: var(--danger);
  352. margin-right: 8px;
  353. }
  354. .suggestion {
  355. background: #F0FFF4;
  356. padding: 10px;
  357. border-radius: 8px;
  358. margin-top: 10px;
  359. font-size: 14px;
  360. }
  361. .suggestion del {
  362. color: var(--danger);
  363. }
  364. .suggestion ins {
  365. color: #00C4A1;
  366. text-decoration: none;
  367. }
  368. /* 加载动画 */
  369. .loading {
  370. display: flex;
  371. justify-content: center;
  372. padding: 20px;
  373. }
  374. .loading-dots {
  375. display: flex;
  376. gap: 5px;
  377. }
  378. .loading-dots span {
  379. width: 8px;
  380. height: 8px;
  381. background: var(--primary);
  382. border-radius: 50%;
  383. animation: bounce 1s infinite alternate;
  384. }
  385. .loading-dots span:nth-child(2) {
  386. animation-delay: 0.2s;
  387. }
  388. .loading-dots span:nth-child(3) {
  389. animation-delay: 0.4s;
  390. }
  391. @keyframes bounce {
  392. to {
  393. transform: translateY(-5px);
  394. }
  395. }
  396. </style>
  397. </head>
  398. <body>
  399. <div class="container" id="app">
  400. <!-- 首页 -->
  401. <div class="page" id="home-page">
  402. <div class="header">
  403. <div class="logo">
  404. <i class="fas fa-balance-scale"></i>
  405. 明律通
  406. </div>
  407. <div class="user-avatar">
  408. <i class="fas fa-user"></i>
  409. </div>
  410. </div>
  411. <div class="search-bar">
  412. <input type="text" class="search-input" placeholder="输入法律问题或上传文件">
  413. <button class="search-btn">
  414. <i class="fas fa-microphone"></i>
  415. </button>
  416. </div>
  417. <div class="services">
  418. <div class="service-card" onclick="showPage('chat-page')">
  419. <div class="service-icon">
  420. <i class="fas fa-comments"></i>
  421. </div>
  422. <div class="service-name">智能咨询</div>
  423. </div>
  424. <div class="service-card" onclick="showPage('contract-page')">
  425. <div class="service-icon">
  426. <i class="fas fa-file-contract"></i>
  427. </div>
  428. <div class="service-name">合同审查</div>
  429. </div>
  430. <div class="service-card">
  431. <div class="service-icon">
  432. <i class="fas fa-gavel"></i>
  433. </div>
  434. <div class="service-name">诉讼评估</div>
  435. </div>
  436. <div class="service-card">
  437. <div class="service-icon">
  438. <i class="fas fa-book"></i>
  439. </div>
  440. <div class="service-name">法律文书</div>
  441. </div>
  442. </div>
  443. <div class="section-title">
  444. 热点法律专题
  445. <a href="#">更多</a>
  446. </div>
  447. <div class="hot-topics">
  448. <div class="topic-card" style="background: linear-gradient(135deg, #687fe7, #384aeb);">
  449. <div class="topic-title">劳动合同纠纷</div>
  450. <div class="topic-desc">最新劳动法司法解释</div>
  451. </div>
  452. <div class="topic-card" style="background: linear-gradient(135deg, #00C4A1, #00E676);">
  453. <div class="topic-title">婚姻财产分割</div>
  454. <div class="topic-desc">民法典新规解读</div>
  455. </div>
  456. <div class="topic-card" style="background: linear-gradient(135deg, #FF6B6B, #FF8E8E);">
  457. <div class="topic-title">消费者权益</div>
  458. <div class="topic-desc">维权指南3.0</div>
  459. </div>
  460. </div>
  461. <div class="notice-bar">
  462. <div class="notice-icon">
  463. <i class="fas fa-exclamation-circle"></i>
  464. </div>
  465. <div class="notice-content">
  466. 最高人民法院发布关于审理劳动争议案件的新司法解释
  467. </div>
  468. <div class="notice-close">
  469. <i class="fas fa-times"></i>
  470. </div>
  471. </div>
  472. <div class="latest-news">
  473. <h3>最新动态</h3>
  474. <div class="news-card">
  475. <p><strong>2023-10-01</strong> 最高人民法院发布新司法解释</p>
  476. <p>关于审理劳动争议案件的最新司法解释已生效。</p>
  477. </div>
  478. <div class="news-card">
  479. <p><strong>2023-09-25</strong> 民法典新规解读</p>
  480. <p>最新民法典司法解释解读,涵盖婚姻家庭、财产分割等。</p>
  481. </div>
  482. <div class="news-card">
  483. <p><strong>2023-09-20</strong> 劳动合同法案例分析</p>
  484. <p>通过真实案例分析劳动合同中的常见法律问题。</p>
  485. </div>
  486. </div>
  487. </div>
  488. <!-- 智能咨询页 -->
  489. <div class="page" id="chat-page" style="display: none;">
  490. <div class="header">
  491. <div class="logo">
  492. <i class="fas fa-arrow-left" onclick="showPage('home-page')"></i>
  493. <span style="margin-left: 10px;">AI法律咨询</span>
  494. </div>
  495. </div>
  496. <div class="chat-container">
  497. <div class="chat-messages">
  498. <div class="message user-message">
  499. 公司拖欠工资怎么办?
  500. </div>
  501. <div class="message ai-message">
  502. <p>根据《劳动合同法》第38条,用人单位未及时足额支付劳动报酬的,劳动者可以解除劳动合同并要求经济补偿。</p>
  503. <div class="law-ref">
  504. <strong>《劳动合同法》第三十八条</strong><br>
  505. 用人单位有下列情形之一的,劳动者可以解除劳动合同:<br>
  506. (二)未及时足额支付劳动报酬的;
  507. </div>
  508. <p>建议步骤:</p>
  509. <ol>
  510. <li>收集工资条、银行流水等证据</li>
  511. <li>向当地劳动监察大队投诉</li>
  512. <li>申请劳动仲裁(时效1年)</li>
  513. </ol>
  514. </div>
  515. <div class="loading" id="loading" style="display: none;">
  516. <div class="loading-dots">
  517. <span></span>
  518. <span></span>
  519. <span></span>
  520. </div>
  521. </div>
  522. </div>
  523. <div class="chat-input">
  524. <input type="text" placeholder="输入您的问题...">
  525. <button class="send-btn">
  526. <i class="fas fa-paper-plane"></i>
  527. </button>
  528. </div>
  529. </div>
  530. </div>
  531. <!-- 合同审查页 -->
  532. <div class="page" id="contract-page" style="display: none;">
  533. <div class="header">
  534. <div class="logo">
  535. <i class="fas fa-arrow-left" onclick="showPage('home-page')"></i>
  536. <span style="margin-left: 10px;">合同审查报告</span>
  537. </div>
  538. </div>
  539. <div class="contract-report">
  540. <h3>劳动合同(示例)</h3>
  541. <p>签约方:张三 ×××科技有限公司</p>
  542. <p>签署日期:2023-06-15</p>
  543. <div style="margin: 20px 0;">
  544. <div style="display: flex; justify-content: space-between;">
  545. <span>风险等级</span>
  546. <span>中等风险</span>
  547. </div>
  548. <div class="risk-meter">
  549. <div class="risk-level" style="left: 65%;"></div>
  550. </div>
  551. </div>
  552. <h4>发现的问题</h4>
  553. <div class="issue-item">
  554. <div class="issue-title">
  555. <i class="fas fa-exclamation-triangle issue-icon"></i>
  556. <span>试用期约定过长</span>
  557. </div>
  558. <p>合同第3条约定试用期6个月,但劳动合同期限仅为1年。</p>
  559. <div class="suggestion">
  560. <strong>修改建议:</strong><br>
  561. <del>试用期为6个月</del> →
  562. <ins>试用期不超过2个月</ins><br>
  563. 依据《劳动合同法》第19条:劳动合同期限一年以上不满三年的,试用期不得超过二个月。
  564. </div>
  565. </div>
  566. <div class="issue-item">
  567. <div class="issue-title">
  568. <i class="fas fa-exclamation-triangle issue-icon"></i>
  569. <span>竞业限制条款缺失补偿金</span>
  570. </div>
  571. <p>合同第8条约定竞业限制但未明确经济补偿标准。</p>
  572. <div class="suggestion">
  573. <strong>修改建议:</strong><br>
  574. 在条款中补充:<ins>"竞业限制期间,甲方应按乙方离职前12个月平均工资的30%按月支付经济补偿"</ins>
  575. </div>
  576. </div>
  577. <button style="width: 100%; background: var(--primary); color: white; border: none; padding: 12px; border-radius: 8px; margin-top: 20px;">
  578. 生成修订版合同
  579. </button>
  580. </div>
  581. </div>
  582. <!-- 底部导航 -->
  583. <div class="tab-bar">
  584. <a href="#" class="tab-item active" onclick="showPage('home-page')">
  585. <div class="tab-icon">
  586. <i class="fas fa-home"></i>
  587. </div>
  588. <div>首页</div>
  589. </a>
  590. <a href="#" class="tab-item">
  591. <div class="tab-icon">
  592. <i class="fas fa-comment-dots"></i>
  593. </div>
  594. <div>咨询</div>
  595. </a>
  596. <a href="#" class="tab-item">
  597. <div class="tab-icon">
  598. <i class="fas fa-file-alt"></i>
  599. </div>
  600. <div>文书</div>
  601. </a>
  602. <a href="#" class="tab-item">
  603. <div class="tab-icon">
  604. <i class="fas fa-user"></i>
  605. </div>
  606. <div>我的</div>
  607. </a>
  608. </div>
  609. </div>
  610. <script>
  611. // 简单页面切换逻辑
  612. function showPage(pageId) {
  613. document.querySelectorAll('.page').forEach(page => {
  614. page.style.display = 'none';
  615. });
  616. document.getElementById(pageId).style.display = 'block';
  617. // 更新底部导航状态
  618. document.querySelectorAll('.tab-item').forEach(tab => {
  619. tab.classList.remove('active');
  620. });
  621. if(pageId === 'home-page') {
  622. document.querySelectorAll('.tab-item')[0].classList.add('active');
  623. }
  624. }
  625. // 模拟AI回复
  626. document.querySelector('.send-btn').addEventListener('click', function() {
  627. const input = document.querySelector('.chat-input input');
  628. if(input.value.trim() === '') return;
  629. const messages = document.querySelector('.chat-messages');
  630. const userMsg = document.createElement('div');
  631. userMsg.className = 'message user-message';
  632. userMsg.textContent = input.value;
  633. messages.appendChild(userMsg);
  634. document.getElementById('loading').style.display = 'flex';
  635. input.value = '';
  636. // 模拟AI思考时间
  637. setTimeout(() => {
  638. document.getElementById('loading').style.display = 'none';
  639. const aiMsg = document.createElement('div');
  640. aiMsg.className = 'message ai-message';
  641. aiMsg.innerHTML = `
  642. <p>您的问题涉及${Math.floor(Math.random()*3)+1}个法律要点,分析如下:</p>
  643. <div class="law-ref">
  644. <strong>相关法条</strong><br>
  645. 根据《民法典》第${Math.floor(Math.random()*1000)+1}条...
  646. </div>
  647. <p>建议:</p>
  648. <ol>
  649. <li>第一步建议操作</li>
  650. <li>第二步建议操作</li>
  651. </ol>
  652. `;
  653. messages.appendChild(aiMsg);
  654. // 滚动到底部
  655. messages.scrollTop = messages.scrollHeight;
  656. }, 1500);
  657. });
  658. </script>
  659. </body>
  660. </html>