| | |
| | | |
| | | //用户打开小程序默认授权 |
| | | function wxLogin(){ |
| | | uni.removeStorageSync('openId'); |
| | | // uni.removeStorageSync('openId'); |
| | | if(!uni.getStorageSync('openId')){ |
| | | wx.login({ |
| | | success:async (res1)=>{ |
| | | //存储微信登录的code |
| | | //存储微信登录的code,调用后端接口传递code参数,返回openid(也就是userId)存储到本地,通过判断本地是否存在openId,存在表示已登录 |
| | | uni.setStorageSync('code',res1.code) |
| | | await wxLoginApi({code:res1.code}).then((res2) =>{ |
| | | uni.setStorageSync('openId',res2.data.userId) |
| | | uni.setStorageSync('token',res2.data.token) |
| | | if(res2.code == 200){ |
| | | uni.setStorageSync('openId',res2.data.userId) |
| | | uni.setStorageSync('token',res2.data.token) |
| | | }else{ |
| | | console.log('登录接口调用失败') |
| | | } |
| | | }) |
| | | }, |
| | | fail:(e) =>{ |
| | | uni.showToast({ |
| | | title: '登录失败,请退出重试!', |
| | | duration: 2000 |
| | | title: '微信登录失败,请退出重试!', |
| | | duration: 2000, |
| | | icon:'fail' |
| | | }); |
| | | console.log(e) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | |
| | | //申请获取用户位置权限 |
| | | let userLocation = { |
| | | lat:'', |
| | | lon:'', |
| | | } |
| | | function getUserLocation(){ |
| | | // 请求用户授权,第一次进入会有位置授权的提示 |
| | | uni.authorize({ |
| | | scope: 'scope.userLocation', |
| | | success() { |
| | | console.log("成功授权位置信息1") |
| | | storageLocation() |
| | | }, |
| | | fail() { |
| | | console.log("用户拒绝授权位置信息,再次提示用户授权") |
| | | showToast() |
| | | } |
| | | }) |
| | | //获取用户位置并存储 |
| | | function storageLocation(){ |
| | | uni.getLocation({ |
| | | type:'gcj02', |
| | | isHighAccuracy:true, |
| | | success:(res) =>{ |
| | | userLocation.lat = res.latitude |
| | | userLocation.lon = res.longitude |
| | | uni.setStorageSync('userLocation',JSON.stringify(userLocation)) |
| | | }, |
| | | fail:() =>{ |
| | | showToast() |
| | | } |
| | | }) |
| | | } |
| | | //用户拒绝授权 |
| | | function showToast(){ |
| | | uni.showModal({ |
| | | title: "请求授权当前位置", |
| | | content: "我们需要获取地理位置信息,为您获取附近站点信息!", |
| | | confirmText: "前往设置", |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | uni.openSetting({ |
| | | success:(res1) =>{ //打开设置成功 |
| | | if (res1.authSetting['scope.userLocation']){ |
| | | console.log('用户二次授权成功') |
| | | storageLocation() |
| | | }else{ |
| | | showToast() |
| | | console.log('用户拒绝授权') |
| | | } |
| | | }, |
| | | }) |
| | | }else{ |
| | | uni.showToast({ |
| | | title: '请先授权!', |
| | | duration: 2000, |
| | | icon:'none' |
| | | }); |
| | | showToast() |
| | | } |
| | | }, |
| | | }); |
| | | } |
| | | } |
| | | // //申请获取用户位置权限 |
| | | // let userLocation = { |
| | | // lat:'', |
| | | // lon:'', |
| | | // } |
| | | // function getUserLocation(){ |
| | | // // 请求用户授权,第一次进入会有位置授权的提示 |
| | | // uni.authorize({ |
| | | // scope: 'scope.userLocation', |
| | | // success() { |
| | | // console.log("成功授权位置信息1") |
| | | // storageLocation() |
| | | // }, |
| | | // fail() { |
| | | // console.log("用户拒绝授权位置信息,再次提示用户授权") |
| | | // showToast() |
| | | // } |
| | | // }) |
| | | // //获取用户位置并存储 |
| | | // function storageLocation(){ |
| | | // uni.getLocation({ |
| | | // type:'gcj02', |
| | | // isHighAccuracy:true, |
| | | // success:(res) =>{ |
| | | // userLocation.lat = res.latitude |
| | | // userLocation.lon = res.longitude |
| | | // uni.setStorageSync('userLocation',JSON.stringify(userLocation)) |
| | | // }, |
| | | // fail:() =>{ |
| | | // showToast() |
| | | // } |
| | | // }) |
| | | // } |
| | | // //用户拒绝授权 |
| | | // function showToast(){ |
| | | // uni.showModal({ |
| | | // title: "请求授权当前位置", |
| | | // content: "请求获取您的位置,加载您附近饮水设备信息!", |
| | | // confirmText: "前往设置", |
| | | // success: (res) => { |
| | | // if (res.confirm) { |
| | | // uni.openSetting({ |
| | | // success:(res1) =>{ //打开设置成功 |
| | | // if (res1.authSetting['scope.userLocation']){ |
| | | // console.log('用户二次授权成功') |
| | | // setTimeout(() =>{ |
| | | // storageLocation() |
| | | // },1000) |
| | | // }else{ |
| | | // showToast() |
| | | // console.log('用户拒绝授权') |
| | | // } |
| | | // }, |
| | | // }) |
| | | // }else{ |
| | | // uni.showToast({ |
| | | // title: '请先授权!', |
| | | // duration: 2000, |
| | | // icon:'none' |
| | | // }); |
| | | // showToast() |
| | | // } |
| | | // }, |
| | | // }); |
| | | // } |
| | | // } |
| | | onLaunch(async() => { |
| | | await wxLogin() |
| | | await getUserLocation() |
| | | // await getUserLocation() |
| | | console.log('进入项目启动页APP.vue了') |
| | | }); |
| | | onShow(() => { |
| | | console.log("App Show"); |