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
|