Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

167 linhas
4.2 KiB

  1. <template>
  2. <view class="wrap">
  3. <view class="hero-card">
  4. <text class="eyebrow">CONTACT US</text>
  5. <text class="hero-title">联系我们</text>
  6. <text class="hero-desc">使用问题、商业合作都可以通过下面的方式找到我们。</text>
  7. </view>
  8. <view class="ct-card">
  9. <view v-for="item in contacts" :key="item.key" class="row" @click="copy(item.value)">
  10. <view class="row-copy">
  11. <text class="row-label">{{ item.label }}</text>
  12. <text class="row-value">{{ item.value }}</text>
  13. </view>
  14. <view class="row-btn">复制</view>
  15. </view>
  16. </view>
  17. <!-- 微信客服会话只有小程序端有 -->
  18. <!-- #ifdef MP-WEIXIN -->
  19. <view class="ct-card">
  20. <view class="row-copy">
  21. <text class="row-label">在线客服</text>
  22. <text class="row-value light">工作日 09:00 - 18:00 在线,其他时段留言也会回复</text>
  23. </view>
  24. <button class="service-btn" open-type="contact" session-from="mp_contact">
  25. 进入客服中心
  26. </button>
  27. </view>
  28. <!-- #endif -->
  29. <view class="tip-card">
  30. <text class="tip-title">反馈更快被处理的小技巧</text>
  31. <text class="tip-line">· 描述问题时带上出现的页面与操作步骤</text>
  32. <text class="tip-line">· 附上问题截图,我们能更快复现</text>
  33. <text class="tip-line">· 也可以直接在「意见反馈」里提交,会同步给我们</text>
  34. <view class="tip-link" @click="goFeedback">去意见反馈</view>
  35. </view>
  36. </view>
  37. </template>
  38. <script setup>
  39. import { useApp } from '@/utils/useApp.js'
  40. const { toast } = useApp()
  41. // 邮箱与旧版保持一致
  42. const contacts = [
  43. { key: 'contact', label: '联系邮箱', value: 'contact@aionline.cc' },
  44. { key: 'market', label: '商业合作', value: 'market@aionline.cc' }
  45. ]
  46. function copy(content) {
  47. uni.setClipboardData({
  48. data: content,
  49. success: () => toast('已复制'),
  50. fail: () => toast('复制失败')
  51. })
  52. }
  53. function goFeedback() {
  54. uni.navigateTo({ url: '/pages/my/feedback' })
  55. }
  56. </script>
  57. <style lang="scss" scoped>
  58. .wrap {
  59. min-height: 100vh;
  60. padding: 24rpx 28rpx 60rpx;
  61. background: #f3f7fb;
  62. box-sizing: border-box;
  63. }
  64. .hero-card {
  65. padding: 32rpx;
  66. border-radius: 26rpx;
  67. background: linear-gradient(135deg, #1f8cff, #41b9ff);
  68. }
  69. .eyebrow { display: block; color: rgba(255, 255, 255, 0.75); font-size: 21rpx; font-weight: 800; }
  70. .hero-title { display: block; margin-top: 12rpx; color: #fff; font-size: 40rpx; font-weight: 900; }
  71. .hero-desc {
  72. display: block;
  73. margin-top: 12rpx;
  74. color: rgba(255, 255, 255, 0.85);
  75. font-size: 23rpx;
  76. line-height: 1.5;
  77. }
  78. /* 类名带 ct- 前缀,避开全局 .card 的 margin/box-shadow */
  79. .ct-card {
  80. margin-top: 22rpx;
  81. padding: 28rpx;
  82. border-radius: 24rpx;
  83. background: #fff;
  84. }
  85. .row {
  86. display: flex;
  87. align-items: center;
  88. gap: 20rpx;
  89. padding: 16rpx 0;
  90. }
  91. .row + .row { border-top: 2rpx solid #f1f5fa; }
  92. .row-copy { flex: 1; min-width: 0; }
  93. .row-label { display: block; color: #8a95a6; font-size: 23rpx; }
  94. .row-value {
  95. display: block;
  96. margin-top: 8rpx;
  97. color: #172033;
  98. font-size: 29rpx;
  99. font-weight: 800;
  100. word-break: break-all;
  101. }
  102. .row-value.light { color: #7f8896; font-size: 24rpx; font-weight: 400; line-height: 1.5; }
  103. .row-btn {
  104. flex-shrink: 0;
  105. height: 60rpx;
  106. padding: 0 24rpx;
  107. border-radius: 999rpx;
  108. color: #1f8cff;
  109. background: #eef7ff;
  110. font-size: 24rpx;
  111. font-weight: 800;
  112. line-height: 60rpx;
  113. }
  114. .service-btn {
  115. margin-top: 22rpx;
  116. height: 84rpx;
  117. border-radius: 999rpx;
  118. color: #fff;
  119. background: linear-gradient(135deg, #1f8cff, #41b9ff);
  120. font-size: 28rpx;
  121. font-weight: 800;
  122. line-height: 84rpx;
  123. border: none;
  124. &::after { border: none; }
  125. }
  126. .tip-card {
  127. margin-top: 22rpx;
  128. padding: 28rpx;
  129. border-radius: 24rpx;
  130. background: #fff;
  131. }
  132. .tip-title { display: block; margin-bottom: 12rpx; color: #172033; font-size: 28rpx; font-weight: 800; }
  133. .tip-line {
  134. display: block;
  135. margin-top: 8rpx;
  136. color: #7f8896;
  137. font-size: 23rpx;
  138. line-height: 1.6;
  139. }
  140. .tip-link {
  141. margin-top: 20rpx;
  142. height: 72rpx;
  143. border-radius: 999rpx;
  144. color: #1f8cff;
  145. background: #eef7ff;
  146. font-size: 26rpx;
  147. font-weight: 800;
  148. line-height: 72rpx;
  149. text-align: center;
  150. }
  151. </style>