lxf
2025-07-10 df4a5e26124999e4933265970e31c0aea37b1f1a
注册
2 files modified
2 files added
138 ■■■■ changed files
src/assets/img/back.svg 1 ●●●● patch | view | raw | blame | history
src/assets/img/icon-invite.png patch | view | raw | blame | history
src/views/register/index.vue 135 ●●●● patch | view | raw | blame | history
src/views/register/setFond.vue 2 ●●●●● patch | view | raw | blame | history
src/assets/img/back.svg
New file
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="#ffffff" d="m9.55 12l7.35 7.35q.375.375.363.875t-.388.875t-.875.375t-.875-.375l-7.7-7.675q-.3-.3-.45-.675t-.15-.75t.15-.75t.45-.675l7.7-7.7q.375-.375.888-.363t.887.388t.375.875t-.375.875z"/></svg>
src/assets/img/icon-invite.png
src/views/register/index.vue
@@ -1,8 +1,16 @@
<template>
    <div class="register">
        <div class="top" @click="router.go(-1)"><img src="../../assets/image/icon-close.png" alt=""></div>
        <Step :step="1"></Step>
        <div class="title textColor">{{ $t('register') }}</div>
    <div class="register h-100vh">
        <div class="status_bar fixed w-full top-0 left-0 h-44 flex items-center justify-between">
            <div class="w-20 h-20 ml-13">
                <img class="l_icon" src="../../assets/img/back.svg" @click="goBack" />
            </div>
            <div class="absolute top-0 left-0 w-full h-44 flex items-center justify-center z--1">
                <div class="text-19 font-medium" style="color:#fff;">{{ t('register') }}</div>
            </div>
        </div>
        <!-- <div class="top" @click="router.go(-1)"><img src="../../assets/image/icon-close.png" alt=""></div>
        <Step :step="1"></Step> -->
        <!-- <div class="title textColor">{{ $t('register') }}</div> -->
        <!-- <div class="flex re-tab">
            <div class="textColor1" :class="activeIndex == 0 ? 'active' : ''" @click="changeIndex(0)">{{
                $t('account')
@@ -13,25 +21,26 @@
                $t('phoneNum')
            }}</div>
        </div> -->
        <ExInput :label="getRegType(activeIndex, true)" :placeholderText="getRegType(activeIndex, false)" v-model="username"
        <!-- <ExInput :label="getRegType(activeIndex, true)" :placeholderText="getRegType(activeIndex, false)" v-model="username"
            :area="isArea" :dialCode="dialCode" @selectArea="onSelectArea" :icon="icon" />
        <ExInput :label="$t('setPassword')" :placeholderText="$t('passwordTips')" v-model="password" typeText="password" />
        <ExInput :label="$t('repassword')" :placeholderText="$t('surePassword')" v-model="repassword" typeText="password" />
        <ExInput :label="$t('setSafeword')" :placeholderText="$t('safewordTips')" v-model="safeword" typeText="password"
            v-if="activeIndex === 1" />
        <div class="inputCom" v-if="activeIndex === 1">
            v-if="activeIndex === 1" /> -->
        <!-- <div class="inputCom" v-if="activeIndex === 1">
            <p class="label  textColor">{{ $t('验证码') }}</p>
            <div class="iptbox inputBackground">
                <input class="inputBackground textColor" type="text" :placeholder="$t('entryVerifyCode')"
                    v-model="verifyCode">
                <span v-if="type !== 3" @click="senCode">{{ $t('sendVerifyCode') }}
                    <template v-if="time">({{ time }})s</template>
                </span>
            </div>
        </div>
        <ExInput :label="$t('invitCode')" :placeholderText="$t('entryInvitCode')" v-model="invitCode" :clearBtn="false" />
        <div class="protocol textColor">
</span>
</div>
</div> -->
        <!-- <ExInput :label="$t('invitCode')" :placeholderText="$t('entryInvitCode')" v-model="invitCode"
            :clearBtn="false" /> -->
        <!-- <div class="protocol textColor">
            <i @click="agreeProt">
                <img v-show="agree" src="../../assets/image/login/prot2.png" alt="" />
                <img v-show="!agree" src="../../assets/image/login/prot1.png" alt="" />
@@ -39,18 +48,72 @@
            {{ $t('readAgree') }}<span class="colorMain" @click="router.push('/TermsOfService')">{{
                $t('serviceConf')
            }}</span>
        </div>
        <van-button class="w-full" style="margin-top:10px;" type="primary" @click="register">{{ $t('register') }}
        </div> -->
        <!-- <van-button class="w-full" style="margin-top:10px;" type="primary" @click="register">{{ $t('register') }}
        </van-button>
        <div class="noTips textColor">{{ $t('hasAccount') }}<span class="colorMain" @click="router.push('/login')">
                {{ $t('goLogin') }}</span>
        </div> -->
        <!-- <nationality-list ref='controlChildRef' :title="$t('selectArea')" @getName="getName"></nationality-list> -->
        <!-- <Vcode :imgs="[img1, img2]" :show="show" @success="onSuccess" :canvasHeight="200" @fail="onFail"
            @close="show = false;" sliderText='' :successText="$t('vertifyPass')" :failText="$t('vertifuFail')" /> -->
        <!-- <div>{{ msg }}</div> -->
        <div class="px-26 text-white"
            style="background: url(&quot;/static/img/bg-login.png&quot;) 0% 0% / cover fixed;">
            <span class="text-40 font-bold mt-80 block">{{ $t('register') }}</span>
            <span class="text-15 font-medium block mt-10">{{ $t('立刻加入') }}</span>
            <div class="mt-40">
                <div class="bg-white p-14 rounded-10 flex items-center">
                    <div class="w-26 h-26">
                        <img src="../../assets/img/mine-select.png" draggable="false">
                    </div>
                    <div class="ml-9 text-black flex-1">
                        <div class="uni-input-wrapper">
                            <input type="text" maxlength="140" v-model="username" step="" enterkeyhint="done"
                                class="uni-input-input" autocomplete="off" :placeholder="$t('请输入账号')">
                        </div>
                    </div>
                </div>
                <div class="mt-15 bg-white p-14 rounded-10 flex items-center">
                    <div class="w-22 h-22">
                        <img src="../../assets/img/icon-password.png" draggable="false">
                    </div>
                    <div class="ml-9 text-black flex-1">
                        <div class="uni-input-wrapper">
                            <input type="password" v-model="password" maxlength="140" step="" enterkeyhint="done"
                                class="uni-input-input" autocomplete="off" :placeholder="$t('密码')">
                        </div>
                    </div>
                </div>
                <div class="mt-15 bg-white p-14 rounded-10 flex items-center">
                    <div class="w-22 h-22">
                        <img src="../../assets/img/icon-password.png" draggable="false">
                    </div>
                    <div class="ml-9 text-black flex-1">
                        <div class="uni-input-wrapper">
                            <input type="password" v-model="repassword" maxlength="140" step="" enterkeyhint="done"
                                class="uni-input-input" autocomplete="off" :placeholder="$t('密码')">
                        </div>
                    </div>
                </div>
                <div class="mt-15 bg-white p-14 rounded-10 flex items-center">
                    <div class="w-22 h-22">
                        <img src="../../assets/img/icon-invite.png" draggable="false">
                    </div>
                    <div class="ml-9 text-black flex-1">
                        <div class="uni-input-wrapper">
                            <input type="" v-model="invitCode" maxlength="140" step="" enterkeyhint="done"
                                class="uni-input-input" autocomplete="off" :placeholder="$t('invitCode')">
                        </div>
                    </div>
                </div>
            </div>
            <div class="py-17 text-center bg-black mt-80 rounded-10 text-19 font-700" @click="register">{{
                $t('register') }}</div>
        </div>
        <nationality-list ref='controlChildRef' :title="$t('selectArea')" @getName="getName"></nationality-list>
        <Vcode :imgs="[img1, img2]" :show="show" @success="onSuccess" :canvasHeight="200" @fail="onFail"
            @close="show = false;" sliderText='' :successText="$t('vertifyPass')" :failText="$t('vertifuFail')" />
        <div>{{ msg }}</div>
    </div>
</template>
@@ -165,6 +228,9 @@
    controlChildRef.value.open();
}
const goBack = () => {
    router.back()
}
const getName = (params) => {
    icon.value = params.code;
    dialCode.value = params.dialCode;
@@ -173,7 +239,7 @@
    agree.value = !agree.value
}
const register = () => {
    console.log(activeIndex.value,'activeIndex.value')
    console.log(activeIndex.value, 'activeIndex.value')
    if (activeIndex.value == 0) {
        if (username.value == '') {
            showToast(t('entryAccount'));
@@ -198,7 +264,7 @@
            return
        }
    } else if (activeIndex.value == 2) {
        if(!(/(^[1-9]\d*$)/.test(username.value))){
        if (!(/(^[1-9]\d*$)/.test(username.value))) {
            showToast(t('entryPhone'));
            return
        }
@@ -219,11 +285,12 @@
        showToast(t('noSamePassword'));
        return
    }
    if (!agree.value) {
        showToast(t('agreeServiceCond'));
        return
    }
    show.value = true
    // if (!agree.value) {
    //     showToast(t('agreeServiceCond'));
    //     return
    // }
    registerApi()
    // show.value = true
}
const changeIndex = (index) => {
    activeIndex.value = index;
@@ -277,7 +344,8 @@
            userStore[GET_USERINFO](res)
            store.state.user.userInfo = res
            if (activeIndex.value == 0) {
                router.push('/setFond')
                // router.push('/setFond')
                goBack()
            } else {
                router.push({ name: 'verify', query: { type: activeIndex.value, account: activeIndex.value == 1 ? username.value : `${dialCode.value}${username.value}` } })
            }
@@ -289,6 +357,8 @@
</script>
<style lang="scss" scoped>
@import '@/assets/css/deepseek_css_20250625_30ff932.css';
.activeBKClick {
    &:active {
        background: $tab_background;
@@ -306,8 +376,9 @@
.register {
    width: 100%;
    box-sizing: border-box;
    padding: 16px;
    padding: 16px 0;
    font-size: 13px;
    background: url('../../assets/img/bg-login.png') 0% 0% / cover fixed;
}
.top {
@@ -392,4 +463,10 @@
        color: $color_main;
    }
}
.l_icon {
    background-image: url('../../assets/img/back.svg');
    background-position: 0% 0%;
    background-size: 100% 100%;
}
</style>
src/views/register/setFond.vue
@@ -60,9 +60,11 @@
<style lang="scss" scoped>
.setFond {
    width: 100%;
    height: 100vh;
    box-sizing: border-box;
    font-size: 13px;
    padding: 0 16px;
    background: url('../../assets/img/bg-login.png') 0% 0% / cover fixed;
}
.header {