Merge branch 'main' of 47.107.44.202:xionglijia/18xchat
This commit is contained in:
+2
-1
@@ -21,4 +21,5 @@ node_modules/
|
||||
#//////////////////////////
|
||||
# WebStorm
|
||||
#//////////////////////////
|
||||
.idea/
|
||||
.idea/
|
||||
/nul
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
{"ver":"1.1.50","importer":"scene","imported":true,"uuid":"dab4ae00-c26e-4176-9c7e-709d8899e525","files":[".json"],"subMetas":{},"userData":{}}
|
||||
@@ -922,7 +922,7 @@
|
||||
"__id__": 48
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 52
|
||||
|
||||
@@ -12,8 +12,6 @@ export enum LanguageType {
|
||||
EN = "en", // 英文
|
||||
CN = "cn", // 中文
|
||||
HI = "hi", // 印地语
|
||||
FR = "fr", // 法语
|
||||
DE = "de", //德语
|
||||
}
|
||||
|
||||
export enum LanguageEvent {
|
||||
@@ -60,13 +58,9 @@ export default class LanguageUtils {
|
||||
private static detectSystemLanguage() {
|
||||
const systemLanguage = sys.language;
|
||||
if (systemLanguage.startsWith("zh")) {
|
||||
this.currentLanguage = LanguageType.CN;
|
||||
this.currentLanguage = LanguageType.EN;
|
||||
} else if (systemLanguage.startsWith("hi")) {
|
||||
this.currentLanguage = LanguageType.HI;
|
||||
} else if (systemLanguage.startsWith("fr")) {
|
||||
this.currentLanguage = LanguageType.FR;
|
||||
} else if (systemLanguage.startsWith("de")) {
|
||||
this.currentLanguage = LanguageType.DE;
|
||||
} else {
|
||||
this.currentLanguage = LanguageType.EN;
|
||||
}
|
||||
@@ -127,12 +121,6 @@ export default class LanguageUtils {
|
||||
case LanguageType.HI:
|
||||
text = languageData.languageHi;
|
||||
break;
|
||||
case LanguageType.FR:
|
||||
text = languageData.languageFr;
|
||||
break;
|
||||
case LanguageType.DE:
|
||||
text = languageData.languageDe;
|
||||
break;
|
||||
default:
|
||||
text = languageData.languageEn;
|
||||
}
|
||||
@@ -184,12 +172,6 @@ export default class LanguageUtils {
|
||||
case LanguageType.HI:
|
||||
text = languageData.languageHi;
|
||||
break;
|
||||
case LanguageType.FR:
|
||||
text = languageData.languageFr;
|
||||
break;
|
||||
case LanguageType.DE:
|
||||
text = languageData.languageDe;
|
||||
break;
|
||||
default:
|
||||
text = languageData.languageEn;
|
||||
}
|
||||
@@ -202,6 +184,26 @@ export default class LanguageUtils {
|
||||
return text;
|
||||
}
|
||||
|
||||
public static getTextWithParams(
|
||||
key: string,
|
||||
params: { [key: string]: any },
|
||||
defaultText: string = ""
|
||||
): string {
|
||||
let text = this.getText(key, defaultText);
|
||||
|
||||
if (!params || Object.keys(params).length === 0) {
|
||||
return text;
|
||||
}
|
||||
|
||||
// Replace placeholders in the format {paramName} with actual values
|
||||
for (const [paramKey, paramValue] of Object.entries(params)) {
|
||||
const placeholder = `{${paramKey}}`;
|
||||
text = text.replace(new RegExp(placeholder, 'g'), String(paramValue));
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
public static getAvailableLanguages(): LanguageType[] {
|
||||
return Object.values(LanguageType);
|
||||
}
|
||||
@@ -214,10 +216,6 @@ export default class LanguageUtils {
|
||||
return "中文";
|
||||
case LanguageType.HI:
|
||||
return "हिंदी";
|
||||
case LanguageType.FR:
|
||||
return "Français";
|
||||
case LanguageType.DE:
|
||||
return "Deutsch";
|
||||
default:
|
||||
return language;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
import { _decorator, Button, Component, Node } from "cc";
|
||||
import li_BaseView from "../../Main/Common/li_BaseView";
|
||||
import Utils from "../../Main/Common/Utils";
|
||||
import { GButton } from "../../Main/Common/GButton";
|
||||
import ResManager from "../../Main/Manager/ResManager";
|
||||
import { DataManager, DataId } from "../../chat18x/data/DataManager";
|
||||
import { LoginData } from "../../chat18x/data/LoginData";
|
||||
import { PlayerData } from "../../chat18x/data/PlayerData";
|
||||
import { AccountData } from "../../chat18x/data/AccountData";
|
||||
import { WalletData } from "../../chat18x/data/WalletData";
|
||||
import { EnvData } from "../../chat18x/data/EnvData";
|
||||
import DeviceIdService from "db://assets/Scripts/chat18x/foundation/identity/DeviceIdService";
|
||||
import MachineInfoService from "db://assets/Scripts/chat18x/foundation/identity/MachineInfoService";
|
||||
import { AuthService } from "db://assets/Scripts/chat18x/network/services/AuthService";
|
||||
import { PlayerDataService } from "db://assets/Scripts/chat18x/network/services/PlayerDataService";
|
||||
import proto from "db://assets/Scripts/proto/proto.pb.js";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("LoginUI")
|
||||
export class LoginUI extends li_BaseView {
|
||||
private _nodeTab: any = {};
|
||||
private loginFinish = false;
|
||||
|
||||
loginBtn: Node;
|
||||
protected start(): void {
|
||||
Utils.parseNode(this.node, this._nodeTab);
|
||||
|
||||
this.loginBtn = this._nodeTab.btnLogin;
|
||||
|
||||
GButton.BandClick(this.loginBtn, this.onLogin, this);
|
||||
}
|
||||
|
||||
update(deltaTime: number) {
|
||||
if (this.loginFinish) {
|
||||
this.loginFinish = false;
|
||||
this.enterGame();
|
||||
}
|
||||
}
|
||||
|
||||
async onLogin() {
|
||||
const deviceId = DeviceIdService.I.id;
|
||||
const os = MachineInfoService.I.getMachineOs();
|
||||
const reqData = {
|
||||
platType: "guset",
|
||||
userId: deviceId,
|
||||
device: deviceId,
|
||||
os,
|
||||
};
|
||||
console.log("登录请求数据:", reqData);
|
||||
let res = await AuthService.I.login(reqData);
|
||||
console.log("登录响应数据:", res);
|
||||
if (res && res.code === proto.cs.EnmRetCode.SUCCESS) {
|
||||
const resData = res.data;
|
||||
const loginData = DataManager.I.getDataById<LoginData>(DataId.Login);
|
||||
loginData.token = resData.token;
|
||||
loginData.refreshToken = resData.refreshToken;
|
||||
loginData.expire = Number(resData.expire);
|
||||
const playerData = DataManager.I.getDataById<PlayerData>(DataId.Player);
|
||||
playerData.name = resData.name;
|
||||
const accountData = DataManager.I.getDataById<AccountData>(
|
||||
DataId.Account
|
||||
);
|
||||
accountData.accId = resData.accId;
|
||||
const envData = DataManager.I.getDataById<EnvData>(DataId.Env);
|
||||
envData.cdn = resData.cdn;
|
||||
|
||||
this.loginFinish = true;
|
||||
this.reqMyInfo();
|
||||
}
|
||||
}
|
||||
|
||||
private async reqMyInfo() {
|
||||
const reqData = {};
|
||||
let res = await PlayerDataService.I.reqMyInfo(reqData);
|
||||
console.log("个人信息响应数据:", res);
|
||||
if (res && res.code === proto.cs.EnmRetCode.SUCCESS) {
|
||||
const resData = res.data;
|
||||
const walletData = DataManager.I.getDataById<WalletData>(DataId.Wallet);
|
||||
walletData.balance = Number(resData.balance);
|
||||
walletData.vipExpire = Number(resData.vipExpire);
|
||||
}
|
||||
}
|
||||
|
||||
private enterGame() {
|
||||
ResManager.I.goMainScene();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "0fa6dc01-de0d-4847-ae6c-624111814d80",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -25,34 +25,19 @@ import Utils from "../../Main/Common/Utils";
|
||||
import { InnerMsgCode } from "../../Main/Config/InnerMsgCode";
|
||||
import { promptItem } from "../Item/promptItem";
|
||||
import LanguageUtils, { LanguageType } from "../../Main/Common/LanguageUtils";
|
||||
import { DataManager, DataId } from "../../chat18x/data/DataManager";
|
||||
import { LoginData } from "../../chat18x/data/LoginData";
|
||||
import { PlayerData } from "../../chat18x/data/PlayerData";
|
||||
import { AccountData } from "../../chat18x/data/AccountData";
|
||||
import { WalletData } from "../../chat18x/data/WalletData";
|
||||
import { EnvData } from "../../chat18x/data/EnvData";
|
||||
import { DataManager } from "../../chat18x/data/DataManager";
|
||||
import { ConfigManager } from "../../chat18x/manager/ConfigManager";
|
||||
import { AppConfig } from "db://assets/Scripts/chat18x/config/env/appConfig";
|
||||
import DeviceIdService from "db://assets/Scripts/chat18x/foundation/identity/DeviceIdService";
|
||||
import MachineInfoService from "db://assets/Scripts/chat18x/foundation/identity/MachineInfoService";
|
||||
import { AuthService } from "db://assets/Scripts/chat18x/network/services/AuthService";
|
||||
import { PlayerDataService } from "db://assets/Scripts/chat18x/network/services/PlayerDataService";
|
||||
import { ApiCode } from "db://assets/Scripts/chat18x/network/client/types";
|
||||
import proto from "db://assets/Scripts/proto/proto.pb.js";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("PreloadUI")
|
||||
export class PreloadUI extends Component {
|
||||
private checkFinish = true; //检查完成
|
||||
private preloadFinish = false; //资源加载完成
|
||||
private loginFinish = false; //登录完成
|
||||
|
||||
private jinduBar: Node = null;
|
||||
private jinduFilled: Sprite = null;
|
||||
//private LabProgress: Label = null;
|
||||
private loginNode: Node = null;
|
||||
private btnLogin: Node = null; //登录按钮
|
||||
|
||||
start() {
|
||||
//Utils.addInnerEL(InnerMsgCode.UI_ShowPrompt, this, this.resiveShowPrompt)
|
||||
@@ -62,16 +47,11 @@ export class PreloadUI extends Component {
|
||||
.getChildByName("jinduFilled")
|
||||
.getComponent(Sprite);
|
||||
|
||||
this.loginNode = this.node.getChildByName("loginNode");
|
||||
this.btnLogin = this.loginNode.getChildByName("btnLogin");
|
||||
|
||||
//适配背景图
|
||||
let BG = this.node.getChildByName("BG");
|
||||
Utils.adjustBgPixelRatio(BG, 1);
|
||||
|
||||
this.jinduFilled.fillRange = 0;
|
||||
// 注册监听
|
||||
this.registerListener();
|
||||
|
||||
// 初始化配置
|
||||
ConfigManager.I.init();
|
||||
@@ -85,7 +65,6 @@ export class PreloadUI extends Component {
|
||||
|
||||
this.preloadFiles();
|
||||
|
||||
LanguageUtils.setLanguage(LanguageType.CN);
|
||||
}
|
||||
|
||||
protected onDestroy(): void {
|
||||
@@ -97,11 +76,9 @@ export class PreloadUI extends Component {
|
||||
}
|
||||
|
||||
update(deltaTime: number) {
|
||||
if (this.checkFinish) {
|
||||
if (this.preloadFinish && this.loginFinish) {
|
||||
this.checkFinish = false;
|
||||
this.enterGame();
|
||||
}
|
||||
if (this.preloadFinish) {
|
||||
this.preloadFinish = false;
|
||||
this.goToLoginScene();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,7 +172,6 @@ export class PreloadUI extends Component {
|
||||
});
|
||||
} else {
|
||||
this.preloadFinish = true;
|
||||
this.enterLoginModule();
|
||||
}
|
||||
};
|
||||
preloadFunc();
|
||||
@@ -206,120 +182,11 @@ export class PreloadUI extends Component {
|
||||
this.jinduFilled.fillRange = percent;
|
||||
}
|
||||
|
||||
// 进入登录模块
|
||||
private enterLoginModule() {
|
||||
//this.LabProgress.node.active = false;
|
||||
// 跳转到登录场景
|
||||
private goToLoginScene() {
|
||||
this.jinduBar.active = false;
|
||||
this.loginNode.active = true;
|
||||
ResManager.I.goCustomScene("LoginScene");
|
||||
}
|
||||
|
||||
//登录
|
||||
async onLogin() {
|
||||
//初始化SDK信息
|
||||
// SDKManager.init(() => {
|
||||
// //检测是否有授权,有授权直接登录,没有授权就先进主界面,到主界面获取权限
|
||||
// SDKManager.checkAutoSetting("userInfo", (ishave) => {
|
||||
// if (ishave) {
|
||||
// console.log("有授权,直接登录")
|
||||
// HttpUnit.ins.login((loginData) => {
|
||||
// if (loginData == null) {
|
||||
// //登录失败,这里处理重复登录的逻辑
|
||||
// } else {
|
||||
// this.loginFinish = true
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// console.log("没有授权,等待授权后登录")
|
||||
// // this.loginFinish = true
|
||||
// this.jinduBar.active = false
|
||||
// this.LabProgress.node.active = false
|
||||
// //登录按钮
|
||||
// this.btnLogin.node.active = true
|
||||
// let loginPath = ""
|
||||
// if (SDKManager.isWenxin()) {
|
||||
// loginPath = "login1"
|
||||
// } else if (SDKManager.isByteDance()) {
|
||||
// loginPath = "login2"
|
||||
// } else if (SDKManager.isKuaishou()) {
|
||||
// loginPath = "login3"
|
||||
// }
|
||||
// ResManager.I.changeResourceSpriteFrame(this.btnLogin, loginPath)
|
||||
//
|
||||
// HttpUnit.ins.login((loginData) => {
|
||||
// if (loginData == null) {
|
||||
// //登录失败,这里处理重复登录的逻辑
|
||||
// } else {
|
||||
// this.loginFinish = true
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
|
||||
// 游客登录
|
||||
const deviceId = DeviceIdService.I.id;
|
||||
const os = MachineInfoService.I.getMachineOs();
|
||||
const reqData = {
|
||||
platType: "guset",
|
||||
userId: deviceId,
|
||||
device: deviceId,
|
||||
os,
|
||||
};
|
||||
console.log("登录请求数据:", reqData);
|
||||
let res = await AuthService.I.login(reqData);
|
||||
console.log("登录响应数据:", res);
|
||||
if (res && res.code === proto.cs.EnmRetCode.SUCCESS) {
|
||||
const resData = res.data;
|
||||
// 保存数据
|
||||
const loginData = DataManager.I.getDataById<LoginData>(DataId.Login);
|
||||
loginData.token = resData.token;
|
||||
loginData.refreshToken = resData.refreshToken;
|
||||
loginData.expire = Number(resData.expire);
|
||||
const playerData = DataManager.I.getDataById<PlayerData>(DataId.Player);
|
||||
playerData.name = resData.name;
|
||||
const accountData = DataManager.I.getDataById<AccountData>(
|
||||
DataId.Account
|
||||
);
|
||||
accountData.accId = resData.accId;
|
||||
const envData = DataManager.I.getDataById<EnvData>(DataId.Env);
|
||||
envData.cdn = resData.cdn;
|
||||
|
||||
this.loginFinish = true;
|
||||
// 请求个人信息
|
||||
this.reqMyInfo();
|
||||
}
|
||||
}
|
||||
|
||||
// 请求个人信息
|
||||
private async reqMyInfo() {
|
||||
const reqData = {};
|
||||
let res = await PlayerDataService.I.reqMyInfo(reqData);
|
||||
console.log("个人信息响应数据:", res);
|
||||
if (res && res.code === proto.cs.EnmRetCode.SUCCESS) {
|
||||
const resData = res.data;
|
||||
// 保存数据
|
||||
const walletData = DataManager.I.getDataById<WalletData>(DataId.Wallet);
|
||||
walletData.balance = Number(resData.balance);
|
||||
walletData.vipExpire = Number(resData.vipExpire);
|
||||
}
|
||||
}
|
||||
|
||||
enterGame() {
|
||||
//let islogin = HttpUnit.IsLogin();
|
||||
//console.log("进入游戏,登录状态:", islogin);
|
||||
this.jinduBar.active = false;
|
||||
//this.LabProgress.node.active = false;
|
||||
//this.btnLogin.node.active = false
|
||||
// if (islogin) {
|
||||
// } else {
|
||||
// //没登录成功,先进主界面,在主界面里进行登录
|
||||
// }
|
||||
|
||||
ResManager.I.goMainScene(); //进入下一个场景
|
||||
// ResManager.I.goCustomScene("Test2DScene"); //进入自定义场景
|
||||
}
|
||||
|
||||
private registerListener() {
|
||||
GButton.BandClick(this.btnLogin, this.onLogin, this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,11 +44,6 @@ export class SimpleLanguagePanel extends li_BaseView {
|
||||
@property(Button)
|
||||
private btnHindi: Button = null;
|
||||
|
||||
@property(Button)
|
||||
private btnFrench: Button = null;
|
||||
|
||||
@property(Button)
|
||||
private btnGerman: Button = null;
|
||||
|
||||
@property(Node)
|
||||
private panelBg: Node = null;
|
||||
@@ -78,8 +73,6 @@ export class SimpleLanguagePanel extends li_BaseView {
|
||||
this.initLanguageButton(this.btnEnglish, LanguageType.EN, "English");
|
||||
this.initLanguageButton(this.btnChinese, LanguageType.CN, "中文");
|
||||
this.initLanguageButton(this.btnHindi, LanguageType.HI, "हिंदी");
|
||||
this.initLanguageButton(this.btnFrench, LanguageType.FR, "Français");
|
||||
this.initLanguageButton(this.btnGerman, LanguageType.DE, "Deutsch");
|
||||
}
|
||||
|
||||
private initLanguageButton(
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+1
-1
Submodule proto_cs updated: 9ec1d4f077...f055100cf0
+1
-1
Submodule xchat_cfg updated: 90b06e4cf2...1f70ef2a36
Reference in New Issue
Block a user