优化登录逻辑

main
岩仔88 4 weeks ago
parent 058a8ac04b
commit 5fef307e88

@ -1,88 +1,85 @@
<script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/**
* name
* usersa0ChunLuyu
* date2024年8月12日 19:47:35
*/
import {
ref
} from 'vue'
import {
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
const $props = defineProps({
openid: {
type: String,
default: ''
},
path:{
type:String,
default:''
},
orderid:{
type:String,
default:''
}
});
const tip_str = ref('授权登录中,请稍候...')
const checkOpenid = () => {
let openid = ''
let path=''
let param=''
if (!!$props.openid) {
openid = decodeURIComponent($props.openid)
}
if (!!$props.path) {
path = decodeURIComponent($props.path)
/**
* name
* usersa0ChunLuyu
* date2024年8月12日 19:47:35
*/
import { ref } from 'vue'
import { $response } from '@/api'
import { onShow } from '@dcloudio/uni-app'
const index = path.indexOf('#');
if (index !== -1) {
path= path.substring(0, index); // # #
}
// 1. props Vue
const props = defineProps({
openid: {
type: String,
default: ''
},
path: {
type: String,
default: ''
},
orderid: {
type: String,
default: ''
}
});
param=param+"?path="+path
}
if (!!$props.orderid) {
path = decodeURIComponent($props.orderid)
const index = path.indexOf('#');
if (index !== -1) {
path= path.substring(0, index); // # #
}
param=param+"&orderid="+path
}
if (!!openid) {
const index = openid.indexOf('#');
if (index !== -1) {
openid= openid.substring(0, index); // # #
}
uni.setStorageSync('OPENID', openid)
uni.redirectTo({
url: "/pages/main/index/index"+param
})
} else {
tip_str.value = '未获取到授权信息,请从小程序进入'
}
}
const tip_str = ref('授权登录中,请稍候...')
onShow(() => {
checkOpenid()
})
// 2. #
const getPureValue = (value) => {
if (!value) return '';
const decodedValue = decodeURIComponent(value);
const hashIndex = decodedValue.indexOf('#');
return hashIndex !== -1 ? decodedValue.substring(0, hashIndex) : decodedValue;
};
const checkOpenid = () => {
// 3. 使 #
const openid = getPureValue(props.openid);
const path = getPureValue(props.path);
const orderid = getPureValue(props.orderid);
// 4. undefined
let redirectParams = '';
// path
if (path) {
redirectParams += `?path=${path}`;
}
// orderid path
if (orderid) {
redirectParams += `${redirectParams ? '&' : '?'}orderid=${orderid}`;
}
if (openid) {
uni.setStorageSync('OPENID', openid);
//
uni.redirectTo({
url: `/pages/main/index/index${redirectParams}`
});
} else {
tip_str.value = '未获取到授权信息,请从小程序进入';
}
};
onShow(() => {
checkOpenid();
});
</script>
<template>
<view class="tip_wrapper">
{{ tip_str }}
</view>
<view class="tip_wrapper">
{{ tip_str }}
</view>
</template>
<style scoped>
.tip_wrapper {
height: 100vh;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.tip_wrapper {
height: 100vh;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
</style>

@ -404,7 +404,6 @@
}
onMounted(() => {
deepInfo();
});
</script>

Loading…
Cancel
Save