index.jsx 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import React, { useState } from 'react'
  2. import Taro from '@tarojs/taro'
  3. import NavHeader from '@/components/NavHeader/index'
  4. import PrizeListItem from '@/components/PrizeListItem/index'
  5. import ScrollPageRefresh from '@/components/ScrollPageRefresh/index'
  6. import { useModel } from '@/store'
  7. import '@/assets/css/reset.less'
  8. import '@/assets/css/iconfont.less'
  9. import './index.less'
  10. export default function FuLi () {
  11. const { user } = useModel('user')
  12. const [PageList, setPageList] = useState([])
  13. const Refresh = (e) => { // 下拉刷新
  14. setPageList(e)
  15. }
  16. const Push = (e) => { // 上拉加载
  17. setPageList(PageList.concat(e))
  18. }
  19. return (
  20. <view className='FuLi flex-v'>
  21. <NavHeader BgColor='none' Title='福利' IsFixed={true}></NavHeader>
  22. {/* 顶部背景图 */}
  23. <view className='TopBg'>
  24. <image mode='aspectFill' src={require('@/assets/img/bg.jpg').default} class='centerLabel'></image>
  25. </view>
  26. {/* 正文 */}
  27. <view className='flex-item'>
  28. <view>
  29. <ScrollPageRefresh ApiName={`getGoodsList`} Refresh={Refresh} Push={Push}>
  30. <view className='FuLiContent'>
  31. {/* 用户面板 */}
  32. <view className='UserTab'>
  33. <view>
  34. <view className='Info flex-h'>
  35. <view className='Icon'>
  36. {
  37. user !== null &&
  38. <image mode='aspectFill' src={user.avatarurl} class='centerLabel'></image>
  39. }
  40. </view>
  41. <view className='flex-item'>
  42. <text>{user === null ? '未登录' : user.nickname || '未授权用户信息'}</text>
  43. <text>积分{user === null ? '-' : user.points || 0}</text>
  44. </view>
  45. <text className='active'>签到</text>
  46. </view>
  47. <view className='Rule flex-h'>
  48. <view className='flex-item' onClick={() => { Taro.navigateTo({ url: '/pages/FuLi/JiFenGuiZe/index' }) }}>
  49. <text className='iconfont iconjifen'></text>
  50. <text>积分规则</text>
  51. </view>
  52. <view className='flex-item' onClick={() => { Taro.navigateTo({ url: '/pages/FuLi/JiFenMingXi/index' }) }}>
  53. <text className='iconfont iconjifenguize'></text>
  54. <text>积分明细</text>
  55. </view>
  56. </view>
  57. </view>
  58. </view>
  59. {/* 搜索框 */}
  60. {/* <view className='SearchContainer'>
  61. <view>
  62. <text className='iconfont iconsousuo'></text>
  63. <text>附近热搜:火锅</text>
  64. </view>
  65. </view> */}
  66. {/* 积分礼品列表 */}
  67. <view className='PirzeList'>
  68. {
  69. PageList.map((item, index) => (
  70. <view key={`PirzeListItem-${index}`}>
  71. <view>
  72. <PrizeListItem Data={item}></PrizeListItem>
  73. </view>
  74. </view>
  75. ))
  76. }
  77. </view>
  78. </view>
  79. </ScrollPageRefresh>
  80. </view>
  81. </view>
  82. </view>
  83. )
  84. }