源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

105 lines
3.2 KiB

PlatformSetting = PlatformSetting or BaseClass()
--用于初始化一些特殊设置的平台
function PlatformSetting:__init()
if PlatformSetting.Instance ~= nil then
error("attempt to create singleton(PlatformSetting) twice!")
return
end
PlatformSetting.Instance = self
self.cur_platform = nil
end
function PlatformSetting:getInstance()
if PlatformSetting.Instance == nil then
PlatformSetting.New()
end
return PlatformSetting.Instance
end
function PlatformSetting:Init(platform)
self.cur_platform = platform
--乐牛平台
if PlatformMgr:getInstance():IsLeniuPlatform() then
local feedback_server = function(msg)
self:FeedbackServer(msg)
end
GlobalEventSystem:Bind("LENIU_FEEDBACK_SERVER",feedback_server)
end
end
function PlatformSetting:FeedbackServer(msg)
--msg.type,msg.topictxt,msg.txt
local role_info = RoleManager.Instance.mainRoleInfo
local playerInfo = LoginController.Instance:GetPlatUserInfo()
local uid = self.cur_platform:GetUserID()
local server_role = self.cur_platform:ServerRole(0)
local random = math.random(100,999)
local now_order_num = server_role .. "-" .. uid .. "-" .. os.time() .. random
local function encodeURI(s)
s = string.gsub(s, "([^_%w%.%- ])", function(c) return string.format("%%%02X", string.byte(c)) end)
return string.gsub(s, " ", "+")
end
local sent_param = {
timestamp = TimeUtil:getServerTime(), --不要写机器时间 可能玩家时间对不上
unique_id = playerInfo.server_id .. "-" .. role_info.role_id,
role_name = encodeURI(role_info.name),
title = encodeURI(msg.topictxt),
content = encodeURI(msg.txt),
msg_type = msg.type,
appid = "82d7a6e280727312",
account_name = uid,
game_zone = encodeURI(playerInfo.server_name),
game_server = playerInfo.server_id,
register_time = os.time(),
login_time = os.time(),
pay_total = 0,
vip_level = role_info.vip_flag,
ext = now_order_num,
avatar = "",
}
local key_table = {}
for key,_ in pairs(sent_param) do
table.insert(key_table,key)
end
table.sort(key_table)
local sign_value = ""
for _,key in pairs(key_table) do
sign_value = sign_value .. key .."=" .. sent_param[key] .. "&"
end
sign_value = string.sub(sign_value,1,#sign_value - 1)
sign_value = sign_value .. "|7ca888b953f1ba402175529b4cbc9959"
print("------sign_value--------",sign_value)
sign_value = string.lower(Util.md5(sign_value))
sent_param["sign"] = sign_value
local sent_back = function(ret,error_msg,data)
local json_obj = JsonToTable(data)
print("---------leniufeedback-------",ret,error_msg,data)
if ret and json_obj then
local errcode = json_obj["errcode"]
local errmsg = json_obj["errmsg"]
local data = json_obj["data"]
local work_id = -1
if data then
work_id = data["work_id"]
end
if tonumber(errcode) == 0 then
GlobalEventSystem:Fire(WelfareModel.FEEDBACK_SUCCESS)
Message.show("游戏客服已收到您的反馈,稍后会以邮件方式回复,请耐心等待。")
else
Message.show("网络异常,请稍后再试,错误码:" .. errcode .. " 错误信息:" .. errmsg )
end
end
end
print("------sent_param---------",table2json(sent_param))
HttpUtil.HttpPostRequest("http://api.kf.leniu.com/message/send/v1/", sent_param, sent_back)
end