Footer.vue 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <script setup>
  2. const footerGroups = [
  3. {
  4. mainLink: { text: '品牌', url: 'https://www.jianyu360.cn/brand/index', target: '_blank' },
  5. links: [
  6. { text: '公司介绍', url: 'https://www.jianyu360.cn/brand/index', target: '_blank' },
  7. { text: '发展历程', url: 'https://www.jianyu360.cn/brand/index#history', target: '_blank' },
  8. { text: '公司动态', url: 'https://www.jianyu360.cn/brand/index#Company_Dynamic', target: '_blank' },
  9. { text: '加入我们', url: 'https://www.jianyu360.cn/brand/index#join_us', target: '_blank' },
  10. { text: '联系我们', url: 'https://www.jianyu360.cn/brand/index#contact_us', target: '_blank' }
  11. ]
  12. },
  13. {
  14. mainLink: { text: '业界团队', url: 'javascript:;' },
  15. links: [
  16. { text: '拓普前端技术文档', url: 'http://192.168.3.42/doc/home/', target: '_blank' },
  17. { text: '凹凸实验室', url: 'https://o2team.github.io/', target: '_blank' },
  18. { text: '淘系前端团队', url: 'https://fed.taobao.org/', target: '_blank' },
  19. { text: '百度 FEX', url: 'https://fex-team.github.io/', target: '_blank' },
  20. { text: 'AlloyTeam', url: 'https://www.alloyteam.com/', target: '_blank' }
  21. ]
  22. },
  23. {
  24. mainLink: { text: '内网相关', url: 'javascript:;' },
  25. links: [
  26. { text: 'OA 办公', url: 'http://1.192.217.143:8985/seeyon/main.do', target: '_blank' },
  27. { text: 'KB 看板', url: 'https://jykb.jydev.jianyu360.com/dashboard', target: '_blank' },
  28. { text: 'Verdaccio', url: 'http://192.168.3.71:4873/', target: '_blank' },
  29. { text: 'Sentry 监控', url: 'https://jysentry.jydev.jianyu360.cn/', target: '_blank' },
  30. { text: 'YAPI 文档', url: 'http://192.168.3.71:4000/', target: '_blank' }
  31. ]
  32. },
  33. {
  34. mainLink: { text: '快捷链接', url: 'javascript:;' },
  35. links: [
  36. { text: 'MDN', url: 'https://developer.mozilla.org/zh-CN/', target: '_blank' },
  37. { text: 'BrowsersList', url: 'https://browserslist.dev/', target: '_blank' },
  38. { text: 'Can I use', url: 'https://caniuse.com/', target: '_blank' },
  39. { text: '可视化正则工具', url: 'https://jex.im/regulex/', target: '_blank' },
  40. { text: '可视化 AST', url: 'https://astexplorer.net/', target: '_blank' }
  41. ]
  42. }
  43. ]
  44. </script>
  45. <template>
  46. <section class='common-footer-container'>
  47. <div class='footer-links'>
  48. <div class='footer-links-content w'>
  49. <div class='footer-service-links'>
  50. <div class='service-links-left'>
  51. <dl v-for='(group, index) in footerGroups' :key='index' class='service-links-item'>
  52. <dt class='service-links-name'>
  53. <a :href='group.mainLink.url' :target='group.mainLink.target'
  54. class='service-link cms-link'>{{ group.mainLink.text }}</a>
  55. </dt>
  56. <dd v-for='(link, linkIndex) in group.links' :key='linkIndex' class='service-links-children'>
  57. <a :href='link.url' :target='link.target' class='service-link cms-link'>{{ link.text }}</a>
  58. </dd>
  59. </dl>
  60. </div>
  61. <div class='service-links-right'>
  62. <div class='service-links-right-content'>
  63. <!-- 右侧内容 -->
  64. <div class='service-links-right-module logo'>
  65. <div class='logo-large'>
  66. <img alt='logo-large' src='https://cdn-ali2.jianyu360.com/images/pc/logo.png?v=24487'>
  67. </div>
  68. </div>
  69. <div class='service-links-right-module customer-phone'></div>
  70. <div class='service-links-right-module qr-list'>
  71. <div class='qr-box'>
  72. <div class='qr-img'>
  73. <img alt='download-app'
  74. src='https://www.jianyu360.cn/front/downloadJyApp/qr?page=pc_bottom&amp;source=pc_scan'>
  75. </div>
  76. <p class='qr-text'>扫码下载</p>
  77. </div>
  78. <div class='qr-box'>
  79. <div class='qr-img'>
  80. <img alt='follow-me' src='https://www.jianyu360.cn/front/share/NQMKDCRFBAgGA0xXSF5XQAQEBABEDgIn'>
  81. </div>
  82. <p class='qr-text'>扫码关注</p>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. <div class='footer-copyright'>
  91. <p class='copyright w'><span>©2015至今 jianyu360.cn 版权所有 </span></p>
  92. </div>
  93. </section>
  94. </template>
  95. <style scoped>
  96. .common-footer-container {
  97. position: relative;
  98. z-index: 11;
  99. }
  100. .footer-links {
  101. padding: 16px 48px;
  102. background-color: #2B2D30;
  103. color: rgba(255, 255, 255, .8);
  104. text-align: center;
  105. font-weight: normal;
  106. }
  107. .footer-service-links {
  108. display: flex;
  109. justify-content: space-between;
  110. text-align: left;
  111. }
  112. .service-links-left {
  113. position: relative;
  114. display: flex;
  115. flex: 1;
  116. }
  117. .service-links-right {
  118. position: relative;
  119. }
  120. a.service-link:active,
  121. a.service-link:hover {
  122. text-decoration: none;
  123. }
  124. .service-links-item {
  125. margin-right: 40px;
  126. flex: 1;
  127. }
  128. .service-links-name {
  129. margin-bottom: 8px;
  130. font-size: 14px;
  131. line-height: 22px;
  132. font-weight: 400;
  133. }
  134. .service-links-name a {
  135. white-space: nowrap;
  136. font-size: inherit;
  137. color: rgba(255, 255, 255, .8);
  138. }
  139. .service-links-children {
  140. margin-left: 2px;
  141. }
  142. .service-links-children a {
  143. display: inline-block;
  144. font-size: 12px;
  145. color: rgba(255, 255, 255, .6);
  146. line-height: 20px;
  147. white-space: nowrap;
  148. }
  149. .service-links-right {
  150. padding-right: 20px;
  151. border-left: 1px solid rgba(255, 255, 255, 0.12);
  152. text-align: right;
  153. }
  154. .service-links-right-content {
  155. display: inline-block;
  156. padding-left: 64px;
  157. }
  158. .service-links-right-content img {
  159. display: block;
  160. width: 100%;
  161. }
  162. .service-links-right-content .logo-large {
  163. width: 132px;
  164. height: 38px;
  165. }
  166. .service-links-right-module {
  167. display: flex;
  168. align-items: center;
  169. justify-content: center;
  170. width: 140px;
  171. }
  172. .service-links-right-content .phone-text {
  173. margin-left: 6px;
  174. }
  175. .customer-phone {
  176. margin-top: 12px;
  177. margin-bottom: 16px;
  178. }
  179. .qr-list {
  180. justify-content: space-between;
  181. }
  182. .qr-box {
  183. display: flex;
  184. flex-direction: column;
  185. align-items: center;
  186. justify-content: space-between;
  187. }
  188. .qr-box .qr-img {
  189. display: block;
  190. width: 64px;
  191. height: 64px;
  192. border-radius: 4px;
  193. overflow: hidden;
  194. }
  195. .qr-box .qr-text {
  196. margin-top: 4px;
  197. font-size: 12px;
  198. line-height: 18px;
  199. color: rgba(255, 255, 255, 0.8);
  200. }
  201. .footer-copyright {
  202. padding-left: 32px;
  203. background-color: #121314;
  204. }
  205. .copyright {
  206. padding: 10px 0 12px;
  207. text-align: left;
  208. font-size: 12px;
  209. line-height: 18px;
  210. color: rgba(255, 255, 255, 0.6);
  211. }
  212. .copyright a:hover {
  213. text-decoration: underline;
  214. }
  215. @media (max-width: 960px) {
  216. .service-links-left,
  217. .footer-service-links {
  218. flex-wrap: wrap;
  219. }
  220. .service-links-right {
  221. border-left-color: transparent;
  222. }
  223. }
  224. </style>