增加用户名登录
This commit is contained in:
@@ -30,18 +30,18 @@
|
||||
#define VERSION_FRAME_SDK INTERFACE_VERSION(6,3) //框架版本;
|
||||
|
||||
#define LOGON_SERVER_ADDRESS "121.40.40.53" //登录服务器地址;
|
||||
#define WEB_SERVER_ADDRESS "http://queyi.ppxq.net" //WEB服务器地址;
|
||||
#define WEB_SERVER_ADDRESS "http://121.40.40.53:9002/" //WEB服务器地址;
|
||||
|
||||
//#define LOGON_SERVER_ADDRESS "47.100.47.128" //登录服务器地址;
|
||||
//#define WEB_SERVER_ADDRESS "http://queyi.ppxq.net" //WEB服务器地址;
|
||||
|
||||
#define PAY_TO_PLAYER_HTTP_ADDRESS "http://queyi.ppxq.net/Lobby/PayToPlayer" //转账给玩家;
|
||||
#define PAY_LOG_HTTP_ADDRESS "http://queyi.ppxq.net/Lobby/GetPayLog" //充值记录;
|
||||
#define GET_NICKNAME_HTTP_ADDRESS "http://queyi.ppxq.net/Lobby/GetPlayerNickName" //获取昵称;
|
||||
#define DUI_HUAN_HTTP_ADDRESS "http://queyi.ppxq.net/duihuan.html" //兑换地址;
|
||||
#define GONG_HUI_HTTP_ADDRESS "http://queyi.ppxq.net/gonghui.html" //公会地址;
|
||||
#define HEAD_HTTP_ADDRESS "http://queyi.ppxq.net/b.php?id=%d" //头像地址;
|
||||
#define SHARE_HTTP_ADDRESS "http://queyi.ppxq.net/qy.html" //分享地址;
|
||||
#define PAY_TO_PLAYER_HTTP_ADDRESS "http://121.40.40.53/Lobby/PayToPlayer" //转账给玩家;
|
||||
#define PAY_LOG_HTTP_ADDRESS "http://121.40.40.53/Lobby/GetPayLog" //充值记录;
|
||||
#define GET_NICKNAME_HTTP_ADDRESS "http://121.40.40.53/Lobby/GetPlayerNickName" //获取昵称;
|
||||
#define DUI_HUAN_HTTP_ADDRESS "http://121.40.40.53/duihuan.html" //兑换地址;
|
||||
#define GONG_HUI_HTTP_ADDRESS "http://121.40.40.53/gonghui.html" //公会地址;
|
||||
#define HEAD_HTTP_ADDRESS "http://121.40.40.53/b.php?id=%d" //头像地址;
|
||||
#define SHARE_HTTP_ADDRESS "http://121.40.40.53/qy.html" //分享地址;
|
||||
|
||||
#define LOGON_SERVER_PORT 10086 //登录服务器端口;
|
||||
//#define LOGON_SERVER_PORT 10090 //登录服务器端口;
|
||||
|
||||
@@ -17,20 +17,20 @@ LoginMission::LoginMission()
|
||||
}
|
||||
|
||||
|
||||
// 设置回调接口
|
||||
// 占쏙옙占시쀼듸옙占쌈울옙
|
||||
void LoginMission::setMissionSink(ILoginMissionSink* pILoginMissionSink)
|
||||
{
|
||||
mILoginMissionSink = pILoginMissionSink;
|
||||
}
|
||||
|
||||
// 账号登陆
|
||||
// 占싯뵀듸옙쩍
|
||||
void LoginMission::loginAccount(const CMD_GP_LogonAccounts& LoginAccount)
|
||||
{
|
||||
memcpy(&mLoginAccount, &LoginAccount, sizeof(mLoginAccount));
|
||||
mMissionType = MISSION_LOGIN_ACCOUNT;
|
||||
start();
|
||||
}
|
||||
// 游客登录
|
||||
// 占싸와듸옙쩌
|
||||
void LoginMission::loginVisitor(const CMD_GP_VisitorLogon& VisitorAccount)
|
||||
{
|
||||
memcpy(&mVisitorAccount, &VisitorAccount, sizeof(VisitorAccount));
|
||||
@@ -39,7 +39,7 @@ void LoginMission::loginVisitor(const CMD_GP_VisitorLogon& VisitorAccount)
|
||||
start();
|
||||
}
|
||||
|
||||
// I D登陆
|
||||
// I D占쏙옙쩍
|
||||
void LoginMission::loginGameID(const CMD_GP_LogonByUserID& LoginGameID)
|
||||
{
|
||||
memcpy(&mLoginGameID, &LoginGameID, sizeof(mLoginGameID));
|
||||
@@ -60,7 +60,7 @@ void LoginMission::updateOnlineInfo()
|
||||
start();
|
||||
}
|
||||
|
||||
//更新类型
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
bool LoginMission::updateServerInfo(uint16 kind)
|
||||
{
|
||||
KIND_ITER it = std::find(mKindList.begin(), mKindList.end(), kind);
|
||||
@@ -84,38 +84,38 @@ bool LoginMission::updateServerInfo(uint16 kind)
|
||||
return true;
|
||||
}
|
||||
|
||||
// 登陆
|
||||
// 占쏙옙쩍
|
||||
bool LoginMission::sendLoginVisitor(const CMD_GP_VisitorLogon& VisitorAccount)
|
||||
{
|
||||
CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance();
|
||||
tagGlobalUserData * pGlobalUserData=pGlobalUserInfo->GetGlobalUserData();
|
||||
strncpy(pGlobalUserData->szPassword,mVisitorAccount.szPassWord,countarray(pGlobalUserData->szPassword));
|
||||
|
||||
//发送数据
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
send(MDM_GP_LOGON, SUB_GP_LOGON_VISITOR, (void*)&mVisitorAccount, sizeof(mVisitorAccount));
|
||||
return true;
|
||||
}
|
||||
//发送登陆信息
|
||||
//占쏙옙占싶듸옙쩍占쏙옙口
|
||||
bool LoginMission::sendLoginAccount(const CMD_GP_LogonAccounts& LoginAccount)
|
||||
{
|
||||
cocos2d::log(("LoginMission::sendLoginAccount\n"));
|
||||
//保存密码
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance();
|
||||
tagGlobalUserData * pGlobalUserData=pGlobalUserInfo->GetGlobalUserData();
|
||||
strncpy(pGlobalUserData->szPassword,LoginAccount.szPassword, countarray(pGlobalUserData->szPassword));
|
||||
|
||||
//发送数据
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
send(MDM_GP_LOGON, SUB_GP_LOGON_ACCOUNTS, (void*)&LoginAccount, sizeof(LoginAccount));
|
||||
return true;
|
||||
}
|
||||
|
||||
//发送登陆信息
|
||||
//占쏙옙占싶듸옙쩍占쏙옙口
|
||||
bool LoginMission::sendLoginGameID(const CMD_GP_LogonByUserID& LoginGameID)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//发送注册信息
|
||||
//占쏙옙占쏙옙鬧占쏙옙占쏙옙口
|
||||
bool LoginMission::sendRegisterPacket(const CMD_GP_RegisterAccounts& RegisterAccount)
|
||||
{
|
||||
cocos2d::log(("LoginMission::sendRegisterPacket\n"));
|
||||
@@ -124,20 +124,20 @@ bool LoginMission::sendRegisterPacket(const CMD_GP_RegisterAccounts& RegisterAcc
|
||||
tagGlobalUserData * pGlobalUserData=pGlobalUserInfo->GetGlobalUserData();
|
||||
strncpy(pGlobalUserData->szPassword,RegisterAccount.szLogonPass, countarray(pGlobalUserData->szPassword));
|
||||
|
||||
//发送数据
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
send(MDM_GP_LOGON, SUB_GP_REGISTER_ACCOUNTS, (void*)&RegisterAccount, sizeof(RegisterAccount));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// 更新人数
|
||||
// 占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
bool LoginMission::sendUpdateOnlineInfoPacket()
|
||||
{
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
// 更新类型房间列表
|
||||
// 占쏙옙占쏙옙占쏙옙占싶뤄옙占쏙옙占싻깍옙
|
||||
void LoginMission::sendUpdateServerInfo()
|
||||
{
|
||||
}
|
||||
@@ -148,26 +148,26 @@ void LoginMission::onEventTCPSocketLink()
|
||||
|
||||
switch (mMissionType)
|
||||
{
|
||||
// 登陆
|
||||
// 占쏙옙쩍
|
||||
case MISSION_LOGIN_ACCOUNT:
|
||||
sendLoginAccount(mLoginAccount);
|
||||
break;
|
||||
case MISSION_LOGIN_VISITOR:
|
||||
sendLoginVisitor(mVisitorAccount);
|
||||
break;
|
||||
// 登陆
|
||||
// 占쏙옙쩍
|
||||
case MISSION_LOGIN_GAMEID:
|
||||
sendLoginGameID(mLoginGameID);
|
||||
break;
|
||||
// 注册
|
||||
// 鬧占쏙옙
|
||||
case MISSION_REGISTER:
|
||||
sendRegisterPacket(mRegisterAccount);
|
||||
break;
|
||||
// 更新人数
|
||||
// 占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
case MISSION_UPDATE_INFO:
|
||||
sendUpdateOnlineInfoPacket();
|
||||
break;
|
||||
// 更新类型房间列表
|
||||
// 占쏙옙占쏙옙占쏙옙占싶뤄옙占쏙옙占싻깍옙
|
||||
case MISSION_SERVER_INFO:
|
||||
sendUpdateServerInfo();
|
||||
break;
|
||||
@@ -202,20 +202,20 @@ bool LoginMission::onEventTCPSocketRead(int main, int sub, void* data, int size)
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// 登陆信息
|
||||
// 占쏙옙쩍占쏙옙口
|
||||
bool LoginMission::onSocketMainLogon(int sub, void* data, int size)
|
||||
{
|
||||
switch (sub)
|
||||
{
|
||||
//登录成功
|
||||
//占쏙옙쩌占심뱄옙
|
||||
case SUB_GP_LOGON_SUCCESS: return onSocketSubLogonSuccess(data, size);
|
||||
//登录失败
|
||||
//占쏙옙쩌呵占쏙옙
|
||||
case SUB_GP_LOGON_FAILURE: return onSocketSubLogonFailure(data, size);
|
||||
//登录失败
|
||||
//占쏙옙쩌呵占쏙옙
|
||||
case SUB_GP_VALIDATE_MBCARD: return onSocketSubLogonValidateMBCard(data, size);
|
||||
//升级提示
|
||||
//占쏙옙占쏙옙占쏙옙刻
|
||||
case SUB_GP_UPDATE_NOTIFY: return onSocketSubUpdateNotify(data, size);
|
||||
//登录完成
|
||||
//占쏙옙쩌占쏙옙占?
|
||||
case SUB_GP_LOGON_FINISH: return onSocketSubLogonFinish(data, size);
|
||||
case SUB_GP_GROWLEVEL_CONFIG: return true;
|
||||
case SUB_GP_MATCH_SIGNUPINFO: return onSocketSubMacthSignupInfo(data, size);
|
||||
@@ -225,14 +225,14 @@ bool LoginMission::onSocketMainLogon(int sub, void* data, int size)
|
||||
return false;
|
||||
}
|
||||
|
||||
//登录成功
|
||||
//占쏙옙쩌占심뱄옙
|
||||
bool LoginMission::onSocketSubLogonSuccess(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketSubLogonSuccess\n"));
|
||||
|
||||
//登陆成功
|
||||
//占쏙옙쩍占심뱄옙
|
||||
CMD_GP_LogonSuccess* pData = (CMD_GP_LogonSuccess*)data;
|
||||
//变量定义
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance();
|
||||
tagGlobalUserData * pGlobalUserData=pGlobalUserInfo->GetGlobalUserData();
|
||||
|
||||
@@ -240,7 +240,7 @@ bool LoginMission::onSocketSubLogonSuccess(void* data, int size)
|
||||
pGlobalUserData->lUserInsure = pData->lUserInsure;
|
||||
pGlobalUserData->lGrade = pData->lGrade;
|
||||
|
||||
//保存信息
|
||||
//占쏙옙占쏙옙占쏙옙口
|
||||
pGlobalUserData->wFaceID = pData->wFaceID;
|
||||
pGlobalUserData->cbGender = pData->cbGender;
|
||||
pGlobalUserData->dwUserID =pData->dwUserID;
|
||||
@@ -249,13 +249,13 @@ bool LoginMission::onSocketSubLogonSuccess(void* data, int size)
|
||||
pGlobalUserData->dwExperience =pData->dwExperience;
|
||||
pGlobalUserData->cbInsureEnabled = pData->cbInsureEnabled;
|
||||
pGlobalUserData->cbWXShareTimes = pData->cbWXShareTimes;
|
||||
//strncpy(pGlobalUserData->szNickName, (char*)pData->szNickName, countarray(pGlobalUserData->szNickName)-1);
|
||||
strncpy(pGlobalUserData->szNickName, (char*)pData->szNickName, countarray(pGlobalUserData->szNickName)-1);
|
||||
strncpy(pGlobalUserData->szAccounts, ((char*)pData->szAccounts), countarray(pGlobalUserData->szAccounts)-1);
|
||||
|
||||
// 抽奖信息;
|
||||
// 占썽쉽占쏙옙口;
|
||||
pGlobalUserData->isLottery = pData->isLottery;
|
||||
|
||||
//金币信息
|
||||
//占쏙옙占쏙옙占싹?
|
||||
pGlobalUserInfo->upPlayerInfo();
|
||||
|
||||
if (mILoginMissionSink)
|
||||
@@ -264,36 +264,36 @@ bool LoginMission::onSocketSubLogonSuccess(void* data, int size)
|
||||
return true;
|
||||
}
|
||||
|
||||
//登录失败
|
||||
//占쏙옙쩌呵占쏙옙
|
||||
bool LoginMission::onSocketSubLogonFailure(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketSubLogonFailure\n"));
|
||||
|
||||
DBR_GP_LogonError* pNetInfo =(DBR_GP_LogonError*)data;
|
||||
//显示消息
|
||||
//占쏙옙刻占쏙옙口
|
||||
if (mILoginMissionSink)
|
||||
mILoginMissionSink->onGPLoginFailure(pNetInfo->lErrorCode,utility::a_u8(pNetInfo->szErrorDescribe).c_str());
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
//升级提示
|
||||
//占쏙옙占쏙옙占쏙옙刻
|
||||
bool LoginMission::onSocketSubUpdateNotify(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketSubUpdateNotify\n"));
|
||||
//效验参数
|
||||
//槻占쏙옙占쏙옙占?
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//登录失败(密保卡)
|
||||
//占쏙옙쩌呵占쏙옙(占쌤깍옙占쏙옙)
|
||||
bool LoginMission::onSocketSubLogonValidateMBCard(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketSubLogonValidateMBCard\n"));
|
||||
return true;
|
||||
}
|
||||
|
||||
//登录完成
|
||||
//占쏙옙쩌占쏙옙占?
|
||||
bool LoginMission::onSocketSubLogonFinish(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketSubLogonFinish\n"));
|
||||
@@ -311,21 +311,21 @@ bool LoginMission::onSocketSubLogonFinish(void* data, int size)
|
||||
}
|
||||
bool LoginMission::onSocketSubMacthSignupInfo(void* data, int size)
|
||||
{
|
||||
//校验数据
|
||||
//叫占쏙옙占쏙옙占쏙옙
|
||||
if(size%sizeof(uint16)!=0) return false;
|
||||
|
||||
//提取数据
|
||||
//占쏙옙혤占쏙옙占쏙옙
|
||||
tagSignupMatchInfo * pSignupMatchInfo = (tagSignupMatchInfo *)data;
|
||||
uint16 wSignupCount = size/sizeof(pSignupMatchInfo);
|
||||
|
||||
//获取对象
|
||||
//占쏙옙혤占쏙옙占쏙옙
|
||||
ASSERT(CServerListData::shared()!=NULL);
|
||||
CServerListData * pServerListData=CServerListData::shared();
|
||||
|
||||
//查找房间
|
||||
//占쏙옙占쌀뤄옙占쏙옙
|
||||
CGameServerItem * pGameServerItem = NULL;
|
||||
|
||||
//设置报名
|
||||
//占쏙옙占시깍옙占쏙옙
|
||||
for(uint16 i=0;i<wSignupCount;i++)
|
||||
{
|
||||
pGameServerItem = pServerListData->SearchGameServer(pSignupMatchInfo[i].wServerID);
|
||||
@@ -339,7 +339,7 @@ bool LoginMission::onSocketSubMacthSignupInfo(void* data, int size)
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// 列表信息
|
||||
// 占싻깍옙占쏙옙口
|
||||
bool LoginMission::onSocketMainServerList(int sub, void* data, int size)
|
||||
{
|
||||
switch (sub)
|
||||
@@ -357,7 +357,7 @@ bool LoginMission::onSocketMainServerList(int sub, void* data, int size)
|
||||
return false;
|
||||
}
|
||||
|
||||
//种类信息
|
||||
//占쏙옙占쏙옙占쏙옙口
|
||||
bool LoginMission::onSocketListType(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketListType\n"));
|
||||
@@ -365,11 +365,11 @@ bool LoginMission::onSocketListType(void* data, int size)
|
||||
return true;
|
||||
}
|
||||
|
||||
//类型信息
|
||||
//占쏙옙占쏙옙占쏙옙口
|
||||
bool LoginMission::onSocketListKind(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketListKind\n"));
|
||||
////更新数据
|
||||
////占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
int itemSize = sizeof(tagGameKind);
|
||||
|
||||
ASSERT(size%itemSize==0);
|
||||
@@ -386,11 +386,11 @@ bool LoginMission::onSocketListKind(void* data, int size)
|
||||
return true;
|
||||
}
|
||||
|
||||
// 房间列表
|
||||
// 占쏙옙占쏙옙占싻깍옙
|
||||
bool LoginMission::onSocketListServer(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketListServer\n"));
|
||||
////更新数据
|
||||
////占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
int itemSize = sizeof(tagGameServer);
|
||||
|
||||
ASSERT(size%itemSize==0);
|
||||
@@ -406,7 +406,7 @@ bool LoginMission::onSocketListServer(void* data, int size)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//比赛列表
|
||||
//占쏙옙占쏙옙占싻깍옙
|
||||
bool LoginMission::onSocketListMatch(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketListMatch\n"));
|
||||
@@ -415,15 +415,15 @@ bool LoginMission::onSocketListMatch(void* data, int size)
|
||||
ASSERT(size%itemSize==0);
|
||||
if (size%itemSize!=0) return false;
|
||||
|
||||
//变量定义
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
uint16 wItemCount=size/sizeof(tagGameMatch);
|
||||
tagGameMatch * pGameMatch=(tagGameMatch *)(data);
|
||||
|
||||
//获取对象
|
||||
//占쏙옙혤占쏙옙占쏙옙
|
||||
CGameServerItem * pGameServerItem=NULL;
|
||||
CServerListData * pServerListData=CServerListData::shared();
|
||||
|
||||
//更新数据
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
for (uint16 i=0;i<wItemCount;i++)
|
||||
{
|
||||
pGameServerItem = pServerListData->SearchGameServer(pGameMatch->wServerID);
|
||||
@@ -437,7 +437,7 @@ bool LoginMission::onSocketListMatch(void* data, int size)
|
||||
|
||||
}
|
||||
|
||||
// 列表完成
|
||||
// 占싻깍옙占쏙옙占?
|
||||
bool LoginMission::onSocketListFinish(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketListFinish\n"));
|
||||
@@ -449,7 +449,7 @@ bool LoginMission::onSocketListFinish(void* data, int size)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//列表配置
|
||||
//占싻깍옙占쏙옙占쏙옙
|
||||
bool LoginMission::onSocketListConfig(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketListConfig\n"));
|
||||
@@ -460,31 +460,31 @@ bool LoginMission::onSocketListConfig(void* data, int size)
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// 在线更新
|
||||
// 占쏙옙占쌩몌옙占쏙옙
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//类型在线
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
bool LoginMission::onSocketKindOnline(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketKindOnline\n"));
|
||||
|
||||
//变量定义
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
//房间在线
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
bool LoginMission::onSocketServerOnline(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketServerOnline\n"));
|
||||
|
||||
//变量定义
|
||||
//占쏙옙占쏙옙占쏙옙占쏙옙
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
// 在线更新完成
|
||||
// 占쏙옙占쌩몌옙占쏙옙占쏙옙占?
|
||||
bool LoginMission::onSocketOnlineFinish(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketOnlineFinish\n"));
|
||||
@@ -494,7 +494,7 @@ bool LoginMission::onSocketOnlineFinish(void* data, int size)
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//视频配置
|
||||
//占쏙옙틉占쏙옙占쏙옙
|
||||
bool LoginMission::onSocketVideoOption(void* data, int size)
|
||||
{
|
||||
cocos2d::log(("LoginMission::onSocketVideoOption\n"));
|
||||
|
||||
@@ -7,8 +7,14 @@
|
||||
#include "GlobalJosn.h"
|
||||
#include "YvVoiceManager.hpp"
|
||||
#include "13S_GameLogic.h"
|
||||
#include "MD5.h"
|
||||
|
||||
LogonScene::LogonScene()
|
||||
: m_pPanelAccount(nullptr)
|
||||
, m_pTxtUsername(nullptr)
|
||||
, m_pTxtPassword(nullptr)
|
||||
, m_pBtnLogin(nullptr)
|
||||
, m_pBtnClose(nullptr)
|
||||
{
|
||||
m_kLoginMission.setUrl(GlobalJosn::getInstance()->m_strLogonIp.c_str(), GlobalJosn::getInstance()->m_iPort);
|
||||
|
||||
@@ -42,6 +48,30 @@ bool LogonScene::init()
|
||||
CC_ASSERT(btnWeiXinLogon != nullptr);
|
||||
|
||||
btnWeiXinLogon->addClickEventListener(CC_CALLBACK_1(LogonScene::onWeiXinLogon, this));
|
||||
// Account login entry button
|
||||
auto btnAccountLogin = (Button*)rootPanel->getChildByName("btnAccountLogin");
|
||||
if (btnAccountLogin)
|
||||
{
|
||||
btnAccountLogin->addClickEventListener(CC_CALLBACK_1(LogonScene::onShowAccountPanel, this));
|
||||
}
|
||||
|
||||
// Account login panel
|
||||
m_pPanelAccount = rootPanel->getChildByName("panelAccount");
|
||||
if (m_pPanelAccount)
|
||||
{
|
||||
m_pPanelAccount->setVisible(false);
|
||||
auto imgBg = m_pPanelAccount->getChildByName("imgBg");
|
||||
if (imgBg)
|
||||
{
|
||||
m_pTxtUsername = (TextField*)imgBg->getChildByName("txtUsername");
|
||||
m_pTxtPassword = (TextField*)imgBg->getChildByName("txtPassword");
|
||||
m_pBtnLogin = (Button*)imgBg->getChildByName("btnLogin");
|
||||
m_pBtnClose = (Button*)imgBg->getChildByName("btnClose");
|
||||
|
||||
if (m_pBtnLogin) m_pBtnLogin->addClickEventListener(CC_CALLBACK_1(LogonScene::onUsernameLogon, this));
|
||||
if (m_pBtnClose) m_pBtnClose->addClickEventListener(CC_CALLBACK_1(LogonScene::onHideAccountPanel, this));
|
||||
}
|
||||
}
|
||||
|
||||
//对手机返回键的监听
|
||||
auto keyListener = EventListenerKeyboard::create();
|
||||
@@ -139,13 +169,22 @@ void LogonScene::onGPLoginSuccess()
|
||||
UserDefault::getInstance()->setStringForKey("Password", m_kPssword);
|
||||
|
||||
// 更新微信最新信息;
|
||||
pGlobalUserData->cbGender = m_kWeiXinUserInfo.sex;
|
||||
strncpy(pGlobalUserData->szNickName, m_kWeiXinUserInfo.nickname.c_str(), LEN_NICKNAME - 1);
|
||||
strncpy(pGlobalUserData->szHeadHttp, m_kWeiXinUserInfo.headimgurl.c_str(), LEN_HEAD_HTTP - 1);
|
||||
// Only update WeChat info for WeChat login (not username login)
|
||||
if (!m_kWeiXinUserInfo.openid.empty())
|
||||
{
|
||||
pGlobalUserData->cbGender = m_kWeiXinUserInfo.sex;
|
||||
strncpy(pGlobalUserData->szNickName, m_kWeiXinUserInfo.nickname.c_str(), LEN_NICKNAME - 1);
|
||||
strncpy(pGlobalUserData->szHeadHttp, m_kWeiXinUserInfo.headimgurl.c_str(), LEN_HEAD_HTTP - 1);
|
||||
|
||||
#if CC_TARGET_PLATFORM != CC_PLATFORM_WIN32
|
||||
UserInfo::Instance().modifyWeiXinInfo(m_kWeiXinUserInfo.sex, m_kWeiXinUserInfo.nickname, m_kWeiXinUserInfo.headimgurl);
|
||||
UserInfo::Instance().modifyWeiXinInfo(m_kWeiXinUserInfo.sex, m_kWeiXinUserInfo.nickname, m_kWeiXinUserInfo.headimgurl);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
// Username login: clear head URL to use default avatar
|
||||
pGlobalUserData->szHeadHttp[0] = '\0';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,7 +198,8 @@ void LogonScene::onGPLoginComplete()
|
||||
|
||||
void LogonScene::onGPLoginFailure(unsigned int iErrorCode,const char* szDescription)
|
||||
{
|
||||
if (iErrorCode == 3 || iErrorCode == 1)
|
||||
// Only auto-register for WeChat login, show error for username login
|
||||
if ((iErrorCode == 3 || iErrorCode == 1) && !m_kWeiXinUserInfo.openid.empty())
|
||||
{
|
||||
RegisterAccount();
|
||||
}
|
||||
@@ -339,4 +379,81 @@ void LogonScene::ResponseResult(rapidjson::Document* pDoc)
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
//==================================================
|
||||
// Username/Password Login
|
||||
//==================================================
|
||||
|
||||
void LogonScene::onShowAccountPanel(Ref*)
|
||||
{
|
||||
YSAudioEngine::Instance().playBtnClickEffect();
|
||||
if (m_pPanelAccount)
|
||||
{
|
||||
m_pPanelAccount->setVisible(true);
|
||||
if (m_pTxtUsername) m_pTxtUsername->setString("");
|
||||
if (m_pTxtPassword) m_pTxtPassword->setString("");
|
||||
}
|
||||
}
|
||||
|
||||
void LogonScene::onHideAccountPanel(Ref*)
|
||||
{
|
||||
YSAudioEngine::Instance().playBtnClickEffect();
|
||||
if (m_pPanelAccount)
|
||||
{
|
||||
m_pPanelAccount->setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
void LogonScene::onUsernameLogon(Ref*)
|
||||
{
|
||||
YSAudioEngine::Instance().playBtnClickEffect();
|
||||
|
||||
std::string strUsername = "";
|
||||
std::string strPassword = "";
|
||||
if (m_pTxtUsername) strUsername = m_pTxtUsername->getString();
|
||||
if (m_pTxtPassword) strPassword = m_pTxtPassword->getString();
|
||||
|
||||
// Input validation
|
||||
if (strUsername.empty())
|
||||
{
|
||||
PopScene::Instance().show(utility::a_u8("请输入用户名"));
|
||||
return;
|
||||
}
|
||||
if (strPassword.empty())
|
||||
{
|
||||
PopScene::Instance().show(utility::a_u8("请输入密码"));
|
||||
return;
|
||||
}
|
||||
if (strUsername.length() < 4)
|
||||
{
|
||||
PopScene::Instance().show(utility::a_u8("用户名至少4个字符"));
|
||||
return;
|
||||
}
|
||||
if (strPassword.length() < 6)
|
||||
{
|
||||
PopScene::Instance().show(utility::a_u8("密码至少6个字符"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_pPanelAccount) m_pPanelAccount->setVisible(false);
|
||||
LoadingScene::Instance().show(this);
|
||||
|
||||
// MD5 encrypt password
|
||||
m_kPssword = md5(strPassword);
|
||||
|
||||
// Clear WeChat info (mark as username login)
|
||||
m_kWeiXinUserInfo = WxUserInfo();
|
||||
|
||||
// Build login packet
|
||||
CMD_GP_LogonAccounts loginAccount;
|
||||
zeromemory(&loginAccount, sizeof(loginAccount));
|
||||
loginAccount.dwPlazaVersion = Helps::Instance()->GetPlazaVersion();
|
||||
loginAccount.cbValidateFlags = MB_VALIDATE_FLAGS | LOW_VER_VALIDATE_FLAGS;
|
||||
strcpy(loginAccount.szAccounts, strUsername.c_str());
|
||||
strcpy(loginAccount.szPassword, m_kPssword.c_str());
|
||||
loginAccount.szOpenId[0] = '\0';
|
||||
loginAccount.szUnionid[0] = '\0';
|
||||
|
||||
cocos2d::log("Username Login: account=%s", loginAccount.szAccounts);
|
||||
m_kLoginMission.loginAccount(loginAccount);
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
#pragma once
|
||||
#include "cocos2d.h"
|
||||
#include "cocostudio/CocoStudio.h"
|
||||
#include "ui/CocosGUI.h"
|
||||
#include "MD5.h"
|
||||
|
||||
#include "MissionWeiXin.h"
|
||||
#include "LoginMission.h"
|
||||
@@ -51,10 +53,21 @@ public:
|
||||
//请求版本信息结果
|
||||
void ResponseResult(rapidjson::Document* pDoc);
|
||||
|
||||
// Username login
|
||||
void onShowAccountPanel(Ref*);
|
||||
void onHideAccountPanel(Ref*);
|
||||
void onUsernameLogon(Ref*);
|
||||
|
||||
private:
|
||||
LoginMission m_kLoginMission;
|
||||
std::string m_kPssword;
|
||||
|
||||
WxUserInfo m_kWeiXinUserInfo;
|
||||
|
||||
// Account login UI
|
||||
Node* m_pPanelAccount;
|
||||
cocos2d::ui::TextField* m_pTxtUsername;
|
||||
cocos2d::ui::TextField* m_pTxtPassword;
|
||||
cocos2d::ui::Button* m_pBtnLogin;
|
||||
cocos2d::ui::Button* m_pBtnClose;
|
||||
};
|
||||
@@ -261,6 +261,7 @@
|
||||
<Folder Name="Logon">
|
||||
<Image Name="bg.png" />
|
||||
<Image Name="dengdai.png" />
|
||||
<Image Name="entry_btn_username.png" />
|
||||
<Image Name="entry_btn_weixin2.png" />
|
||||
<Image Name="gou.png" />
|
||||
<Image Name="heikuang.png" />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<SolutionConfig Version="3.10.0.0">
|
||||
<PublishDirectory Value="H:/git/wnmj/wnmj/Resources/" />
|
||||
<PublishDirectory Value="D:\Mine\res" />
|
||||
<PackageDirectory Value="package/" />
|
||||
<PublishType Value="Reference" />
|
||||
<SolutionSize Value="960 * 640" />
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
<Item Key="TabsParamsKey">
|
||||
<Value ctype="TabsInfo">
|
||||
<OpenedDocuments>
|
||||
<FilePathData Path="Platform/LogonScene.csd" />
|
||||
<FilePathData Path="Platform/MainScene.csd" />
|
||||
</OpenedDocuments>
|
||||
<ActiveDocument Path="Platform/MainScene.csd" />
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
@@ -6,63 +6,180 @@
|
||||
<ObjectData Name="Scene" Tag="3" ctype="GameNodeObjectData">
|
||||
<Size X="960.0000" Y="640.0000" />
|
||||
<Children>
|
||||
<AbstractNodeData Name="bgSprite" CanEdit="False" ActionTag="-860251773" Tag="4" IconVisible="False" ctype="SpriteObjectData">
|
||||
<AbstractNodeData Name="bgSprite" CanEdit="False" ActionTag="-860251773" Tag="4" IconVisible="False" RightMargin="-320.0000" TopMargin="-80.0000" ctype="SpriteObjectData">
|
||||
<Size X="1280.0000" Y="720.0000" />
|
||||
<AnchorPoint />
|
||||
<Position />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition />
|
||||
<PreSize X="1.0000" Y="1.0000" />
|
||||
<PreSize X="1.3333" Y="1.1250" />
|
||||
<FileData Type="Normal" Path="Platform/Logon/bg.png" Plist="" />
|
||||
<BlendFunc Src="1" Dst="771" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="btnWeiXinLogon" CanEdit="False" ActionTag="534804348" Tag="6" IconVisible="False" LeftMargin="473.0000" RightMargin="473.0000" TopMargin="495.9373" BottomMargin="119.0627" TouchEnable="True" FontSize="14" LeftEage="15" RightEage="15" TopEage="11" BottomEage="11" Scale9OriginX="15" Scale9OriginY="11" Scale9Width="304" Scale9Height="83" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="ButtonObjectData">
|
||||
<AbstractNodeData Name="btnWeiXinLogon" CanEdit="False" ActionTag="534804348" Tag="6" IconVisible="False" LeftMargin="410.9993" RightMargin="215.0007" TopMargin="415.9373" BottomMargin="119.0627" TouchEnable="True" FontSize="14" LeftEage="15" RightEage="15" TopEage="11" BottomEage="11" Scale9OriginX="15" Scale9OriginY="11" Scale9Width="304" Scale9Height="83" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="ButtonObjectData">
|
||||
<Size X="334.0000" Y="105.0000" />
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="640.0000" Y="171.5627" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<Position X="577.9993" Y="171.5627" />
|
||||
<Scale ScaleX="0.5581" ScaleY="0.5866" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition X="0.5000" Y="0.2383" />
|
||||
<PreSize X="0.2609" Y="0.1458" />
|
||||
<PrePosition X="0.6021" Y="0.2681" />
|
||||
<PreSize X="0.3479" Y="0.1641" />
|
||||
<TextColor A="255" R="65" G="65" B="70" />
|
||||
<NormalFileData Type="Normal" Path="Platform/Logon/entry_btn_weixin2.png" Plist="" />
|
||||
<OutlineColor A="255" R="255" G="0" B="0" />
|
||||
<ShadowColor A="255" R="110" G="110" B="110" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="ckboxAgree" CanEdit="False" ActionTag="-1204790824" Tag="7" IconVisible="False" LeftMargin="507.9994" RightMargin="716.0006" TopMargin="647.1973" BottomMargin="16.8027" CheckedState="True" ctype="CheckBoxObjectData">
|
||||
<AbstractNodeData Name="ckboxAgree" CanEdit="False" ActionTag="-1204790824" Tag="7" IconVisible="False" LeftMargin="507.9994" RightMargin="396.0006" TopMargin="567.1973" BottomMargin="16.8027" CheckedState="True" ctype="CheckBoxObjectData">
|
||||
<Size X="56.0000" Y="56.0000" />
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="535.9994" Y="44.8027" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition X="0.4187" Y="0.0622" />
|
||||
<PreSize X="0.0437" Y="0.0778" />
|
||||
<PrePosition X="0.5583" Y="0.0700" />
|
||||
<PreSize X="0.0583" Y="0.0875" />
|
||||
<NormalBackFileData Type="Normal" Path="Platform/Logon/heikuang.png" Plist="" />
|
||||
<NodeNormalFileData Type="Normal" Path="Platform/Logon/gou.png" Plist="" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="linkAgree" CanEdit="False" ActionTag="-1313187649" Tag="8" IconVisible="False" LeftMargin="577.0000" RightMargin="515.0000" TopMargin="662.1973" BottomMargin="31.8027" ctype="SpriteObjectData">
|
||||
<AbstractNodeData Name="linkAgree" CanEdit="False" ActionTag="-1313187649" Tag="8" IconVisible="False" LeftMargin="577.0000" RightMargin="195.0000" TopMargin="582.1973" BottomMargin="31.8027" ctype="SpriteObjectData">
|
||||
<Size X="188.0000" Y="26.0000" />
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="671.0000" Y="44.8027" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition X="0.5242" Y="0.0622" />
|
||||
<PreSize X="0.1469" Y="0.0361" />
|
||||
<PrePosition X="0.6990" Y="0.0700" />
|
||||
<PreSize X="0.1958" Y="0.0406" />
|
||||
<FileData Type="Normal" Path="Platform/Logon/tongyi.png" Plist="" />
|
||||
<BlendFunc Src="1" Dst="771" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="txtVersion" CanEdit="False" ActionTag="-1512667945" Tag="79" IconVisible="False" LeftMargin="1071.5544" RightMargin="26.4456" TopMargin="662.1973" BottomMargin="31.8027" FontSize="26" LabelText="版本:v1.0.0.1" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="TextObjectData">
|
||||
<AbstractNodeData Name="txtVersion" CanEdit="False" ActionTag="-1512667945" Tag="79" IconVisible="False" LeftMargin="1071.5544" RightMargin="-293.5544" TopMargin="582.1973" BottomMargin="31.8027" FontSize="26" LabelText="版本:v1.0.0.1" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="TextObjectData">
|
||||
<Size X="182.0000" Y="26.0000" />
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="1162.5544" Y="44.8027" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition X="0.9082" Y="0.0622" />
|
||||
<PreSize X="0.1422" Y="0.0361" />
|
||||
<PrePosition X="1.2110" Y="0.0700" />
|
||||
<PreSize X="0.1896" Y="0.0406" />
|
||||
<OutlineColor A="255" R="255" G="0" B="0" />
|
||||
<ShadowColor A="255" R="110" G="110" B="110" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="btnAccountLogin" CanEdit="False" ActionTag="1570294965" Tag="105" IconVisible="False" LeftMargin="612.9254" RightMargin="13.0746" TopMargin="415.7813" BottomMargin="119.1947" TouchEnable="True" StretchHeightEnable="True" FontSize="14" LeftEage="15" RightEage="15" TopEage="11" BottomEage="11" Scale9OriginX="15" Scale9OriginY="11" Scale9Width="374" Scale9Height="97" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="ButtonObjectData">
|
||||
<Size X="334.0000" Y="105.0240" />
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="779.9254" Y="171.7067" />
|
||||
<Scale ScaleX="0.5581" ScaleY="0.5866" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition X="0.8124" Y="0.2683" />
|
||||
<PreSize X="0.3479" Y="0.1641" />
|
||||
<TextColor A="255" R="65" G="65" B="70" />
|
||||
<NormalFileData Type="Normal" Path="Platform/Logon/entry_btn_username.png" Plist="" />
|
||||
<OutlineColor A="255" R="255" G="0" B="0" />
|
||||
<ShadowColor A="255" R="110" G="110" B="110" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="panelAccount" CanEdit="False" ActionTag="1044463357" VisibleForFrame="False" Tag="110" IconVisible="False" TouchEnable="True" ClipAble="False" BackColorAlpha="153" ComboBoxIndex="1" ColorAngle="90.0000" Scale9Width="1" Scale9Height="1" ctype="PanelObjectData">
|
||||
<Size X="960.0000" Y="640.0000" />
|
||||
<Children>
|
||||
<AbstractNodeData Name="imgBg" CanEdit="False" ActionTag="2066810041" Tag="111" IconVisible="False" LeftMargin="185.0000" RightMargin="185.0000" TopMargin="143.0000" BottomMargin="143.0000" LeftEage="184" RightEage="184" TopEage="140" BottomEage="140" Scale9OriginX="184" Scale9OriginY="140" Scale9Width="222" Scale9Height="74" ctype="ImageViewObjectData">
|
||||
<Size X="590.0000" Y="354.0000" />
|
||||
<Children>
|
||||
<AbstractNodeData Name="txtTitle" CanEdit="False" ActionTag="349947349" Tag="112" IconVisible="False" LeftMargin="186.0000" RightMargin="276.0000" TopMargin="-16.5000" BottomMargin="337.5000" FontSize="32" LabelText="账号登录" HorizontalAlignmentType="HT_Center" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="TextObjectData">
|
||||
<Size X="128.0000" Y="33.0000" />
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="250.0000" Y="354.0000" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="69" G="101" B="115" />
|
||||
<PrePosition X="0.4237" Y="1.0000" />
|
||||
<PreSize X="0.2169" Y="0.0932" />
|
||||
<OutlineColor A="255" R="255" G="0" B="0" />
|
||||
<ShadowColor A="255" R="110" G="110" B="110" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="txtUsernameLabel" CanEdit="False" ActionTag="349947350" Tag="113" IconVisible="False" LeftMargin="50.0000" RightMargin="442.0000" TopMargin="46.0000" BottomMargin="280.0000" FontSize="28" LabelText="用户名:" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="TextObjectData">
|
||||
<Size X="98.0000" Y="28.0000" />
|
||||
<AnchorPoint ScaleY="0.5000" />
|
||||
<Position X="50.0000" Y="294.0000" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="69" G="101" B="115" />
|
||||
<PrePosition X="0.0847" Y="0.8305" />
|
||||
<PreSize X="0.1661" Y="0.0791" />
|
||||
<OutlineColor A="255" R="255" G="0" B="0" />
|
||||
<ShadowColor A="255" R="110" G="110" B="110" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="txtUsername" CanEdit="False" ActionTag="349947351" Tag="114" IconVisible="False" LeftMargin="150.0000" RightMargin="140.0000" TopMargin="39.0000" BottomMargin="273.0000" TouchEnable="True" FontSize="26" IsCustomSize="True" LabelText="" PlaceHolderText="请输入用户名" MaxLengthText="20" ctype="TextFieldObjectData">
|
||||
<Size X="300.0000" Y="42.0000" />
|
||||
<AnchorPoint ScaleY="0.5000" />
|
||||
<Position X="150.0000" Y="294.0000" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="69" G="101" B="115" />
|
||||
<PrePosition X="0.2542" Y="0.8305" />
|
||||
<PreSize X="0.5085" Y="0.1186" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="txtPasswordLabel" CanEdit="False" ActionTag="349947352" Tag="115" IconVisible="False" LeftMargin="50.0000" RightMargin="442.0000" TopMargin="111.0000" BottomMargin="215.0000" FontSize="28" LabelText="密 码:" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="TextObjectData">
|
||||
<Size X="98.0000" Y="28.0000" />
|
||||
<AnchorPoint ScaleY="0.5000" />
|
||||
<Position X="50.0000" Y="229.0000" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="69" G="101" B="115" />
|
||||
<PrePosition X="0.0847" Y="0.6469" />
|
||||
<PreSize X="0.1661" Y="0.0791" />
|
||||
<OutlineColor A="255" R="255" G="0" B="0" />
|
||||
<ShadowColor A="255" R="110" G="110" B="110" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="txtPassword" CanEdit="False" ActionTag="349947353" Tag="116" IconVisible="False" LeftMargin="150.0000" RightMargin="140.0000" TopMargin="104.0000" BottomMargin="208.0000" TouchEnable="True" FontSize="26" IsCustomSize="True" LabelText="" PlaceHolderText="请输入密码" MaxLengthText="20" PasswordEnable="True" ctype="TextFieldObjectData">
|
||||
<Size X="300.0000" Y="42.0000" />
|
||||
<AnchorPoint ScaleY="0.5000" />
|
||||
<Position X="150.0000" Y="229.0000" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="69" G="101" B="115" />
|
||||
<PrePosition X="0.2542" Y="0.6469" />
|
||||
<PreSize X="0.5085" Y="0.1186" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="btnLogin" CanEdit="False" ActionTag="-803849343" Tag="117" IconVisible="False" LeftMargin="35.0000" RightMargin="326.0000" TopMargin="234.0000" BottomMargin="18.0000" TouchEnable="True" FontSize="42" Scale9Enable="True" LeftEage="15" RightEage="15" TopEage="11" BottomEage="11" Scale9OriginX="15" Scale9OriginY="11" Scale9Width="199" Scale9Height="80" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="ButtonObjectData">
|
||||
<Size X="229.0000" Y="102.0000" />
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="149.5000" Y="69.0000" />
|
||||
<Scale ScaleX="0.8500" ScaleY="0.8500" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition X="0.2534" Y="0.1949" />
|
||||
<PreSize X="0.3881" Y="0.2881" />
|
||||
<TextColor A="255" R="255" G="255" B="255" />
|
||||
<NormalFileData Type="Normal" Path="common/Img/common_btn_conform_1.png" Plist="" />
|
||||
<OutlineColor A="255" R="255" G="0" B="0" />
|
||||
<ShadowColor A="255" R="110" G="110" B="110" />
|
||||
</AbstractNodeData>
|
||||
<AbstractNodeData Name="btnClose" CanEdit="False" ActionTag="-789566110" Tag="118" IconVisible="False" LeftMargin="236.0000" RightMargin="125.0000" TopMargin="234.0000" BottomMargin="18.0000" TouchEnable="True" FontSize="42" Scale9Enable="True" LeftEage="15" RightEage="15" TopEage="11" BottomEage="11" Scale9OriginX="15" Scale9OriginY="11" Scale9Width="199" Scale9Height="80" ShadowOffsetX="2.0000" ShadowOffsetY="-2.0000" ctype="ButtonObjectData">
|
||||
<Size X="229.0000" Y="102.0000" />
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="350.5000" Y="69.0000" />
|
||||
<Scale ScaleX="0.8500" ScaleY="0.8500" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition X="0.5941" Y="0.1949" />
|
||||
<PreSize X="0.3881" Y="0.2881" />
|
||||
<TextColor A="255" R="255" G="255" B="255" />
|
||||
<NormalFileData Type="Normal" Path="common/Img/common_btn_cancel_1.png" Plist="" />
|
||||
<OutlineColor A="255" R="255" G="0" B="0" />
|
||||
<ShadowColor A="255" R="110" G="110" B="110" />
|
||||
</AbstractNodeData>
|
||||
</Children>
|
||||
<AnchorPoint ScaleX="0.5000" ScaleY="0.5000" />
|
||||
<Position X="480.0000" Y="320.0000" />
|
||||
<Scale ScaleX="1.0000" ScaleY="1.0000" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition X="0.5000" Y="0.5000" />
|
||||
<PreSize X="0.6146" Y="0.5531" />
|
||||
<FileData Type="Normal" Path="common/background/scmj_system_tips_bg.png" Plist="" />
|
||||
</AbstractNodeData>
|
||||
</Children>
|
||||
<AnchorPoint />
|
||||
<Position />
|
||||
<Scale ScaleX="1.3359" ScaleY="1.1251" />
|
||||
<CColor A="255" R="255" G="255" B="255" />
|
||||
<PrePosition />
|
||||
<PreSize X="1.0000" Y="1.0000" />
|
||||
<SingleColor A="255" R="0" G="0" B="0" />
|
||||
<FirstColor A="255" R="150" G="200" B="255" />
|
||||
<EndColor A="255" R="255" G="255" B="255" />
|
||||
<ColorVector ScaleY="1.0000" />
|
||||
</AbstractNodeData>
|
||||
</Children>
|
||||
</ObjectData>
|
||||
</Content>
|
||||
|
||||
7
CocosFile/Platform/cocosstudio/Platform/LogonScene.udf
Normal file
7
CocosFile/Platform/cocosstudio/Platform/LogonScene.udf
Normal file
@@ -0,0 +1,7 @@
|
||||
<UserData Version="3.10.0.0">
|
||||
<Properties>
|
||||
<Item Key="GuidesList">
|
||||
<Value ctype="GuidesData" />
|
||||
</Item>
|
||||
</Properties>
|
||||
</UserData>
|
||||
7
CocosFile/Platform/config.json
Normal file
7
CocosFile/Platform/config.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"init_cfg": {
|
||||
"isLandscape": true,
|
||||
"width": 960,
|
||||
"height": 640
|
||||
}
|
||||
}
|
||||
BIN
CocosFile/Platform/res/Platform/Logon/entry_btn_username.png
Normal file
BIN
CocosFile/Platform/res/Platform/Logon/entry_btn_username.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
Binary file not shown.
@@ -1,28 +1,31 @@
|
||||
<?php
|
||||
class myInc {
|
||||
function links($web_conn=''){
|
||||
if($web_conn=="agent"){//代理后台
|
||||
$hostname="121.40.40.53";
|
||||
if($web_conn=="agent"){//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨
|
||||
$hostname="127.0.0.1";
|
||||
$dbuser="sa";
|
||||
$dbpasswd="Hzsoft@2009";
|
||||
$dbname="QPPlatformManagerDB";
|
||||
}elseif($web_conn=="info"){
|
||||
$hostname="121.40.40.53";
|
||||
$hostname="127.0.0.1";
|
||||
$dbuser="sa";
|
||||
$dbpasswd="Hzsoft@2009";
|
||||
$dbname="QPTreasureDB";
|
||||
}elseif($web_conn=="old"){
|
||||
$hostname="121.40.40.53";
|
||||
$hostname="127.0.0.1";
|
||||
$dbuser="sa";
|
||||
$dbpasswd="Hzsoft@2009";
|
||||
$dbname="QPAccountsDB";
|
||||
}else{
|
||||
$hostname="121.40.40.53";
|
||||
$hostname="127.0.0.1";
|
||||
$dbuser="sa";
|
||||
$dbpasswd="Hzsoft@2009";
|
||||
$dbname="QPAccountsDB";
|
||||
}
|
||||
$this->link=sqlsrv_connect($hostname,["UID"=>$dbuser, "PWD"=>$dbpasswd, "Database"=>$dbname]) or die("数据库用户密码错误!");
|
||||
$this->link=sqlsrv_connect($hostname,["UID"=>$dbuser, "PWD"=>$dbpasswd, "Database"=>$dbname]);
|
||||
if($this->link === false){
|
||||
die("数据库连接失败: ".print_r(sqlsrv_errors(), true));
|
||||
}
|
||||
return $this->link;
|
||||
}
|
||||
function __destruct(){
|
||||
|
||||
@@ -4,7 +4,7 @@ include_once("../inc/admin.smarty.php");
|
||||
$db = new myConn;
|
||||
$db->links();
|
||||
$GG=$db->getpost($GG);
|
||||
if($GG['id']){
|
||||
if(!empty($GG['id'])){
|
||||
$arr = explode(",",$GG['id']);
|
||||
$idd = implode(',',$arr);
|
||||
$data = $db->fetch_all("select HeadHttp from IndividualDatum where UserID in (".$idd.")");
|
||||
|
||||
@@ -3,10 +3,10 @@ session_start();
|
||||
include_once("../../inc/class.php");
|
||||
$db = new myConn;
|
||||
$GG=array_merge($db->getpost($_POST,"uname|user|3|16|1"),$GG);
|
||||
$upwd=md5($_POST[upwd]);//MD5加密
|
||||
$upwd=md5($_POST['upwd']);//MD5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if($GG['uname'] && $upwd){
|
||||
if($GG['uname'] == 'admin' && $upwd=='9a7d95c86e6da0fb3b47cd2384cfe27d'){
|
||||
//写入登录信息及SESSION
|
||||
//д<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>SESSION
|
||||
$_SESSION['XQAdUser']='admin';
|
||||
echo "/adminxx";
|
||||
}else{
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
ini_set("display_errors", "On");
|
||||
include_once("../../inc/class.php");
|
||||
include_once("../../inc/admin.smarty.php");
|
||||
$ppxq -> caching = ture; //false 缓存关闭 ture 开启
|
||||
$ppxq -> cache_lifetime = 86400; //缓存时间秒1天
|
||||
$ppxq -> caching = true; //false <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD> ture <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
$ppxq -> cache_lifetime = 86400; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>
|
||||
$ppxq -> display('login.tpl');
|
||||
unset($GG,$ppxq);
|
||||
?>
|
||||
@@ -5,11 +5,18 @@
|
||||
android:versionName="1.0.16"
|
||||
android:installLocation="auto">
|
||||
|
||||
<uses-sdk android:minSdkVersion="14"/>
|
||||
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34"/>
|
||||
<uses-feature android:glEsVersion="0x00020000" />
|
||||
|
||||
<!-- Android 11+ 包可见性声明,允许与微信交互 -->
|
||||
<queries>
|
||||
<package android:name="com.tencent.mm" />
|
||||
</queries>
|
||||
|
||||
<application android:label="@string/app_name"
|
||||
android:icon="@drawable/icon">
|
||||
android:icon="@drawable/icon"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:requestLegacyExternalStorage="true">
|
||||
|
||||
<!-- Tell Cocos2dxActivity the name of our .so -->
|
||||
<meta-data android:name="android.app.lib_name"
|
||||
@@ -19,7 +26,8 @@
|
||||
android:label="@string/app_name"
|
||||
android:screenOrientation="landscape"
|
||||
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||
android:configChanges="orientation|keyboardHidden|screenSize">
|
||||
android:configChanges="orientation|keyboardHidden|screenSize"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
######################################################################
|
||||
# TencentLocation - only available for 32-bit ABIs
|
||||
ifneq ($(TARGET_ARCH_ABI),arm64-v8a)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libtencentloc
|
||||
LOCAL_SRC_FILES := ../../libs/TencentLocation/$(TARGET_ARCH_ABI)/libtencentloc.so
|
||||
include $(PREBUILT_SHARED_LIBRARY)
|
||||
endif
|
||||
#######################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
@@ -78,7 +81,9 @@ LOCAL_LDFLAGS := -Wl,--allow-multiple-definition
|
||||
LOCAL_STATIC_LIBRARIES := cocos2dx_static
|
||||
LOCAL_STATIC_LIBRARIES += android_support
|
||||
|
||||
ifneq ($(TARGET_ARCH_ABI),arm64-v8a)
|
||||
LOCAL_STATIC_LIBRARIES += libtencentloc
|
||||
endif
|
||||
|
||||
# _COCOS_LIB_ANDROID_BEGIN
|
||||
# _COCOS_LIB_ANDROID_END
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
APP_STL := gnustl_static
|
||||
|
||||
#TARGET_CPU_API := armeabi-v7a
|
||||
#APP_ABI := armeabi-v7a
|
||||
#APP_PLATFORM := android-14
|
||||
APP_ABI := armeabi-v7a arm64-v8a
|
||||
APP_PLATFORM := android-21
|
||||
|
||||
APP_CFLAGS += -Wno-error=format-security
|
||||
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user