Files

136 lines
6.2 KiB
C#

using AllBase;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.BLL;
using TemuKJD.KJDForms.ShopForms;
using Work;
using Work.BLL.Tools;
namespace TemuKJD.WXForms.ShopForms
{
public partial class WXGetTopUpQrCode : Form
{
public WXGetTopUpQrCode()
{
InitializeComponent();
}
public void refreshQrcode()
{
Invoke(new Action(() =>
{
pbLoading.Visible = true;
}));
var url = BaseClass.BuildWXObjString("user/get_top_up_qrcode");
var data = UserLogin.GetSignaturex();
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJson(ref html, "msg");
BaseMsgForm.ShowError(msg);
}
else
{
Invoke(new Action(() =>
{
pbLoading.Visible = false;
var base64Str = BaseRegex.GetStringJson(ref html, "qrcode_base64");
if (!string.IsNullOrEmpty(base64Str))
pictureBox1.Image = Base64ChangeImgUrl.Base64ToImage(base64Str);
else
pictureBox1.Image = Properties.Resources.nopic;
}));
}
}
private void btnRefresh_Click(object sender, EventArgs e)
{
Task.Run(() => { refreshQrcode(); });
}
private void WXGetTopUpQrCode_Load(object sender, EventArgs e)
{
//if (BaseClass.AgentCode.IsNullOrEmpty() && BaseClass.OemId.IsNullOrEmpty())
// this.pictureBox1.Visible = false;
Task.Run(() => { refreshQrcode(); });
}
private void btnAddPoints_Click(object sender, EventArgs e)
{
// 打开外部浏览器
//try
//{
// Process.Start(new ProcessStartInfo("https://excashier.alipay.com/standard/auth.htm?payOrderId=5afc56d40af64001ad2a486cce1ca579.25") { UseShellExecute = true });
//}
//catch (Exception ex)
//{
// // 处理可能出现的异常,例如找不到浏览器等
// MessageBox.Show("无法打开浏览器: " + ex.Message);
//}
string url2 = "https://po.e57.cn/prod-api/api/oms-api/alipay/pay";
var data = new JObject();
data["userId"] = BaseClass.UserId;
data["userName"] = BaseClass.UserName; // 用户名
data["nickName"] = BaseClass.NickName; // 用户名
data["totalAmount"] = numAddPoints.Value; // 金额点数
data["type"] = 2; // type:1:快递余额,2:账户积分
var dataStr2 = JsonHelper.SerializeObject(data);
var html2 = WXHttpResponseBLL.e57PostResponse(url2, dataStr2, "");
//<AjaxResult><msg>支付订单创建成功</msg><code>200</code><data>&lt;form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?charset=UTF-8&amp;method=alipay.trade.page.pay&amp;sign=Z7%2Bv3UQL3B9Q9nH1iNGimA9FL9XPcG9A2oyjTpLbyExJbw52tHEX1LXifNrdJLtBdSjAQaFNyc3qzKUn3J6algYUlcy9e5DMKIG1NPQGSn3FFoSiKM%2FfSKlx8Jbj3zC2JFQAvUoFVUnk89pen078rh2IL2XKNaD300VDq28WiAAE3fX%2FHdd5Tu%2F3yun4tD90KOXzVQ2PFrcQqwefo2Bm%2BQVFCGXM5zxzE%2FvfkHnCwGwlH%2FfLrdsKrQc3s%2B1Gt1NHlS3iyKEP%2F4F7dKB9Iq0GIsyPJu9RINv9XRlk404S60gDRHBHs3avWdMwjMRkoxIdoe%2BPrXX0zxYEEN9hAX5C%2Fw%3D%3D&amp;return_url=https%3A%2F%2Fpo.e57.cn&amp;notify_url=https%3A%2F%2Fpo.e57.cn%2Fprod-api%2Fapi%2Foms-api%2Falipay%2Fnotify&amp;version=1.0&amp;app_id=2021006172644180&amp;sign_type=RSA2&amp;timestamp=2026-07-20+11%3A59%3A55&amp;alipay_sdk=alipay-sdk-java-4.40.909.ALL&amp;format=JSON">
//&lt;input type="hidden" name="biz_content" value="{&amp;quot;out_trade_no&amp;quot;:&amp;quot;8f6ece19baf14f7ca8b0b5d8d0c03b57&amp;quot;,&amp;quot;total_amount&amp;quot;:&amp;quot;0.01&amp;quot;,&amp;quot;subject&amp;quot;:&amp;quot;店统领余额充值&amp;quot;,&amp;quot;body&amp;quot;:&amp;quot;店统领余额充值&amp;quot;,&amp;quot;product_code&amp;quot;:&amp;quot;FAST_INSTANT_TRADE_PAY&amp;quot;,&amp;quot;timeout_express&amp;quot;:&amp;quot;15m&amp;quot;}">
//&lt;input type="submit" value="立即支付" style="display:none" >
//&lt;/form>
//&lt;script>document.forms[0].submit();&lt;/script></data></AjaxResult>
if (html2.Contains("<code>200</code>") || html2.Contains("<code>0</code>"))
{
var rstData = BaseRegex.GetStringXml(ref html2, "data").ParseToString();
rstData = HttpUtility.HtmlDecode(rstData);
//rstData = HttpUtility.HtmlDecode(rstData);
WXShopLoginForm loginForm = new WXShopLoginForm(new ShopLoginInfo());
loginForm.InitUrl = "";
loginForm.InitHtml = rstData;
loginForm.openType = EnumOpenType.manage;
loginForm.ShowDialog();
//if (updateBalanceAction != null)
//{
// updateBalanceAction();
//}
var url3 = BaseClass.BuildWXObjString("user/get_all_user");
var data3 = UserLogin.GetSignaturex();
data3 += "&search_user_name=" + BaseClass.UserName;
var html = GetHtml.PostUtf8(url3, data3);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url3, data3);
if (html.Contains("\"code\":200"))
{
var p = BaseRegex.GetDecimalJson(ref html, "points");
BaseClass.Points = p.ParseToInt();
MainForm.instance.lblPoints.Text = "账户积分:" + BaseClass.Points.ToString();
}
}
}
}
}