SelfRidicule fb83bd6e31 描述:1
2024-03-06 21:38:07 +08:00

266 lines
6.3 KiB
JavaScript

let app = getApp()
import Notify from '@vant/weapp/notify/notify';
import {
selfFormatTimeYMD,
selfFormatTimeHM,
twoTimeIntervalReturnHours
} from "../../../utils/util.js"
import {
selectReservationByIdRq,
selectCoordinateRq,
roomContentIsVisitorRq,
roomContentAddVisitorRq
} from "../../../api/meeting/meetingRoom.js"
import {
loginRq,
registerPhone
} from "../../../api/login/login.js"
Page({
/**
* 页面的初始数据
*/
data: {
IMG_NAME: app.IMG_NAME,
mapData: {
// latitude: 33.601291,
// longitude: 119.031829,
// markers: [{
// id: 1,
// latitude: 33.601291,
// longitude: 119.031829,
// title: '淮安茂业天地购物中心'
// }]
},
id: null,
detail: null,
address: {},
openid: null,
authorizationShow: true,
participateShow: false,
openDoorShow: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let _this = this;
_this.setData({
...options
})
// 获取详情
_this.getDetail();
// 获取地址信息
_this.getAddress()
// 自动登录获取openid
_this.autoLogin()
},
// 获取地址信息
getAddress() {
let _this = this;
selectCoordinateRq().then(res => {
_this.setData({
address: res,
mapData: {
latitude: res.lat,
longitude: res.lng,
markers: [{
id: 1,
latitude: res.lat,
longitude: res.lng,
title: res.address,
}]
},
})
})
},
// 获取详情
getDetail() {
let _this = this;
let id = _this.data.id;
selectReservationByIdRq(id).then(res => {
let detail = res.data;
// 时间段
detail.timeSlot = selfFormatTimeYMD(detail.startTime) + ' ' + selfFormatTimeHM(detail.startTime) + '~' + selfFormatTimeHM(detail.endDate);
_this.setData({
detail
})
})
},
// 打开地图
openMap(e) {
console.log('openMap', e);
let _this = this;
wx.openLocation({
name: _this.data.address.address,
latitude: _this.data.address.lat,
longitude: _this.data.address.lng,
})
},
// 自动登录获取openid
autoLogin() {
let _this = this;
wx.login({
success(wxRes) {
loginRq({
"jsCode": wxRes.code
}).then(res => {
console.log('loginRq', res);
_this.setData({
openid: res.openid
})
// 判断用户是否注册
if (res.token) {
// 用户授权成功
_this.userAuthorizationSuccess(res.openid, res.user, res.token.token)
}
})
}
})
},
// 获取手机号
getPhoneNumber(e) {
let _this = this;
console.log('getPhoneNumber', e)
registerPhone({
"code": e.detail.code,
"openid": _this.data.openid
}).then(res => {
console.log('registerPhone', res);
// 用户授权成功
_this.userAuthorizationSuccess(res.openid, res.user, res.token.token)
})
},
// 用户授权成功
userAuthorizationSuccess(openid, user, token) {
let _this = this;
_this.setData({
authorizationShow: false
})
// 清空所有缓存
wx.clearStorageSync()
// 存储用户信息
wx.setStorageSync('openid', openid)
wx.setStorageSync('user', user)
wx.setStorageSync('userId', user.id)
wx.setStorageSync('token', token)
// 判断是否参与过会议
_this.whetherParticipate();
},
// 判断是否参与过会议
whetherParticipate() {
let _this = this
roomContentIsVisitorRq({
"userId": _this.data.detail.userId,
"participantId": wx.getStorageSync('userId'),
"reservationId": _this.data.detail.id,
}).then(res => {
console.log('whetherParticipate', res);
if (res.code == 0) { // 未预约
_this.setData({
participateShow: true
})
} else { // 已预约
_this.setData({
openDoorShow: true
})
}
})
},
// 参与会议
participateMeeting() {
let _this = this;
roomContentAddVisitorRq({
"userId": _this.data.detail.userId,
"participantId": wx.getStorageSync('userId'),
"reservationId": _this.data.detail.id,
"participantPhone": wx.getStorageSync('user').mobile
}).then(res => {
console.log('participateMeeting', res);
if (res.code == 0) { //参与成功
_this.setData({
participateShow: false,
openDoorShow: true
})
} else { //参与失败
Notify({
type: 'danger',
message: res.msg
});
}
})
},
// 开门
openDoor(){
Notify({
type: 'danger',
message: '尚未完成!'
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})