196 lines
4.9 KiB
Vue
196 lines
4.9 KiB
Vue
<template>
|
|
<view class="app">
|
|
<image src="../../static/logo.png" mode=""></image>
|
|
<!-- <view class="text">
|
|
新医路健康服务平台
|
|
</view> -->
|
|
<button class="loginbtn" open-type="getPhoneNumber" @getphonenumber="getPhoneNumberp">手机号快捷登录</button>
|
|
<u-toast ref="uToast" />
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import {
|
|
appLoginpwd,
|
|
getWeChatUser,
|
|
isRegistered,
|
|
} from '../../api/pages/login/index.js'
|
|
import {
|
|
getCurrentUser,
|
|
} from '@/api/pages/homepage/homepage.js'
|
|
import {
|
|
createMobileToken
|
|
} from '@/api/pages/login/index.js'
|
|
import {
|
|
mapMutations
|
|
} from "vuex";
|
|
export default {
|
|
data() {
|
|
return {
|
|
phonecode: undefined,
|
|
logincode: undefined,
|
|
timer: undefined,
|
|
cityCode: null,
|
|
SOCKETURL: '',
|
|
// scenenurseStationId: undefined,
|
|
};
|
|
},
|
|
onShow() {
|
|
if (uni.getStorageSync('location') && uni.getStorageSync('region')) {} else {
|
|
this.getAddress()
|
|
}
|
|
this.phonecode = undefined
|
|
this.logincode = undefined
|
|
let that = this
|
|
wx.login({
|
|
provider: 'weixin',
|
|
success: function(loginRes) {
|
|
that.logincode = loginRes.code
|
|
}
|
|
});
|
|
// this.scenenurseStationId = uni.getStorageSync('scenenurseStationId');
|
|
},
|
|
methods: {
|
|
...mapMutations(['scoket']),
|
|
//获取当前位置
|
|
getAddress() {
|
|
let that = this;
|
|
uni.getLocation({
|
|
type: 'wgs84',
|
|
success: (res) => {
|
|
let location = res.latitude + ',' + res.longitude
|
|
//调用逆解析接口
|
|
uni.request({
|
|
url: 'https://apis.map.qq.com/ws/geocoder/v1/?location=location', //腾讯官方逆解析接口,可直接复制
|
|
data: {
|
|
location: location,
|
|
'key': "Q4DBZ-UIMC2-B63UX-CUZ6A-S3UT7-TBF3V", //自己申请的Key
|
|
},
|
|
method: "GET",
|
|
success(res) {
|
|
if (uni.getStorageSync('location')) {
|
|
uni.setStorageSync('location', res.data.result.address_component
|
|
.city)
|
|
var address = uni.getStorageSync('location')
|
|
}
|
|
if (address == '德州市') {
|
|
uni.setStorageSync("region", 1)
|
|
} else if (address == '东营市') {
|
|
uni.setStorageSync("region", 2)
|
|
} else if (address == '济南市') {
|
|
uni.setStorageSync("region", 3)
|
|
}
|
|
},
|
|
fail: res => {
|
|
console.log(res.errMsg, '解析失败返回的错误信息');
|
|
}
|
|
})
|
|
},
|
|
//失败
|
|
fail: (res) => {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '获取地址失败,请打开定位',
|
|
})
|
|
}
|
|
})
|
|
},
|
|
getPhoneNumberp(val) {
|
|
let that = this;
|
|
if (val.detail.code) {
|
|
that.phonecode = val.detail.code
|
|
that.login();
|
|
}
|
|
},
|
|
login() {
|
|
wx.login({
|
|
provider: 'weixin',
|
|
success: function(loginRes) {
|
|
that.logincode = loginRes.code
|
|
}
|
|
});
|
|
let that = this;
|
|
// console.log(that.logincode, that.phonecode)
|
|
isRegistered(that.logincode, that.phonecode).then(resp => {
|
|
if (resp.data.openid && resp.data.phone) {
|
|
uni.setStorageSync("openid", resp.data.openid)
|
|
uni.setStorageSync("phone", resp.data.phone)
|
|
}
|
|
if (resp.data.code == '0') {
|
|
that.$refs.uToast.show({
|
|
title: '未注册,请先注册',
|
|
type: 'error',
|
|
duration: '1500',
|
|
})
|
|
if (that.timer) {
|
|
learTimeout(that.timer)
|
|
}
|
|
that.timer = setTimeout(() => {
|
|
uni.redirectTo({
|
|
url: '/pages/register/register',
|
|
})
|
|
}, 1500)
|
|
} else if (resp.data.code == '2') {
|
|
that.$refs.uToast.show({
|
|
title: '已被其他人注册',
|
|
type: 'error',
|
|
duration: '1500',
|
|
})
|
|
} else if (resp.data.code == '1') {
|
|
getCurrentUser(resp.data.openid).then(res => {
|
|
if (res.code == 200) {
|
|
if (res.data) {
|
|
uni.setStorageSync('patientId', res.data.id);
|
|
uni.setStorageSync('userinfo', res.data);
|
|
that.scoket();
|
|
}
|
|
that.$refs.uToast.show({
|
|
title: '登录成功',
|
|
type: 'success',
|
|
back: 1
|
|
})
|
|
} else {
|
|
that.$refs.uToast.show({
|
|
title: '登录失败',
|
|
type: 'error',
|
|
})
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
pwdlogin() {
|
|
var that = this
|
|
uni.clearStorageSync();
|
|
that.login()
|
|
// createMobileToken().then(res => {
|
|
// uni.setStorageSync("token", res.data.token)
|
|
// if (this.scenenurseStationId) {
|
|
// uni.setStorageSync("scenenurseStationId", this.scenenurseStationId)
|
|
// }
|
|
// that.login()
|
|
// })
|
|
},
|
|
}, //1.分享给朋友
|
|
onShareAppMessage(res) {
|
|
let pages = getCurrentPages();
|
|
let url = pages[pages.length - 1].$page.fullPath
|
|
return {
|
|
title: '新医路健康服务平台',
|
|
path: url,
|
|
}
|
|
},
|
|
//2.分享到朋友圈
|
|
onShareTimeline(res) {
|
|
let pages = getCurrentPages();
|
|
let url = pages[pages.length - 1].$page.fullPath
|
|
return {
|
|
title: '新医路健康服务平台',
|
|
path: url,
|
|
}
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
@import "./login.scss";
|
|
</style> |