index.js 11.1 KB
Newer Older
1 2
// static/nativeComponents/AreaNavigation/index.js
const app = getApp()
程智春 committed
3
const { indexApi } = app;
4 5 6 7 8 9 10
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    datas : {
      type : Object
1  
程智春 committed
11 12 13
    },
    changeLocation:{
      type : String
14 15 16 17 18 19 20 21 22 23 24
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    noShow : false,
    positionCity: "",
    changeShow: false,
    positionName: '定位中',
程智春 committed
25 26
    wxReady: false,
    designateAreaObj : null
27 28 29
  },
  ready(){
    console.log('++++++++++++++++++++定位组件加载好了++++++++++++++++++++')
1  
程智春 committed
30
    console.log(this.data.changeLocation,'changeLocation')
31
    console.log(getCurrentPages())
程智春 committed
32

1  
程智春 committed
33 34 35

    

程智春 committed
36 37 38
    this.setData({
      designateAreaObj: this.data.datas.componentData.designateAreaObj
    })
1  
程智春 committed
39

程智春 committed
40 41
    console.log(this.data.datas.componentData.designateAreaObj,'2222')

1  
程智春 committed
42 43 44 45 46 47
    if (!wx.getStorageSync('location')) {
      wx.navigateTo({
        url: `/pages/changeAdr/main?areaGroupId=${this.data.datas.componentData.designateAreaObj.areaGroupId}&noLocation=1`
      })
      return
    }
48 49 50 51 52 53
    
    if (this.data.datas.componentInfo.visible == 1) {
      let _this = this;

      if (wx.getStorageSync('location')) {
        this.setData({
程智春 committed
54 55 56 57 58 59
          'designateAreaObj.id': JSON.parse(wx.getStorageSync('location')).id,
          'designateAreaObj.regionName': JSON.parse(wx.getStorageSync('location')).regionName,
          'designateAreaObj.regionType': JSON.parse(wx.getStorageSync('location')).regionType,
          'designateAreaObj.systemRegionId': JSON.parse(wx.getStorageSync('location')).systemRegionId,
          'designateAreaObj.outId': JSON.parse(wx.getStorageSync('location')).outId,
          'designateAreaObj.areaGroupId': JSON.parse(wx.getStorageSync('location')).areaGroupId,
60
        })
程智春 committed
61

62
        this.setData({
程智春 committed
63
          positionName: this.data.designateAreaObj.regionName
64 65 66
        })
      }

程智春 committed
67
      console.log('组件1', this.data.designateAreaObj)
1  
程智春 committed
68 69 70 71 72


      if(this.data.changeLocation == 1){
        return
      }
73 74 75 76
      
      wx.getLocation({
        type: 'wgs84',
        success(res) {
程智春 committed
77
          console.log('组件1111', _this.data.designateAreaObj)
78 79 80
          console.log(res, '++++++++++获取地区')
          const latitude = res.latitude
          const longitude = res.longitude
程智春 committed
81
          console.log('组件2', _this.data.designateAreaObj)
程智春 committed
82 83 84 85 86 87
          indexApi.queryLocation(longitude, latitude).then(data => {
            if (data.data.code == '200') {
              let city = ''
              data.data.data.forEach(item => {
                if (item.operatingAreaAreaId) {
                  city = item;
88
                }
程智春 committed
89 90 91 92 93 94 95 96
              })
              if (city == '') {
                _this.setData({
                  positionCity: data.data.data[0]
                })
              } else {
                _this.setData({
                  positionCity: city
97
                })
程智春 committed
98
              }
99

程智春 committed
100 101 102 103 104 105 106 107 108 109
              if(!wx.getStorageSync('location')){
                _this.setData({
                  'designateAreaObj.id': _this.data.positionCity.operatingAreaAreaId,
                  'designateAreaObj.regionName': _this.data.positionCity.regionName,
                  'designateAreaObj.regionType': _this.data.positionCity.regionType,
                  'designateAreaObj.systemRegionId': _this.data.positionCity.systemRegionId,
                  'designateAreaObj.outId': _this.data.positionCity.outId,
                })
              }

110

程智春 committed
111 112 113 114 115 116 117 118
              console.log(_this.data.positionCity, '定位城市信息')
              console.log(_this.data.designateAreaObj, '组件信息')
              let str = JSON.stringify({
                id: _this.data.positionCity.operatingAreaAreaId,
                regionName: _this.data.positionCity.regionName,
                regionType: _this.data.positionCity.regionType,
                systemRegionId: _this.data.positionCity.systemRegionId,
                outId: _this.data.positionCity.outId,
程智春 committed
119
                areaGroupId: _this.data.designateAreaObj.areaGroupId,
程智春 committed
120 121 122
              })
              console.log(str, 'str.......')
              wx.setStorageSync('location', str)
123

程智春 committed
124

程智春 committed
125 126 127 128
              if (_this.data.positionCity.operatingAreaAreaId == _this.data.designateAreaObj.id) {
                _this.setData({
                  positionName: _this.data.positionCity.regionName
                })
129
              } else {
程智春 committed
130 131 132
                  _this.setData({
                    changeShow: true
                  })               
程智春 committed
133
              }
程智春 committed
134 135 136 137



            } else {
程智春 committed
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
              if (!wx.getStorageSync('location')) {
                if (_this.data.designateAreaObj.id) {

                  wx.setStorageSync('location', JSON.stringify({
                    id: _this.data.designateAreaObj.id,
                    regionName: _this.data.designateAreaObj.regionName,
                    regionType: _this.data.designateAreaObj.regionType,
                    systemRegionId: _this.data.designateAreaObj.systemRegionId,
                    areaGroupId: _this.data.designateAreaObj.areaGroupId,
                    outId: _this.data.designateAreaObj.outId
                  }))

                  _this.setData({
                    positionName: _this.data.designateAreaObj.regionName
                  })
                }
154 155
              }
            }
程智春 committed
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
          }).catch(err => {
            console.log('定位')
            if (!wx.getStorageSync('location')) {
              if (_this.data.designateAreaObj.id) {

                wx.setStorageSync('location', JSON.stringify({
                  id: _this.data.designateAreaObj.id,
                  regionName: _this.data.designateAreaObj.regionName,
                  regionType: _this.data.designateAreaObj.regionType,
                  systemRegionId: _this.data.designateAreaObj.systemRegionId,
                  areaGroupId: _this.data.designateAreaObj.areaGroupId,
                  outId: _this.data.designateAreaObj.outId
                }))

                _this.setData({
                  positionName: _this.data.designateAreaObj.regionName
                })
              }
            }
175 176 177 178
          })
        },
        fail(error) {
          console.log('定位失败')
程智春 committed
179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
          if(!wx.getStorageSync('location')){
            if(_this.data.designateAreaObj.id){
              
              wx.setStorageSync('location', JSON.stringify({
                id : _this.data.designateAreaObj.id,
                regionName: _this.data.designateAreaObj.regionName,
                regionType: _this.data.designateAreaObj.regionType,
                systemRegionId : _this.data.designateAreaObj.systemRegionId,
                areaGroupId : _this.data.designateAreaObj.areaGroupId,
                outId : _this.data.designateAreaObj.outId
              }))

              _this.setData({
                positionName : _this.data.designateAreaObj.regionName
              })
            }
          }

197 198 199 200 201
        }
      })
    }


程智春 committed
202
    console.log('111111++++++++++++++++++++定位组件加载好了++++++++++++++++++++111')
203 204 205 206
  },
  
  pageLifetimes : {
    show(){
程智春 committed
207
      console.log('组件页面出来show', this.data.designateAreaObj)
208 209 210 211 212 213 214 215 216 217 218
      console.log('组件页面出来show', this.data.positionCity)

      if(wx.getStorageSync('location')){
        let locationObj = JSON.parse(wx.getStorageSync('location'))
        if (locationObj.id){
          if (locationObj.id != this.data.positionCity.operatingAreaAreaId){
            this.setData({
              positionName: locationObj.regionName
            })

            this.setData({
程智春 committed
219 220 221 222 223 224
              'designateAreaObj.id': locationObj.id,
              'designateAreaObj.regionName': locationObj.regionName,
              'designateAreaObj.regionType': locationObj.regionType,
              'designateAreaObj.systemRegionId': locationObj.systemRegionId,
              '.designateAreaObj.areaGroupId': locationObj.areaGroupId,
              'designateAreaObj.outId': locationObj.outId
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
            })

            let obj = {
              operatingAreaAreaId: locationObj.id,
              regionName: locationObj.regionName,
              regionType: locationObj.regionType,
              systemRegionId: locationObj.systemRegionId,
              areaGroupId: locationObj.areaGroupId,
              outId: locationObj.outId,
            }

            this.setData({
              positionCity : obj
            })
          }
程智春 committed
240
          // app.getThemePage({ mixid: "antgood", shopid: 67 })
241 242 243 244 245 246 247 248
          return
        }

        if (locationObj.regionName != this.data.positionCity.regionName){
          this.setData({
            positionName: locationObj.regionName
          })
          this.setData({
程智春 committed
249 250 251 252 253 254
            'designateAreaObj.id': locationObj.id,
            'designateAreaObj.regionName': locationObj.regionName,
            'designateAreaObj.regionType': locationObj.regionType,
            'designateAreaObj.systemRegionId': locationObj.systemRegionId,
            'designateAreaObj.areaGroupId': locationObj.areaGroupId,
            'designateAreaObj.outId': locationObj.outId
255 256 257 258 259 260 261 262 263 264 265 266 267
          })
          let obj = {
            operatingAreaAreaId: locationObj.id,
            regionName: locationObj.regionName,
            regionType: locationObj.regionType,
            systemRegionId: locationObj.systemRegionId,
            areaGroupId: locationObj.areaGroupId,
            outId: locationObj.outId,
          }

          this.setData({
            positionCity: obj
          })
程智春 committed
268
          // app.getThemePage({ mixid: "antgood", shopid: 67 })
269 270 271
          return
        }
      }
程智春 committed
272
      
程智春 committed
273

274 275 276 277 278 279 280 281 282 283 284
      
    }
  },


  /**
   * 组件的方法列表
   */
  methods: {
    //切换城市
    changeTo(){
程智春 committed
285
      console.log(this.data.designateAreaObj)
286 287
      
      this.setData({
程智春 committed
288 289 290 291
        'designateAreaObj.id': this.data.positionCity.operatingAreaAreaId,
        'designateAreaObj.regionName': this.data.positionCity.regionName,
        'designateAreaObj.regionType': this.data.positionCity.regionType,
        'designateAreaObj.systemRegionId': this.data.positionCity.systemRegionId,
程智春 committed
292
        // 'designateAreaObj.areaGroupId': this.data.positionCity.areaGroupId,
程智春 committed
293
        'designateAreaObj.outId': this.data.positionCity.outId
294 295
      })

程智春 committed
296
      console.log(this.data.designateAreaObj)
297
      console.log(this.data.positionCity)
程智春 committed
298
      let change = JSON.stringify(this.data.designateAreaObj)
299 300 301 302 303
      this.setData({
        positionName: this.data.positionCity.regionName,
        changeShow : false
      })
      wx.setStorageSync('location', change )
1  
程智春 committed
304 305 306 307 308

      wx.reLaunch({
        url: '/pages/home/main?changeLocation=1'
      })

309 310
    },
    continueBrowser(){
程智春 committed
311
      console.log(this.data.designateAreaObj,'this.data.designateAreaObj')
程智春 committed
312
      wx.setStorageSync('location', JSON.stringify(this.data.designateAreaObj))
313
      this.setData({
程智春 committed
314
        positionName: this.data.designateAreaObj.regionName,
315 316 317
        changeShow: false
      })
      // wx.startPullDownRefresh()
1  
程智春 committed
318 319 320
      wx.reLaunch({
        url: '/pages/home/main?changeLocation=1'
      })
321 322 323 324 325

    },
    changeOtherCity(){
      console.log(getCurrentPages())
      wx.navigateTo({
程智春 committed
326
        url: '/pages/changeAdr/main?areaGroupId=' + this.data.designateAreaObj.areaGroupId,
程智春 committed
327 328 329 330 331 332
      })
    },
    toSearchPage(){
      app.$themeToLink({
        type : 1,
        link: '/goodsSearch/goodsSearch'
333 334 335 336 337
      })
    }
  },
  
})