爱简收旧衣按件回收前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

351 lines
9.1 KiB

10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
  1. <template>
  2. <view class="info-page">
  3. <!-- 顶部区域 -->
  4. <view class="header">
  5. <!-- 顶部导航栏 -->
  6. <view class="nav-bar">
  7. <view class="back-icon" @tap="navigateBack">
  8. <uni-icons type="left" size="20"></uni-icons>
  9. </view>
  10. <view class="title">回收侠·推客联盟</view>
  11. </view>
  12. <!-- 特点标签 -->
  13. <view class="feature-tags">
  14. <view class="tag">
  15. <text class="iconfont check"></text>
  16. <text>收益高</text>
  17. </view>
  18. <view class="tag">
  19. <text class="iconfont check"></text>
  20. <text>品类全</text>
  21. </view>
  22. <view class="tag">
  23. <text class="iconfont check"></text>
  24. <text>到账快</text>
  25. </view>
  26. <view class="tag">
  27. <text class="iconfont check"></text>
  28. <text>城市多</text>
  29. </view>
  30. </view>
  31. </view>
  32. <!-- 主要内容区域 -->
  33. <view class="content">
  34. <view class="page-title">了解推广官</view>
  35. <!-- 免费申请区块 -->
  36. <view class="section">
  37. <view class="section-header">
  38. <text class="title">申请推广官</text>
  39. <text class="tag free">免费</text>
  40. </view>
  41. <view class="description">
  42. 免费申请轻松成为推广官该类型推广官可获得基础佣金适合初次尝试推广业务的用户
  43. </view>
  44. <view class="points">
  45. <view class="point">
  46. <text class="point-title">佣金奖励</text>
  47. <text class="point-content">说明推广官成功推广后可获得的佣金比例或计算方式如每成功回收一件旧衣可获得一定金额的佣金或根据回收订单的总金额按一定比例提成</text>
  48. </view>
  49. <view class="point">
  50. <text class="point-title">推广资源</text>
  51. <text class="point-content">介绍平台为推广官提供的推广资源如专属的推广链接二维码宣传海报等以及如何使用这些资源进行推广</text>
  52. </view>
  53. <view class="point">
  54. <text class="point-title">培训支持</text>
  55. <text class="point-content">提及平台会为推广官提供培训资料或线上培训课程帮助推广官更好地了解平台的业务和推广技巧</text>
  56. </view>
  57. </view>
  58. </view>
  59. <!-- 付费升级区块 -->
  60. <view class="section">
  61. <view class="section-header">
  62. <text class="title">升级推广官</text>
  63. <text class="tag paid">付费Y66</text>
  64. </view>
  65. <view class="description">
  66. 付费升级成为更高等级的推广官升级后推广官将享受更高额度的佣金及相关权益适合具备一定推广经验且希望进一步提升收益的用户
  67. </view>
  68. <view class="points">
  69. <view class="point">
  70. <text class="point-title">佣金奖励</text>
  71. <text class="point-content">说明推广官成功推广后可获得的佣金比例或计算方式如每成功回收一件旧衣可获得一定金额的佣金或根据回收订单的总金额按一定比例提成</text>
  72. </view>
  73. <view class="point">
  74. <text class="point-title">推广资源</text>
  75. <text class="point-content">介绍平台为推广官提供的推广资源如专属的推广链接二维码宣传海报等以及如何使用这些资源进行推广</text>
  76. </view>
  77. <view class="point">
  78. <text class="point-title">培训支持</text>
  79. <text class="point-content">提及平台会为推广官提供培训资料或线上培训课程帮助推广官更好地了解平台的业务和推广技巧</text>
  80. </view>
  81. </view>
  82. </view>
  83. <!-- 底部说明 -->
  84. <view class="bottom-note">
  85. 推广官需严格遵守平台规定开展推广活动平台将依据推广效果给予相应佣金期待您的加入与我们共创环保回收新未来
  86. </view>
  87. <!-- 二维码区域 -->
  88. <view class="qrcode-area">
  89. <image class="qrcode" src="/static/logo.png" mode="aspectFit"/>
  90. </view>
  91. </view>
  92. <!-- 底部按钮 -->
  93. <view class="bottom-btns">
  94. <button class="btn apply-btn" @tap="apply">申请推广官</button>
  95. <button class="btn upgrade-btn" @tap="upgrade">升级推广官</button>
  96. </view>
  97. </view>
  98. </template>
  99. <script>
  100. import pullRefreshMixin from '@/pages/mixins/pullRefreshMixin.js'
  101. export default {
  102. mixins: [pullRefreshMixin],
  103. methods: {
  104. async onRefresh() {
  105. // 模拟刷新数据
  106. await new Promise(resolve => setTimeout(resolve, 1000))
  107. uni.stopPullRefresh()
  108. },
  109. navigateBack() {
  110. uni.navigateBack()
  111. },
  112. apply(){
  113. uni.navigateTo({
  114. url: '/pages/component/apply'
  115. })
  116. },
  117. upgrade(){
  118. uni.navigateTo({
  119. url: '/pages/component/upgrad'
  120. })
  121. }
  122. }
  123. }
  124. </script>
  125. <style lang="scss" scoped>
  126. .info-page {
  127. min-height: 100vh;
  128. background: linear-gradient(to right,#9be48f,#42dfc2);
  129. padding-bottom: calc(env(safe-area-inset-bottom) + 100rpx);
  130. }
  131. .header {
  132. background: linear-gradient(to right,#9be48f,#42dfc2);
  133. // padding: 0 30rpx;
  134. padding-bottom: 20rpx;
  135. .nav-bar {
  136. display: flex;
  137. align-items: center;
  138. // justify-content: space-between;
  139. height: 88rpx;
  140. padding-top: var(--status-bar-height);
  141. .title {
  142. font-family: DingTalk JinBuTi;
  143. font-weight: 400;
  144. font-style: italic;
  145. font-size: 50rpx;
  146. line-height: 100%;
  147. letter-spacing: 0%;
  148. vertical-align: bottom;
  149. color: #333;
  150. margin-left: 10%;
  151. }
  152. .back-icon, .more-icon {
  153. width: 88rpx;
  154. height: 88rpx;
  155. display: flex;
  156. align-items: center;
  157. justify-content: center;
  158. .iconfont {
  159. font-size: 40rpx;
  160. color: #333;
  161. }
  162. }
  163. }
  164. .feature-tags {
  165. display: flex;
  166. justify-content: space-between;
  167. width: 90%;
  168. margin: 0 auto;
  169. margin-top: 10rpx;
  170. border: 1px solid rgba(0, 0, 0, 0.3);
  171. border-radius: 20rpx;
  172. background: linear-gradient(to right,#9be48f,#42dfc2);
  173. .tag {
  174. // background: rgba(255, 255, 255, 0.8);
  175. border-radius: 30rpx;
  176. padding: 12rpx 24rpx;
  177. display: flex;
  178. align-items: center;
  179. .check {
  180. color: #4CAF50;
  181. margin-right: 8rpx;
  182. font-size: 24rpx;
  183. }
  184. text {
  185. font-size: 24rpx;
  186. color: #333;
  187. }
  188. }
  189. }
  190. }
  191. .content {
  192. padding: 30rpx;
  193. box-sizing: border-box;
  194. background: linear-gradient(to bottom,#eaffe6,6%,#fcfffb);
  195. border-radius: 40rpx;
  196. .page-title {
  197. font-size: 36rpx;
  198. font-weight: bold;
  199. color: #333;
  200. margin-bottom: 30rpx;
  201. }
  202. .section {
  203. // background: rgba(255, 255, 255, 0.9);
  204. border-radius: 20rpx;
  205. padding: 30rpx;
  206. margin-bottom: 30rpx;
  207. .section-header {
  208. display: flex;
  209. align-items: center;
  210. margin-bottom: 20rpx;
  211. .title {
  212. font-size: 32rpx;
  213. font-weight: bold;
  214. color: #333;
  215. }
  216. .tag {
  217. margin-left: 20rpx;
  218. padding: 4rpx 16rpx;
  219. border-radius: 8rpx;
  220. font-size: 24rpx;
  221. &.free {
  222. background: #fff0d2;
  223. color: #df8155;
  224. border: 1px solid #de835a;
  225. }
  226. &.paid {
  227. background: #fff0d2;
  228. color: #df8155;
  229. border: 1px solid #de835a;
  230. }
  231. }
  232. }
  233. .description {
  234. font-family: PingFang SC;
  235. font-weight: 400;
  236. font-size: 13px;
  237. line-height: 140%;
  238. letter-spacing: 0%;
  239. color: #666;
  240. line-height: 1.6;
  241. margin-bottom: 30rpx;
  242. }
  243. .points {
  244. font-family: PingFang SC;
  245. font-weight: 400;
  246. font-size: 13px;
  247. line-height: 140%;
  248. letter-spacing: 0%;
  249. .point {
  250. margin-bottom: 24rpx;
  251. &:last-child {
  252. margin-bottom: 0;
  253. }
  254. .point-content {
  255. font-size: 26rpx;
  256. color: #666;
  257. line-height: 1.6;
  258. }
  259. }
  260. }
  261. }
  262. .bottom-note {
  263. font-family: PingFang SC;
  264. font-weight: 400;
  265. font-size: 13px;
  266. line-height: 140%;
  267. letter-spacing: 0%;
  268. color: #666;
  269. line-height: 1.6;
  270. text-align: center;
  271. margin: 30rpx 0;
  272. }
  273. }
  274. .qrcode-area {
  275. display: flex;
  276. justify-content: center;
  277. margin: 40rpx 0;
  278. .qrcode {
  279. width: 240rpx;
  280. height: 240rpx;
  281. background: #fff;
  282. padding: 20rpx;
  283. border-radius: 20rpx;
  284. }
  285. }
  286. .bottom-btns {
  287. position: fixed;
  288. bottom: 0;
  289. left: 0;
  290. right: 0;
  291. padding: 20rpx 40rpx;
  292. padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
  293. display: flex;
  294. justify-content: space-between;
  295. background: #fff;
  296. box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05);
  297. .btn {
  298. flex: 1;
  299. height: 88rpx;
  300. line-height: 88rpx;
  301. text-align: center;
  302. border-radius: 44rpx;
  303. font-size: 32rpx;
  304. margin: 0 10rpx;
  305. border: none;
  306. &.apply-btn {
  307. background: #f5f5f5;
  308. // color: #666;
  309. }
  310. &.upgrade-btn {
  311. background: linear-gradient(to right,#9be48f,#42dfc2);
  312. color: #fff;
  313. }
  314. }
  315. }
  316. </style>