|
@@ -57,6 +57,8 @@
|
|
|
import { ref, computed, watch, onMounted, inject } from "vue"
|
|
|
import { useRoute, useRouter } from "vue-router"
|
|
|
import { useStore } from "vuex"
|
|
|
+import { validateNickName } from '@/api'
|
|
|
+import { ElMessage } from 'element-plus'
|
|
|
|
|
|
const route = useRoute()
|
|
|
const router = useRouter()
|
|
@@ -67,7 +69,19 @@ const emit = defineEmits(['login-done'])
|
|
|
const nickName = ref('')
|
|
|
nickName.value = `云城居民${utils.getRandomString(2)}`
|
|
|
|
|
|
-function onClickAsVisitor() {
|
|
|
+async function onClickAsVisitor() {
|
|
|
+ const reg = /[\u4e00-\u9fa5a-zA-Z]/g
|
|
|
+ const matches = nickName.value.match(reg)
|
|
|
+ if (matches) {
|
|
|
+ const data = await validateNickName(matches.join(""))
|
|
|
+ if (data.code === -1) {
|
|
|
+ ElMessage({
|
|
|
+ message: data.msg,
|
|
|
+ type: 'error',
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
store.commit('setLoginStatus', store.getters.loginStatusEnum.visitor)
|
|
|
store.commit('setUserInfo', {
|
|
|
userName: nickName.value,
|