Browse Source

// 整合请求 以及首页下拉刷新和上拉加载

master
xjw123456 1 year ago
parent
commit
49b589c369
6 changed files with 207 additions and 43 deletions
  1. +27
    -0
      common/api.js
  2. +39
    -20
      common/axios.js
  3. +48
    -0
      common/functions.js
  4. +8
    -0
      main.js
  5. +5
    -1
      pages.json
  6. +80
    -22
      pages/index/index.vue

+ 27
- 0
common/api.js View File

@ -0,0 +1,27 @@
import request from './axios';
// 获取首页轮播图
export const getBannerList = (params, succCallback, errorCallback) => {
return request('/job-dev/house/applet/banner',params,'GET', succCallback,errorCallback)
};
// 获取地区
export const getAddressList = (params, succCallback, errorCallback) => {
return request('/job-dev/house/applet/indexListPage', params,'GET', succCallback,errorCallback)
};
// 首页获取分类
export const getClassList = (params, succCallback, errorCallback) => {
return request('/job-dev/house/applet/indexClass', params,'GET', succCallback,errorCallback)
};
// 首页获取好房源
export const getHotList = (params, succCallback, errorCallback) => {
return request('/job-dev/house/applet/indexHotList', params,'GET', succCallback,errorCallback)
};
// 请求接口获得后台列表数据信息 = 推荐房源
export const getHouseListPage = (params, succCallback, errorCallback) => {
return request('/job-dev/house/applet/indexListPage', params,'GET', succCallback,errorCallback)
};

+ 39
- 20
common/axios.js View File

@ -1,5 +1,6 @@
import config from "./config";
import tokenUtil from "./token";
import functions from './functions.js';
const doCommand = function (response, var0, var1) {
//console.log(response.code, response.code*1 === 200, response.success,
@ -24,26 +25,44 @@ const doCommand = function (response, var0, var1) {
const request = function (uri, param, method, var0, var1) {
console.log("==> " + config + uri);
uni.request({
url: config + uri,
method: method,
dataType: "json",
data: param,
header: {'x-auth': tokenUtil.token()},
success: function (res) {
let response = res.data;
console.log("<== ", response);
doCommand(response, var0, var1);
},
complete(res) {
//let response = res.data;
//console.log("<== ", response);
//doCommand(response, var0, var1);
},
fail(err) {
console.log("Error:", err);
},
});
// 是否要检测有token
return new Promise((resolve,reject) => {
uni.request({
url: config + uri,
method: method,
dataType: "json",
data: param,
header: {'x-auth': tokenUtil.token()},
success: function (res) {
let response = res.data;
console.log("<== ", response);
if(response.code == 200) {
// 成功 执行成功回调
resolve(response);
}else if (response.code == 401){
// 登录过期 提示并跳转至登录页面
}else if(response.code == 500) {
// 报错提示 是否展示
// functions.showToast(response.message)
resolve(response);
}else {
// 其他情况
reject(response);
}
// doCommand(response, var0, var1);
},
complete(res) {
//let response = res.data;
//console.log("<== ", response);
//doCommand(response, var0, var1);
},
fail(err) {
functions.showToast('数据加载异常!');
console.log("Error:", err);
},
});
})
};
export default request;

+ 48
- 0
common/functions.js View File

@ -0,0 +1,48 @@
function showLoading(title= '加载中...'){
uni.showLoading({
title: title,
duration: 10000,
mask: true
})
}
function hideLoading(){
uni.hideLoading();
}
function showToast (title) {
uni.showToast({
title:title,
icon:"none",
duration: 2000,
mask: false
})
}
function showToastSuccess(title){
uni.showToast({
title: title,
icon: "success",
duration: 2000,
mask:false
})
}
function isExist(value) {
if (value !== null && value !== undefined && value !== "undefined" && value !== "null" && value.length > 0) {
return true;
} else {
return false;
}
}
export default {
showToast: showToast,
showLoading: showLoading,
hideLoading: hideLoading,
showToastSuccess: showToastSuccess,
isExist: isExist
}

+ 8
- 0
main.js View File

@ -9,6 +9,14 @@ Vue.prototype.$tokenUtil = tokenUtil;
Vue.prototype.$token = tokenUtil.token;
Vue.prototype.$user = tokenUtil.user;
/* 导入接口 */
let api = require('./common/api');
Vue.prototype.$api = api;
// 方法
import functions from './common/functions.js'
Vue.prototype.$functions = functions
Vue.mixin({
methods: {
setData: function(obj) {


+ 5
- 1
pages.json View File

@ -1,6 +1,10 @@
{
"pages": [{
"path": "pages/index/index"
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true
}
},{
"path": "pages/index/ihome"
},{


+ 80
- 22
pages/index/index.vue View File

@ -108,7 +108,12 @@
addressList:[],
classList:[],
hotList:[],
list:[]
list:[],
lock: true,
size: 20,
page: 1,
total: null,
is_pull: 1, // 1 2
}
},
onLoad() {
@ -118,6 +123,17 @@
this.getHotList();
this.getHouseListPage();
},
//
onPullDownRefresh() {
this.is_pull = 1;
this.getHouseListPage()
},
//
onReachBottom() {
this.is_pull = 2;
//
this.getHouseListPage()
},
// h5
onReady() {
@ -126,41 +142,83 @@
//
getBannerList(){
this.$request('/job-dev/house/applet/banner',{},'GET', (res) => {
this.bannerList = res;
console.log("111111")
console.log(res[0].image)
})
// this.getBannerList()
this.$api.getBannerList().then(res => {
this.bannerList = res.result;
}).catch(err => {
console.log(err,"错误信息")
});
// this.$request('/job-dev/house/applet/banner',{},'GET', (res) => {
// this.bannerList = res;
// console.log("111111")
// console.log(res[0].image)
// })
},
//
getAddressList(){
this.$request('/job-dev/house/applet/indexListPage',{},'GET', (res) => {
this.addressList = res.records;
console.log(res.records)
})
this.$api.getAddressList().then(res => {
this.addressList = res.result;
}).catch(err => {
console.log(err,"错误信息")
});
// this.$request('/job-dev/house/applet/indexListPage',{},'GET', (res) => {
// this.addressList = res.records;
// console.log(res.records)
// })
},
//
getClassList(){
this.$request('/job-dev/house/applet/indexClass',{},'GET', (res) => {
this.classList = res.records;
console.log(res.records)
})
this.$api.getClassList().then(res => {
this.classList = res.result;
}).catch(err => {
console.log(err,"错误信息")
});
// this.$request('/job-dev/house/applet/indexClass',{},'GET', (res) => {
// this.classList = res.records;
// console.log(res.records)
// })
},
//
getHotList(){
this.$request('/job-dev/house/applet/indexHotList',{},'GET', (res) => {
this.hotList = res.records;
console.log(res.records)
})
this.$api.getHotList().then(res => {
this.hotList = res.result.records;
}).catch(err => {
console.log(err,"错误信息")
});
// this.$request('/job-dev/house/applet/indexHotList',{},'GET', (res) => {
// this.hotList = res.records;
// console.log(res.records)
// })
},
// =
getHouseListPage() {
this.$request('/job-dev/house/applet/indexListPage',{},'GET', (res) => {
this.list = res.records;
console.log(res.records)
})
// is_pull 1 2
const is_pull = this.is_pull;
this.$api.getHouseListPage().then(res => {
this.list = res.result;
if(is_pull === 1) {
//
this.page = 1;
this.list = res.result.records;
}else {
//
this.page +=1;
this.list = this.list.concat(res.result.records);
}
}).catch(err => {
console.log(err,"错误信息")
});
// this.$request('/job-dev/house/applet/indexListPage',{},'GET', (res) => {
// this.list = res.records;
// console.log(res.records)
// })
}
//
//
}
}


Loading…
Cancel
Save