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

This commit is contained in:
yuhawu 2025-09-06 16:44:08 +08:00
parent 05ecbce6cf
commit 3a2d61e13c

View File

@ -17,39 +17,39 @@
<!-- 用户名 -->
<el-form-item prop="username" style="display: none;">
<el-input v-model="formData.username" placeholder="用户名" size="large" :prefix-icon="User"
disabled />
disabled/>
</el-form-item>
<!-- 手机号 -->
<el-form-item prop="phoneNumber">
<el-input v-model="formData.phoneNumber" placeholder="手机号" size="large"
:prefix-icon="Phone" />
:prefix-icon="Phone"/>
</el-form-item>
<!-- 密码 -->
<el-form-item prop="password">
<el-input v-model="formData.password" type="password" placeholder="密码" size="large"
:prefix-icon="Lock" show-password />
:prefix-icon="Lock" show-password/>
</el-form-item>
<!-- 确认密码 -->
<el-form-item prop="confirmPassword">
<el-input v-model="formData.confirmPassword" type="password" placeholder="确认密码" size="large"
:prefix-icon="Lock" show-password />
:prefix-icon="Lock" show-password/>
</el-form-item>
<!-- 邀请码 -->
<el-form-item prop="inviteCode">
<el-input v-model="formData.inviteCode" placeholder="邀请码(非必填)" size="large"
:prefix-icon="Message" />
:prefix-icon="Message"/>
</el-form-item>
<!-- 验证码 -->
<el-form-item v-if="captchaEnabled" prop="code">
<div class="captcha-row">
<el-input v-model="formData.code" placeholder="验证码" size="large" :prefix-icon="Key" />
<el-input v-model="formData.code" placeholder="验证码" size="large" :prefix-icon="Key"/>
<div class="captcha-image" @click="getCaptcha">
<img v-if="captchaImg" :src="captchaImg" alt="验证码" />
<img v-if="captchaImg" :src="captchaImg" alt="验证码"/>
</div>
</div>
</el-form-item>
@ -96,7 +96,7 @@
<div class="flow-chart">
<h3>操作流程图</h3>
<div class="chart-container" @click="showFlowChart">
<img src="/flow-chart.png" alt="操作流程图" class="flow-image" />
<img src="/flow-chart.png" alt="操作流程图" class="flow-image"/>
<div class="click-tip">点击查看大图</div>
</div>
</div>
@ -112,7 +112,7 @@
<button class="close-btn" @click="closeImageViewer">×</button>
</div>
<div class="image-viewer-content">
<img src="/flow-chart.png" alt="操作流程图" class="full-image" />
<img src="/flow-chart.png" alt="操作流程图" class="full-image"/>
</div>
</div>
</div>
@ -120,11 +120,11 @@
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { useRoute } from 'vue-router'
import { ElMessage, ElMessageBox } from 'element-plus'
import { User, Phone, Lock, Message, Key } from '@element-plus/icons-vue'
import { getApiUrl } from '@/config/api'
import {ref, onMounted} from 'vue'
import {useRoute} from 'vue-router'
import {ElMessage, ElMessageBox} from 'element-plus'
import {User, Phone, Lock, Message, Key} from '@element-plus/icons-vue'
import {getApiUrl} from '@/config/api'
const route = useRoute()
const loading = ref(false)
@ -162,18 +162,18 @@ const rules = {
username: [
//
// { required: true, message: '', trigger: 'blur' },
{ min: 2, max: 20, message: '用户名长度在2到20个字符', trigger: 'blur' }
{min: 2, max: 20, message: '用户名长度在2到20个字符', trigger: 'blur'}
],
phoneNumber: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
{required: true, message: '请输入手机号', trigger: 'blur'},
{pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur'}
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ min: 5, max: 20, message: '密码长度在5到20个字符', trigger: 'blur' }
{required: true, message: '请输入密码', trigger: 'blur'},
{min: 5, max: 20, message: '密码长度在5到20个字符', trigger: 'blur'}
],
confirmPassword: [
{ required: true, message: '请确认密码', trigger: 'blur' },
{required: true, message: '请确认密码', trigger: 'blur'},
{
validator: (rule, value, callback) => {
if (value !== formData.value.password) {
@ -241,7 +241,7 @@ const getCaptcha = async () => {
if (contentType && contentType.includes('application/json')) {
const result = await response.json()
if (result.code === 200) {
const { data } = result
const {data} = result
//
captchaEnabled.value = data.captchaEnabled === undefined ? true : data.captchaEnabled
@ -319,6 +319,7 @@ const handleRegister = async () => {
urlParams.value.pddMallName = result.data.pddMallName || ''
urlParams.value.skuSpec = result.data.skuSpec || ''
//
if (urlParams.value.pddMallId) {
formData.value.username = 'pdd' + urlParams.value.pddMallId
@ -351,7 +352,7 @@ const handleRegister = async () => {
//
pddMallId: urlParams.value.pddMallId || '',
pddMallName: urlParams.value.pddMallName || '',
pddType: urlParams.value.type || '',
pddType: "2",
accessToken: urlParams.value.accessToken || '',
skuSpec: urlParams.value.skuSpec || ''
}
@ -610,6 +611,7 @@ onMounted(() => {
.right-section {
flex: 1;
max-width: 600px;
margin-left: 144px;
}
.login-info {