yuminge-app/yun-min-program-plugin-master/packageH/project_verification/VerificationProjectList/VerificationProjectList.js

162 lines
4.4 KiB
JavaScript

const { default: DPagination } = require("../../../utils/DPagination");
const { getProjectNameLang } = require("../common");
var location = require("../../../mybehaviors/location/location");
// packageH/project_verification/VerificationProjectList/VerificationProjectList.js
const App = getApp();
const NearbyProjectPagination = new DPagination("nearbyProjects");
let Location = null;
const ProjectLangName = getProjectNameLang();
Page({
behaviors: [location],
/**
* 页面的初始数据
*/
data: {
carousels: [],
recommendProjects: [],
categories: [],
category_10: [],
nearbyProjects: [],
projectNameLang: getProjectNameLang(),
showLocation: false,
Height: 0,
LastHeight: 0
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: async function (options) {
this._getLocation((res,point) => {
Location = {
point: point
};
this.setData({
showLocation: true,
});
wx.setNavigationBarTitle({
title: ProjectLangName + "列表",
});
NearbyProjectPagination.bind(this);
// NearbyProjectPagination.clean();
this.getPageData();
this.getNearbyProjects();
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
this.getNearbyProjects();
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {},
imgHeight: function (e) {
var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
var imgh = e.detail.height; //图片高度
var imgw = e.detail.width; //图片宽度
var swiperH = winWid * imgh / imgw + "px"; //等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度 ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
if (parseInt(swiperH) > this.data.LastHeight) {
this.setData({
Height: swiperH, //设置高度
});
this.data.LastHeight = parseInt(swiperH);
}
},
getPageData() {
const url = App.getNetAddresss("plugin.store-projects.frontend.index.get-data");
let point = App.qqMapTransBMap(parseFloat(Location.point.lng), parseFloat(Location.point.lat));
App._getNetWork({
url,
data: {
lng: point.lng,
lat: point.lat,
},
success: ({ data: { data } }) => {
this.setData({
carousels: data.carousels,
recommendProjects: data.projects,
categories: data.project_category_list || [],
});
let category_10 = this.chunk(this.data.categories, 10);
this.setData({
category_10: category_10,
});
},
});
},
chunk(arr, n) {
var result = [];
for (var i = 0, len = arr.length; i < len; i += n) {
result.push(arr.slice(i, i + n));
}
return result;
},
goCategory(e) {
let id = e.currentTarget.dataset.id;
wx.navigateTo({
url: '/packageH/project_verification/CategoryProjectList/CategoryProjectList?category_id='+id,
});
},
getNearbyProjects() {
if (NearbyProjectPagination.finished || NearbyProjectPagination.loading) {
return;
}
wx.showLoading();
NearbyProjectPagination.loading = true;
const url = App.getNetAddresss("plugin.store-projects.frontend.project.get-list");
let point = App.qqMapTransBMap(parseFloat(Location.point.lng), parseFloat(Location.point.lat));
App._getNetWork({
url,
data: {
lng: point.lng,
lat: point.lat,
page: NearbyProjectPagination.loadPage,
},
success: ({ data: { data: response } }) => {
wx.hideLoading();
if (response.last_page == response.current_page || response.data.length < response.per_page) {
NearbyProjectPagination.finished = true;
}
NearbyProjectPagination.push(response.data);
NearbyProjectPagination.loading = false;
},
fail() {
wx.hideLoading();
NearbyProjectPagination.loading = false;
},
});
},
});