Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
NJ_login
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
template admin
NJ_login
Commits
1ea0925b
Commit
1ea0925b
authored
Dec 18, 2023
by
李维
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加多语言支持
parent
dd361957
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
151 additions
and
21 deletions
+151
-21
NJ_login.fire
assets/NJ_login/scene/NJ_login.fire
+6
-6
NJ_login.ts
assets/NJ_login/scene/NJ_login.ts
+81
-14
language_NJ_login.ts
assets/NJ_login/script/language_NJ_login.ts
+53
-0
language_NJ_login.ts.meta
assets/NJ_login/script/language_NJ_login.ts.meta
+9
-0
project.json
project.json
+2
-1
No files found.
assets/NJ_login/scene/NJ_login.fire
View file @
1ea0925b
...
...
@@ -10241,7 +10241,7 @@
},
{
"__type__": "cc.Node",
"_name": "New Label",
"_name": "New Label
_1
",
"_objFlags": 0,
"_parent": {
"__id__": 208
...
...
@@ -10652,7 +10652,7 @@
"_groupIndex": 0,
"groupIndex": 0,
"showInEditor": false,
"_id": "
5fo/Mkc2NIM5w1quAi/9l3
"
"_id": "
d0osMy/ZtHXoscl2w2e8hG
"
},
{
"__type__": "cc.Label",
...
...
@@ -10685,7 +10685,7 @@
"_N$fontFamily": "Arial",
"_N$overflow": 0,
"_N$cacheMode": 0,
"_id": "
d1xmYILYxJmrmwnJcT+z1r
"
"_id": "
62xY5DmaBN97RRqNn+nwuZ
"
},
{
"__type__": "cc.RichText",
...
...
@@ -10778,7 +10778,7 @@
},
{
"__type__": "cc.Node",
"_name": "New Label",
"_name": "New Label
_2
",
"_objFlags": 0,
"_parent": {
"__id__": 208
...
...
@@ -11001,7 +11001,7 @@
"_groupIndex": 0,
"groupIndex": 0,
"showInEditor": false,
"_id": "
05VpeqK6FNtZ9lmJ0pTQ42
"
"_id": "
70EJ61P9RFeodCZvZDOyiA
"
},
{
"__type__": "cc.Label",
...
...
@@ -11034,7 +11034,7 @@
"_N$fontFamily": "Arial",
"_N$overflow": 0,
"_N$cacheMode": 0,
"_id": "
5epSqtsZ9IqZ5C/YG0kpnC
"
"_id": "
7fzKR3dbdBypPSVLOpv5dr
"
},
{
"__type__": "cc.RichText",
...
...
assets/NJ_login/scene/NJ_login.ts
View file @
1ea0925b
import
{
asyncDelay
,
buttonOnClick
,
jumpToBundle
,
onHomeworkFinish
}
from
"
../script/util
"
;
import
{
MyCocosSceneComponent
}
from
"
../script/MyCocosSceneComponent
"
;
import
{
lang
as
languageString
,
langConfig
}
from
"
../script/language_NJ_login
"
const
{
ccclass
,
property
}
=
cc
.
_decorator
;
@
ccclass
export
default
class
SceneComponent
extends
MyCocosSceneComponent
{
async
onLoadEnd
()
{
this
.
translateLanguageString
()
this
.
initData
();
this
.
initListener
();
}
middleLayer
;
orgId
=
507
;
localLanguage
=
"
zh-cn
"
initData
()
{
const
middleLayer
=
cc
.
find
(
'
middleLayer
'
)?.
getComponent
(
'
middleLayer
'
);
if
(
middleLayer
)
{
...
...
@@ -28,21 +30,21 @@ export default class SceneComponent extends MyCocosSceneComponent {
async
login
(
phone
,
password
,
passCode
=
''
)
{
if
(
!
this
.
checkPhone
(
phone
))
{
console
.
log
(
'
请输入正确的手机号码
'
);
this
.
middleLayer
.
showTips
(
'
请输入正确的手机号码
'
);
this
.
middleLayer
.
showTips
(
languageString
[
this
.
localLanguage
].
phone_error
);
return
;
}
const
oldPhone
=
cc
.
sys
.
localStorage
.
getItem
(
'
phone
'
);
if
(
`
${
phone
}
_x`
===
oldPhone
)
{
console
.
log
(
"
用户不存在,请先注册
"
);
this
.
middleLayer
.
showTips
(
'
用户不存在,请先注册
'
);
this
.
middleLayer
.
showTips
(
languageString
[
this
.
localLanguage
].
user_not_exist
);
return
;
}
const
check
=
cc
.
find
(
'
Canvas/bg/ui/btnLaw/check
'
);
if
(
!
check
.
active
)
{
console
.
log
(
'
请勾选下方协议
'
);
this
.
middleLayer
.
showTips
(
'
请勾选下方协议
'
);
this
.
middleLayer
.
showTips
(
languageString
[
this
.
localLanguage
].
check_agreement
);
return
;
}
...
...
@@ -61,6 +63,71 @@ export default class SceneComponent extends MyCocosSceneComponent {
jumpToBundle
(
'
NJ_YouLeChang
'
);
}
translateLanguageString
()
{
if
(
!
this
.
middleLayer
||
!
this
.
middleLayer
.
getLocalLanguage
)
{
console
.
log
(
"
未检测到中间层,或中间层不支持getLocalLanguage, 使用默认语言
"
)
return
}
const
localLanguage
=
this
.
middleLayer
.
getLocalLanguage
()
if
(
!
languageString
[
localLanguage
]
||
!
langConfig
[
localLanguage
])
{
console
.
log
(
`语言
${
localLanguage
}
未找到,使用默认语言`
)
return
}
this
.
localLanguage
=
localLanguage
;
console
.
log
(
`使用语言
${
this
.
localLanguage
}
`
)
// 点击输入手机号
cc
.
find
(
"
Canvas/bg/ui/loginNode/phone/inputPhone
"
).
getComponent
(
cc
.
EditBox
).
placeholder
=
languageString
[
this
.
localLanguage
].
click_input_phone
;
cc
.
find
(
"
Canvas/bg/ui/forgetNode/phone/inputPhone
"
).
getComponent
(
cc
.
EditBox
).
placeholder
=
languageString
[
this
.
localLanguage
].
click_input_phone
;
cc
.
find
(
"
Canvas/bg/ui/registerNode/phone/inputPhone
"
).
getComponent
(
cc
.
EditBox
).
placeholder
=
languageString
[
this
.
localLanguage
].
click_input_phone
;
// 点击输入密码
cc
.
find
(
"
Canvas/bg/ui/loginNode/password/password
"
).
getComponent
(
cc
.
EditBox
).
placeholder
=
languageString
[
this
.
localLanguage
].
click_input_password
;
cc
.
find
(
"
Canvas/bg/ui/forgetNode/password/password
"
).
getComponent
(
cc
.
EditBox
).
placeholder
=
languageString
[
this
.
localLanguage
].
click_input_new_password
;
cc
.
find
(
"
Canvas/bg/ui/registerNode/password/password
"
).
getComponent
(
cc
.
EditBox
).
placeholder
=
languageString
[
this
.
localLanguage
].
click_input_password
;
// 点击输入验证码
cc
.
find
(
"
Canvas/bg/ui/forgetNode/passCode/passCode
"
).
getComponent
(
cc
.
EditBox
).
placeholder
=
languageString
[
this
.
localLanguage
].
click_input_code
;
cc
.
find
(
"
Canvas/bg/ui/registerNode/passCode/passCode
"
).
getComponent
(
cc
.
EditBox
).
placeholder
=
languageString
[
this
.
localLanguage
].
click_input_code
;
// 发送验证码
cc
.
find
(
"
Canvas/bg/ui/forgetNode/passCode/btnSendCode/label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
send_code
;
cc
.
find
(
"
Canvas/bg/ui/registerNode/passCode/btnSendCode/label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
send_code
;
// 马上登录
cc
.
find
(
"
Canvas/bg/ui/loginNode/btnLogin/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
login_right_now
;
cc
.
find
(
"
Canvas/bg/ui/forgetNode/btnGoToLogin/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
login_right_now
;
cc
.
find
(
"
Canvas/bg/ui/registerNode/btnGoToLogin/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
login_right_now
;
// 重置并登录
cc
.
find
(
"
Canvas/bg/ui/forgetNode/btnResetPassword/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
reset_and_login
;
// 注册并登录
cc
.
find
(
"
Canvas/bg/ui/registerNode/btnRegister/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
register_and_login
;
// 立即注册
cc
.
find
(
"
Canvas/bg/ui/loginNode/btnRegister/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
register_now
;
cc
.
find
(
"
Canvas/bg/ui/forgetNode/btnRegister/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
register_now
;
// 忘记密码
cc
.
find
(
"
Canvas/bg/ui/loginNode/btnForgetPassword/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
forget_password
;
cc
.
find
(
"
Canvas/bg/ui/registerNode/btnForgetPassword/New Label
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
forget_password
;
// 不想登录?去游乐场
cc
.
find
(
"
Canvas/bg/ui/tryatry/text
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
tryatry
;
// 关闭
cc
.
find
(
"
Canvas/bg/webContainer/closeWebbtn
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
close
;
// 我已阅读并同意 用户隐私保护政策 及 服务条款
cc
.
find
(
"
Canvas/bg/ui/btnLaw/New Label_1
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
law
.
split
(
"
/@/
"
)[
0
];
cc
.
find
(
"
Canvas/bg/ui/btnLaw/privacy
"
).
getComponent
(
cc
.
RichText
).
string
=
`<color=#fee60a>《
${
languageString
[
this
.
localLanguage
].
law
.
split
(
"
/@/
"
)[
1
]}
》</c>`
;
cc
.
find
(
"
Canvas/bg/ui/btnLaw/New Label_2
"
).
getComponent
(
cc
.
Label
).
string
=
languageString
[
this
.
localLanguage
].
law
.
split
(
"
/@/
"
)[
2
];
cc
.
find
(
"
Canvas/bg/ui/btnLaw/policy
"
).
getComponent
(
cc
.
RichText
).
string
=
`<color=#fee60a>《
${
languageString
[
this
.
localLanguage
].
law
.
split
(
"
/@/
"
)[
3
]}
》</c>`
;
}
checkPhone
(
phone
)
{
const
test
=
/^
[
1
]([
3-9
])[
0-9
]{9}
$/
;
if
(
!
test
.
test
(
phone
))
{
...
...
@@ -80,7 +147,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
async
sendCode
(
phone
)
{
if
(
!
this
.
checkPhone
(
phone
))
{
console
.
log
(
'
请输入正确的手机号码
'
);
this
.
middleLayer
.
showTips
(
'
请输入正确的手机号码
'
);
this
.
middleLayer
.
showTips
(
languageString
[
this
.
localLanguage
].
phone_error
);
return
;
}
const
res
=
await
this
.
middleLayer
.
asyncCallNetworkApiPost
(
'
/api/oxford/v1/sendcode
'
,
{
...
...
@@ -120,7 +187,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
const
password
=
inputPassword
.
getComponent
(
cc
.
EditBox
).
string
;
if
(
!
this
.
checkPassword
(
password
))
{
this
.
middleLayer
.
showTips
(
'
密码由字母大小写和数字组成,必须包含字母和数字且不得少于8位
'
);
this
.
middleLayer
.
showTips
(
languageString
[
this
.
localLanguage
].
password_format_error
);
inputPassword
.
getComponent
(
cc
.
EditBox
).
string
==
""
;
return
;
}
...
...
@@ -141,7 +208,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
const
inputPassword
=
cc
.
find
(
'
Canvas/bg/ui/registerNode/password/password
'
);
const
password
=
inputPassword
.
getComponent
(
cc
.
EditBox
).
string
;
if
(
!
this
.
checkPassword
(
password
))
{
this
.
middleLayer
.
showTips
(
'
密码由字母大小写和数字组成,必须包含字母和数字且不得少于8位
'
);
this
.
middleLayer
.
showTips
(
languageString
[
this
.
localLanguage
].
password_format_error
);
inputPassword
.
getComponent
(
cc
.
EditBox
).
string
==
""
;
return
;
}
...
...
@@ -149,7 +216,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
const
inputPassCode
=
cc
.
find
(
'
Canvas/bg/ui/registerNode/passCode/passCode
'
);
const
passCode
=
inputPassCode
.
getComponent
(
cc
.
EditBox
).
string
;
if
(
!
passCode
||
passCode
.
length
!=
6
)
{
this
.
middleLayer
.
showTips
(
"
请填写正确的验证码
"
);
this
.
middleLayer
.
showTips
(
languageString
[
this
.
localLanguage
].
code_error
);
return
;
}
...
...
@@ -170,13 +237,13 @@ export default class SceneComponent extends MyCocosSceneComponent {
const
label
=
btnSendCode
.
getChildByName
(
'
label
'
).
getComponent
(
cc
.
Label
);
// 发送验证码
if
(
label
.
string
==
'
发送验证码
'
)
{
if
(
label
.
string
==
languageString
[
this
.
localLanguage
].
send_code
)
{
let
countDown
=
60
;
const
tween
=
cc
.
tween
(
label
)
.
call
(()
=>
{
label
.
string
=
`
${
countDown
}
`
;
if
(
countDown
==
0
)
{
label
.
string
=
'
发送验证码
'
;
label
.
string
=
languageString
[
this
.
localLanguage
].
send_code
;
tween
.
stop
();
}
countDown
--
;
...
...
@@ -193,13 +260,13 @@ export default class SceneComponent extends MyCocosSceneComponent {
const
inputPhone
=
cc
.
find
(
'
Canvas/bg/ui/forgetNode/phone/inputPhone
'
);
const
phone
=
inputPhone
.
getComponent
(
cc
.
EditBox
).
string
;
const
label
=
btnSendCode2
.
getChildByName
(
'
label
'
).
getComponent
(
cc
.
Label
);
if
(
label
.
string
==
'
发送验证码
'
)
{
if
(
label
.
string
==
languageString
[
this
.
localLanguage
].
send_code
)
{
let
countDown
=
60
;
const
tween
=
cc
.
tween
(
label
)
.
call
(()
=>
{
label
.
string
=
`
${
countDown
}
`
;
if
(
countDown
==
0
)
{
label
.
string
=
'
发送验证码
'
;
label
.
string
=
languageString
[
this
.
localLanguage
].
send_code
;
tween
.
stop
();
}
countDown
--
;
...
...
@@ -356,13 +423,13 @@ export default class SceneComponent extends MyCocosSceneComponent {
onOpenPrivacy
()
{
const
web_container
=
cc
.
find
(
`Canvas/bg/webContainer`
);
const
web_view
=
cc
.
find
(
`webBg/webview`
,
web_container
);
web_view
.
getComponent
(
cc
.
WebView
).
url
=
"
https://appstore.iteachabc.com/application/web/privacy_policy/oxford_privacy.html?t=
"
+
Date
.
now
();
web_view
.
getComponent
(
cc
.
WebView
).
url
=
langConfig
[
this
.
localLanguage
].
privacy_url
+
Date
.
now
();
web_container
.
active
=
true
;
}
onOpenPolicy
()
{
const
web_container
=
cc
.
find
(
`Canvas/bg/webContainer`
);
const
web_view
=
cc
.
find
(
`webBg/webview`
,
web_container
);
web_view
.
getComponent
(
cc
.
WebView
).
url
=
"
https://appstore.iteachabc.com/application/web/privacy_policy/oxford_policy.html?t=
"
+
Date
.
now
();
web_view
.
getComponent
(
cc
.
WebView
).
url
=
langConfig
[
this
.
localLanguage
].
policy_url
+
Date
.
now
();
web_container
.
active
=
true
;
}
closeWebView
()
{
...
...
assets/NJ_login/script/language_NJ_login.ts
0 → 100644
View file @
1ea0925b
export
const
lang
=
{
"
zh-cn
"
:
{
"
phone_error
"
:
"
请输入正确的手机号码
"
,
"
user_not_exist
"
:
"
用户不存在,请先注册
"
,
"
check_agreement
"
:
"
请勾选下方协议
"
,
"
password_format_error
"
:
"
密码由字母大小写和数字组成,必须包含字母和数字且不得少于8位
"
,
"
code_error
"
:
"
请填写正确的验证码
"
,
"
send_code
"
:
"
发送验证码
"
,
"
click_input_phone
"
:
"
点击输入手机号
"
,
"
click_input_password
"
:
"
点击输入密码
"
,
"
click_input_new_password
"
:
"
点击输入新密码
"
,
"
click_input_code
"
:
"
点击输入验证码
"
,
"
login_right_now
"
:
"
马上登录
"
,
"
reset_and_login
"
:
"
重置并登录
"
,
"
register_now
"
:
"
立即注册
"
,
"
register_and_login
"
:
"
注册并登录
"
,
"
forget_password
"
:
"
忘记密码
"
,
"
tryatry
"
:
"
不想登录?去游乐场...
"
,
"
law
"
:
"
我已阅读并同意/@/用户隐私保护政策/@/及/@/服务条款
"
,
"
close
"
:
"
关闭
"
},
"
ru-ru
"
:
{
"
phone_error
"
:
"
Пожалуйста, введите правильный номер телефона
"
,
"
user_not_exist
"
:
"
Пользователя не существует, сначала зарегистрируйтесь
"
,
"
check_agreement
"
:
"
Выберите протокол ниже
"
,
"
password_format_error
"
:
"
Пароль состоит из букв, букв и цифр, должен содержать буквы и цифры и должен быть не менее 8 бит
"
,
"
code_error
"
:
"
Пожалуйста, заполните правильный код
"
,
"
send_code
"
:
"
Отправить код проверки
"
,
"
click_input_phone
"
:
"
Нажмите для ввода номера телефона
"
,
"
click_input_password
"
:
"
Нажмите для ввода пароля
"
,
"
click_input_new_password
"
:
"
Нажмите для ввода нового пароля
"
,
"
click_input_code
"
:
"
Нажмите для ввода кода проверки
"
,
"
login_right_now
"
:
"
Зарегистрируйтесь прямо сейчас
"
,
"
reset_and_login
"
:
"
Сбросить и войти в систему
"
,
"
register_now
"
:
"
Немедленная регистрация
"
,
"
register_and_login
"
:
"
Регистрация и регистрация
"
,
"
forget_password
"
:
"
Забыть пароль
"
,
"
tryatry
"
:
"
Не хотите регистрироваться? Иди на игровую площадку...
"
,
"
law
"
:
"
Я прочитал и согласился./@/Политика конфиденциальности пользователей/@/И/@/Условия предоставления услуг
"
,
"
close
"
:
"
Закрыть
"
},
}
export
const
langConfig
=
{
"
zh-cn
"
:
{
"
privacy_url
"
:
"
https://appstore.iteachabc.com/application/web/privacy_policy/oxford_privacy.html?t=
"
,
"
policy_url
"
:
"
https://appstore.iteachabc.com/application/web/privacy_policy/oxford_policy.html?t=
"
,
},
"
ru-ru
"
:
{
"
privacy_url
"
:
"
https://appstore.iteachabc.com/application/web/privacy_policy/oxford_privacy.html?t=
"
,
"
policy_url
"
:
"
https://appstore.iteachabc.com/application/web/privacy_policy/oxford_policy.html?t=
"
,
}
}
\ No newline at end of file
assets/NJ_login/script/language_NJ_login.ts.meta
0 → 100644
View file @
1ea0925b
{
"ver": "1.0.8",
"uuid": "54ae4465-56be-4418-aa71-e653848a70a4",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
project.json
View file @
1ea0925b
...
...
@@ -4,5 +4,6 @@
"name"
:
"play"
,
"id"
:
"9af72fd2-44a6-4131-8ea3-3e1b3fa22231"
,
"version"
:
"2.4.5"
,
"isNew"
:
false
"isNew"
:
false
,
"description"
:
""
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment