410 lines
21 KiB
C#
410 lines
21 KiB
C#
using AllBase.Helper;
|
|
using AllBase.Model.Result;
|
|
using TemuKJD.BaseForms;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using AllBase;
|
|
using NaiBa.Util.Extension;
|
|
using Newtonsoft.Json.Linq;
|
|
using Work;
|
|
using TemuKJD.BLL;
|
|
using CefSharp;
|
|
|
|
namespace TemuKJD.PDDForms.ShopForms
|
|
{
|
|
public enum SetCookieFromEnum
|
|
{
|
|
normal_user,
|
|
sa,
|
|
}
|
|
public partial class PDDShopUpdateCookieForm : BaseGeneralForm
|
|
{
|
|
ShopLoginInfo shop = null;
|
|
SetCookieFromEnum updateFrom;
|
|
string cookieVersion = "";
|
|
|
|
public PDDShopUpdateCookieForm(ShopLoginInfo _shop = null, SetCookieFromEnum from = SetCookieFromEnum.normal_user, string _cookieVersion="国内版")
|
|
{
|
|
InitializeComponent();
|
|
shop = _shop;
|
|
updateFrom = from;
|
|
cookieVersion = _cookieVersion;
|
|
this.TitleText = "更新Cookie";
|
|
if (cookieVersion == "国内版")
|
|
this.radioButton1.Checked = true;
|
|
else
|
|
this.radioButton2.Checked = true;
|
|
}
|
|
|
|
private void ShopUpdateCookieForm_Load(object sender, EventArgs e)
|
|
{
|
|
if (shop != null)
|
|
txtLoginName.Text = shop.LoginName + " " + shop.ShopAccount + " " + shop.Notes;
|
|
}
|
|
|
|
/*
|
|
localStorage.clear();
|
|
sessionStorage.clear();
|
|
var cookieDate = new Date(2037, 01, 01);
|
|
var cookieDateEnd = new Date(2000, 01, 01);
|
|
document.cookie = "SUB_PASS_ID=; path='/'; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "_nano_fp=; path='/'; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "api_uid=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "_bee=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "ru2k=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "_f77=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "_a42=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "rckk=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "ru1k=; path='/'; domain=.kuajingmaihuo.com; expires=" + cookieDateEnd.toUTCString();
|
|
document.cookie = "api_uid=CmP1wGhwa64RUwBSBILCAg==; path='/'; expires=" + cookieDate.toUTCString();
|
|
document.cookie = "_nano_fp=XpmyX5gbl09jlpdoXo_mijphq7nL0UmRaA77jyt3; domain=.kuajingmaihuo.com; path='/'; expires=" + cookieDate.toUTCString();
|
|
document.cookie = "_bee=NkjhfozSFfDuGSJ2zBlOqjOh3KVvJam3; path='/'; expires=" + cookieDate.toUTCString();
|
|
document.cookie = "_f77=2f854ce8-8d0f-4a78-84a1-04e19842a1cb; path='/'; expires=" + cookieDate.toUTCString();
|
|
document.cookie = "_a42=1e97ae4a-c357-4c22-a53f-db43655371e3; path='/'; expires=" + cookieDate.toUTCString();
|
|
document.cookie = "rckk=NkjhfozSFfDuGSJ2zBlOqjOh3KVvJam3; path='/'; expires=" + cookieDate.toUTCString();
|
|
document.cookie = "ru1k=2f854ce8-8d0f-4a78-84a1-04e19842a1cb; path='/'; expires=" + cookieDate.toUTCString();
|
|
document.cookie = "ru2k=1e97ae4a-c357-4c22-a53f-db43655371e3; path='/'; expires=" + cookieDate.toUTCString();
|
|
document.cookie = "SUB_PASS_ID=eyJ0IjoiRDZZY1F2N2JjMnZNK1E0eEZjTm1GVmxsN20yN3N3Ymg2dnVjdmxiclZPQW5uRkJlendUOUtKTHRoWHJyZWlNUCIsInYiOjEsInMiOjEwMDAwLCJ1IjoyMzAxMjcwOTkwNDI5OH0=; domain=.kuajingmaihuo.com; path='/'; expires=" + cookieDate.toUTCString();
|
|
location.reload();
|
|
window.location.href = 'https://seller.kuajingmaihuo.com/goods/product/list';
|
|
*/
|
|
|
|
private void btnOk_Click(object sender, EventArgs e)
|
|
{
|
|
if (shop == null)
|
|
{
|
|
BaseMsgForm.ShowError("店铺为空!");
|
|
return;
|
|
}
|
|
|
|
cookieVersion = this.radioButton1.Checked ? "国内版" : "国际版";
|
|
bool ok1 = false;
|
|
bool ok2 = false;
|
|
if ((this.txtCookieJs1.Text.Contains("PASS_ID") /*&& this.txtCookieJs1.Text.Contains("api_uid")*/) || !string.IsNullOrWhiteSpace(txtSubPassId.Text))
|
|
{
|
|
ok1 = GetCookie1();
|
|
}
|
|
if (this.txtCookieJs2.Text.Contains("seller_temp") || !string.IsNullOrWhiteSpace(txtSellerTemp.Text)) // 国际版
|
|
{
|
|
ok2 = GetCookie2();
|
|
}
|
|
|
|
if (ok1 || ok2)
|
|
{
|
|
this.OnSaveComplete(shop);
|
|
this.Close();
|
|
}
|
|
else
|
|
{
|
|
BaseMsgForm.ShowError("缺少关键cookie字段,请确认是店铺登录的cookie!");
|
|
}
|
|
}
|
|
|
|
bool GetCookie1()
|
|
{
|
|
string txt = this.txtCookieJs1.Text;
|
|
txt = txt.Replace("PASS_ID=;", "").Replace("JSESSIONID=;", "").Replace("_nano_fp=;", "").Replace("api_uid=;", "")
|
|
.Replace("_bee=;", "").Replace("_f77=;", "").Replace("mms_b84d1838=", "")
|
|
.Replace("_a42=;", "").Replace("rckk=;", "").Replace("ru1k=;", "").Replace("ru2k=;", "")
|
|
.Replace("webp=;", "").Replace("x-visit-time=;", "");
|
|
|
|
string JSESSIONID = BaseRegex.GetStringCookie(ref txt, "JSESSIONID").ParseToString().Trim('\'', '\n', '\r');
|
|
string _nano_fp = BaseRegex.GetStringCookie(ref txt, "_nano_fp").ParseToString().Trim('\'', '\n', '\r');
|
|
string api_uid = BaseRegex.GetStringCookie(ref txt, "api_uid").ParseToString().Trim('\'', '\n', '\r');
|
|
string _bee = BaseRegex.GetStringCookie(ref txt, "_bee").ParseToString().Trim('\'', '\n', '\r');
|
|
string _f77 = BaseRegex.GetStringCookie(ref txt, "_f77").ParseToString().Trim('\'', '\n', '\r');
|
|
string mms_b84d1838 = BaseRegex.GetStringCookie(ref txt, "mms_b84d1838").ParseToString().Trim('\'', '\n', '\r');
|
|
string _a42 = BaseRegex.GetStringCookie(ref txt, "_a42").ParseToString().Trim('\'', '\n', '\r');
|
|
string rckk = BaseRegex.GetStringCookie(ref txt, "rckk").ParseToString().Trim('\'', '\n', '\r');
|
|
string ru1k = BaseRegex.GetStringCookie(ref txt, "ru1k").ParseToString().Trim('\'', '\n', '\r');
|
|
string ru2k = BaseRegex.GetStringCookie(ref txt, "ru2k").ParseToString().Trim('\'', '\n', '\r');
|
|
string webp = BaseRegex.GetStringCookie(ref txt, "webp").ParseToString().Trim('\'', '\n', '\r');
|
|
string x_visit_time = BaseRegex.GetStringCookie(ref txt, "x-visit-time").ParseToString().Trim('\'', '\n', '\r');
|
|
string PASS_ID = BaseRegex.GetStringCookie(ref txt, "PASS_ID").ParseToString().Trim('\'', '\n', '\r');
|
|
if (!string.IsNullOrWhiteSpace(this.txtSubPassId.Text))
|
|
PASS_ID = this.txtSubPassId.Text.Trim();
|
|
|
|
if (string.IsNullOrEmpty(PASS_ID))
|
|
{
|
|
BaseMsgForm.ShowError("Cookie缺少关键字段,请检查!");
|
|
return false;
|
|
}
|
|
|
|
string cookie = "_a42=" + _a42 + ";" +
|
|
"_bee=" + _bee + ";" +
|
|
"_f77=" + _f77 + ";" +
|
|
"_nano_fp=" + _nano_fp + ";" +
|
|
"api_uid=" + api_uid + ";" +
|
|
"JSESSIONID=" + JSESSIONID + ";" +
|
|
"mms_b84d1838=" + mms_b84d1838 + ";" +
|
|
"PASS_ID=" + PASS_ID + ";" +
|
|
"rckk=" + rckk + ";" +
|
|
"ru1k=" + ru1k + ";" +
|
|
"ru2k=" + ru2k + ";" +
|
|
"webp=" + webp + ";" +
|
|
"x-visit-time=" + x_visit_time + ";";
|
|
|
|
//PASS_ID=windows_1-txt3KQyFr2JBdl/PeNNwLLsMj2geDn/BnlN1xEg/hdkC8Kx5WrYvqwTCWi9i50ZfXH0jbMX80leYsfebgQ4kLQ_492379693_91339707; PddBrowser=1; api_uid=Ck3IU2jeM5VoLABZFGCTAg==; rckk=F0JWp023Drn2QqjzLaKOJ0omuqKhTPlC; _bee=F0JWp023Drn2QqjzLaKOJ0omuqKhTPlC; ru1k=f3d9839e-c5ed-430f-8a85-41e6827c526e; _f77=f3d9839e-c5ed-430f-8a85-41e6827c526e; ru2k=20807545-2762-4365-8aa8-b8de45bd76f0; _a42=20807545-2762-4365-8aa8-b8de45bd76f0
|
|
List<Cookie> cookieList = new List<Cookie>();
|
|
if (!string.IsNullOrEmpty(_a42))
|
|
cookieList.Add(new Cookie() { Domain = ".pinduoduo.com", Name = "_a42", Value = _a42, Expires = DateTime.Now.AddYears(1), HttpOnly = true, Secure = true, });
|
|
if (!string.IsNullOrEmpty(_bee))
|
|
cookieList.Add(new Cookie() { Domain = ".pinduoduo.com", Name = "_bee", Value = _bee, Expires = DateTime.Now.AddYears(1), HttpOnly = true, Secure = true, });
|
|
if (!string.IsNullOrEmpty(_f77))
|
|
cookieList.Add(new Cookie() { Domain = ".pinduoduo.com", Name = "_f77", Value = _f77, Expires = DateTime.Now.AddYears(1), HttpOnly = true, Secure = true, });
|
|
if (!string.IsNullOrEmpty(_nano_fp))
|
|
cookieList.Add(new Cookie() { Domain = "mms.pinduoduo.com", Name = "_nano_fp", Value = _nano_fp, Expires = DateTime.Now.AddDays(400), });
|
|
if (!string.IsNullOrEmpty(api_uid))
|
|
cookieList.Add(new Cookie() { Domain = ".pinduoduo.com", Name = "api_uid", Value = api_uid, Expires = DateTime.Now.AddDays(400), });
|
|
if (!string.IsNullOrEmpty(JSESSIONID))
|
|
cookieList.Add(new Cookie() { Domain = "mms.pinduoduo.com", Name = "JSESSIONID", Value = JSESSIONID, HttpOnly = true, });
|
|
if (!string.IsNullOrEmpty(mms_b84d1838))
|
|
cookieList.Add(new Cookie() { Domain = "mms.pinduoduo.com", Name = "mms_b84d1838", Value = mms_b84d1838, Expires = DateTime.Now.AddDays(100), });
|
|
if (!string.IsNullOrEmpty(PASS_ID))
|
|
cookieList.Add(new Cookie() { Domain = "mms.pinduoduo.com", Name = "PASS_ID", Value = PASS_ID, Expires = DateTime.Now.AddDays(30), HttpOnly = true, Secure = true, });
|
|
if (!string.IsNullOrEmpty(rckk))
|
|
cookieList.Add(new Cookie() { Domain = ".pinduoduo.com", Name = "rckk", Value = rckk, Expires = DateTime.Now.AddYears(1), HttpOnly = true, Secure = true, });
|
|
if (!string.IsNullOrEmpty(ru1k))
|
|
cookieList.Add(new Cookie() { Domain = ".pinduoduo.com", Name = "ru1k", Value = ru1k, Expires = DateTime.Now.AddYears(1), HttpOnly = true, Secure = true, });
|
|
if (!string.IsNullOrEmpty(ru2k))
|
|
cookieList.Add(new Cookie() { Domain = ".pinduoduo.com", Name = "ru2k", Value = ru2k, Expires = DateTime.Now.AddYears(1), HttpOnly = true, Secure = true, });
|
|
if (!string.IsNullOrEmpty(webp))
|
|
cookieList.Add(new Cookie() { Domain = "mms.pinduoduo.com", Name = "webp", Value = webp, Expires = DateTime.Now.AddDays(14), Path= "/home" });
|
|
if (!string.IsNullOrEmpty(x_visit_time))
|
|
cookieList.Add(new Cookie() { Domain = "mms.pinduoduo.com", Name = "x-visit-time", Value = x_visit_time, Expires = DateTime.Now.AddDays(100), });
|
|
if (PASS_ID.StartsWith("windows_1") && !cookieList.Any(c => c.Name == "PddBrowser"))
|
|
cookieList.Add(new Cookie() { Domain = ".pinduoduo.com", Name = "PddBrowser", Value = "1", Expires = DateTime.Now.AddYears(1), });
|
|
cookie = JsonHelper.SerializeObject(cookieList);
|
|
|
|
var cookieShop = new ShopLoginInfo();
|
|
cookieShop.Cookies = JsonHelper.SerializeObject(cookieList);
|
|
|
|
var data = "";
|
|
data = PDDShopListForm.GetShopStatus(cookieShop);
|
|
if (!data.Contains("\"success\":true") || data.Contains("会话已过期"))
|
|
{
|
|
BaseMsgForm.ShowError("cookie已失效!");
|
|
return false;
|
|
}
|
|
|
|
var username = BaseRegex.GetStringJson(ref data, "username");
|
|
var maskMobile = BaseRegex.GetStringJson(ref data, "mobile");
|
|
var mallName = BaseRegex.GetStringJson(ref data, "mall_name");
|
|
maskMobile = maskMobile.Split('*').Last();
|
|
if (string.IsNullOrWhiteSpace(maskMobile) || string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(mallName))
|
|
{
|
|
BaseMsgForm.ShowError("店铺信息获取失败!");
|
|
return false;
|
|
}
|
|
|
|
if (!shop.LoginName.EndsWith(maskMobile) && shop.LoginName != username && shop.LoginName != mallName)
|
|
{
|
|
BaseMsgForm.ShowError("cookie与店铺不匹配,请核对店铺!");
|
|
return false;
|
|
}
|
|
|
|
List<ShopLoginInfo> serverShopLst = new List<ShopLoginInfo>();
|
|
var rst = ShopBLL.AdminGetServerShopLstForSetCookie(shop, serverShopLst);
|
|
|
|
if (rst != "success")
|
|
{
|
|
BaseMsgForm.ShowError(rst);
|
|
return false;
|
|
}
|
|
|
|
//如果店铺没有cookie登录过,处理店铺第一次登录(分裂cookie下的所有店铺)
|
|
GetShopFirstLogin(data, serverShopLst);
|
|
|
|
if (updateFrom == SetCookieFromEnum.normal_user) // 普通用户更新本地店铺
|
|
{
|
|
var localShop = GlobalConfig.ShopLoginList.Where(v => v.LoginName == shop.LoginName).ToList();
|
|
foreach (var sc in localShop)
|
|
{
|
|
sc.Cookies = cookie;
|
|
sc.LoginStatus = "登录成功";
|
|
}
|
|
}
|
|
shop.Cookies = cookie;
|
|
shop.ShopId = username;
|
|
shop.ShopAccount = mallName;
|
|
shop.LoginStatus = "登录成功";
|
|
|
|
// 店铺更新写入到服务端
|
|
var url = BaseClass.BuildObjString("shop/mdy_shop");
|
|
var data1 = UserLogin.GetSignaturex()
|
|
+ "&login_name=" + shop.LoginName
|
|
+ "&new_shop_id=" + shop.ShopId
|
|
+ "&shop_account=" + shop.ShopAccount;
|
|
var result = GetHtml.PostUtf8(url, data1);
|
|
|
|
PDDShopListForm.UpdateServerShopCookies(shop); // 店铺cookie写入服务端,不同账号下的同名店铺一起更新cookie
|
|
|
|
PDDShopLoginForm loginForm = new PDDShopLoginForm(shop);
|
|
loginForm.openType = EnumOpenType.refresh_cookie;
|
|
loginForm.ShowDialog();
|
|
|
|
return true;
|
|
}
|
|
|
|
bool GetCookie2()
|
|
{
|
|
string txt = this.txtCookieJs2.Text;
|
|
txt = txt.Replace("_bee=;", "").Replace("_nano_fp=;", "").Replace("api_uid=;", "")
|
|
.Replace("dilx=;", "").Replace("hfsc=;", "").Replace("mallid=;", "")
|
|
.Replace("njrpl=;", "").Replace("seller_temp=;", "");
|
|
|
|
string api_uid = BaseRegex.GetStringCookie(ref txt, "api_uid").ParseToString().Trim('\'');
|
|
string _nano_fp = BaseRegex.GetStringCookie(ref txt, "_nano_fp").ParseToString().Trim('\'');
|
|
string _bee = BaseRegex.GetStringCookie(ref txt, "_bee").ParseToString().Trim('\'');
|
|
string dilx = BaseRegex.GetStringCookie(ref txt, "dilx").ParseToString().Trim('\'');
|
|
string hfsc = BaseRegex.GetStringCookie(ref txt, "hfsc").ParseToString().Trim('\'');
|
|
string mallid = BaseRegex.GetStringCookie(ref txt, "mallid").ParseToString().Trim('\'');
|
|
string njrpl = BaseRegex.GetStringCookie(ref txt, "njrpl").ParseToString().Trim('\'');
|
|
string seller_temp = BaseRegex.GetStringCookie(ref txt, "seller_temp").ParseToString().Trim('\'');
|
|
if (!string.IsNullOrWhiteSpace(txtSellerTemp.Text))
|
|
seller_temp = txtSellerTemp.Text.Trim();
|
|
string cookie2 = "api_uid=" + api_uid + ";" +
|
|
"_nano_fp=" + _nano_fp + ";" +
|
|
"_bee=" + _bee + ";" +
|
|
"dilx=" + dilx + ";" +
|
|
"hfsc=" + hfsc + ";" +
|
|
"mallid=" + mallid + ";" +
|
|
"njrpl=" + njrpl + ";" +
|
|
"seller_temp=" + seller_temp + ";";
|
|
|
|
if (string.IsNullOrEmpty(seller_temp))
|
|
{
|
|
BaseMsgForm.ShowError("Cookie缺少关键字段,请检查!\r\n请从Temu国际版https://agentseller.temu.com处获得cookie");
|
|
return false;
|
|
}
|
|
|
|
var cookieShop = new ShopLoginInfo();
|
|
cookieShop.Cookies2 = cookie2;
|
|
|
|
var data = PDDShopListForm.GetShopStatus2(cookieShop);
|
|
if (!data.Contains("\"success\":true"))
|
|
{
|
|
BaseMsgForm.ShowError("cookie已失效!");
|
|
return false;
|
|
}
|
|
|
|
//var maskMobile = BaseRegex.GetStringJson(ref data, "maskOwnerMobile");
|
|
//if (!shopLoginInfo.LoginName.EndsWith(maskMobile))
|
|
if (!data.Contains(shop.ShopAccount))
|
|
{
|
|
BaseMsgForm.ShowError("cookie与国际版店铺不匹配,请核对店铺!");
|
|
return false;
|
|
}
|
|
|
|
List<ShopLoginInfo> serverShopLst = new List<ShopLoginInfo>();
|
|
var rst = ShopBLL.AdminGetServerShopLstForSetCookie(shop, serverShopLst);
|
|
|
|
if (rst != "success")
|
|
{
|
|
BaseMsgForm.ShowError(rst);
|
|
return false;
|
|
}
|
|
|
|
//如果店铺没有cookie登录过,处理店铺第一次登录(分裂cookie下的所有店铺)
|
|
GetShopFirstLogin(data, serverShopLst);
|
|
|
|
if (updateFrom == SetCookieFromEnum.normal_user) // 普通用户更新本地店铺
|
|
{
|
|
var localShop = GlobalConfig.ShopLoginList.Where(v => v.LoginName == shop.LoginName).ToList();
|
|
foreach (var sc in localShop)
|
|
{
|
|
sc.Cookies2 = cookie2;
|
|
sc.LoginStatus2 = "国际版在线";
|
|
}
|
|
}
|
|
shop.Cookies2 = cookie2;
|
|
shop.LoginStatus2 = "国际版在线";
|
|
PDDShopListForm.UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 如果店铺没有cookie登录过,处理店铺第一次登录(分裂cookie下的所有店铺)
|
|
/// </summary>
|
|
/// <param name="loginData"></param>
|
|
void GetShopFirstLogin(string loginData, List<ShopLoginInfo> lstServerShop)
|
|
{
|
|
if (this.shop == null)
|
|
return;
|
|
if (lstServerShop == null)
|
|
lstServerShop = new List<ShopLoginInfo>();
|
|
|
|
List<ShopCompany> lstShopCompany = new List<ShopCompany>();
|
|
var jObj = JObject.Parse(loginData);
|
|
var jArr = jObj["result"]?["companyList"]?[0]?["malInfoList"] as JArray;
|
|
if (jArr == null)
|
|
jArr = new JArray();
|
|
|
|
foreach (var productObj in jArr)
|
|
{
|
|
var prod = JsonHelper.SerializeObject(productObj);
|
|
ShopCompany sc = new ShopCompany()
|
|
{
|
|
AccountId = BaseRegex.GetStringJson(ref prod, "mallId"),
|
|
AccountName = BaseRegex.GetStringJson(ref prod, "mallName"),
|
|
LoginName = shop.LoginName,
|
|
UserName = BaseClass.UserName,
|
|
LoginStatus = "登录成功",
|
|
};
|
|
lstShopCompany.Add(sc);
|
|
}
|
|
|
|
var lstShopCompanyCopy = lstShopCompany.ToList();
|
|
foreach (ShopCompany sc in lstShopCompanyCopy)
|
|
{
|
|
ShopLoginInfo newShop = new ShopLoginInfo()
|
|
{
|
|
UserName = shop.UserName,
|
|
LoginName = shop.LoginName,
|
|
Password = shop.Password,
|
|
GroupName = shop.GroupName,
|
|
ShopAccount = sc.AccountName,
|
|
ShopId = sc.AccountId,
|
|
SubUserName = shop.SubUserName,
|
|
Notes = shop.Notes,
|
|
};
|
|
|
|
var oldServerShop = lstServerShop.FirstOrDefault(s =>
|
|
s.LoginName == newShop.LoginName && s.ShopId == newShop.ShopId);
|
|
if (oldServerShop == null)
|
|
{
|
|
if (updateFrom != SetCookieFromEnum.normal_user)
|
|
ShopBLL.AdminAddServerShop(newShop); // 店铺写入到服务端
|
|
else
|
|
ShopBLL.AddServerShop(newShop); // 店铺写入到服务端
|
|
}
|
|
}
|
|
}
|
|
|
|
private void btnGetCookie_Click(object sender, EventArgs e)
|
|
{
|
|
//复制cookie
|
|
var cookJs = @"
|
|
document.body.innerHTML = '<button id=""button1"" onclick=""geCookie();"" style=""margin:10px;"">点击我复制cookie</button>' + document.body.innerHTML;
|
|
function geCookie()
|
|
{
|
|
var cookieText = document.cookie;
|
|
navigator.clipboard.writeText(cookieText).then(function() {
|
|
alert('复制cookie成功!');
|
|
}, function(err) {
|
|
alert('复制cookie失败: ', err);
|
|
});
|
|
}";
|
|
Clipboard.SetDataObject(cookJs);
|
|
BaseMsgForm.ShowInfo("js复制成功");
|
|
}
|
|
}
|
|
}
|