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.

633 lines
16 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// post.js
var Bmob = require('../../utils/bmob.js');
var util = require('../../utils/util.js')
var app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
//导航栏的数据
postBook: true,
postThing: false,
postJob: false,
//发布书本的data值
bookPhoneNumber: '', //用户电话号码
studentId: '', //用户id 10
nickname: '', //用户昵称 11
ownerGender: '', //用户性别0女 1男
bookFound: false, //
bookId: '', //书本id
bookImg: '', //书本图片链接9 物品图片链接
bookName: '', //书本名字 1 物品名字
bookAuthor: '', //书本作者2
bookPress: '', //书本出版社3
phoneNumber: '', //书本价格
isTextbook: false, //是否材料书4
courseName: '', //是资料书的名称
conditions: ["全新", "几乎全新", "少量笔记", "较多笔记", "不影响阅读"], //5
conditionIndex: 2, //
campus: ["温泉校区", "咸安校区"], //6
campusIndex: 0,
currentPrice: '', //售价7 物品价格
postRemark: '', // 备注8
buttonLoading: false,
//物品发布的数据
thingImage: '',
thingName: '',
thingConditions: ["全新", "几乎全新", "九成新", "八成新", "七成新", "六成新", "五成新", "五成新以下"],
thingConditionIndex: 0,
thingPrice: '',
thingCampus: ["温泉校区", "咸安校区"],
thingCampusIndex: 0,
thingPhoneNumber: '',
thingDescribe: '',
buttonLoadingThing: false,
//兼职信息数据
jobName: '',
jobTime: '',
jobPlace: '',
jobRequir: '',
jobSalary: '',
jobWay: '',
jobDescribe: '',
buttonLoadingJob: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function() {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
var that = this;
var studentId = that.data.studentId;
var nickName = that.data.nickName;
wx.getStorage({
key: 'studentId',
success: function(res) {
that.setData({
studentId: res.data
})
},
})
wx.getStorage({
key: 'nickName',
success: function(res) {
that.setData({
nickName: res.data
})
},
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
wx.setNavigationBarTitle({
title: '校园二手交易'
});
wx.showNavigationBarLoading(); //在标题栏中显示加载图标
setTimeout(function () {
wx.stopPullDownRefresh(); //停止加载
wx.hideNavigationBarLoading(); //隐藏加载icon
}, 2000)
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
},
//导航栏的响应事件
choosePostBook: function(e) {
var that = this;
that.setData({
postBook: true,
postThing: false,
postJob: false
})
},
choosePostThing: function(e) {
var that = this;
that.setData({
postBook: false,
postThing: true,
postJob: false
})
},
choosePostJob: function(e) {
var that = this;
that.setData({
postBook: false,
postThing: false,
postJob: true
})
},
//响应事件
bindJobNameInput: function(e) { //兼职名称
this.setData({
jobName: e.detail.value
})
},
bindJobTimeInput: function(e) { //兼职时间
this.setData({
jobTime: e.detail.value
})
},
bindJobPlaceInput: function(e) { //兼职地点
this.setData({
jobPlace: e.detail.value
})
},
bindJobRequirInput: function(e) { //兼职要求
this.setData({
jobRequir: e.detail.value
})
},
bindjobSalaryInput: function(e) { //兼职工资
this.setData({
jobSalary: e.detail.value
})
},
bindJobWayInput: function(e) { //兼职联系方式
this.setData({
jobWay: e.detail.value
})
},
bindjobDescribeInput: function(e) { //兼职描述
this.setData({
jobDescribe: e.detail.value
})
},
//
bindThingImageInput: function() { //商品图片选择
var that = this;
wx.chooseImage({
count: 1,
sourceType: ['album', 'camera'],
success: function(res) {
var thingImage = res.tempFilePaths;
that.setData({
thingImage: thingImage
})
},
})
},
bindThingNameInput: function(e) { //商品名字
this.setData({
thingName: e.detail.value
})
},
bindThingConditionsInput: function(e) { //商品成色
this.setData({
thingConditionIndex: e.detail.value
})
},
bindThingPriceInput: function(e) { //商品价格
this.setData({
thingPrice: e.detail.value
})
},
bindThingCampusInput: function(e) { //校区
this.setData({
thingCampusIndex: e.detail.value
})
},
bindThingPhoneNumberInput: function(e) { //联系电话
this.setData({
thingPhoneNumber: e.detail.value
})
},
bindThingDescribeInput: function(e) { //商品描述
this.setData({
thingDescribe: e.detail.value
})
},
//书本信息
bindBookPhoneNumberInput: function(e) {
this.setData({
bookPhoneNumber: e.detail.value
})
},
bindBookNameInput: function(e) {
this.setData({
bookName: e.detail.value
})
},
bindBookAuthorInput: function(e) {
this.setData({
bookAuthor: e.detail.value
})
},
bindBookPressInput: function(e) {
this.setData({
bookPress: e.detail.value
})
},
bindNeedCourse: function(e) {
this.setData({
isTextbook: e.detail.value
})
},
bindConditionChange: function(e) { //
console.log(e.detail);
this.setData({
conditionIndex: e.detail.value
})
},
bindCampusChange: function(e) {
this.setData({
campusIndex: e.detail.value
})
},
bindCurrentPriceInput: function(e) {
this.setData({
currentPrice: e.detail.value
})
},
bindPostRemarkInput: function(e) {
this.setData({
postRemark: e.detail.value
})
},
bindBookImageInput: function() {
var that = this;
wx.chooseImage({
count: 1,
sourceType: ['album', 'camera'],
success: function(res) {
// console.log()
var bookImg1 = res.tempFilePaths;
console.log(bookImg1);
that.setData({
bookImg: bookImg1
})
},
})
},
bindSubmitBook: function() {
var that = this;
var studentId = that.data.studentId;
if (!studentId) {
wx.showModal({
title: '提示',
content: '请验证您的学生身份',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定')
wx.navigateTo({
url: '../my/mySetting/mySetting',
})
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
} else {
that.setData({
buttonLoading: true
})
var bookName1 = that.data.bookName;
var bookAuthor1 = that.data.bookAuthor;
var bookPress1 = that.data.bookPress;
var isTextbook1 = that.data.isTextbook;
var conditionIndex = that.data.conditionIndex;
var conditions0 = that.data.conditions[conditionIndex];
var campusIndex = that.data.campusIndex;
var campus0 = that.data.campus[campusIndex];
var currentPrice1 = that.data.currentPrice;
var postRemark1 = that.data.postRemark || '无备注或描述';
var bookImg1 = that.data.bookImg;
var studentId = that.data.studentId;
var nickNmae = that.data.nickName;
var bookPhoneNumber = that.data.bookPhoneNumber;
var url = app.globalData.huanbaoBase + 'bookpost.php';
var urlImg = app.globalData.huanbaoBase + 'bookimg.php';
wx.request({
url,
data: {
bookName: bookName1, //书名
bookAuthor: bookAuthor1, //作者
bookPress: bookPress1, //出本社
isTextbook: isTextbook1, //是否资料
conditions: conditions0, //成色
campus: campus0, //校区
currentPrice: currentPrice1, //售价
postRemark: postRemark1, // 备注
studentId: studentId, //用户的学号
nickName: nickNmae, //用户昵称
bookPhoneNumber: bookPhoneNumber, //用户电话
},
method: "POST",
header: {
'content-type': 'application/x-www-form-urlencoded'
},
success: function(res) {
console.log(res);//此处控制台打印出来是乱码
console.log(url);//此处控制台打印正确URL
console.log(urlImg);//此处控制台打印正确URL
var currenttime = util.formatTime(new Date());
var currentdate = util.formatDate(new Date());
var bookId = res.data;
wx.uploadFile({
url: urlImg,
filePath: bookImg1[0],
name: 'file',
formData: {
'date': currentdate,
'datetime': currenttime,
'bookId': bookId
},
success: function(res) {
console.log(res);
wx.showToast({
title: '发布成功',
icon: 'succes',
duration: 2500,
mask: true
})
that.setData({
buttonLoading: false,
bookName: '', //书名
bookAuthor: '', //作者
bookPress: '', //出本社
isTextbook: false, //是否资料
currentPrice: '', //售价
postRemark: '', // 备注
bookImg: '', //图片
bookPhoneNumber: '', //电话号码
})
},
fail: function(res) {
console.log(JSON.stringify(res));
wx.showToast({
title: '发布失败',
icon: 'loading',
duration: 2000
})
that.setData({
buttonLoading: false
})
},
})
},
fail: function(res) {
console.log(JSON.stringify(res));
wx.showToast({
title: '发布失败',
icon: 'loading',
duration: 2000
})
that.setData({
buttonLoading: false
})
},
})
}
},
//发布物品的响应事件
bindSubmitThing: function() {
var that = this;
var studentId = that.data.studentId;
if (!studentId) {
wx.showModal({
title: '提示',
content: '请验证您的学生身份',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定')
wx.navigateTo({
url: '../my/mySetting/mySetting',
})
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
} else {
this.setData({
buttonLoadingThing: true
})
var thingImage = that.data.thingImage; //图片
var thingName = that.data.thingName; //名字
var thingConditionIndex = that.data.thingConditionIndex; //成色索引值
var thingConditions = that.data.thingConditions[thingConditionIndex]; //成色
var thingCampusIndex = that.data.thingCampusIndex; //校区索引值
var thingCampus = that.data.thingCampus[thingCampusIndex]; //校区
var thingDescribe = that.data.thingDescribe || '无备注或描述'; //备注
var thingPhoneNumber = that.data.thingPhoneNumber; //电话
var thingPrice = that.data.thingPrice; //价格
var studentId = that.data.studentId;
var nickName = that.data.nickName;
var url = app.globalData.huanbaoBase + 'thingpost.php';
var urlImg = app.globalData.huanbaoBase + 'thingimg.php';
wx.request({
url,
data: {
thingImage: thingImage,
thingName: thingName,
thingConditions: thingConditions,
thingCampus: thingCampus,
thingDescribe: thingDescribe,
thingPhoneNumber: thingPhoneNumber,
thingPrice: thingPrice,
studentId: studentId,
nickName: nickName,
},
method: "POST",
header: {
'content-type': 'application/x-www-form-urlencoded'
},
success: function(res) {
console.log(res);
var currenttime = util.formatTime(new Date());
var currentdate = util.formatDate(new Date());
var thingId = res.data;
const uploadTask = wx.uploadFile({
url: urlImg,
filePath: thingImage[0],
name: 'file',
formData: {
'date': currentdate,
'datetime': currenttime,
'thingId': thingId,
},
success: function(res) {
console.log(res.data);
wx.showToast({
title: '发布成功',
icon: 'succes',
duration: 2500,
mask: true
})
that.setData({
buttonLoadingThing: false,
thingImage: '',
thingName: '',
thingDescribe: '',
thingPrice: '',
thingPhoneNumber: '',//电话号码
})
},
fail: function(res) {
console.log(JSON.stringify(res));
wx.showToast({
title: '发布失败',
icon: 'loading',
duration: 2000
})
that.setData({
buttonLoadingThing: false
})
},
})
},
fail: function(res) {
console.log(JSON.stringify(res));
wx.showToast({
title: '发布失败',
icon: 'loading',
duration: 2000
})
that.setData({
buttonLoadingThing: false
})
},
})
}
},
//发布兼职的响应事件
bindSubmitJob: function() {
var that = this;
var studentId = that.data.studentId;
if (!studentId) {
wx.showModal({
title: '提示',
content: '请验证您的学生身份',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定')
wx.navigateTo({
url: '../my/mySetting/mySetting',
})
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
} else {
this.setData({
buttonLoadingJob: true
})
var jobName = that.data.jobName; //工作名称
var jobDescribe = that.data.jobDescribe; //职位描述
var jobWay = that.data.jobWay; //联系电话
var jobSalary = that.data.jobSalary; //资薪福利
var jobPlace = that.data.jobPlace; //工作地点
var jobTime = that.data.jobTime; //工作时间
var jobRequir = that.data.jobRequir; //人员要求
var studentId = that.data.studentId;
var nickName = that.data.nickName;
var url = app.globalData.huanbaoBase + 'jobpost.php'
wx.request({
url,
data: {
jobName: jobName,
jobRequir: jobRequir,
jobTime: jobTime,
jobDescribe: jobDescribe,
jobWay: jobWay,
jobSalary: jobSalary,
jobPlace: jobPlace,
studentId: studentId,
nickName: nickName,
},
method: "POST",
header: {
'content-type': 'application/x-www-form-urlencoded '
},
success: function(res) {
console.log(res);
wx.showToast({
title: '发布成功',
icon: 'succes',
duration: 2500,
mask: true
})
that.setData({
buttonLoadingJob: false,
jobName: '',
jobRequir: '',
jobTime: '',
jobDescribe: '',
jobWay: '',
jobSalary: '',
jobPlace: '',
})
},
fail: function(res) {
console.log(JSON.stringify(res));
wx.showToast({
title: '发布失败',
icon: 'loading',
duration: 2000
})
that.setData({
buttonLoadingJob: false
})
},
})
}
}
})