DESKTOP-5RP3AKU\Jisol b44ec7d2e4 提交
2025-04-16 13:22:23 +08:00

69 lines
1.9 KiB
TypeScript

import { _decorator, Component, Node } from 'cc';
import JNLayerBase from '../../../../extensions/ngame/assets/ngame/ui/base/JNLayerBase';
import { API } from '../../consts/API';
import { EditBox } from 'cc';
import { app } from '../../App';
import { GUI } from '../UIConfig';
import { StorageData, StorageEnum } from '../../consts/GData';
import { Env, EnvCurrent } from '../../Env';
const { ccclass, property } = _decorator;
@ccclass('LoginView')
export class LoginView extends JNLayerBase {
resolve:(token:string) => void;
@property(EditBox)
account:EditBox;
@property(EditBox)
password:EditBox;
onJNLoad(resolve?: (token:string) => void): void {
super.onJNLoad();
this.resolve = resolve;
//如果是服务器则取Windows账号密码
if(EnvCurrent == Env.Server){
this.account.string = window['GUser'];
this.password.string = window['GPassworld'];
this.onClickLogin();
}
}
//点击登录
async onClickLogin(){
//校验
if(!(this.account.string.length) || !(this.password.string.length)){
app.layer.Open(GUI.Tips,{text:"请输入账号密码"});
return;
}
//登录账号
let info = await API.UserLogin(this.account.string,this.password.string);
if(info){
app.layer.Open(GUI.Tips,{text:"登录成功"});
//保存Token
if(EnvCurrent != Env.Server){
StorageData.set(StorageEnum.Token,info.token);
}
this.resolve(info.token);
this.onJNClose();
}
}
//点击注册账号
async onClickRegister(){
//注册账号
let info = await API.UserRegister();
//显示提示
app.layer.Open(GUI.Tips,{text:"注册成功"});
//显示账号和密码
this.account.string = `${info.userId}`;
this.password.string = info.userPass;
}
}