123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745 |
- //获取应用实例
- const app = getApp();
- var token = wx.getStorageSync('token');
- const util = require('../../../utils/utils.js');
- var mytime = null;
- Page({
- data: {
- showOnlinePhone: wx.getStorageSync('home').setting,
- markers: [], //显示单车、停车的P
- longitude: '0',
- latitude: '0',
- height1: '', //兼容自定义导航栏的高度
- show: false, //车子详情的布尔值
- id: '', //停车区域的ID
- background: false, //弹窗的背景颜色
- realname: false, //当前是否已经实名
- deposit: false, //当前是否交押金
- userStatus: '', //用户的一些状态 是否交押金等 0
- scanfail: false, //扫码失败弹窗
- is_pay_order: '', //检测当前是否有订单未支付
- code: '', //点击立即用车 把编号赋值给code
- over: false, //关闭图标
- over1: false, //扫码失败关闭图标
- location: '', //是否有位置权限
- screenHeight: '', //屏幕可视高度
- bluetooth: false, //是否开启蓝牙 false开始 true未开启
- box_no: '', //中控编号
- abnormal: '', //提示账号异常
- ads: [],
- mid: [],
- currentSwiper: 0,
- center_currentSwiper: 0,
- bike_no: undefined,
- stop_info: [],
- notice: [], //公告内容
- animationData: {},
- tabbar_index: 0,
- zoom: 18,
- versions: false, //版本过低弹窗
- chooseSize: false,
- animationData1: {},
- arrowDown: '',
- stop_type: '',
- marqueePace: 0.6, //滚动速度
- marqueeDistance: 520, //初始滚动距离 用到
- size: 26, //用到
- marqueeWidth: 520, //用到
- length: '',
- swiperCurrent: 0,
- midbolear:'',
- per_money:'',
- time:'',
- img:app.globalData.imgUrl,
- title:app.globalData.title
- },
- onLoad: function (query) {
- var that = this;
- console.log(query)
- wx.setNavigationBarTitle({
- title: app.globalData.title
- })
- if (query.q) {
- var code1 = decodeURIComponent(query.q)
- var index = code1.lastIndexOf("\=");
- var code = code1.substring(index + 1, code1.length);
- console.log(code)
- that.setData({
- bike_no: code
- })
- }
- if(query.scene){
- app.globalData.id = query.scene
- }
- this.setData({
- height1: app.globalData.statusBarHeight,
- screenHeight: app.globalData.screenHeight
- })
- this.getUser();
- this.userState();
- this.location()
- },
- guanbi() {
- this.setData({
- mid: []
- })
- var timestamp = Date.parse(new Date())/1000+43200;
- // 缓存过期时间
- wx.setStorageSync('midTimes', timestamp)
- },
- swiper: util.throttle(function (e) {
- //点击广告页
- // console.log(e)
- var type = e.currentTarget.dataset.type;
- var name = e.currentTarget.dataset.name;
- var detail = e.currentTarget.dataset.detail;
- var id = e.currentTarget.dataset.id;
- if (type != 'clilk_null') {
- if (type == 'wxUrl') {
- wx.navigateTo({
- url: '/' + detail,
- })
- } else if (type == 'phone') {
- wx.makePhoneCall({
- phoneNumber: detail,
- })
- } else {
- wx.navigateTo({
- url: '/pages/swiper/swiper?type=' + type + '&url=' + id + '&name=' + name + '&detail=' + detail,
- })
- }
- }
- }, 1000),
- swiperChange: function (e) {
- if (this.data.currentSwiper == 0 && this.data.swiperCurrent > 1) { //卡死时,重置current为正确索引
- this.setData({
- currentSwiper: this.data.swiperCurrent
- });
- } else { //正常轮转时,记录正确页码索引
- this.setData({
- swiperCurrent: e.detail.current
- });
- }
- },
- center_swiperChange: function (e) {
- this.setData({
- center_currentSwiper: e.detail.current
- })
- },
- ads: function (id) {
- var that = this;
- var area_id = ''
- if (id != undefined) {
- area_id = id
- } else {
- area_id = 0
- }
- app.request("/ads?area_id=" + area_id + "&position[]=mid&position[]=header&position[]=footer", '', "GET").then(res => {
- console.log(res)
- if (res.statusCode == 200 && res.data!='') {
-
- if (res.data.header != undefined || res.data.header != 'undefined') {
- that.setData({
- ads: res.data.header
- })
- }
- if (res.data.mid != undefined || res.data.mid != 'undefined') {
- that.setData({
- mid: res.data.mid
- })
- }
- }
- }).catch(err => {
- console.log(err)
- })
- },
- run1: function () {
- var that = this;
- mytime = setInterval(function () {
- if (-that.data.marqueeDistance < that.data.length) {
- that.setData({
- marqueeDistance: that.data.marqueeDistance - that.data.marqueePace,
- })
- } else {
- clearInterval(mytime);
- that.setData({
- marqueeDistance: that.data.marqueeWidth
- });
- that.run1();
- }
- }, 6)
- },
- notice: function () {
- var that = this;
- var area_id = ''
- if (wx.getStorageSync('home').id != undefined) {
- area_id = wx.getStorageSync('home').id
- }
- var data = {
- 'area_id': area_id
- }
- app.request("/index/an", data, "GET").then(res => {
- if (res.statusCode == 200) {
- console.log(res);
- if (res.data != '') {
- that.setData({
- notice: res.data
- });
- var length = res.data.description.length * that.data.size; //计算文字的长度
- that.setData({
- length: length
- })
- if (that.data.length > that.data.marqueeWidth) {
- that.run1();
- } else {
- that.setData({
- marqueeDistance: 0
- })
- }
- }
- }
- })
- },
- tap_notice: util.throttle(function (e) {
- // console.log(e)
- var id = e.currentTarget.dataset.id;
- wx.navigateTo({
- url: '/pages/public_details/public_details?id=' + id,
- })
- }, 1000),
- search: util.throttle(function () {
- //点击首页的搜索框
- wx.navigateTo({
- url: '/pages/navigation/navigation',
- })
- }, 1500),
- sweepcode: util.throttle(function () {
- this.setData({
- background: false,
- scanfail: false,
- over1: false
- })
- this.sweep_code()
- }, 1500),
- gocode: util.throttle(function () {
- //点击去试试看、使用车牌号开锁
- this.setData({
- background: false,
- scanfail: false,
- over1: false
- })
- wx.navigateTo({
- url: '/pages/input_number/input_number',
- })
- }, 1500),
- home: function () {
- //请求首页接口和一些设置。
- var that = this;
- if (that.data.longitude != '' && that.data.latitude != '' && token != '') {
- //116.411027
- var data = {
- 'lat': that.data.latitude,
- 'lng': that.data.longitude
- }
- app.request('/pages/home?include=setting',data,'POST').then(res=>{
- if (res.statusCode == 200) {
- var data = res.data;
- console.log(data)
- if (data.points != []) {
- that.setData({
- id: data.id,
- setting: data.setting,
- per_money: Number(data.setting.starting_price),
- })
- if (!data.id) return
- that.ads(data.id)
- }
- clearInterval(mytime)
- setTimeout(function () {
- that.notice();
- }, 500)
- if (res.data.status_code == 423) {
- wx.getLocation({
- success: function (res) {
- wx.showModal({
- title: '提示',
- content: '您附近暂无运营区域~',
- showCancel: false
- })
- },
- fail: function (err) {
- that.setData({
- location: true
- })
- }
- })
- }
- wx.setStorageSync('setting', data.setting)
- wx.setStorageSync('home', data)
- }
- })
- }
- },
- html5(e){
- wx.navigateTo({
- url: '/pages/compatible/html5/html5',
- })
- },
- mine: function () {
- //点击左上角我的图标 跳到我的页面
- //如果缓存里的avatar_url 不等于空 或者 uese 不等于空
- if (wx.getStorageSync('userInfo').avatar_url != null && wx.getStorageSync('userInfo') != '') {
- wx.navigateTo({
- url: '/pages/personal/mine/mine',
- })
- } else {
- wx.reLaunch({
- url: '/pages/authentication/authentication',
- })
- }
- },
- qixingCare(){
- wx.navigateTo({
- url: '/pages/recharge/recharge',
- })
- },
- yajinCare(){
- wx.navigateTo({
- url: '/pages/personal/deposit/deposit',
- })
- },
- authentication: util.throttle(function () {
- //点击去实名认证
- var state = wx.getStorageSync('userState')
- if (state.is_bind_mobile == 0) {
- wx.navigateTo({
- url: '/pages/real_name/real_name?state1=1&index=0',
- })
- } else if (state.is_bind_mobile == 1) {
- wx.navigateTo({
- url: '/pages/real_name/real_name?state2=2&index=1',
- })
- }
- this.setData({
- background: false,
- realname: false,
- over: false
- })
- }, 1500),
- sweep_code: util.throttle(function () {
- //点击扫码开锁
- var that = this;
- wx.getLocation({
- success: function (res) {
- // console.log(that.data.userStatus.is_pay_order)
- if (wx.getStorageSync('setting') == '') {
- wx.getLocation({
- success: function (res) {
- wx.showModal({
- title: '提示',
- content: '您附近暂无运营区域~',
- showCancel: false
- })
- },
- fail: function (err) {
- that.setData({
- location: true
- })
- }
- })
- return;
- }
- if(that.data.userStatus.is_punishment){
- wx.showModal({
- title: '提示',
- content:'您当前有违章订单需要处理,请处理后再来用车吧!',
- confirmText:'去处理',
- success:function(res){
- if(res.confirm){
- wx.navigateTo({
- url: '/pages/fine/fine',
- })
- }
- }
- })
- return;
- }
- if (that.data.userStatus.is_pay_order != false && that.data.userStatus.is_pay_order != undefined) {
- that.setData({
- is_pay_order: 1,
- background: true
- })
- return;
- } else if (that.data.userStatus.is_pay_rent_order != false && that.data.userStatus.is_pay_rent_order != undefined) {
- that.setData({
- is_pay_order: 1,
- background: true
- })
- return;
- } else {
- if (wx.getStorageSync('userInfo').avatar_url != null && wx.getStorageSync('userInfo') != '') {
- if (that.data.userStatus.is_card_certified == 0) {
- that.setData({
- realname: true,
- background: true,
- over: true
- })
- return;
- } else if (that.data.userStatus.is_bind_mobile == 0) {
- wx.showModal({
- title: '提示',
- content: '您还未绑定手机号,去绑定?',
- success: function (res) {
- if (res.confirm) {
- wx.navigateTo({
- url: '/pages/real_name/real_name?state1=1&index=0',
- })
- }
- }
- })
- return;
- } else {
- if (that.data.userStatus.is_deposit == 0) {
- that.setData({
- deposit: true,
- background: true
- })
- return;
- } else {
- wx.scanCode({
- onlyFromCamera: true,
- success: function (res) {
- // console.log(res)
- var index = res.result.lastIndexOf("\=");
- var code = res.result.substring(index + 1, res.result.length);
- console.log(code.length)
- if (code.length == 11) {
- wx.navigateTo({
- url: '/pages/sweep_code/sweep_code?code=' + code,
- })
- } else {
- wx.showToast({
- title: '请扫描正确的二维码!',
- icon: 'none'
- })
- }
- },
- fail: function (err) {
- console.log(err)
- that.setData({
- background: true,
- scanfail: true,
- over1: true
- })
- }
- })
- }
- }
- } else {
- wx.reLaunch({
- url: '/pages/authentication/authentication',
- })
- }
- }
- },
- fail: function (err) {
- that.setData({
- location: true
- })
- }
- })
- }, 1500),
- think: util.throttle(function () {
- //点击我再想想 关闭弹窗和背景
- this.setData({
- background: false,
- deposit: false,
- over: false
- })
- }, 1500),
- deposit: util.throttle(function () {
- //点击现在就去 跳到交押金页面
- this.setData({
- background: false,
- deposit: false,
- over: false
- })
- wx.navigateTo({
- url: '/pages/personal/deposit/deposit?home=index',
- })
- }, 1500),
- cancel: util.throttle(function () {
- //点击取消,下次吧
- this.setData({
- is_pay_order: false,
- background: false
- })
- }, 1500),
- go_pay: util.throttle(function () {
- //点击去支付
- this.setData({
- is_pay_order: false,
- background: false
- })
- var pay_order = ''
- var rent = ''
- if (this.data.userStatus.is_pay_order != false && this.data.userStatus.is_pay_order != undefined) {
- pay_order = this.data.userStatus.is_pay_order
- }
- if (this.data.userStatus.is_pay_rent_order != false && this.data.userStatus.is_pay_rent_order != undefined) {
- pay_order = this.data.userStatus.is_pay_rent_order;
- rent = 'rent'
- }
- // console.log(rent)
- wx.navigateTo({
- url: '/pages/payment/payment?order=' + pay_order + '&rent=' + rent,
- })
- }, 1500),
- over: function () {
- //如果当前未实名 弹窗显示后 点击关闭按钮
- this.setData({
- realname: false,
- background: false,
- scanfail: false,
- over1: false,
- over: false,
- })
- },
- location: function () {
- //获取当前经纬度 如果未授权让用户去授权
- var that = this;
- wx.showLoading({
- title: '定位中...',
- mask: true
- })
- wx.getLocation({
- type: 'gcj02',
- success: (res) => {
- console.log('经纬度为:+++++++++++++++++++++' + res.latitude + '++++++++' + res.longitude)
- var latitude = res.latitude
- var longitude = res.longitude
- that.setData({
- longitude: longitude,
- latitude: latitude,
- show: false
- })
- that.home()
- wx.hideLoading()
- },
- fail: function () {
- wx.hideLoading()
- wx.getSetting({
- success: function (res) {
- // console.log(res)
- var statu = res.authSetting;
- if (statu['scope.userLocation'] == false) {
- that.setData({
- background: true,
- location: true
- })
- }
- }
- })
- }
- })
- },
- onShow: function () {
- var that = this;
- token = wx.getStorageSync('token')
- this.setData({
- show: false,
- midbolear: wx.getStorageSync('midTimes'),
- time: wx.getStorageSync('home').customer_service_time
- })
- wx.hideHomeButton();
- },
- onReady: function () {
-
- },
- kefu: util.throttle(function () {
- wx.makePhoneCall({
- phoneNumber: wx.getStorageSync('home').customer_service_phone,
- })
- }, 1500),
- userState: function () {
- var that = this;
- if (token != '') {
- app.request('/user/status','','GET').then(res=>{
- console.log(res)
- if (res.statusCode == 200) {
- that.setData({
- userStatus: res.data,
- is_pay_order: res.data.is_pay_order
- }), wx.setStorageSync('userState', res.data)
- if (res.data.status == 0) {
- that.setData({
- abnormal: true,
- background: true
- })
- return;
- }
- if (that.data.userStatus.is_ride_order != false) {
- wx.reLaunch({
- url: '/pages/riding/riding?order=' + that.data.userStatus.is_ride_order,
- })
- return;
- }
- if (that.data.userStatus.is_rent_order != false) {
- wx.reLaunch({
- url: '/pages/daily_riding/daily_riding?order=' + that.data.userStatus.is_rent_order,
- })
- return;
- }
- if (that.data.userStatus.is_pay_order != false) {
- that.setData({
- background: true,
- is_pay_order: true
- })
- return;
- }
- if (that.data.userStatus.is_pay_rent_order != false) {
- that.setData({
- background: true,
- is_pay_order: true
- })
- return;
- }
- if(that.data.userStatus.is_punishment){
- console.log(that.data.userStatus)
- wx.showModal({
- title: '提示',
- content:'您当前有违章订单需要处理,请处理后再来用车吧!',
- confirmText:'去处理',
- success:function(res){
- if(res.confirm){
- wx.navigateTo({
- url: '/pages/fine/fine',
- })
- }
- }
- })
- return;
- }
- if (wx.getStorageSync('userInfo') && res.data.is_card_certified == 1 && res.data.is_deposit == 1 && res.data.is_ride_order == false && res.data.is_pay_order == false && that.data.bike_no != undefined && res.data.is_pay_rent_order == false) {
- wx.navigateTo({
- url: '/pages/sweep_code/sweep_code?code=' + that.data.bike_no,
- })
- return;
- }
- if (wx.getStorageSync('userInfo').avatar_url != null && wx.getStorageSync('userInfo') != '' && that.data.bike_no != undefined) {
- if (that.data.userStatus.is_card_certified == 0 && that.data.bike_no != undefined) {
- that.setData({
- realname: true,
- background: true,
- over: true
- })
- return;
- } else if (that.data.userStatus.is_bind_mobile == 0 && that.data.bike_no != undefined) {
- wx.showModal({
- title: '提示',
- content: '您还未绑定手机号,去绑定?',
- success: function (res) {
- if (res.confirm) {
- wx.navigateTo({
- url: '/pages/real_name/real_name?state1=1&index=0',
- })
- }
- }
- })
- return;
- } else {
- if (that.data.userStatus.is_deposit == 0 && that.data.bike_no != undefined) {
- that.setData({
- deposit: true,
- background: true
- })
- return;
- }
- }
- } else {
- // wx.redirectTo({
- // url: '../authentication/authentication',
- // })
- }
- }
- })
- }
- },
- getUser() {
- if (token != '') {
- app.request('/me','','GET').then(res=>{
- 200 == res.statusCode && wx.setStorageSync("userInfo", res.data)
- })
- }
- },
- usage: util.throttle(function () {
- wx.navigateTo({
- url: '/pages/accounting_rules/accounting_rules',
- })
- }, 1500),
- help: util.throttle(function () {
- //点击如何用车 跳到如何用车页面
- wx.navigateTo({
- url: '/pages/personal/help/help',
- })
- }, 1500),
- go_setting: util.throttle(function () {
- //点击去设置位置权限
- this.setData({
- background: false,
- location: false
- })
- wx.openSetting({
- success: function (res) {
- // console.log(res)
- // console.log(res.authSetting)
- }
- })
- }, 1500),
- open: util.throttle(function () {
- //点击已打开
- this.setData({
- background: false,
- location: false
- })
- }, 1500),
- navgiate: util.throttle(function (e) {
- console.log(e)
- if (this.data.stop_type == 1) return;
- var latitude = this.data.stop_info.latitude;
- var longitude = this.data.stop_info.longitude;
- var name = this.data.stop_info.name;
- wx.openLocation({ //使用微信内置地图查看位置。
- latitude: latitude, //要去的纬度-地址
- longitude: longitude, //要去的经度-地址
- name: name
- })
- }, 1000),
- onHide: function () {
- console.log('onHide')
- this.setData({
- bike_no: undefined,
- background: false,
- bluetooth: false,
- location: false,
- scanfail: false,
- over1: false
- })
- // clearInterval(mytime)
- },
- service(){
- this.setData({kefu:true})
- },
- hidden(){
- this.setData({kefu:false})
- },
- onUnload: function () {
- console.log('onUnload')
-
- },
- onShareAppMessage: function () {
-
- }
- })
|