| | |
| | | tables["ToRoleID"] = UIHelper.ServerStringTrim(toPlayer);
|
| | | tables["Level"] = PlayerDatas.Instance.baseData.LV.ToString();
|
| | | tables["VIPLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString();
|
| | | tables["Content"] = WWW.EscapeURL(UIHelper.TrimContentToServer(content));
|
| | | tables["Content"] = UrlEncode(UIHelper.TrimContentToServer(content));
|
| | | tables["DeviceFlag"] = SDKUtils.Instance.Device == null ? string.Empty : SDKUtils.Instance.Device.uniqueID;
|
| | |
|
| | | HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(chatReportUrl, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType);
|
| | | var chatStr = StringUtility.Concat(chatReportUrl, HttpRequest.HashtablaToString(tables));
|
| | | HttpRequest.Instance.RequestHttpGet(chatStr, HttpRequest.defaultHttpContentType);
|
| | | #endif
|
| | | }
|
| | |
|
| | |
|
| | | /// <summary>
|
| | | /// 自定义 URL 编码函数(防止 AOT 裁剪)
|
| | | /// </summary>
|
| | | public string UrlEncode(string value)
|
| | | {
|
| | | if (string.IsNullOrEmpty(value))
|
| | | return string.Empty;
|
| | | |
| | | System.Text.StringBuilder result = new System.Text.StringBuilder();
|
| | | |
| | | foreach (char c in value)
|
| | | {
|
| | | // 不需要编码的字符
|
| | | if ((c >= 'a' && c <= 'z') || |
| | | (c >= 'A' && c <= 'Z') || |
| | | (c >= '0' && c <= '9') ||
|
| | | c == '-' || c == '_' || c == '.' || c == '~')
|
| | | {
|
| | | result.Append(c);
|
| | | }
|
| | | else if (c == ' ')
|
| | | {
|
| | | // 空格替换为 +
|
| | | result.Append('+');
|
| | | }
|
| | | else
|
| | | {
|
| | | // 其他字符编码为 %XX 格式
|
| | | byte[] bytes = System.Text.Encoding.UTF8.GetBytes(c.ToString());
|
| | | foreach (byte b in bytes)
|
| | | {
|
| | | result.Append('%');
|
| | | result.Append(b.ToString("X2"));
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | return result.ToString();
|
| | | }
|
| | |
|
| | | }
|