sub.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <script setup>
  2. import { ref, onMounted } from "vue";
  3. import Container from "../../components/Container/Container.vue";
  4. import { request } from "@/utils/request";
  5. const src = ref("");
  6. const count = ref(3000);
  7. onMounted(() => {
  8. request(
  9. "api/question_bank/question_reception/channel_active_code/random_detail"
  10. ).then((res) => {
  11. src.value = res.data.qr_code;
  12. });
  13. request(
  14. "api/question_bank/question_reception/user_share_forms/get_number_of_invitations"
  15. ).then((res) => {
  16. count.value += res.data;
  17. });
  18. });
  19. </script>
  20. <template>
  21. <Container title="客服" headerColor="#fff">
  22. <template #bg>
  23. <view class="bg"></view>
  24. </template>
  25. <view class="Container">
  26. <view class="text-lg">添加专属助教老师为</view>
  27. <view class="text-lg">您答疑解惑</view>
  28. <view class="text-lg">限时领取《药品速记口诀》</view>
  29. <view class="qr-code">
  30. <div class="card">
  31. <img :src="src" show-menu-by-longpress class="img" alt="" />
  32. <span>可长按识别二维码</span>
  33. </div>
  34. </view>
  35. <div class="success">
  36. <span class="count">{{ count }}人</span>已免费领取成功啦~
  37. </div>
  38. </view>
  39. </Container>
  40. </template>
  41. <style lang="scss">
  42. .bg {
  43. width: 750rpx;
  44. height: 100%;
  45. background: url(https://openwork-oss.oss-cn-shenzhen.aliyuncs.com/uploads/question/2025/06/wqynNcvdPgfxPd8sGeFkumFV8rTmCQqFsxUBAXm4.png);
  46. background-size: 100% 100%;
  47. box-sizing: border-box;
  48. }
  49. .qr-code {
  50. width: 100%;
  51. height: 100%;
  52. margin-top: 40px;
  53. display: flex;
  54. flex-direction: column;
  55. align-items: center;
  56. color: $success;
  57. gap: 12rpx;
  58. .card {
  59. display: flex;
  60. align-items: center;
  61. justify-content: center;
  62. flex-direction: column;
  63. padding: 60rpx;
  64. background-color: #fff;
  65. gap: 30rpx;
  66. border-radius: 40rpx;
  67. width: calc(100%);
  68. box-sizing: border-box;
  69. color: #333;
  70. .img {
  71. width: 448rpx;
  72. height: 448rpx;
  73. }
  74. }
  75. }
  76. .text-lg {
  77. font-size: 48rpx;
  78. font-weight: bold;
  79. color: #e85c00;
  80. }
  81. .success {
  82. background-color: #feffe7;
  83. padding: 12rpx;
  84. border-radius: 50rpx;
  85. font-weight: 500;
  86. font-size: 28rpx;
  87. .count {
  88. color: $error;
  89. }
  90. }
  91. .Container {
  92. display: flex;
  93. flex-direction: column;
  94. align-items: center;
  95. justify-content: center;
  96. padding: 70rpx 20rpx;
  97. gap: 20rpx;
  98. }
  99. </style>