136 lines
6.2 KiB
C#
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><form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?charset=UTF-8&method=alipay.trade.page.pay&sign=Z7%2Bv3UQL3B9Q9nH1iNGimA9FL9XPcG9A2oyjTpLbyExJbw52tHEX1LXifNrdJLtBdSjAQaFNyc3qzKUn3J6algYUlcy9e5DMKIG1NPQGSn3FFoSiKM%2FfSKlx8Jbj3zC2JFQAvUoFVUnk89pen078rh2IL2XKNaD300VDq28WiAAE3fX%2FHdd5Tu%2F3yun4tD90KOXzVQ2PFrcQqwefo2Bm%2BQVFCGXM5zxzE%2FvfkHnCwGwlH%2FfLrdsKrQc3s%2B1Gt1NHlS3iyKEP%2F4F7dKB9Iq0GIsyPJu9RINv9XRlk404S60gDRHBHs3avWdMwjMRkoxIdoe%2BPrXX0zxYEEN9hAX5C%2Fw%3D%3D&return_url=https%3A%2F%2Fpo.e57.cn&notify_url=https%3A%2F%2Fpo.e57.cn%2Fprod-api%2Fapi%2Foms-api%2Falipay%2Fnotify&version=1.0&app_id=2021006172644180&sign_type=RSA2&timestamp=2026-07-20+11%3A59%3A55&alipay_sdk=alipay-sdk-java-4.40.909.ALL&format=JSON">
|
|
//<input type="hidden" name="biz_content" value="{&quot;out_trade_no&quot;:&quot;8f6ece19baf14f7ca8b0b5d8d0c03b57&quot;,&quot;total_amount&quot;:&quot;0.01&quot;,&quot;subject&quot;:&quot;店统领余额充值&quot;,&quot;body&quot;:&quot;店统领余额充值&quot;,&quot;product_code&quot;:&quot;FAST_INSTANT_TRADE_PAY&quot;,&quot;timeout_express&quot;:&quot;15m&quot;}">
|
|
//<input type="submit" value="立即支付" style="display:none" >
|
|
//</form>
|
|
//<script>document.forms[0].submit();</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();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|