Files
wnmj/Classes/Mission/IndividualMission.h
2026-02-13 14:34:15 +08:00

146 lines
4.1 KiB
C++

#pragma once
#include "cocos2d.h"
#include "PlatformHeader.h"
#include "SocketMission.h"
//////////////////////////////////////////////////////////////////////////
// 用户资料修改结构
//////////////////////////////////////////////////////////////////////////
struct tagModifyIndividual
{
tagModifyIndividual()
{
memset(this,0,sizeof(tagModifyIndividual));
}
// 性别
uint8 cbGender;
//用户昵称
char szNickName[LEN_NICKNAME];
//个性签名
char szUnderWrite[LEN_UNDER_WRITE];
//用户备注
char szUserNote[LEN_USER_NOTE];
//真实名字
char szCompellation[LEN_COMPELLATION];
//固定号码
char szSeatPhone[LEN_SEAT_PHONE];
//手机号码
char szMobilePhone[LEN_MOBILE_PHONE];
//Q Q 号码
char szQQ[LEN_QQ];
//电子邮件
char szEMail[LEN_EMAIL];
//详细地址
char szDwellingPlace[LEN_DWELLING_PLACE];
//头像HTTP
char szHeadHttp[LEN_USER_NOTE];
//渠道号
char szUserChannel[LEN_NICKNAME];
};
//////////////////////////////////////////////////////////////////////////
// 用户资料修改提示
//////////////////////////////////////////////////////////////////////////
class IIndividualMissionSink
{
public:
virtual ~IIndividualMissionSink(){}
virtual void onGPIndividualInfo(int type){}
virtual void onGPAccountInfo(CMD_GP_UserAccountInfo* pAccountInfo){}
virtual void onGPAccountInfoHttpIP(uint32 dwUserID, std::string strIP,std::string strHttp){}
virtual void onGPIndividualSuccess(int type, const char* szDescription){}
virtual void onGPIndividualFailure(int type, const char* szDescription){}
virtual void onWXShardReward(CMD_GP_WXShareReward* pReward){}
};
//////////////////////////////////////////////////////////////////////////
// 用户资料修改任务
//////////////////////////////////////////////////////////////////////////
class IndividualMission : public CSocketMission
{
public:
enum Type
{
MISSION_INDIVIDUAL_NULL,
MISSION_INDIVIDUAL_QUERY,
MISSION_INDIVIDUAL_Account,
MISSION_INDIVIDUAL_MODIFY,
MISSION_INDIVIDUAL_SPREADER,
MISSION_WXSHARD_SUCCESS
};
public:
IndividualMission();
// 设置回调接口
void setMissionSink(IIndividualMissionSink* pIIndividualMissionSink);
// 查询个人资料
void query(int iAccountID,bool bRecStop = true);
// 查询个人资料
void queryAccountInfo(int iAccountID = -1);
void modifyName(std::string kName);
void modifyGender(uint8 gender);
void modify(std::string kNickName,uint8 gender);
void modify(const tagModifyIndividual& individual);
// 修改推广人
void modifySpreader(std::string kSpreaderID);
// 修改头像http
void modifyHeadHttp(std::string kHttp);
// 渠道号
void modifyUserChannel(std::string szUserChannel);
void modifyPhoneNumber(std::string kPhoneNumber);
// 微信分享成功
void wxShareSuccess();
// 修改微信信息
void modifyWeiXinInfo(uint8 cbGender, std::string szNickName, std::string szHttp);
//////////////////////////////////////////////////////////////////////////
// ISocketEngineSink
public:
virtual void onEventTCPSocketLink();
virtual void onEventTCPSocketShut();
virtual void onEventTCPSocketError(int errorCode);
virtual bool onEventTCPSocketRead(int main, int sub, void* data, int dataSize);
//////////////////////////////////////////////////////////////////////////
// 子消息处理
private:
// 个人信息
bool onSubUserAccountInfo(void* data, int size);
// 个人信息
bool onSubUserIndividual(void* data, int size);
//微信分享成功奖励
bool onSubWXShareReward(void* data, int size);
// 设置推荐人
bool onSubSpreaderResoult(void* data, int size);
// 操作成功
bool onSubOperateSuccess(void* data, int size);
// 操作失败
bool onSubOperateFailure(void* data, int size);
private:
bool m_bRevStop;
// 任务类型
uint8 mMissionType;
uint32 mAccountInfoID;
std::string m_kSpreaderID;
std::string m_kHeadHttp;
// 回调
IIndividualMissionSink* mIIndividualMissionSink;
//////////////////////////////////////////////////////////////////////////
// 修改个人资料
//////////////////////////////////////////////////////////////////////////
tagModifyIndividual mModifyIndividual;
}; // IndividualMission