xinelu-applet-ui/pages/login/login.vue
2023-09-22 15:39:13 +08:00

112 lines
2.6 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,
} from '../../api/pages/login/index.js'
import {
createMobileToken
} from '@/api/pages/login/index.js'
export default {
data() {
return {
phonecode: undefined,
logincode: undefined,
timer: undefined,
scenenurseStationId: undefined
};
},
onShow() {
this.phonecode = undefined
this.logincode = undefined
this.scenenurseStationId = uni.getStorageSync('scenenurseStationId');
},
methods: {
getPhoneNumberp(val) {
let that = this;
if (val.detail.code) {
that.phonecode = val.detail.code
wx.login({
provider: 'weixin',
success: function(loginRes) {
that.logincode = loginRes.code
that.pwdlogin();
}
});
}
},
login() {
getWeChatUser(this.logincode, this.phonecode).then(res => {
if (res.code == 200) {
uni.setStorageSync("openid", res.data.openid)
uni.setStorageSync("patientId", res.data.id)
uni.setStorageSync("phone", res.data.phone)
this.$refs.uToast.show({
title: '登录成功',
type: 'success',
duration: '1500'
})
this.phonecode = undefined
this.logincode = undefined
uni.setStorageSync("Refresh", 'Refresh')
if (this.timer) {
clearTimeout(this.timer)
}
this.timer = setTimeout(e => {
uni.navigateBack({
delta: 1
})
}, 500)
} else {
this.$refs.uToast.show({
title: '登录失败',
type: 'error',
duration: '1500'
})
}
})
},
pwdlogin() {
var that = this
uni.clearStorageSync();
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>