合伙人运营小程序
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. const api = require('../../api/index.js');
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. projectList: [], // 项目列表数据
  8. pageNum: 1, // 当前页码
  9. pageSize: 10, // 每页条数
  10. hasMore: true, // 是否有更多数据
  11. loading: false, // 是否正在加载
  12. refreshing: false, // 是否正在下拉刷新
  13. statedata:[{title:'未审核'},{title:'未勘探'},{title:'未签约'},{title:'已启用'}]
  14. },
  15. /**
  16. * 生命周期函数--监听页面加载
  17. */
  18. onLoad(options) {
  19. // 页面加载时获取第一页数据
  20. this.getProjectList();
  21. },
  22. /**
  23. * 获取项目列表数据
  24. * @param {boolean} isRefresh 是否是下拉刷新
  25. */
  26. getProjectList(isRefresh = false) {
  27. // 如果正在加载或没有更多数据,直接返回
  28. if (this.data.loading && !isRefresh) return;
  29. this.setData({
  30. loading: true,
  31. ...(isRefresh && { refreshing: true }), // 刷新时设置refreshing为true
  32. });
  33. let data = {
  34. }
  35. api.request(`/sysproject/selectproject`, 'post', data, { isPublic: false })
  36. .then((data) => {
  37. console.log('实时数据:', data.data);
  38. if (data.code === 200) {
  39. // 处理数据:分割图片URL字符串为数组
  40. const processedList = data.data.map(item => {
  41. // 处理逻辑:
  42. // 1. 先判断 picture 字段是否存在且不为空
  43. // 2. 按逗号分割成数组
  44. // 3. 过滤掉分割后可能出现的空字符串(避免数据异常)
  45. const pictureArray = item.picture
  46. ? item.picture.split(',').filter(url => url.trim() !== '')
  47. : [];
  48. return {
  49. ...item, // 保留原有的所有字段
  50. picture: pictureArray // 替换 picture 为数组格式
  51. };
  52. });
  53. console.log(processedList);
  54. // 更新数据到页面
  55. this.setData({
  56. projectList: processedList
  57. });
  58. }
  59. })
  60. .catch((err) => {
  61. console.error('实时数据请求失败:', err);
  62. });
  63. },
  64. /**
  65. * 下拉刷新
  66. */
  67. onPullDownRefresh() {
  68. this.getProjectList(true);
  69. },
  70. /**
  71. * 上拉加载更多
  72. */
  73. onReachBottom() {
  74. if (this.data.hasMore && !this.data.loading) {
  75. this.getProjectList();
  76. }
  77. },
  78. /**
  79. * 点击列表项进入详情页
  80. */
  81. goToDetail(e) {
  82. const { id } = e.currentTarget.dataset;
  83. wx.navigateTo({
  84. url: `/pages/detail/detail?id=${id}`,
  85. });
  86. },
  87. onCardClick() {
  88. // 跳转到项目详情页
  89. wx.navigateTo({
  90. url: `/pages/projectdetails/index`
  91. });
  92. },
  93. });