예제 #1
0
파일: player.go 프로젝트: swindy/SyFantasy
/**
创建角色
name	角色名
pic		角色头像/avatar
*/
func CreatePlayer(session *server.Session, response *server.Response, request server.Request) {
	//

	name, hasName := request.Get("name")
	pic, hasPic := request.Get("pic")

	if !hasName || !hasPic {
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "参数错误!")
		return
	}

	var userId int
	if v, err := session.Get(server.ATTR_USER_ID); err != nil {
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "找不到userid!")
		return
	} else {
		userId = v.(int)
	}

	err := world.WPlayerService.CreatePlayer(name, userId, pic)
	if err != nil {
		utils.CheckErr(err)
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "程序执行错误!")
		return
	}

	response.Put("state", server.STATE_OK)
}
예제 #2
0
파일: user.go 프로젝트: swindy/SyFantasy
/**
注册帐号
name	帐号
pwd		密码
*/
func RegisterUser(session *server.Session, response *server.Response, request server.Request) {
	logger.Printf("regist user: %v", request)
	//dao.CheckUserExist("aa")
	name, hasName := request.Get("name")
	pwd, hasPwd := request.Get("pwd")

	if !hasName || !hasPwd {
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "参数异常!")
		return
	}

	tx, err := dao.Begin()
	defer tx.Close()

	isExist, err := tx.CheckUserExist(name)

	if err != nil {
		utils.CheckErr(err)
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "处理异常!")

		return
	}

	if isExist {
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "帐号已经存在!")

		return
	}

	err = tx.RegistUser(name, pwd)
	if err != nil {
		utils.CheckErr(err)
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "处理异常!")
		return

	}

	tx.Commit()
	response.Put("state", server.STATE_OK)

}
예제 #3
0
파일: player.go 프로젝트: swindy/SyFantasy
/**
检查角色名
name	角色名
*/
func CheckPlayerName(session *server.Session, response *server.Response, request server.Request) {
	name, hasName := request.Get("name")
	if !hasName {
		response.Faild("参数错误!")
		return
	}
	isExist, err := world.WPlayerService.CheckPlayerName(name)
	if err != nil {
		response.Faild("程序执行错误!")
		return
	}

	if isExist {
		response.Faild("角色名已经存在!")
		return
	}

	response.Success()
}
예제 #4
0
파일: user.go 프로젝트: swindy/SyFantasy
/**
登录帐号
name	帐号
pwd		密码
*/
func UserLogin(session *server.Session, response *server.Response, request server.Request) {
	name, hasName := request.Get("name")
	pwd, hasPwd := request.Get("pwd")

	if !hasName || !hasPwd {
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "参数异常!")
		return
	}

	tx, err := dao.Begin()
	defer tx.Close()

	userId, err := tx.QueryUser(name, pwd)
	if err != nil {
		utils.CheckErr(err)
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "程序执行异常!")
		return
	}

	// 帐号不存在,或者密码错误
	if userId == 0 {
		response.Put("state", server.STATE_FAILD)
		response.Put("msg", "请检查帐号密码是否正确!")
		return
	}

	// 帐号检查成功
	// 存储userId
	session.Put(server.ATTR_USER_ID, userId)
	//
	session.Put(server.ATTR_IS_LOGIN, true)

	response.Put("state", server.STATE_OK)
}