Footer.vue 6.8 KB

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