优化代码
This commit is contained in:
@@ -45,7 +45,8 @@
|
||||
<div class="add-anchor-library">
|
||||
<div class="title">
|
||||
<img class="titleimg" src="@/assets/embellish.png" alt="" />
|
||||
<div>发布新PK</div>
|
||||
<!-- gj发布新PK -->
|
||||
<div>{{ t('ReleaseANewPK') }}</div>
|
||||
<img class="titleimg" src="@/assets/embellish.png" alt="" />
|
||||
</div>
|
||||
<div class="add-anchor-library-content">
|
||||
@@ -55,12 +56,13 @@
|
||||
class="input-name-input"
|
||||
v-model="anchorName"
|
||||
size="large"
|
||||
placeholder="请输入主播名称"
|
||||
:placeholder="t('PleaseEnterTheNameOfTheHost')"
|
||||
@blur="handleChange()"
|
||||
/>
|
||||
<!-- gj请输入主播名称 -->
|
||||
<div class="myanchor">
|
||||
<div class="myanchor-btn" @click="myAnchorDialogVisible = true">
|
||||
选择我的主播
|
||||
{{ t('ChooseMyStreamer') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -70,11 +72,12 @@
|
||||
v-model="countryvalue"
|
||||
filterable
|
||||
:options="country"
|
||||
placeholder="请选择国家"
|
||||
:placeholder="t('PleaseSelectACountry')"
|
||||
size="large"
|
||||
style="vertical-align: middle"
|
||||
class="select"
|
||||
/>
|
||||
<!-- gj选择国家 -->
|
||||
</div>
|
||||
<div class="gender">
|
||||
<!-- 性别 -->
|
||||
@@ -83,29 +86,33 @@
|
||||
filterable
|
||||
:options="genderOptions"
|
||||
size="large"
|
||||
placeholder="请选择性别"
|
||||
:placeholder="t('PleaseSelectGender')"
|
||||
style="vertical-align: middle"
|
||||
class="select"
|
||||
/>
|
||||
<!-- gj请选择性别 -->
|
||||
</div>
|
||||
<div class="timeselect">
|
||||
<el-date-picker
|
||||
v-model="timevalue"
|
||||
type="datetime"
|
||||
placeholder="选择PK时间"
|
||||
:placeholder="t('SelectThePKTime')"
|
||||
size="large"
|
||||
style="width: 100%; height: 100%"
|
||||
format="YYYY/MM/DD hh:mm"
|
||||
value-format="x"
|
||||
/>
|
||||
<!-- gj请选择PK时间 -->
|
||||
</div>
|
||||
<div class="Gold-sessions">
|
||||
<div class="Goldcoinbox-right">
|
||||
<div class="Goldcoinbox-text">金币数(单位为K)</div>
|
||||
<div class="Goldcoinbox-text">{{ t('NumberOfGoldCoins') }}</div>
|
||||
<!-- gj金币提示 -->
|
||||
<el-input-number v-model="goldvalue" controls-position="right" />
|
||||
</div>
|
||||
<div class="Goldcoinbox-right">
|
||||
<div class="Goldcoinbox-text">场次</div>
|
||||
<div class="Goldcoinbox-text">{{ t('Session') }}</div>
|
||||
<!-- gj场次提示 -->
|
||||
<el-input-number v-model="sessionnum" controls-position="right" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -116,17 +123,20 @@
|
||||
class="textarea"
|
||||
style="width: 100%; height: 100%"
|
||||
maxlength="50"
|
||||
placeholder="请输入备注(选填)"
|
||||
:placeholder="t('PleaseEnterTheRemarks')"
|
||||
/>
|
||||
<!-- gj备注 -->
|
||||
</div>
|
||||
<div class="Confirm" @click="Confirm()">确认</div>
|
||||
<div class="Reset" @click="Reset()">重置</div>
|
||||
<div class="Confirm" @click="Confirm()">{{ t('Confirm') }}</div>
|
||||
<!-- gj确认 -->
|
||||
<div class="Reset" @click="Reset()">{{ t('Reset') }}</div>
|
||||
<!-- gj重置 -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
<!-- 选择我的主播弹窗 -->
|
||||
<el-dialog v-model="myAnchorDialogVisible" center title="选择我的主播库主播" width="800" align-center>
|
||||
<el-dialog v-model="myAnchorDialogVisible" center :title="t('SelectTheStreamersFromMyStreamerLibrary')" width="800" align-center>
|
||||
<div class="myanchor-content">
|
||||
<div class="myanchor-list">
|
||||
<div
|
||||
@@ -152,7 +162,8 @@
|
||||
background: item.gender == 1 ? '#59D8DB' : '#F3876F',
|
||||
}"
|
||||
>
|
||||
{{ item.gender == 1 ? "男" : "女" }}
|
||||
{{ item.gender == 1 ? t('man') : t('woman') }}
|
||||
<!-- gj男女 -->
|
||||
</div>
|
||||
<div class="Country">{{ item.country }}</div>
|
||||
</div>
|
||||
@@ -161,12 +172,14 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="myanchor-dialog-btn">
|
||||
<div class="myAnchorDialogReset" @click="myAnchorDialogVisible = false">取消</div>
|
||||
<div class="myAnchorDialogConfirm" @click="myAnchorDialogConfirm()">确认</div>
|
||||
<div class="myAnchorDialogReset" @click="myAnchorDialogVisible = false">{{ t('Cancel') }}</div>
|
||||
<!-- gj取消 -->
|
||||
<div class="myAnchorDialogConfirm" @click="myAnchorDialogConfirm()">{{ t('Confirm') }}</div>
|
||||
<!-- gj确认 -->
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog v-model="settingsVisible" center title="设置" width="800" align-center>
|
||||
<el-dialog v-model="settingsVisible" center :title="t('Settings')" width="800" align-center>
|
||||
<div class="settings-content">
|
||||
<!-- 头像设置 -->
|
||||
<div class="avatar-setting">
|
||||
@@ -179,55 +192,64 @@
|
||||
>
|
||||
<img :src="avatar" class="avatar" />
|
||||
</el-upload>
|
||||
<div class="Hint">点击上方头像修改头像</div>
|
||||
<div class="Hint">{{ t('ClickOnTheAvatarAboveToModifyIt') }}</div>
|
||||
<!-- gj点击头像修改 -->
|
||||
</div>
|
||||
<!-- 昵称设置 -->
|
||||
<div class="nickname-setting">
|
||||
<input type="text" class="nickname-input" v-model="info.nickName" @blur="handleNickNameChange"/>
|
||||
<div class="Hint">点击输入修改昵称</div>
|
||||
<div class="Hint">{{ t('ClickToEnterAndModifyYourNickname') }}</div>
|
||||
<!-- gj点击昵称修改 -->
|
||||
</div>
|
||||
<div class="email-setting" @click="ResendEmail" v-if="info.mailVerification == 1 && info.email != null">
|
||||
<div v-if="isResendEmail == 0">
|
||||
向({{info.email}})重发邮箱验证
|
||||
{{t('ResendTheEmailTo')}}{{"("+info.email+")"}}{{t('ForVerification')}}
|
||||
<!-- gj重新发送邮件 -->
|
||||
</div>
|
||||
<div v-if="isResendEmail == 1">
|
||||
{{timeLeft}}
|
||||
</div>
|
||||
</div>
|
||||
<!-- 邮箱设置 -->
|
||||
<div class="email-setting" v-if="info.email != null" @click="emailVisiblefu">修改邮箱({{info.email}})</div>
|
||||
<div class="email-setting" v-if="info.email != null" @click="emailVisiblefu">{{t('ModifyTheEmailAddress')}}{{"("+info.email+")"}}</div>
|
||||
<!-- gj点击邮箱修改 -->
|
||||
<!-- 密码设置 -->
|
||||
<div class="password-setting" v-if="info.email != null" @click="passwordVisiblefn">修改密码</div>
|
||||
<div class="password-setting" v-if="info.email != null" @click="passwordVisiblefn">{{ t('ChangePassword') }}</div>
|
||||
<!-- gj点击密码修改 -->
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 修改密码弹窗 -->
|
||||
<el-dialog v-model="passwordVisible" center title="修改密码" width="600" align-center>
|
||||
<el-dialog v-model="passwordVisible" center :title="t('ChangePassword')" width="600" align-center>
|
||||
<!-- gj修改密码 -->
|
||||
<div class="password-content">
|
||||
<el-input
|
||||
type="password"
|
||||
v-model="password"
|
||||
placeholder="请输入旧密码"
|
||||
:placeholder="t('PleaseEnterTheOldPassword')"
|
||||
size="large"
|
||||
class="password-input"
|
||||
show-password
|
||||
/>
|
||||
<!-- gj请输入旧密码 -->
|
||||
<el-input
|
||||
type="password"
|
||||
v-model="newPassword"
|
||||
placeholder="请输入新密码"
|
||||
:placeholder="t('PleaseEnterTheNewPassword')"
|
||||
size="large"
|
||||
class="password-input"
|
||||
show-password
|
||||
/>
|
||||
<!-- gj请输入新密码 -->
|
||||
<el-input
|
||||
type="password"
|
||||
v-model="confirmPassword"
|
||||
placeholder="请确认新密码"
|
||||
:placeholder="t('PleaseEnterTheConfirmPassword')"
|
||||
size="large"
|
||||
class="password-input"
|
||||
show-password
|
||||
/>
|
||||
<div class="password-btn" @click="changePassword()">确定</div>
|
||||
<div class="password-btn" @click="changePassword()">{{ t('Confirm') }}</div>
|
||||
<!-- gj确认 -->
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 修改邮箱弹窗 -->
|
||||
@@ -303,6 +325,11 @@ import {
|
||||
import { goeasy } from "../main";
|
||||
import GoEasy from "goeasy";
|
||||
var im = goeasy.im;
|
||||
//
|
||||
import { useI18n } from 'vue-i18n'
|
||||
const { t } = useI18n()
|
||||
window['$t'] = t
|
||||
//
|
||||
const info = ref({}); // 用户信息
|
||||
const avatar = ref(null); //头像
|
||||
const country = ref([]);
|
||||
@@ -321,19 +348,21 @@ const sessionnum = ref(null); // 场次
|
||||
const remark = ref(null); // 备注
|
||||
const Avatarlist = [
|
||||
{
|
||||
name:'签到',
|
||||
// gj签到
|
||||
name:t('SignIn'),
|
||||
id:1
|
||||
},
|
||||
{
|
||||
name: '设置',
|
||||
//gj设置
|
||||
name: t('Settings'),
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: '联系客服(点击复制邮箱)',
|
||||
name: t('ContactCustomerService'),
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: '退出登录',
|
||||
name: t('Logout'),
|
||||
id: 4,
|
||||
}
|
||||
]
|
||||
@@ -346,21 +375,24 @@ const NavigationModule = [
|
||||
Selectedicon:'https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/SelectPKpage.png'
|
||||
},
|
||||
{
|
||||
name: '站内信',
|
||||
//gj论坛
|
||||
name: t('InSiteMessage'),
|
||||
id: 2,
|
||||
path: '/nav/Forum',
|
||||
icon: 'https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Forum.png',
|
||||
Selectedicon:'https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Selectinsitemessagepage.png'
|
||||
},
|
||||
{
|
||||
name: '消息',
|
||||
//gj消息
|
||||
name: t('message'),
|
||||
id: 3,
|
||||
path: '/nav/Message',
|
||||
icon: 'https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Message.png',
|
||||
Selectedicon:'https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Selectmessagepage.png'
|
||||
},
|
||||
{
|
||||
name: '我的',
|
||||
//gj我的
|
||||
name: t('Mine'),
|
||||
id: 4,
|
||||
path: '/nav/Mine',
|
||||
icon: 'https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/Mine.png',
|
||||
@@ -918,6 +950,7 @@ onUnmounted(() => {
|
||||
font-size: 12px;
|
||||
color:@Prompt-text-color;
|
||||
margin-top: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.redDot{
|
||||
|
||||
@@ -20,6 +20,7 @@ import { ref } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { setLocale } from '@/i18n'
|
||||
|
||||
|
||||
const { locale } = useI18n()
|
||||
const currentLanguage = ref(locale.value)
|
||||
|
||||
|
||||
@@ -97,7 +97,8 @@
|
||||
<div class="add-anchor-library">
|
||||
<div class="title">
|
||||
<img class="titleimg" src="@/assets/embellish.png" alt="" />
|
||||
<div v-if="!modifyDialogstate">发布新PK</div>
|
||||
<!-- gj发布新PK -->
|
||||
<div v-if="!modifyDialogstate">{{ t('ReleaseANewPK') }}</div>
|
||||
<div v-if="modifyDialogstate">修改PK信息</div>
|
||||
<img class="titleimg" src="@/assets/embellish.png" alt="" />
|
||||
</div>
|
||||
@@ -108,12 +109,13 @@
|
||||
class="input-name-input"
|
||||
v-model="anchorName"
|
||||
size="large"
|
||||
placeholder="请输入主播名称"
|
||||
:placeholder="t('PleaseEnterTheNameOfTheHost')"
|
||||
@blur="handleChange()"
|
||||
/>
|
||||
<!-- gj请输入主播名称 -->
|
||||
<div class="myanchor">
|
||||
<div class="myanchor-btn" @click="myAnchorDialogVisible = true">
|
||||
选择我的主播
|
||||
{{ t('ChooseMyStreamer') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -123,11 +125,12 @@
|
||||
v-model="countryvalue"
|
||||
filterable
|
||||
:options="country"
|
||||
placeholder="请选择国家"
|
||||
:placeholder="t('PleaseSelectACountry')"
|
||||
size="large"
|
||||
style="vertical-align: middle"
|
||||
class="select"
|
||||
/>
|
||||
<!-- gj选择国家 -->
|
||||
</div>
|
||||
<div class="gender">
|
||||
<!-- 性别 -->
|
||||
@@ -136,29 +139,33 @@
|
||||
filterable
|
||||
:options="genderOptions"
|
||||
size="large"
|
||||
placeholder="请选择性别"
|
||||
:placeholder="t('PleaseSelectGender')"
|
||||
style="vertical-align: middle"
|
||||
class="select"
|
||||
/>
|
||||
<!-- gj请选择性别 -->
|
||||
</div>
|
||||
<div class="timeselect">
|
||||
<el-date-picker
|
||||
v-model="timevalue"
|
||||
type="datetime"
|
||||
placeholder="选择PK时间"
|
||||
:placeholder="t('SelectThePKTime')"
|
||||
size="large"
|
||||
style="width: 100%; height: 100%"
|
||||
format="YYYY/MM/DD hh:mm"
|
||||
value-format="x"
|
||||
/>
|
||||
<!-- gj请选择PK时间 -->
|
||||
</div>
|
||||
<div class="Gold-sessions">
|
||||
<div class="Goldcoinbox-right">
|
||||
<div class="Goldcoinbox-text">金币数(单位为K)</div>
|
||||
<div class="Goldcoinbox-text">{{ t('NumberOfGoldCoins') }}</div>
|
||||
<!-- gj金币提示 -->
|
||||
<el-input-number v-model="goldvalue" controls-position="right" />
|
||||
</div>
|
||||
<div class="Goldcoinbox-right">
|
||||
<div class="Goldcoinbox-text">场次</div>
|
||||
<div class="Goldcoinbox-text">{{ t('Session') }}</div>
|
||||
<!-- gj场次提示 -->
|
||||
<el-input-number v-model="sessionnum" controls-position="right" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -169,11 +176,14 @@
|
||||
class="textarea"
|
||||
style="width: 100%; height: 100%"
|
||||
maxlength="50"
|
||||
placeholder="请输入备注(选填)"
|
||||
:placeholder="t('PleaseEnterTheRemarks')"
|
||||
/>
|
||||
<!-- gj备注 -->
|
||||
</div>
|
||||
<div class="Confirm" @click="Confirm()">确认</div>
|
||||
<div class="Reset" @click="Reset()">重置</div>
|
||||
<div class="Confirm" @click="Confirm()">{{ t('Confirm') }}</div>
|
||||
<!-- gj确认 -->
|
||||
<div class="Reset" @click="Reset()">{{ t('Reset') }}</div>
|
||||
<!-- gj重置 -->
|
||||
<div class="Reset" v-if="modifyDialogstate" @click="cancel()">取消</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -300,7 +310,11 @@ import { getCountryNamesArray } from "../../utils/countryUtil";
|
||||
import { ElLoading } from "element-plus";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { setStorage, getStorage, getPromiseStorage } from "@/utils/storage.js";
|
||||
|
||||
//
|
||||
import { useI18n } from 'vue-i18n'
|
||||
const { t } = useI18n()
|
||||
window['$t'] = t
|
||||
//
|
||||
const country = ref([]);
|
||||
country.value = getCountryNamesArray(); //国家条目
|
||||
const genderOptions = [
|
||||
|
||||
33
src/i18n/en/Appaside.json
Normal file
33
src/i18n/en/Appaside.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"InSiteMessage": "In-site message",
|
||||
"Mine": "Mine",
|
||||
"SignIn": "Sign in",
|
||||
"message": "message",
|
||||
"Settings": "Settings",
|
||||
"ContactCustomerService": "Contact customer service (click to copy the email address)",
|
||||
"Logout": "Log out",
|
||||
"ReleaseANewPK": "Release a new PK",
|
||||
"PleaseEnterTheNameOfTheHost": "Please enter the name of the host",
|
||||
"ChooseMyStreamer": "Choose mine",
|
||||
"PleaseSelectACountry": "Please select a country",
|
||||
"PleaseSelectGender": "Please select gender",
|
||||
"SelectThePKTime": "Select the PK time",
|
||||
"NumberOfGoldCoins": "The number of gold coins (in K)",
|
||||
"Session": "Session",
|
||||
"PleaseEnterTheRemarks": "Please enter the remarks (optional)",
|
||||
"Confirm": "Confirm",
|
||||
"Reset": "Reset",
|
||||
"Cancel": "Cancel",
|
||||
"SelectTheStreamersFromMyStreamerLibrary": "Select the streamers from my streamer library",
|
||||
"man": "man",
|
||||
"woman": "woman",
|
||||
"ClickOnTheAvatarAboveToModifyIt": "Click on the avatar above to modify it",
|
||||
"ClickToEnterAndModifyYourNickname": "Click to enter and modify your nickname",
|
||||
"ResendTheEmailTo": "Resend the email to",
|
||||
"ForVerification": "for verification",
|
||||
"ModifyTheEmailAddress": "Modify the email address",
|
||||
"ChangePassword":"Change password",
|
||||
"PleaseEnterTheOldPassword": "Please enter the old password",
|
||||
"PleaseEnterTheNewPassword": "Please enter the new password",
|
||||
"PleaseEnterTheConfirmPassword": "Please enter the confirm password"
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
import login from './login.json'
|
||||
import Appaside from './Appaside.json'
|
||||
const global = {
|
||||
logout: 'Logout',
|
||||
}
|
||||
|
||||
export default {
|
||||
...global,
|
||||
...login
|
||||
...login,
|
||||
...Appaside
|
||||
}
|
||||
|
||||
@@ -2,5 +2,11 @@
|
||||
"login": "Login",
|
||||
"Welcome_to_login": "Welcome to login",
|
||||
"PleaseEnterEmailOrUsername": "Please enter email or username",
|
||||
"PleaseEnterPassword": "Please enter password"
|
||||
"PleaseEnterPassword": "Please enter password",
|
||||
"WechatMiniProgramLogin": "Wechat Mini Program Login",
|
||||
"LogInByScanningTheQRCodeWithTheWechatMini-program":"Log in by scanning the QR code with the wechat mini-program",
|
||||
"DontHaveAnAccountYet":"Don't have an account yet?",
|
||||
"Register":"Register",
|
||||
"AlreadyHaveAnAccount":"Already have an account?",
|
||||
"ForgotPassword":"Forgot password?"
|
||||
}
|
||||
@@ -3,11 +3,12 @@
|
||||
import { createI18n } from 'vue-i18n' //引入vue-i18n组件
|
||||
import zh from './zh/index'
|
||||
import en from './en/index'
|
||||
import { setStorage , getStorage } from '@/utils/storage.js';
|
||||
|
||||
const i18n = createI18n({
|
||||
legacy: false,
|
||||
globalInjection:true,
|
||||
locale: "ZH", // Default language
|
||||
locale: getStorage('language') || "ZH", // Default language
|
||||
fallbackLocale: "EN", // Fallback to English if translation missing
|
||||
messages: {
|
||||
ZH: zh,
|
||||
@@ -19,7 +20,8 @@ const i18n = createI18n({
|
||||
export function setLocale(lang) {
|
||||
if (['ZH', 'EN'].includes(lang)) {
|
||||
i18n.global.locale.value = lang
|
||||
setStorage('language', lang)
|
||||
}
|
||||
}
|
||||
|
||||
export default i18n
|
||||
export default i18n
|
||||
|
||||
33
src/i18n/zh/Appaside.json
Normal file
33
src/i18n/zh/Appaside.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"InSiteMessage":"站内信",
|
||||
"Mine":"我的",
|
||||
"SignIn":"签到",
|
||||
"message":"消息",
|
||||
"Settings":"设置",
|
||||
"ContactCustomerService":"联系客服(点击复制邮箱)",
|
||||
"Logout":"退出登录",
|
||||
"ReleaseANewPK":"发布新PK",
|
||||
"PleaseEnterTheNameOfTheHost":"请输入主播名称",
|
||||
"ChooseMyStreamer":"选择我的主播",
|
||||
"PleaseSelectACountry":"请选择国家",
|
||||
"PleaseSelectGender":"请选择性别",
|
||||
"SelectThePKTime":"选择PK时间",
|
||||
"NumberOfGoldCoins":"金币数(单位为K)",
|
||||
"Session":"场次",
|
||||
"PleaseEnterTheRemarks":"请输入备注(选填)",
|
||||
"Confirm":"确认",
|
||||
"Reset":"重置",
|
||||
"Cancel":"取消",
|
||||
"SelectTheStreamersFromMyStreamerLibrary":"选择我的主播库主播",
|
||||
"man":"男",
|
||||
"woman":"女",
|
||||
"ClickOnTheAvatarAboveToModifyIt":"点击头像上方修改头像",
|
||||
"ClickToEnterAndModifyYourNickname":"点击输入修改昵称",
|
||||
"ResendTheEmailTo":"向",
|
||||
"ForVerification":"重发邮箱验证",
|
||||
"ModifyTheEmailAddress":"修改邮箱",
|
||||
"ChangePassword":"修改密码",
|
||||
"PleaseEnterTheOldPassword":"请输入旧密码",
|
||||
"PleaseEnterTheNewPassword":"请输入新密码",
|
||||
"PleaseEnterTheConfirmPassword":"请再次输入新密码"
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
import login from './login.json'
|
||||
import Appaside from './Appaside.json'
|
||||
const global = {
|
||||
logout: '退出登录',
|
||||
}
|
||||
|
||||
export default {
|
||||
...global,
|
||||
...login
|
||||
...login,
|
||||
...Appaside
|
||||
}
|
||||
@@ -2,5 +2,11 @@
|
||||
"login": "登录",
|
||||
"Welcome_to_login": "欢迎登录",
|
||||
"PleaseEnterEmailOrUsername": "请输入邮箱或用户名",
|
||||
"PleaseEnterPassword": "请输入密码"
|
||||
"PleaseEnterPassword": "请输入密码",
|
||||
"WechatMiniProgramLogin": "微信小程序登录",
|
||||
"LogInByScanningTheQRCodeWithTheWechatMini-program": "使用微信小程序扫描二维码登录",
|
||||
"DontHaveAnAccountYet":"还没有账号?",
|
||||
"Register": "注册",
|
||||
"AlreadyHaveAnAccount": "已有账号?",
|
||||
"ForgotPassword": "忘记密码?"
|
||||
}
|
||||
@@ -20,7 +20,7 @@ export function getPromiseStorage(key) {
|
||||
try {
|
||||
resolve(JSON.parse(data));
|
||||
} catch {
|
||||
reject(data);
|
||||
resolve(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
</div>
|
||||
<!-- 标题 -->
|
||||
<div v-if="!refSwitch" class="container">
|
||||
<!-- gj欢迎登录 -->
|
||||
<div class="title">{{ t('Welcome_to_login') }}</div>
|
||||
<div class="striping"></div>
|
||||
<div class="input-Email">
|
||||
@@ -29,6 +30,7 @@
|
||||
:placeholder="t('PleaseEnterEmailOrUsername')"
|
||||
@keydown.enter.native="EmailLogin"
|
||||
/>
|
||||
<!-- gj请输入邮箱或用户名 -->
|
||||
</div>
|
||||
<div class="input-Password">
|
||||
<img class="Passwordimg" src="../assets/Password.png" alt="" />
|
||||
@@ -42,25 +44,33 @@
|
||||
:placeholder="t('PleaseEnterPassword')"
|
||||
@keydown.enter.native="EmailLogin"
|
||||
/>
|
||||
<!-- gj请输入密码 -->
|
||||
</div>
|
||||
<div class="login-btn" @click="EmailLogin">{{ t('login') }}</div>
|
||||
<!-- gj登录 -->
|
||||
</div>
|
||||
<!-- 微信登录 -->
|
||||
<div v-if="refSwitch" class="container">
|
||||
<div class="title">微信小程序登录</div>
|
||||
<!-- gj微信登录 -->
|
||||
<div class="title">{{ t('WechatMiniProgramLogin') }}</div>
|
||||
<div class="striping"></div>
|
||||
<img class="qrcode" :src="Qrcode.qrcode" alt="" />
|
||||
<div class="qrcode-text">使用微信小程序扫描二维码登录</div>
|
||||
<!-- gj通过微信小程序扫描二维码登录 -->
|
||||
<div class="qrcode-text">{{ t('LogInByScanningTheQRCodeWithTheWechatMini-program') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="register" v-if="!refSwitch">
|
||||
<div class="register-content">
|
||||
<div class="register-text">还没有账号?</div>
|
||||
<div class="register-btn" @click="register">注册</div>
|
||||
<!-- gj还没有账号? -->
|
||||
<div class="register-text">{{ t('DontHaveAnAccountYet') }}</div>
|
||||
<!-- gj注册 -->
|
||||
<div class="register-btn" @click="register">{{ t('Register') }}</div>
|
||||
</div>
|
||||
<div class="register-content">
|
||||
<div class="register-text">已有账号?</div>
|
||||
<div class="register-btn" @click="forgetPassword">忘记密码?</div>
|
||||
<!-- gj已有账号 -->
|
||||
<div class="register-text">{{ t('AlreadyHaveAnAccount') }}</div>
|
||||
<!-- gj忘记密码 -->
|
||||
<div class="register-btn" @click="forgetPassword">{{ t('ForgotPassword') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -238,10 +248,10 @@ onUnmounted(() => {
|
||||
align-items: center;
|
||||
}
|
||||
.register {
|
||||
width: 627px;
|
||||
width: 730px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
justify-content:space-between;
|
||||
justify-content:space-around;
|
||||
}
|
||||
.register-text {
|
||||
font-size: 18px;
|
||||
|
||||
@@ -15,14 +15,16 @@
|
||||
|
||||
<script setup>
|
||||
import Appaside from "/src/components/Appaside.vue";
|
||||
import { ref, watch, onMounted, onUnmounted } from "vue";
|
||||
import { ref, watch, onMounted, onUnmounted,onBeforeMount } from "vue";
|
||||
import { getOtp } from "@/api/account";
|
||||
const user = ref(null); // 用户信息
|
||||
import { goEasyLink } from "@/utils/goeasy.js";
|
||||
import { useRouter } from "vue-router";
|
||||
import { ElMessage } from "element-plus";
|
||||
import {getPromiseStorage } from "@/utils/storage.js";
|
||||
import { setLocale } from '@/i18n'
|
||||
const router = useRouter();
|
||||
const language = ref(null); // 语言
|
||||
//自动链接IM
|
||||
function autoLinkIM() {
|
||||
getOtp()
|
||||
@@ -48,6 +50,19 @@ function autoLinkIM() {
|
||||
});
|
||||
}
|
||||
|
||||
onBeforeMount(() => {
|
||||
// 语言
|
||||
getPromiseStorage("language")
|
||||
.then((res) => {
|
||||
console.log("获取语言成功", res);
|
||||
language.value = res;
|
||||
setLocale(language.value);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取语言失败", err);
|
||||
});
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
getPromiseStorage("user")
|
||||
.then((res) => {
|
||||
|
||||
Reference in New Issue
Block a user