const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {} let app = getApp(); let config = require("../../config/config.js"); let Http = require("../../utils/HttpBasics"); let Util = require("../../utils/util"); const imgurl = require("../../utils/imgurl"); Page({ data: { parkUrl: imgurl.park.url, jianUrl: imgurl.jian.url, qidaiUrl: imgurl.qidai.url, addUrl: imgurl.add.url, quanUrl: imgurl.quan.url, cheUrl: imgurl.che.url, ruleUrl: imgurl.rule.url, wentiUrl: imgurl.wenti.url, park: null, carList: [], payList: [], addCar: null, tcq: 2, flag: "", extraData: {}, desc: '', title: '', indicatorDots: true, autoplay: false, interval: 5000, duration: 1000, current: 0, stopFees: {}, scroll: true, ifHaveCarModular:"", canIUse: wx.canIUse("navigator") }, /** * 车牌轮播滑动 */ onSlideChangeEnd: function (e) { var that = this; /** * 获得当前的车牌号码 */ var listCardNum = (that.data.carList)[e.detail.current].carNumber; that.setData({ listCardNum: listCardNum }); /** * 获得停车费用 */ if (that.data.scroll) { that.getStopFee(listCardNum); } }, //停车费用为0 paySuccess:function(){ wx.showModal({ title: '支付成功', content: '请尽快离场', showCancel:false }) }, gotomange: function () { wx.navigateTo({ url: '/pages/managelicenseplate/managelicenseplate', }) }, bindfail: function (res) { console.log(res) }, gotoetcp: function () { wx.navigateToMiniProgram({ appId: that.data.etcpAppId, extraData: this.data.extraData, envVersion: 'release', path: "pages/main/main", }) }, showquan: function () { wx.navigateTo({ url: '/pages/passCar/couponList/couponList', }) }, gotodetail: function (e) { wx.showModal({ title: '缴费规则', content: e.target.dataset.rule, showCancel: false, }) }, onShow: function (options) { var that = this; that.setData({ etcpAppId: extConfig.attr.etcpAppId, etcpVersion: extConfig.attr.etcpVersion, etcpCallbackUrl: extConfig.attr.etcpCallbackUrl, ifHaveCarModular: extConfig.attr.ifHaveCarModular }) if (app.globalData.token) { that.getList(); that.init(); } else { that.init(); } /** * 只有用户选择了优惠券 * 才会进行券和车牌的绑定 */ if (wx.getStorageSync("chosed") && that.data.quanid) { that.getStopFee(that.data.listCardNum); that.bindCoupon(that.data.quanid); wx.setStorage({ key: 'chosed', data: '', }) }; if (app.globalData.token) { that.initUsrCarList(); } if (that.data.addCar) { // 绑车牌 if (app.globalData.carLogin) { that.bindCar(that.data.addCar); } else { that.bindCar(that.data.addCar); } that.setData({ addCar: null }); } }, onLoad: function (options) { var that = this; /** * 获得分享小程序的 * title * desc */ Http.get({ url: config.api.getWeapNote, data: { appId: config.weapp.AppId, } }) .then(res => { let weapNote = JSON.parse(res.data.weapNote); that.setData({ desc: weapNote.carpage.desc, title: weapNote.carpage.title }) }) .catch(err => { console.log(err); }) // 登录 var scene = decodeURIComponent(options.scene); that.setData({ scene: scene }); if (app.globalData.token) { } else { app.getLocation(); that.userLogin() } }, /** * 用户登录 */ userLogin: function () { var that = this; // 登录 wx.login({ success: ({ code }) => { wx.getSystemInfo({ success: function (res) { that.setData({ systemInfo: JSON.stringify(res) }) } }) var usrdata = { appId: config.weapp.AppId, code: code, sceneAddress: app.globalData.sceneAddress, scene: that.data.scene, systemInfo: that.data.systemInfo }; if (app.globalData.locationInfo) { usrdata = { appId: config.weapp.AppId, code: code, sceneAddress: app.globalData.sceneAddress, latitude: "" + app.globalData.locationInfo.latitude, longitude: "" + app.globalData.locationInfo.longitude, scene: that.data.scene, systemInfo: that.data.systemInfo }; } Http.post({ url: config.api.login, data: usrdata }) .then(res => { app.globalData.token = res.data.token; Http.setToken(res.data.token); that.checkUserCarStatus(); // that.getUserInfo(); that.getList(); that.init(); that.initUsrCarList(); return Http.get({ url: config.api.checkUserStatus, data: {} }); }) .then(res => { }) .catch(err => { if (err.code == 11004) { // 用户昵称未授权 wx.redirectTo({ url: "/pages/getuserinfo/index" }); } else { wx.showModal({ title: '提示', content: err.errMsg, showCancel: false }) } }); } }); }, /** * 检查用户是否有车 */ checkUserCarStatus: function () { var that = this; Http.get({ url: config.api.userCarCount, data: {} }).then(res => { if (res.data > 0) { // 用户名下有车 app.globalData.phone = res.data.phone; app.globalData.supportCar = true; // 共同登录 that.userCarLogin(); } }) .catch(err => { }) }, /** * 获取用户信息 */ // getUserInfo: function () { // // 获取用户信息 // wx.getSetting({ // success: res => { // if (res.authSetting["scope.userInfo"]) { // // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 // wx.getUserInfo({ // success: res => { // // 可以将 res 发送给后台解码出 unionId // } // }); // } // } // }) // }, jumpToAdd: function () { wx.navigateTo({ url: `/pages/addPark/addPark?flags=managepalte` }); }, passc: function () { wx.navigateTo({ url: '/pages/ques/ques', }) }, /** * 券绑定车牌 */ bindCoupon: function (quanid) { var that = this; /** * etcp */ var etcpData = { etcpToken: app.globalData.etcpToken, carNumber: that.data.listCardNum, couponOrderId: quanid }; /** * 停简单 */ var tjdData = { carNumber: that.data.listCardNum }; var postCouponData = app.globalData.parkVendor == 1 ? etcpData : tjdData; Http.post({ url: config.api.getCarCoupon, data: postCouponData }) .then(res => { that.initUsrCarList(); }) .catch(err => { console.log(err) wx.showToast({ title: err.message, icon: 'none', duration: 2000, mask: false }); }) }, /** * 选择优惠券 */ gotoquan: function () { let that = this; if (that.data.quanid) { wx.navigateTo({ url: `/pages/passCar/choicecoupon/choicecoupon?quanid=${that.data.quanid}`, }) } else { wx.navigateTo({ url: '/pages/passCar/choicecoupon/choicecoupon', }) } }, //获取名下停车券列表 getList() { var that = this; Http.get({ url: config.api.couponOrderCarList + "?type=5&couponOrderStatus=0", data: { pageNum: 1, pageSize: 8, couponOrderStatus: 0 } }).then(res => { that.setData({ couponList: res.data.list }); }) .catch(err => { console.log(err) }) }, /** * 共同登录 */ init: function (carNumber) { var that = this; app.parkInitCallback = token => { that.initPark(); that.getParkStatus(); if (!app.globalData.carLogin) { /** * 判断是否授权手机号 */ Http.get({ url: config.api.checkPhoneStatus, data: {} }) .then(res => { Http.post({ url: config.api.carInit, data: { phone: app.globalData.phone } }).then(res => { app.globalData.carLogin = true; app.globalData.parkVendor = res.data.vendor; if (res.data.token) { app.globalData.etcpToken = res.data.token; } /** * 获得停车费用 */ that.initUsrCarList("flags"); }); }) .catch(err => { if (err.code == 11005) { // 用户手机未授权 /** * 将值传到用户手机号授权的页面 * */ wx.redirectTo({ url: "/pages/getphoneInfo/index" }); } else if (err.code == 11006) { // 用户手机已加密 wx.redirectTo({ url: "/pages/phoneinput/phoneinput" }); } else { wx.showToast({ title: err.errMsg, icon: 'none', duration: 2000, mask: false }); } }) } }; if (app.globalData.token && app.globalData.token != null) { app.parkInitCallback(app.globalData.token); } }, bindCar: function (carNum) { var that = this; // ETCP var etcpData = { etcpToken: app.globalData.etcpToken, carNumber: carNum }; var tjdData = { carNumber: carNum }; var postData = app.globalData.parkVendor == 1 ? etcpData : tjdData; Http.post({ url: config.api.bindCar, data: postData }) .then(res => { that.setData({ addCar: null }); that.initUsrCarList(); wx.showModal({ title: "提示", showCancel: false, content: "绑车牌成功!", success: function () { } }); }) .catch(error => { wx.showModal({ title: "提示", showCancel: false, content: error.data.message, success: function () { } }); }); }, /** * 车场信息获取 */ initPark: function () { var that = this; Http.get({ url: config.api.getParkInfo, data: {} }) .then(res => { that.setData({ park: res.data }) }) .catch(err => { console.log(err); // wx.showToast({ // title: err.message, // icon: 'none', // duration: 2000, // mask: false // }); }) }, /** * 车场状态获取 */ getParkStatus: function () { var that = this; Http.get({ url: config.api.getParkStatus, }) .then(res => { console.log(res) }) .catch(err => { console.log(err) // wx.showToast({ // title: err.message, // icon:"none" // }) }) }, /** * 绑定车获取 */ initUsrCarList: function (flag) { var that = this; Http.get({ url: config.api.getUserCarList, data: {} }).then(res => { that.setData({ carList: res.data }); /** * flag ==flags * 表示从首页onShow进来的 */ if (flag == "flags" && res.data.length > 0) { var listCardNum = res.data[0].carNumber; that.setData({ listCardNum: listCardNum }) /** * 获得停车费用 */ that.getStopFee(listCardNum); } }) .catch(err => { wx.showToast({ title: err.message, icon: 'none', duration: 2000, mask: false }); }) }, /** * 获得停车费用修改 */ getStopFee: function (carNumber) { let that = this; let postData = app.globalData.parkVendor == 1 ? { etcpToken: app.globalData.etcpToken, carNumber: carNumber } : { carNumber: carNumber, outCarId: outCarId }; Http.post({ url: config.api.getCarStopFee, data: postData }) .then(res => { console.log(res) var extraDataStr = { params: { token: app.globalData.etcpToken, syncId: res.data.orderId, payType: 6, // 小程序支付 CarNumber: carNumber, returnUrl: that.data.etcpCallbackUrl, source: "FUMAO-001", actionId: "1" //操作ID,1:小程序支付 } }; that.setData({ extraData: extraDataStr, stopFees: res.data, timecha: Util.timecha(res.data.exitTime, res.data.entranceTime) }); that.setData({ scroll: true }) }) .catch(error => { that.setData({ stopFees: {}, scroll: true }) }); }, /** * 下拉刷新 */ onPullDownRefresh: function (e) { let that = this; that.initUsrCarList("flags"); wx.stopPullDownRefresh(); }, // 用户点击右上角分享 onShareAppMessage: function () { return { title: this.data.title, desc: this.data.desc, success: function (res) { wx.showToast({ title: "分享成功", duration: 1000, icon: "success" }); } } } });