Kaynağa Gözat

Merge branch 'master' of http://git.ycjcjy.com/whole-estate/wxmini

zjxpcyc 6 yıl önce
ebeveyn
işleme
03e7c06f76

+ 12
- 1
app.js Dosyayı Görüntüle

2
 import fetch from '/utils/http'
2
 import fetch from '/utils/http'
3
 const $api = require('/config/api.js').$api
3
 const $api = require('/config/api.js').$api
4
 
4
 
5
+const HttpSever = require('./utils/http.js').HttpSever;
6
+const $api = require('./config/api.js').$api;
7
+
5
 App({
8
 App({
6
   onLaunch: function() {
9
   onLaunch: function() {
7
     let _self = this
10
     let _self = this
48
         }
51
         }
49
       }
52
       }
50
     })
53
     })
54
+
55
+    HttpSever.Ajax({
56
+      url: $api.dict.list.url,
57
+      method: $api.dict.list.method,
58
+    }).then((data) => {
59
+      _self.globalData.Dict = data.data
60
+    })
51
   },
61
   },
52
   globalData: {
62
   globalData: {
53
     UserInfo: {
63
     UserInfo: {
60
       openid: '',
70
       openid: '',
61
       avatar: '',
71
       avatar: '',
62
     },
72
     },
63
-    ScreenBottomHeight: 0
73
+    ScreenBottomHeight: 0,
74
+    Dict: []
64
   }
75
   }
65
 })
76
 })

+ 10
- 0
config/api.js Dosyayı Görüntüle

19
       url: `${BaseAPIURl}wx/user`
19
       url: `${BaseAPIURl}wx/user`
20
     }
20
     }
21
   },
21
   },
22
+  dict: {
23
+    list: {
24
+      methods: 'GET',
25
+      url: `${BaseAPIURl}/dict`
26
+    }
27
+  },
22
   banner: {
28
   banner: {
23
     list: {
29
     list: {
24
       method: 'GET',
30
       method: 'GET',
30
       method: 'GET',
36
       method: 'GET',
31
       url: `${BaseAPIURl}wx/building/list`
37
       url: `${BaseAPIURl}wx/building/list`
32
     },
38
     },
39
+    detail: {
40
+      methods: 'GET',
41
+      url: `${BaseAPIURl}/wx/buildingSelectId/:id`
42
+    }
33
   },
43
   },
34
   dynamic: { // 项目
44
   dynamic: { // 项目
35
     list: { // 项目列表
45
     list: { // 项目列表

+ 16
- 33
pages/AppointmentTime/index.js Dosyayı Görüntüle

2
 //获取应用实例
2
 //获取应用实例
3
 const app = getApp()
3
 const app = getApp()
4
 
4
 
5
+const page = require('../../utils/page.js');
6
+const HttpSever = require('../../utils/http.js').HttpSever;
7
+const $api = require('../../config/api.js').$api;
8
+
5
 Page({
9
 Page({
6
   onShow() {
10
   onShow() {
7
     wx.setNavigationBarTitle({
11
     wx.setNavigationBarTitle({
8
       title: '填写预约信息'
12
       title: '填写预约信息'
9
     })
13
     })
14
+    this.setData({
15
+      BuildingId: page.getCurrentPageOptions().id,
16
+      BuildingName: page.getCurrentPageOptions().name
17
+    })
10
   },
18
   },
11
   data: {
19
   data: {
12
     UserInfo: app.globalData.UserInfo, // 用户信息
20
     UserInfo: app.globalData.UserInfo, // 用户信息
13
     SubmitOff: true, // 提交判重开关
21
     SubmitOff: true, // 提交判重开关
22
+    BuildingId: '',
23
+    BuildingName: '',
14
     FormData: { // 提交表单数据
24
     FormData: { // 提交表单数据
15
-      EstateId: '', // 楼盘id
16
       AppointmentDate: '', // 预约时间戳
25
       AppointmentDate: '', // 预约时间戳
17
       Name: '', // 姓名
26
       Name: '', // 姓名
18
       PhoneNum: '', // 手机号
27
       PhoneNum: '', // 手机号
19
       Remark: '' // 备注
28
       Remark: '' // 备注
20
     },
29
     },
21
     AppointmentDate: '', // 预约时间
30
     AppointmentDate: '', // 预约时间
22
-    EstateName: '', // 楼盘名称
23
-    EstateList: [{ // 楼盘列表数据
24
-      value: '示例楼盘A',
25
-      id: '1'
26
-    }, {
27
-      value: '示例楼盘B',
28
-      id: '2'
29
-    }, {
30
-      value: '示例楼盘C',
31
-      id: '3'
32
-    }],
33
-    TriggerSelectEstate: false, // 显隐楼盘选择器
34
     MinDate: new Date().getTime(),
31
     MinDate: new Date().getTime(),
35
     TriggerSelectAppointmentDate: false // 显隐预约时间选择器
32
     TriggerSelectAppointmentDate: false // 显隐预约时间选择器
36
   },
33
   },
39
       this.setData({
36
       this.setData({
40
         SubmitOff: false
37
         SubmitOff: false
41
       })
38
       })
39
+      if (this.FormData)
40
+      HttpSever.Ajax({
41
+        url: $api.building.detail.url.replace(':id', id),
42
+        method: $api.building.detail.method,
43
+      }).then((data) => {})
44
+
42
     }
45
     }
43
   },
46
   },
44
   FormInput(e) { // 表单输入数据绑定
47
   FormInput(e) { // 表单输入数据绑定
73
       MinDate: new Date().getTime(),
76
       MinDate: new Date().getTime(),
74
       TriggerSelectAppointmentDate: true
77
       TriggerSelectAppointmentDate: true
75
     })
78
     })
76
-  },
77
-  SelectEstateConfirm(e) { // 确认选择楼盘
78
-    this.setData({
79
-      FormData: {
80
-        ...this.data.FormData,
81
-        EstateId: e.detail.value.id
82
-      },
83
-      EstateName: e.detail.value.value,
84
-      TriggerSelectEstate: false
85
-    })
86
-  },
87
-  SelectEstateCancel() { // 取消选择楼盘
88
-    this.setData({
89
-      TriggerSelectEstate: false
90
-    })
91
-  },
92
-  SelectEstate() { // 打开楼盘选择器
93
-    this.setData({
94
-      TriggerSelectEstate: true
95
-    })
96
   }
79
   }
97
 })
80
 })

+ 1
- 6
pages/AppointmentTime/index.wxml Dosyayı Görüntüle

4
     <view class="flex-h">
4
     <view class="flex-h">
5
       <text><text>*</text>具体楼盘:</text>
5
       <text><text>*</text>具体楼盘:</text>
6
       <view class="flex-item"></view>
6
       <view class="flex-item"></view>
7
-      <text bindtap="SelectEstate">{{EstateName === '' ? '请选择楼盘' : EstateName}}</text>
7
+      <text>{{BuildingName}}</text>
8
       <image mode="widthFix" src="/assets/images/icon12.png" style="width: 22rpx;"></image>
8
       <image mode="widthFix" src="/assets/images/icon12.png" style="width: 22rpx;"></image>
9
     </view>
9
     </view>
10
     <view class="flex-h">
10
     <view class="flex-h">
38
   <view class="btn" bindtap="MakeAnAppointment">
38
   <view class="btn" bindtap="MakeAnAppointment">
39
     <text>预约</text>
39
     <text>预约</text>
40
   </view>
40
   </view>
41
-  <view class="popup" hidden="{{!TriggerSelectEstate}}">
42
-    <view>
43
-      <van-picker show-toolbar columns="{{ EstateList }}" value-key="value" bind:cancel="SelectEstateCancel" bind:confirm="SelectEstateConfirm" />
44
-    </view>
45
-  </view>
46
   <view class="popup" hidden="{{!TriggerSelectAppointmentDate}}">
41
   <view class="popup" hidden="{{!TriggerSelectAppointmentDate}}">
47
     <view>
42
     <view>
48
       <van-datetime-picker min-date="{{MinDate}}" type="datetime" bind:cancel="SelectAppointmentDateCancel" bind:confirm="SelectAppointmentDateConfirm" />
43
       <van-datetime-picker min-date="{{MinDate}}" type="datetime" bind:cancel="SelectAppointmentDateCancel" bind:confirm="SelectAppointmentDateConfirm" />

+ 33
- 30
pages/EstateDetail/index.js Dosyayı Görüntüle

2
 //获取应用实例
2
 //获取应用实例
3
 const app = getApp()
3
 const app = getApp()
4
 
4
 
5
+const page = require('../../utils/page.js');
6
+const HttpSever = require('../../utils/http.js').HttpSever;
7
+const $api = require('../../config/api.js').$api;
8
+
5
 Page({
9
 Page({
6
   onShow() {
10
   onShow() {
7
     wx.setNavigationBarTitle({
11
     wx.setNavigationBarTitle({
8
       title: '楼盘详情'
12
       title: '楼盘详情'
9
     })
13
     })
10
   },
14
   },
15
+  onLoad: function (options) {
16
+    const id = page.getCurrentPageOptions().id
17
+    const _that = this
18
+    HttpSever.Ajax({
19
+      url: $api.building.detail.url.replace(':id', id),
20
+      method: $api.building.detail.method,
21
+    }).then((data) => {
22
+      const dicts = app.globalData.Dict
23
+      const apart = data.data.buildingApartment.map(x => {
24
+        return {
25
+          ...x,
26
+          imgUrl: (x.buildingImgList[0] || {}).url,
27
+          marketStatus: (dicts.filter(d => d.id == x.marketStatus)[0] || {}).name
28
+        }
29
+      })
30
+      let propertyType = ''
31
+      data.data.propertyType.split(',').map(x => {
32
+        const f = dicts.filter(d => d.id == x)
33
+        if (f.length > 0) {
34
+          propertyType += (propertyType === '' ? '' : ',') + f[0].name
35
+        }
36
+      })
37
+      _that.setData({
38
+        EstateDetail: { ...data.data, propertyType: propertyType, buildingApartment: apart}
39
+      })
40
+    })
41
+  },
11
   data: {
42
   data: {
12
     UserInfo: app.globalData.UserInfo,
43
     UserInfo: app.globalData.UserInfo,
13
     ScreenBottomHeight: app.globalData.ScreenBottomHeight,
44
     ScreenBottomHeight: app.globalData.ScreenBottomHeight,
14
-    EstateDetail: {
15
-      Name: '楼盘名称', // 楼盘名称
16
-      Price: '14000', // 均价
17
-      Remark: '备注', // 备注
18
-      ImgList: ['/assets/images/img5.jpg', '/assets/images/img5.jpg', '/assets/images/img5.jpg', '/assets/images/img5.jpg'], // banner
19
-      OpenDate: '2016-02-02', // 开盘日期
20
-      Address: '江苏省南京市某某路xx号', // 项目地址
21
-      Type: '叠墅', // 物业类型
22
-      News: '即将开放', // 最新动态
23
-      IsCollect: false, // 是否已收藏
24
-      PhoneNum: '', // 联系电话
25
-      Id: '', // 楼盘id
26
-      RoomTypeList: [{
27
-        Img: '/assets/images/img1.jpg',
28
-        Type: '商住',
29
-        AreaNum: '33',
30
-        State: '在售'
31
-      }, {
32
-        Img: '/assets/images/img1.jpg',
33
-        Type: '商住',
34
-        AreaNum: '33',
35
-        State: '在售'
36
-      }, {
37
-        Img: '/assets/images/img1.jpg',
38
-        Type: '商住',
39
-        AreaNum: '33',
40
-        State: '在售'
41
-      }] // 户型
42
-    }
45
+    EstateDetail: {}
43
   },
46
   },
44
   MakeAnAppointment() { // 预约看房
47
   MakeAnAppointment() { // 预约看房
45
     wx.navigateTo({
48
     wx.navigateTo({
46
-      url: '/pages/AppointmentTime/index?id='
49
+      url: '/pages/AppointmentTime/index?id=' + this.data.EstateDetail.buildingId + '&name=' + this.data.EstateDetail.buildingName
47
     })
50
     })
48
   },
51
   },
49
   OpenPhone() { // 电话咨询
52
   OpenPhone() { // 电话咨询

+ 15
- 15
pages/EstateDetail/index.wxml Dosyayı Görüntüle

7
       <view class="banner">
7
       <view class="banner">
8
         <view class="imgContent">
8
         <view class="imgContent">
9
           <swiper autoplay="{{true}}" indicator-dots="{{true}}" indicator-color="#83837d" indicator-active-color="#e23838">
9
           <swiper autoplay="{{true}}" indicator-dots="{{true}}" indicator-color="#83837d" indicator-active-color="#e23838">
10
-            <block wx:for="{{EstateDetail.ImgList}}" wx:for-item="item" wx:for-index="index" wx:key="key">
10
+            <block wx:for="{{EstateDetail.buildingImg}}" wx:for-item="item" wx:for-index="index" wx:key="key">
11
               <swiper-item>
11
               <swiper-item>
12
                 <view class="swiper-item">
12
                 <view class="swiper-item">
13
-                  <image mode="aspectFill" src="{{item}}" class="centerLabel cover"></image>
13
+                  <image mode="aspectFill" src="{{item.url}}" class="centerLabel cover"></image>
14
                 </view>
14
                 </view>
15
               </swiper-item>
15
               </swiper-item>
16
             </block>
16
             </block>
19
         <view class="remark">
19
         <view class="remark">
20
           <view class="centerLabel">
20
           <view class="centerLabel">
21
             <view class="flex-h">
21
             <view class="flex-h">
22
-              <text class="name flex-item">{{EstateDetail.Name}}</text>
23
-              <text class="price">均价:{{EstateDetail.Price}}元/m²</text>
22
+              <text class="name flex-item">{{EstateDetail.buildingName}}</text>
23
+              <text class="price">均价:{{EstateDetail.price}}</text>
24
             </view>
24
             </view>
25
-            <text>{{EstateDetail.Remark}}</text>
25
+            <text>别名:{{EstateDetail.name}}</text>
26
           </view>
26
           </view>
27
         </view>
27
         </view>
28
       </view>
28
       </view>
33
         <view class="list">
33
         <view class="list">
34
           <view class="flex-h">
34
           <view class="flex-h">
35
             <text>开盘时间</text>
35
             <text>开盘时间</text>
36
-            <text class="flex-item">{{EstateDetail.OpenDate}}</text>
36
+            <text class="flex-item">{{EstateDetail.openingDate}}</text>
37
           </view>
37
           </view>
38
           <view class="flex-h">
38
           <view class="flex-h">
39
             <text>项目地址</text>
39
             <text>项目地址</text>
40
-            <text class="flex-item">{{EstateDetail.Address}}</text>
40
+            <text class="flex-item">{{EstateDetail.address}}</text>
41
           </view>
41
           </view>
42
           <view class="flex-h">
42
           <view class="flex-h">
43
             <text>物业类型</text>
43
             <text>物业类型</text>
44
-            <text class="flex-item">{{EstateDetail.Type}}</text>
44
+            <text class="flex-item">{{EstateDetail.propertyType}}</text>
45
           </view>
45
           </view>
46
           <view class="flex-h">
46
           <view class="flex-h">
47
             <text>最新动态</text>
47
             <text>最新动态</text>
48
-            <text class="flex-item">{{EstateDetail.News}}</text>
48
+            <text class="flex-item">{{EstateDetail.dynamic}}</text>
49
           </view>
49
           </view>
50
         </view>
50
         </view>
51
       </view>
51
       </view>
52
 
52
 
53
       <!-- 户型 -->
53
       <!-- 户型 -->
54
       <view class="roomType subContent">
54
       <view class="roomType subContent">
55
-        <text class="title">户型({{EstateDetail.RoomTypeList.length}})</text>
55
+        <text class="title">户型({{EstateDetail.buildingApartment.length}})</text>
56
         <view class="list">
56
         <view class="list">
57
-          <view class="item" wx:for="{{EstateDetail.RoomTypeList}}" wx:for-item="item" wx:for-index="idx" wx:key="key">
57
+          <view class="item" wx:for="{{EstateDetail.buildingApartment}}" wx:for-item="item" wx:for-index="idx" wx:key="key">
58
             <view class="img">
58
             <view class="img">
59
-              <image mode="aspectFill" src="{{item.Img}}" class="centerLabel cover"></image>
59
+              <image mode="aspectFill" src="{{item.imgUrl}}" class="centerLabel cover"></image>
60
             </view>
60
             </view>
61
             <view class="info">
61
             <view class="info">
62
-              <text>{{item.Type}}</text>
63
-              <text>{{item.AreaNum}}m²</text>
62
+              <text>{{item.apartmentName}}</text>
63
+              <text>{{item.remark}}</text>
64
             </view>
64
             </view>
65
-            <text>{{item.State}}</text>
65
+            <text>{{item.marketStatus}}</text>
66
           </view>
66
           </view>
67
         </view>
67
         </view>
68
       </view>
68
       </view>

+ 10
- 24
pages/components/Estate/index.js Dosyayı Görüntüle

11
   properties: {},
11
   properties: {},
12
   data: {
12
   data: {
13
     UserInfo: app.globalData.UserInfo,
13
     UserInfo: app.globalData.UserInfo,
14
-    EstateList: [{
15
-      Name: '示例数据',
16
-      Address: '江北 白马路',
17
-      Distance: '21',
18
-      Price: '1.8',
19
-      Img: '/assets/images/img1.jpg'
20
-    }, {
21
-      Name: '示例数据',
22
-      Address: '江北 白马路',
23
-      Distance: '21',
24
-      Price: '1.8',
25
-      Img: '/assets/images/img1.jpg'
26
-    }, {
27
-      Name: '示例数据',
28
-      Address: '江北 白马路',
29
-      Distance: '21',
30
-      Price: '1.8',
31
-      Img: '/assets/images/img1.jpg'
32
-    }]
14
+    EstateList: []
33
   },
15
   },
34
   lifetimes: {},
16
   lifetimes: {},
35
   ready: function() {
17
   ready: function() {
53
     show: function() {},
35
     show: function() {},
54
   },
36
   },
55
   methods: {
37
   methods: {
56
-    ListTap() { // 跳转楼盘详情
38
+    ListTap(e) { // 跳转楼盘详情
57
       wx.navigateTo({
39
       wx.navigateTo({
58
-        url: '/pages/EstateDetail/index?id='
40
+        url: '/pages/EstateDetail/index?id=' + e.currentTarget.dataset.id
59
       })
41
       })
60
     },
42
     },
61
     GetGreatCircleDistance(lat1, lng1, lat2, lng2) {
43
     GetGreatCircleDistance(lat1, lng1, lat2, lng2) {
71
       var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)))
53
       var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)))
72
       s = s * EARTH_RADIUS
54
       s = s * EARTH_RADIUS
73
       s = Math.round(s * 10000) / 10000.0
55
       s = Math.round(s * 10000) / 10000.0
74
-      console.log(s)
75
-      return s
56
+      return s/100
76
     },
57
     },
77
     ShowLocation() {
58
     ShowLocation() {
78
       const _that = this
59
       const _that = this
79
       wx.getLocation({
60
       wx.getLocation({
80
         type: 'wgs84',
61
         type: 'wgs84',
81
         success(res) {
62
         success(res) {
63
+<<<<<<< HEAD
64
+          HttpSever.Ajax({
65
+=======
82
           console.log(res)
66
           console.log(res)
83
           fetch({
67
           fetch({
68
+>>>>>>> 02bbb13da6392818f573d7fc66c72524bffeb347
84
             url: $api.building.list.url,
69
             url: $api.building.list.url,
85
             method: $api.building.list.method,
70
             method: $api.building.list.method,
86
           }).then((data) => {
71
           }).then((data) => {
87
             const eslist = data.data.map(x => {
72
             const eslist = data.data.map(x => {
88
               const distance = parseInt(_that.GetGreatCircleDistance(res.latitude, res.longitude, x.coordinate.split(',')[0], x.coordinate.split(',')[1] || res.longitude))
73
               const distance = parseInt(_that.GetGreatCircleDistance(res.latitude, res.longitude, x.coordinate.split(',')[0], x.coordinate.split(',')[1] || res.longitude))
89
               return {
74
               return {
75
+                buildingId: x.buildingId,
90
                 buildingName: x.buildingName,
76
                 buildingName: x.buildingName,
91
                 price: x.price,
77
                 price: x.price,
92
                 address: x.address,
78
                 address: x.address,
93
                 buildingImg: (x.buildingImg[0] || {}).url,
79
                 buildingImg: (x.buildingImg[0] || {}).url,
94
-                distance: distance / 1000
80
+                distance: distance / 10
95
               }
81
               }
96
             })
82
             })
97
             _that.setData({
83
             _that.setData({

+ 1
- 1
pages/components/Estate/index.wxml Dosyayı Görüntüle

8
   <view class="EstateList">
8
   <view class="EstateList">
9
     <text>附近楼盘</text>
9
     <text>附近楼盘</text>
10
     <view class="list">
10
     <view class="list">
11
-      <view wx:for="{{EstateList}}" wx:for-item="item" wx:for-index="index" wx:key="key" bindtap="ListTap">
11
+      <view wx:for="{{EstateList}}" wx:for-item="item" wx:for-index="index" wx:key="key" data-id="{{item.buildingId}}" bindtap="ListTap">
12
         <image mode="aspectFill" src="{{item.buildingImg}}" class="centerLabel cover"></image>
12
         <image mode="aspectFill" src="{{item.buildingImg}}" class="centerLabel cover"></image>
13
         <text class="price">均价:{{item.price}}</text>
13
         <text class="price">均价:{{item.price}}</text>
14
         <text class="name">{{item.buildingName}}</text>
14
         <text class="name">{{item.buildingName}}</text>

+ 27
- 0
utils/http.js Dosyayı Görüntüle

1
 import { apiCode } from '../config/code'
1
 import { apiCode } from '../config/code'
2
 
2
 
3
+<<<<<<< HEAD
4
+$HttpSever.prototype = {
5
+  /**
6
+   *  通用请求方法
7
+   * 
8
+   * @param {any} [config={}] 
9
+   * @returns 
10
+   */
11
+  Ajax(config = {}) {
12
+    return new Promise((resolve, reject) => {
13
+      wx.request({
14
+        url: config.url,
15
+        method: config.method,
16
+        data: {
17
+          ...config.data
18
+        },
19
+        success(res) {
20
+          if (res.statusCode && res.statusCode === apiCode.common.successCode) {
21
+            resolve(res.data)
22
+          } else {
23
+            resolve(res.data.message + "失败")
24
+          }
25
+        },
26
+        error(msg) {
27
+          reject(msg)
28
+=======
3
 export default (config = {}) => {
29
 export default (config = {}) => {
4
   return new Promise((resolve, reject) => {
30
   return new Promise((resolve, reject) => {
5
     wx.request({
31
     wx.request({
14
           resolve(res.data)
40
           resolve(res.data)
15
         } else {
41
         } else {
16
           resolve(res.data.message + "失败")
42
           resolve(res.data.message + "失败")
43
+>>>>>>> 02bbb13da6392818f573d7fc66c72524bffeb347
17
         }
44
         }
18
       },
45
       },
19
       error(msg) {
46
       error(msg) {

+ 39
- 0
utils/page.js Dosyayı Görüntüle

1
+/*获取当前页url*/
2
+function getCurrentPageUrl() {
3
+  var pages = getCurrentPages()    //获取加载的页面
4
+  var currentPage = pages[pages.length - 1]    //获取当前页面的对象
5
+  var url = currentPage.route    //当前页面url
6
+  return url
7
+}
8
+
9
+/*获取当前页参数*/
10
+function getCurrentPageOptions() {
11
+  var pages = getCurrentPages()    //获取加载的页面
12
+  var currentPage = pages[pages.length - 1]    //获取当前页面的对象
13
+  var options = currentPage.options    //当前页面所有参数
14
+  return options
15
+}
16
+
17
+/*获取当前页带参数的url*/
18
+function getCurrentPageUrlWithArgs() {
19
+  var pages = getCurrentPages()    //获取加载的页面
20
+  var currentPage = pages[pages.length - 1]    //获取当前页面的对象
21
+  var url = currentPage.route    //当前页面url
22
+  var options = currentPage.options    //如果要获取url中所带的参数可以查看options
23
+
24
+  //拼接url的参数
25
+  var urlWithArgs = url + '?'
26
+  for (var key in options) {
27
+    var value = options[key]
28
+    urlWithArgs += key + '=' + value + '&'
29
+  }
30
+  urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1)
31
+
32
+  return urlWithArgs
33
+} 
34
+
35
+module.exports = {
36
+  getCurrentPageUrl: getCurrentPageUrl,
37
+  getCurrentPageUrlWithArgs: getCurrentPageUrlWithArgs,
38
+  getCurrentPageOptions: getCurrentPageOptions
39
+}