feat:新增PDD跳转注册页面code授权码

This commit is contained in:
yuhawu 2025-09-05 17:04:07 +08:00
parent 72283b50ce
commit 05ecbce6cf

View File

@ -15,7 +15,7 @@
<!-- 表单 -->
<el-form ref="formRef" :model="formData" :rules="rules" label-width="0">
<!-- 用户名 -->
<el-form-item prop="username">
<el-form-item prop="username" style="display: none;">
<el-input v-model="formData.username" placeholder="用户名" size="large" :prefix-icon="User"
disabled />
</el-form-item>
@ -160,7 +160,8 @@ const formData = ref({
//
const rules = {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' },
//
// { required: true, message: '', trigger: 'blur' },
{ min: 2, max: 20, message: '用户名长度在2到20个字符', trigger: 'blur' }
],
phoneNumber: [
@ -210,18 +211,18 @@ const rules = {
const getUrlParams = () => {
const query = route.query
urlParams.value = {
pddMallId: query.pddMallId || '',
pddMallName: decodeURIComponent(query.pddMallName || ''),
type: query.type || '',
accessToken: query.accessToken || '',
skuSpec: decodeURIComponent(query.skuSpec || ''),
// pddMallId: query.pddMallId || '',
// pddMallName: decodeURIComponent(query.pddMallName || ''),
// type: query.type || '',
// accessToken: query.accessToken || '',
// skuSpec: decodeURIComponent(query.skuSpec || ''),
code: query.code || ''
}
// "pdd" + pddMallId
if (urlParams.value.pddMallId) {
formData.value.username = 'pdd' + urlParams.value.pddMallId
}
// if (urlParams.value.pddMallId) {
// formData.value.username = 'pdd' + urlParams.value.pddMallId
// }
}
//
@ -300,6 +301,43 @@ const handleRegister = async () => {
loading.value = true
// token
if (urlParams.value.code) {
try {
const response = await fetch(getApiUrl(`/huidiao/pdd/getPddToken?code=${urlParams.value.code}`), {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
})
const result = await response.json()
if (result.code === 200 && result.data) {
// URL
urlParams.value.accessToken = result.data.accessToken || ''
urlParams.value.pddMallId = result.data.pddMallId || ''
urlParams.value.pddMallName = result.data.pddMallName || ''
urlParams.value.skuSpec = result.data.skuSpec || ''
//
if (urlParams.value.pddMallId) {
formData.value.username = 'pdd' + urlParams.value.pddMallId
}
console.log('获取拼多多Token成功:', result.data)
} else {
//
console.error('获取拼多多Token失败:', result.msg || '未知错误')
if (result.msg) {
ElMessage.warning(`获取拼多多信息: ${result.msg}`)
}
}
} catch (error) {
console.error('调用拼多多Token接口失败:', error)
ElMessage.warning('获取拼多多店铺信息失败将使用URL中的参数')
}
}
//
const registerData = {
username: formData.value.username,
@ -311,11 +349,11 @@ const handleRegister = async () => {
tenantId: formData.value.tenantId,
userType: formData.value.userType,
//
pddMallId: urlParams.value.pddMallId,
pddMallName: urlParams.value.pddMallName,
pddType: urlParams.value.type,
accessToken: urlParams.value.accessToken,
skuSpec: urlParams.value.skuSpec
pddMallId: urlParams.value.pddMallId || '',
pddMallName: urlParams.value.pddMallName || '',
pddType: urlParams.value.type || '',
accessToken: urlParams.value.accessToken || '',
skuSpec: urlParams.value.skuSpec || ''
}
//
@ -340,11 +378,25 @@ const handleRegister = async () => {
//
// router.push('/login')
} else {
//
//
let errorMessage = result.msg || '注册失败,请重试'
//
if (result.msg === '店铺已存在') {
errorMessage = '该店铺已经绑定,请复制右侧网址登录使用'
//
ElMessageBox.alert(
'该拼多多店铺已经绑定到系统中,请直接登录使用。',
'店铺已绑定',
{
confirmButtonText: '我知道了',
type: 'warning',
center: true
}
)
}
//
if (result.msg === 'Captcha error') {
else if (result.msg === 'Captcha error') {
errorMessage = '验证码错误,请重新输入'
} else if (result.msg === 'Captcha invalid') {
errorMessage = '验证码无效,请重新输入'