cef版本升级 店铺超管商品上货测试成功。
This commit is contained in:
1 parent
fe2d2883db
commit
1f7a719b39
45 files changed
+4634
-480
No files matched your search
+25
-20
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props')" />
|
||||
<Import Project="..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props')" />
|
||||
<Import Project="..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props')" />
|
||||
<Import Project="..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props')" />
|
||||
<Import Project="..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props')" />
|
||||
<Import Project="..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
@@ -106,14 +106,14 @@
|
||||
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CefSharp, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.92.0.260\lib\net452\CefSharp.dll</HintPath>
|
||||
<Reference Include="CefSharp, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.114.2.120\lib\net452\CefSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp.Core, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.92.0.260\lib\net452\CefSharp.Core.dll</HintPath>
|
||||
<Reference Include="CefSharp.Core, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.114.2.120\lib\net452\CefSharp.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp.WinForms, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.WinForms.92.0.260\lib\net452\CefSharp.WinForms.dll</HintPath>
|
||||
<Reference Include="CefSharp.WinForms, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.WinForms.114.2.120\lib\net452\CefSharp.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2">
|
||||
<HintPath>..\DllReference\DevComponents.DotNetBar2.dll</HintPath>
|
||||
@@ -177,17 +177,20 @@
|
||||
<Compile Include="Md5Base.cs" />
|
||||
<Compile Include="Model\Param\CollectManage\FissionSettingParam.cs" />
|
||||
<Compile Include="Model\Param\OrderManage\FreightTemplateParam.cs" />
|
||||
<Compile Include="Model\Param\ProductManage\DyCategoryParam.cs" />
|
||||
<Compile Include="Model\Param\DyProductManage\DyCategoryParam.cs" />
|
||||
<Compile Include="Model\Param\FissionManage\FissionData.cs" />
|
||||
<Compile Include="Model\Param\FissionManage\FissionDataModel.cs" />
|
||||
<Compile Include="Model\Param\FissionManage\FissionRoot.cs" />
|
||||
<Compile Include="Model\Param\ProductManage\SameProductCheckParam.cs" />
|
||||
<Compile Include="Model\Param\ProductManage\ViolateParam.cs" />
|
||||
<Compile Include="Model\Param\ProductManage\QualificationConfig.cs" />
|
||||
<Compile Include="Model\Param\ProductManage\ViolateRuleParam.cs" />
|
||||
<Compile Include="Model\Param\DyProductManage\SameProductCheckParam.cs" />
|
||||
<Compile Include="Model\Param\DyProductManage\ViolateParam.cs" />
|
||||
<Compile Include="Model\Param\DyProductManage\QualificationConfig.cs" />
|
||||
<Compile Include="Model\Param\DyProductManage\ViolateRuleParam.cs" />
|
||||
<Compile Include="Model\Param\SalesManage\PromotionAddParam.cs" />
|
||||
<Compile Include="Model\Param\ShopManage\DouShopSettingParam.cs" />
|
||||
<Compile Include="Model\Result\TemuPriceAdjustInfo.cs" />
|
||||
<Compile Include="Model\Result\TemuProductInfo.cs" />
|
||||
<Compile Include="Model\Result\TemuProductResult.cs" />
|
||||
<Compile Include="Model\Result\TemuProductParam.cs" />
|
||||
<Compile Include="Model\Result\TemuStockInfo.cs" />
|
||||
<Compile Include="Model\Param\UploadManage\UploadCommissionParam.cs" />
|
||||
<Compile Include="Model\Param\UploadManage\UploadErrorParam.cs" />
|
||||
@@ -234,18 +237,20 @@
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Folder Include="Model\Param\TemuProductManage\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets')" />
|
||||
<Import Project="..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets')" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
+1
-1
@@ -1381,7 +1381,7 @@ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom
|
||||
mywebclient.DownloadFile(Urlstring, FilePath);
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
catch(Exception ex)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ namespace AllBase
|
||||
/// <returns>json字符串</returns>
|
||||
public static string SerializeObject(object o)
|
||||
{
|
||||
//if (o == null)
|
||||
// return "{}";
|
||||
string json = JsonConvert.SerializeObject(o);
|
||||
return json;
|
||||
}
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,388 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Result
|
||||
{
|
||||
public class TemuProductInfo
|
||||
{
|
||||
public TemuCategories categories { get; set; }
|
||||
public long? supplierId { get; set; }
|
||||
public long? productId { get; set; }
|
||||
public long? goodsId { get; set; }
|
||||
public string productName { get; set; }
|
||||
public List<object> productI18nList { get; set; }
|
||||
public List<object> goodsI18nList { get; set; }
|
||||
public object editTaskSupportI18nLanguages { get; set; }
|
||||
public int? productType { get; set; }
|
||||
public int? sourceType { get; set; }
|
||||
public int? supplierSourceType { get; set; }
|
||||
public bool temuSupplier { get; set; }
|
||||
public List<object> mainParentSpecIds { get; set; }
|
||||
public object sizeTemplateId { get; set; }
|
||||
public List<long?> sizeTemplateIds { get; set; }
|
||||
public List<long?> showSizeTemplateIds { get; set; }
|
||||
public object imageLanguageList { get; set; }
|
||||
public List<string> carouselImageUrls { get; set; }
|
||||
public List<object> guideFilePageImages { get; set; }
|
||||
public List<object> carouselImageI18nVOList { get; set; }
|
||||
public List<object> carouseVideoVOList { get; set; }
|
||||
public List<object> detailVideoVOList { get; set; }
|
||||
public string materialImgUrl { get; set; }
|
||||
public List<TemuOuterPackageImage> outerPackageImages { get; set; }
|
||||
public List<object> goodsModelList { get; set; }
|
||||
public List<TemuProductProperty> productPropertyList { get; set; }
|
||||
public List<object> productSpecPropertyVOS { get; set; }
|
||||
public TemuProductWhExtAttr productWhExtAttr { get; set; }
|
||||
public TemuProductLocalExtAttr productLocalExtAttr { get; set; }
|
||||
public TemuProductSaleExtAttr productSaleExtAttr { get; set; }
|
||||
public TemuProductNonAuditExtAttr productNonAuditExtAttr { get; set; }
|
||||
public List<TemuProductSkc> productSkcList { get; set; }
|
||||
public List<object> goodsAdvantageLabelVOList { get; set; }
|
||||
public List<TemuGoodsLayerDecorationVO> goodsLayerDecorationVOList { get; set; }
|
||||
public List<object> goodsLayerDecorationCustomizeI18nVOList { get; set; }
|
||||
public List<object> productGuideFileI18nList { get; set; }
|
||||
public List<object> productGuideFileNewVOList { get;set; }
|
||||
public List<TemuProductImageProcessExtVO> productImageProcessExtVOList { get; set; }
|
||||
public long? productCreateTime { get; set; }
|
||||
public object productCategoryPredictList { get; set; }
|
||||
public object productAuditDraftVO { get; set; }
|
||||
public bool? isImproveSalesInfo { get; set; }
|
||||
public object productWarehouseRoute { get; set; }
|
||||
public object vehicleLibraryRelationDTOList { get; set; }
|
||||
public object canEditSkuAccessories { get; set; }
|
||||
public object canEditSizeTemplate { get; set; }
|
||||
public object skcQcAdjustmentNote { get; set; }
|
||||
public object inProcessAddSizeSpecEditTask { get; set; }
|
||||
public object productGuideFileRejectVO { get; set; }
|
||||
public List<object> inProcessEditTaskList { get; set; }
|
||||
}
|
||||
|
||||
public class TemuTextModuleDetails
|
||||
{
|
||||
public object fontSize { get; set; }
|
||||
public object fontColor { get; set; }
|
||||
public object fontFamily { get; set; }
|
||||
public object align { get; set; }
|
||||
public object backgroundColor { get; set; }
|
||||
}
|
||||
|
||||
public class TemuCategories
|
||||
{
|
||||
public TemuCat cat1 { get; set; }
|
||||
public TemuCat cat2 { get; set; }
|
||||
public TemuCat cat3 { get; set; }
|
||||
public TemuCat cat4 { get; set; }
|
||||
public TemuCat cat5 { get; set; }
|
||||
public TemuCat cat6 { get; set; }
|
||||
public TemuCat cat7 { get; set; }
|
||||
public TemuCat cat8 { get; set; }
|
||||
public TemuCat cat9 { get; set; }
|
||||
public TemuCat cat10 { get; set; }
|
||||
}
|
||||
public class TemuCat
|
||||
{
|
||||
public long? catId { get; set; }
|
||||
public string catName { get; set; }
|
||||
public string catEnName { get; set; }
|
||||
public string catType { get; set; }
|
||||
}
|
||||
|
||||
public class TemuOuterPackageImage
|
||||
{
|
||||
public string imageUrl { get; set; }
|
||||
public string signedImageUrl { get; set; }
|
||||
}
|
||||
public class TemuProductProperty
|
||||
{
|
||||
public long? templatePid { get; set; }
|
||||
public int? pid { get; set; }
|
||||
public int? refPid { get; set; }
|
||||
public string propName { get; set; }
|
||||
public int? vid { get; set; }
|
||||
public string propValue { get; set; }
|
||||
public string valueUnit { get; set; }
|
||||
public string valueExtendInfo { get; set; }
|
||||
public string numberInputValue { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductWhExtAttr
|
||||
{
|
||||
public string outerGoodsUrl { get; set; }
|
||||
public object productCatConfig { get; set; }
|
||||
public TemuProductFragileLabelAttr productFragileLabelAttr { get; set; }
|
||||
public List<object> sensitiveTransNormalFiles { get; set; }
|
||||
public TemuProductOuterPackage productOuterPackage { get; set; }
|
||||
public TemuProductOrigin productOrigin { get; set; }
|
||||
public List<object> productOriginCertFiles { get; set; }
|
||||
public object copyFromProductId { get; set; }
|
||||
public object personalizationSwitch { get; set; }
|
||||
public TemuNewProductCatMisplace newProductCatMisplace { get; set; }
|
||||
public object semiManagedSiteMode { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductFragileLabelAttr
|
||||
{
|
||||
bool? isFragile { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductOuterPackage
|
||||
{
|
||||
public int? packageShape { get; set; }
|
||||
public int? packageType { get; set; }
|
||||
}
|
||||
public class TemuProductOrigin
|
||||
{
|
||||
public string countryShortName { get; set; }
|
||||
public string countryName { get; set; }
|
||||
public long? region2Id { get; set; }
|
||||
}
|
||||
public class TemuNewProductCatMisplace
|
||||
{
|
||||
public bool? matchMisplace { get; set; }
|
||||
public List<object> recCategoriesList { get; set; }
|
||||
public object feedback { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductLocalExtAttr
|
||||
{
|
||||
public List<object> materialMultiLanguages { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkc
|
||||
{
|
||||
public long? productSkcId { get; set; }
|
||||
public string extCode { get; set; }
|
||||
public List<TemuProductSkcSpec> productSkcSpecList { get; set; }
|
||||
public List<string> previewImgUrls { get; set; }
|
||||
public List<object> productSkcCarouselImageI18nVOList { get; set; }
|
||||
public object colorImageUrl { get; set; }
|
||||
public List<TemuProductSkcImageExt> productSkcImageExtList { get; set; }
|
||||
public List<TemuProductSkcImageExt> productSkcImageProcessExtVOList { get; set; }
|
||||
public TemuProductSkcWhExtAttr productSkcWhExtAttr { get; set; }
|
||||
public List<TemuProductSku> productSkuList { get; set; }
|
||||
public int? skcStatus { get; set; }
|
||||
public bool? matchSelected { get; set; }
|
||||
public object bomId { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkcSpec
|
||||
{
|
||||
public long? parentSpecId { get; set; }
|
||||
public string parentSpecName { get; set; }
|
||||
public long? specId { get; set; }
|
||||
public string specName { get; set; }
|
||||
public object unitSpecName { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkcImageExt
|
||||
{
|
||||
public string imgUrl { get; set; }
|
||||
public int? imgTag { get; set; }
|
||||
public object isOcr { get; set; }
|
||||
}
|
||||
public class TemuProductSkcWhExtAttr
|
||||
{
|
||||
public int? isBasePlate { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSku
|
||||
{
|
||||
public long? productSkuId { get; set; }
|
||||
public string thumbUrl { get; set; }
|
||||
public List<object> productSkuThumbUrlI18nVOList { get; set; }
|
||||
public List<TemuProductSkuSpec> productSkuSpecList { get; set; }
|
||||
public string currencyType { get; set; }
|
||||
public int? supplierPrice { get; set; }
|
||||
public object siteSupplierPrices { get; set; }
|
||||
public object siteReferPriceList { get; set; }
|
||||
public string extCode { get; set; }
|
||||
public TemuProductSkuWhExtAttr productSkuWhExtAttr { get; set; }
|
||||
public TemuProductSkuSaleExtAttr productSkuSaleExtAttr { get; set; }
|
||||
public object productSkuNonAuditExtAttr { get; set; }
|
||||
public TemuProductSkuSuggestedPrice productSkuSuggestedPrice { get; set; }
|
||||
public TemuProductSkuUsSuggestedPrice productSkuUsSuggestedPrice { get; set; }
|
||||
public TemuProductSkuMultiPack productSkuMultiPack { get; set; }
|
||||
public List<TemuProductSkuImageProcessExtVO> productSkuImageProcessExtVOList { get; set; }
|
||||
public object productSkuQuantity { get; set; }
|
||||
public TemuProductSkuSensitiveApprove productSkuSensitiveApprove { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuSpec
|
||||
{
|
||||
public long? parentSpecId { get; set; }
|
||||
public string parentSpecName { get; set; }
|
||||
public long? specId { get; set; }
|
||||
public string specName { get; set; }
|
||||
public string unitSpecName { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuWhExtAttr
|
||||
{
|
||||
public TemuProductSkuVolume productSkuVolume { get; set; }
|
||||
public TemuProductSkuWeight productSkuWeight { get; set; }
|
||||
public object productSkuVolumeLabel { get; set; }
|
||||
public object productSkuWmsVolume { get; set; }
|
||||
public object productSkuWmsWeight { get; set; }
|
||||
public object productSkuWmsVolumeLabel { get; set; }
|
||||
public List<object> productSkuBarCodes { get; set; }
|
||||
public TemuProductSkuSensitiveAttr productSkuSensitiveAttr { get; set; }
|
||||
public TemuProductSkuSensitiveLimit productSkuSensitiveLimit { get; set; }
|
||||
public object productSkuFragileLabelAttr { get; set; }
|
||||
public object latestShippingModeEditRecord { get; set; }
|
||||
public object productSkuSameReference { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuVolume
|
||||
{
|
||||
public int? len { get; set; }
|
||||
public int? width { get; set; }
|
||||
public int? height { get; set; }
|
||||
public int? inputLen { get; set; }
|
||||
public int? inputWidth { get; set; }
|
||||
public int? inputHeight { get; set; }
|
||||
public object inputUnit { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuWeight
|
||||
{
|
||||
public int? value { get; set; }
|
||||
public int? inputValue { get; set; }
|
||||
public object inputUnit { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuSensitiveAttr
|
||||
{
|
||||
public int? isSensitive { get; set; }
|
||||
public List<object> sensitiveTypes { get; set; }
|
||||
public List<object> sensitiveList { get; set; }
|
||||
public bool? isForce2Normal { get; set; }
|
||||
public object force2NormalTypes { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuSensitiveLimit
|
||||
{
|
||||
public object maxBatteryCapacity { get; set; }
|
||||
public object maxLiquidCapacity { get; set; }
|
||||
public object maxKnifeLength { get; set; }
|
||||
public object maxBatteryCapacityHp { get; set; }
|
||||
public object maxLiquidCapacityHp { get; set; }
|
||||
public object maxKnifeLengthHp { get; set; }
|
||||
public object knifeTipAngle { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuSaleExtAttr
|
||||
{
|
||||
public object productSkuCustomizationTmpl { get; set; }
|
||||
public object productSkuShippingMode { get; set; }
|
||||
public TemuProductSkuAccessories productSkuAccessories { get; set; }
|
||||
public object productSkuIndividuallyPacked { get; set; }
|
||||
public TemuProductSkuNetContent productSkuNetContent { get; set; }
|
||||
public object productSkuStockDisplayOption { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class TemuProductSkuAccessories
|
||||
{
|
||||
public List<object> productSkuAccessories { get; set; }
|
||||
}
|
||||
public class TemuProductSkuNetContent
|
||||
{
|
||||
public object netContentNumber { get; set; }
|
||||
public object netContentUnitCode { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuSuggestedPrice
|
||||
{
|
||||
public int? suggestedPrice { get; set; }
|
||||
public string specialSuggestedPrice { get; set; }
|
||||
public object suggestedPriceCurrencyType { get; set; }
|
||||
public object suggestedPriceProveFiles { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuUsSuggestedPrice
|
||||
{
|
||||
public object suggestedPrice { get; set; }
|
||||
public object specialSuggestedPrice { get; set; }
|
||||
public object suggestedPriceCurrencyType { get; set; }
|
||||
public object suggestedPriceProveFiles { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuMultiPack
|
||||
{
|
||||
public int? skuClassification { get; set; }
|
||||
public int? numberOfPieces { get; set; }
|
||||
public int? pieceUnitCode { get; set; }
|
||||
public object individuallyPacked { get; set; }
|
||||
public TemuProductSkuNetContent productSkuNetContent { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuImageProcessExtVO
|
||||
{
|
||||
public string imgUrl { get; set; }
|
||||
public int? imgTag { get; set; }
|
||||
public object isOcr { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSkuSensitiveApprove
|
||||
{
|
||||
public long? productSkuId { get; set; }
|
||||
public bool? sensitiveCateProblem { get; set; }
|
||||
public object sensitiveLimitProblem { get; set; }
|
||||
}
|
||||
|
||||
public class TemuGoodsLayerDecorationVO
|
||||
{
|
||||
public string lang { get; set; }
|
||||
public long? floorId { get; set; }
|
||||
public string key { get; set; }
|
||||
public string type { get; set; }
|
||||
public int? priority { get; set; }
|
||||
public List<TemuContent> contentList { get; set; }
|
||||
}
|
||||
|
||||
public class TemuContent
|
||||
{
|
||||
public string imgUrl { get; set; }
|
||||
public int? height { get; set; }
|
||||
public int? width { get; set; }
|
||||
public object text { get; set; }
|
||||
public TemuTextModuleDetails textModuleDetails { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductSaleExtAttr
|
||||
{
|
||||
public object bodyShape { get; set; }
|
||||
public object inventoryRegion { get; set; }
|
||||
public object isManorGift { get; set; }
|
||||
public object productSemiManaged { get; set; }
|
||||
public object productShipment { get; set; }
|
||||
public object productCustomizationTechnology { get; set; }
|
||||
public object productAssembleInfo { get; set; }
|
||||
public object productNoCharger { get; set; }
|
||||
public object productSecondHand { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductNonAuditExtAttr {
|
||||
public TemuCosmeticInfoVO cosmeticInfoVO { get; set; }
|
||||
public object productCatManagement { get; set; }
|
||||
public TemuCalifornia65WarningInfoVO california65WarningInfoVO { get; set; }
|
||||
}
|
||||
public class TemuCosmeticInfoVO
|
||||
{
|
||||
public object propertyInfoList { get; set; }
|
||||
}
|
||||
public class TemuCalifornia65WarningInfoVO {
|
||||
public object california65WarningType { get; set; }
|
||||
public object california65ChemicalNames { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductImageProcessExtVO
|
||||
{
|
||||
public long? productSkuId { get; set; }
|
||||
public bool? sensitiveCateProblem { get; set; }
|
||||
public object sensitiveLimitProblem { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,653 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Result
|
||||
{
|
||||
public class ProductPropertyReqsItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? templatePid { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? pid { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? refPid { get; set; }
|
||||
/// <summary>
|
||||
/// 风格
|
||||
/// </summary>
|
||||
public string propName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? vid { get; set; }
|
||||
/// <summary>
|
||||
/// 时尚
|
||||
/// </summary>
|
||||
public string propValue { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string valueUnit { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string valueExtendInfo { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string numberInputValue { get; set; }
|
||||
}
|
||||
|
||||
public class MainProductSkuSpecReqsItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? parentSpecId { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string parentSpecName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? specId { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string specName { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuSpecReqsItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? parentSpecId { get; set; }
|
||||
/// <summary>
|
||||
/// 颜色
|
||||
/// </summary>
|
||||
public string parentSpecName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? specId { get; set; }
|
||||
/// <summary>
|
||||
/// 米白色
|
||||
/// </summary>
|
||||
public string specName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? groupId { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? vid { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuSuggestedPriceReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string specialSuggestedPrice { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuUsSuggestedPriceReq
|
||||
{
|
||||
}
|
||||
|
||||
public class ProductSkuVolumeReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? len { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? width { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? height { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuWeightReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? value { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuSensitiveAttrReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? isSensitive { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> sensitiveList { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuSensitiveLimitReq
|
||||
{
|
||||
}
|
||||
|
||||
public class ProductSkuWhExtAttrReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuVolumeReq productSkuVolumeReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuWeightReq productSkuWeightReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productSkuBarCodeReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuSensitiveAttrReq productSkuSensitiveAttrReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuSensitiveLimitReq productSkuSensitiveLimitReq { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuNetContentReq
|
||||
{
|
||||
}
|
||||
|
||||
public class ProductSkuMultiPackReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? skuClassification { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? numberOfPieces { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? pieceUnitCode { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuNetContentReq productSkuNetContentReq { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuAccessoriesReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productSkuAccessories { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkuNonAuditExtAttrReq
|
||||
{
|
||||
}
|
||||
|
||||
public class ProductSkuReqsItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string thumbUrl { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productSkuThumbUrlI18nReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string extCode { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? supplierPrice { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string currencyType { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<ProductSkuSpecReqsItem> productSkuSpecReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? productSkuId { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuSuggestedPriceReq productSkuSuggestedPriceReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuUsSuggestedPriceReq productSkuUsSuggestedPriceReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuWhExtAttrReq productSkuWhExtAttrReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuMultiPackReq productSkuMultiPackReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuAccessoriesReq productSkuAccessoriesReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSkuNonAuditExtAttrReq productSkuNonAuditExtAttrReq { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSkcReqsItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<string> previewImgUrls { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productSkcCarouselImageI18nReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string extCode { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<MainProductSkuSpecReqsItem> mainProductSkuSpecReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<ProductSkuReqsItem> productSkuReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? productSkcId { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? isBasePlate { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSpecPropertyReqsItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? parentSpecId { get; set; }
|
||||
/// <summary>
|
||||
/// 颜色
|
||||
/// </summary>
|
||||
public string parentSpecName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? specId { get; set; }
|
||||
/// <summary>
|
||||
/// 米白色
|
||||
/// </summary>
|
||||
public string specName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? groupId { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? vid { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? refPid { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? pid { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? templatePid { get; set; }
|
||||
/// <summary>
|
||||
/// 颜色
|
||||
/// </summary>
|
||||
public string propName { get; set; }
|
||||
/// <summary>
|
||||
/// 米白色
|
||||
/// </summary>
|
||||
public string propValue { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string valueUnit { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? valueGroupId { get; set; }
|
||||
/// <summary>
|
||||
/// 白色系
|
||||
/// </summary>
|
||||
public string valueGroupName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string valueExtendInfo { get; set; }
|
||||
}
|
||||
|
||||
public class ContentListItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string imgUrl { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? height { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? width { get; set; }
|
||||
}
|
||||
|
||||
public class GoodsLayerDecorationReqsItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string floorId { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string lang { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string key { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string type { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? priority { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<ContentListItem> contentList { get; set; }
|
||||
}
|
||||
|
||||
public class ProductOrigin
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string countryShortName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? region2Id { get; set; }
|
||||
}
|
||||
|
||||
public class ProductWhExtAttrReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string outerGoodsUrl { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductOrigin productOrigin { get; set; }
|
||||
}
|
||||
|
||||
public class ProductOuterPackageImageReqsItem
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string imageUrl { get; set; }
|
||||
}
|
||||
|
||||
public class ProductOuterPackageReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? packageShape { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? packageType { get; set; }
|
||||
}
|
||||
|
||||
public class ProductSaleExtAttrReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public object bodyShape { get; set; }
|
||||
}
|
||||
|
||||
public class California65WarningInfoReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public object california65WarningType { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public object california65ChemicalNames { get; set; }
|
||||
}
|
||||
|
||||
public class CosmeticInfoReq
|
||||
{
|
||||
}
|
||||
|
||||
public class ProductNonAuditExtAttrReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public California65WarningInfoReq california65WarningInfoReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public CosmeticInfoReq cosmeticInfoReq { get; set; }
|
||||
}
|
||||
|
||||
public class ProductComplianceStatementReq
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string protocolVersion { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string protocolUrl { get; set; }
|
||||
}
|
||||
|
||||
public class TemuProductParam
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat1Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat2Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat3Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat4Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat5Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat6Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat7Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat8Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat9Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? cat10Id { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> materialMultiLanguages { get; set; }
|
||||
/// <summary>
|
||||
/// 女士时尚夏季厚底人字拖 - 舒适的 EVA 材质,厚底,易滑设计,白色和棕色点缀,非常适合休闲穿着,女式厚底人字拖,防水台人字拖凉鞋,女士鞋 – 轻质防水台凉鞋女式沙滩度假必备品,女士人字拖带舒适足弓支撑女士时尚防水台夹趾凉鞋柔软瑜伽垫鞋底适合海滩/室内室外
|
||||
/// </summary>
|
||||
public string productName { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<ProductPropertyReqsItem> productPropertyReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<ProductSkcReqsItem> productSkcReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<ProductSpecPropertyReqsItem> productSpecPropertyReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<string> carouselImageUrls { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> carouselImageI18nReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string materialImgUrl { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<GoodsLayerDecorationReqsItem> goodsLayerDecorationReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> goodsLayerDecorationCustomizeI18nReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<long?> sizeTemplateIds { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<long?> showSizeTemplateIds { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> goodsModelReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductWhExtAttrReq productWhExtAttrReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productCarouseVideoReqList { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> goodsAdvantageLabelTypes { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productDetailVideoReqList { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<ProductOuterPackageImageReqsItem> productOuterPackageImageReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductOuterPackageReq productOuterPackageReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> sensitiveTransNormalFileReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productGuideFileNewReqList { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productGuideFileI18nReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductSaleExtAttrReq productSaleExtAttrReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductNonAuditExtAttrReq productNonAuditExtAttrReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? personalizationSwitch { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ProductComplianceStatementReq productComplianceStatementReq { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public List<object> productOriginCertFileReqs { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public long? productDraftId { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="cef.redist.x64" version="92.0.26" targetFramework="net452" />
|
||||
<package id="cef.redist.x86" version="92.0.26" targetFramework="net452" />
|
||||
<package id="CefSharp.Common" version="92.0.260" targetFramework="net452" />
|
||||
<package id="CefSharp.WinForms" version="92.0.260" targetFramework="net452" />
|
||||
<package id="cef.redist.x64" version="114.2.12" targetFramework="net452" />
|
||||
<package id="cef.redist.x86" version="114.2.12" targetFramework="net452" />
|
||||
<package id="CefSharp.Common" version="114.2.120" targetFramework="net452" />
|
||||
<package id="CefSharp.WinForms" version="114.2.120" targetFramework="net452" />
|
||||
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
|
||||
</packages>
|
||||
Binary file not shown.
File renamed without changes.
+3
-3
@@ -19,15 +19,15 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="CefSharp" publicKeyToken="40c4b6fc221f4138" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-67.0.0.0" newVersion="67.0.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-104.4.240.0" newVersion="104.4.240.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="CefSharp.WinForms" publicKeyToken="40c4b6fc221f4138" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-67.0.0.0" newVersion="67.0.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-104.4.240.0" newVersion="104.4.240.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="CefSharp.Core" publicKeyToken="40c4b6fc221f4138" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-67.0.0.0" newVersion="67.0.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-104.4.240.0" newVersion="104.4.240.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
@@ -47,7 +47,8 @@ namespace TemuKJD.Helper
|
||||
try
|
||||
{
|
||||
string charset = GetCharSet(request.GetCharSet());
|
||||
postData += request.PostData.Elements[i].GetBody(charset);
|
||||
if (request.PostData.Elements[i].Type != PostDataElementType.Empty)
|
||||
postData += request.PostData.Elements[i].GetBody(charset);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
+36
-17
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props')" />
|
||||
<Import Project="..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props')" />
|
||||
<Import Project="..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props')" />
|
||||
<Import Project="..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props')" />
|
||||
<Import Project="..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props')" />
|
||||
<Import Project="..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props')" />
|
||||
<Import Project="..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.0.5\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props" Condition="Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.0.5\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
@@ -98,14 +98,14 @@
|
||||
<Reference Include="AdvancedStringBuilder, Version=0.1.0.0, Culture=neutral, PublicKeyToken=e818a2fc08933ddb, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AdvancedStringBuilder.0.1.0\lib\net45\AdvancedStringBuilder.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.92.0.260\lib\net452\CefSharp.dll</HintPath>
|
||||
<Reference Include="CefSharp, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.114.2.120\lib\net452\CefSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp.Core, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.92.0.260\lib\net452\CefSharp.Core.dll</HintPath>
|
||||
<Reference Include="CefSharp.Core, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.114.2.120\lib\net452\CefSharp.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp.WinForms, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.WinForms.92.0.260\lib\net452\CefSharp.WinForms.dll</HintPath>
|
||||
<Reference Include="CefSharp.WinForms, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.WinForms.114.2.120\lib\net452\CefSharp.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevComponents.DotNetBar2, Version=14.0.0.3, Culture=neutral, PublicKeyToken=c39c3242a43eee2b, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
@@ -117,8 +117,8 @@
|
||||
<Reference Include="JavaScriptEngineSwitcher.V8, Version=3.0.5.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\JavaScriptEngineSwitcher.V8.3.0.5\lib\net45\JavaScriptEngineSwitcher.V8.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NaiBa.CefHelper.92">
|
||||
<HintPath>..\DllReference\NaiBa.CefHelper.92.dll</HintPath>
|
||||
<Reference Include="NaiBa.CefHelper.114">
|
||||
<HintPath>..\..\KJD Cef92\DllReference\NaiBa.CefHelper.114.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NaiBa.Util">
|
||||
<HintPath>..\DllReference\NaiBa.Util.dll</HintPath>
|
||||
@@ -212,6 +212,7 @@
|
||||
<Compile Include="KJDForms\AdminForms\AdminAccountForm.Designer.cs">
|
||||
<DependentUpon>AdminAccountForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\AdminForms\ShopBrowserObject.cs" />
|
||||
<Compile Include="KJDForms\BaseForms\BaseMsgForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -272,7 +273,13 @@
|
||||
<Compile Include="KJDForms\ProductForms\PriceManageForm.Designer.cs">
|
||||
<DependentUpon>PriceManageForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductForms\ProductResponse\ProductResponse.cs" />
|
||||
<Compile Include="KJDForms\ProductForms\ProductResponse\KJDHttpResponse.cs" />
|
||||
<Compile Include="KJDForms\ProductSelectForms\ProductSelectListForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductSelectForms\ProductSelectListForm.Designer.cs">
|
||||
<DependentUpon>ProductSelectListForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\SalesCenterForms\FullMinusActiveForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -435,6 +442,12 @@
|
||||
<Compile Include="KJDForms\ShopForms\Old\FreightTemplateAddForm.Designer.cs">
|
||||
<DependentUpon>FreightTemplateAddForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ShopForms\ShopUpdateCookieForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ShopForms\ShopUpdateCookieForm.Designer.cs">
|
||||
<DependentUpon>ShopUpdateCookieForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ShopForms\SubAccountListForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -847,6 +860,9 @@
|
||||
<EmbeddedResource Include="KJDForms\ProductForms\PriceManageForm.resx">
|
||||
<DependentUpon>PriceManageForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="KJDForms\ProductSelectForms\ProductSelectListForm.resx">
|
||||
<DependentUpon>ProductSelectListForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="KJDForms\SalesCenterForms\FullMinusActiveForm.resx">
|
||||
<DependentUpon>FullMinusActiveForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -929,6 +945,9 @@
|
||||
<EmbeddedResource Include="KJDForms\ShopForms\Old\FreightTemplateAddForm.resx">
|
||||
<DependentUpon>FreightTemplateAddForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="KJDForms\ShopForms\ShopUpdateCookieForm.resx">
|
||||
<DependentUpon>ShopUpdateCookieForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="KJDForms\ShopForms\SubAccountListForm.resx">
|
||||
<DependentUpon>SubAccountListForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -1223,12 +1242,12 @@
|
||||
<PropertyGroup>
|
||||
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets')" />
|
||||
<Import Project="..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets')" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
+50
-38
@@ -54,6 +54,9 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.chkAutoDrag = new System.Windows.Forms.CheckBox();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -74,11 +77,9 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
this.colApiAuth = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colBuyApiAuth = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colUpload = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.chkAutoDrag = new System.Windows.Forms.CheckBox();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -400,6 +401,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
this.colApiAuth,
|
||||
this.colBuyApiAuth,
|
||||
this.colCopyCookies,
|
||||
this.colUpload,
|
||||
this.colEdit,
|
||||
this.colDelete});
|
||||
this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
@@ -413,6 +415,41 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
this.dgvShop.TabIndex = 5;
|
||||
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
|
||||
//
|
||||
// chkAutoDrag
|
||||
//
|
||||
this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.chkAutoDrag.AutoSize = true;
|
||||
this.chkAutoDrag.BackColor = System.Drawing.Color.White;
|
||||
this.chkAutoDrag.Location = new System.Drawing.Point(407, 0);
|
||||
this.chkAutoDrag.Name = "chkAutoDrag";
|
||||
this.chkAutoDrag.Size = new System.Drawing.Size(159, 21);
|
||||
this.chkAutoDrag.TabIndex = 3;
|
||||
this.chkAutoDrag.Text = "登录时自动滑动拼图验证";
|
||||
this.chkAutoDrag.UseVisualStyleBackColor = false;
|
||||
this.chkAutoDrag.Visible = false;
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(721, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
|
||||
this.ucSplitPage1.TabIndex = 4;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1083, 25);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 26F;
|
||||
@@ -575,6 +612,15 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCopyCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colUpload
|
||||
//
|
||||
this.colUpload.FillWeight = 67F;
|
||||
this.colUpload.HeaderText = "上传商品";
|
||||
this.colUpload.Name = "colUpload";
|
||||
this.colUpload.ReadOnly = true;
|
||||
this.colUpload.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colUpload.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colEdit
|
||||
//
|
||||
this.colEdit.FillWeight = 46F;
|
||||
@@ -593,41 +639,6 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
this.colDelete.ReadOnly = true;
|
||||
this.colDelete.Visible = false;
|
||||
//
|
||||
// chkAutoDrag
|
||||
//
|
||||
this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.chkAutoDrag.AutoSize = true;
|
||||
this.chkAutoDrag.BackColor = System.Drawing.Color.White;
|
||||
this.chkAutoDrag.Location = new System.Drawing.Point(407, 0);
|
||||
this.chkAutoDrag.Name = "chkAutoDrag";
|
||||
this.chkAutoDrag.Size = new System.Drawing.Size(159, 21);
|
||||
this.chkAutoDrag.TabIndex = 3;
|
||||
this.chkAutoDrag.Text = "登录时自动滑动拼图验证";
|
||||
this.chkAutoDrag.UseVisualStyleBackColor = false;
|
||||
this.chkAutoDrag.Visible = false;
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(721, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
|
||||
this.ucSplitPage1.TabIndex = 4;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1083, 25);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// AdminShopForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@@ -705,6 +716,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colApiAuth;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colBuyApiAuth;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colUpload;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEdit;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
|
||||
}
|
||||
|
||||
@@ -7,8 +7,10 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.Extension;
|
||||
@@ -20,7 +22,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
{
|
||||
public partial class AdminShopForm : Form
|
||||
{
|
||||
public List<ShopLoginInfo> lstShopInfo = new List<ShopLoginInfo>();
|
||||
public static List<ShopLoginInfo> lstAdminShopInfo = new List<ShopLoginInfo>();
|
||||
|
||||
public AdminShopForm()
|
||||
{
|
||||
@@ -56,23 +58,23 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvShop.Rows.Clear();
|
||||
this.lstShopInfo.Clear();
|
||||
lstAdminShopInfo.Clear();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvShop.Rows.Clear();
|
||||
this.lstShopInfo.Clear();
|
||||
lstAdminShopInfo.Clear();
|
||||
}
|
||||
Task.Run(() =>
|
||||
{
|
||||
int pageCount;
|
||||
var list = AdminGetServerShop(out pageCount, page);
|
||||
lstShopInfo.AddRange(list);
|
||||
lstAdminShopInfo.AddRange(list);
|
||||
this.ucSplitPage1.TotalPage = pageCount;
|
||||
|
||||
foreach (var shop in lstShopInfo)
|
||||
foreach (var shop in lstAdminShopInfo)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
@@ -97,6 +99,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
shop.ApiAuthStatus,
|
||||
shop.BuyApiAuth.ApiAuthStatus,
|
||||
"复制Cookies",
|
||||
"上传",
|
||||
"编辑",
|
||||
"删除");
|
||||
}));
|
||||
@@ -146,7 +149,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
if (IsOperate == false)
|
||||
break;
|
||||
|
||||
var shopInfo = this.lstShopInfo.FirstOrDefault(v => v.LoginName == loginName);
|
||||
var shopInfo = lstAdminShopInfo.FirstOrDefault(v => v.LoginName == loginName);
|
||||
if (shopInfo != null && !string.IsNullOrEmpty(shopInfo.LoginName) && !string.IsNullOrEmpty(shopInfo.Password))
|
||||
{
|
||||
AdminShopLoginForm shopLoginForm = new AdminShopLoginForm(shopInfo);
|
||||
@@ -174,7 +177,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
|
||||
string loginName = dgvShop.Rows[e.RowIndex].Cells["colLoginName"].Value.ParseToString();
|
||||
string accountId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
|
||||
var shop = this.lstShopInfo.FirstOrDefault(v => v.LoginName == loginName && v.ShopId == accountId);
|
||||
var shop = lstAdminShopInfo.FirstOrDefault(v => v.LoginName == loginName && v.ShopId == accountId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
@@ -222,6 +225,13 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
}
|
||||
IsOperate = false;
|
||||
break;
|
||||
case "上传商品":
|
||||
IsOperate = true;
|
||||
{
|
||||
UploadProduct(shop);
|
||||
}
|
||||
IsOperate = false;
|
||||
break;
|
||||
default:
|
||||
dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
break;
|
||||
@@ -235,7 +245,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
{
|
||||
if ((isAdd as bool?) == true)
|
||||
{
|
||||
var shop = lstShopInfo.FirstOrDefault(v => v.LoginName == shopInfo.LoginName);
|
||||
var shop = lstAdminShopInfo.FirstOrDefault(v => v.LoginName == shopInfo.LoginName);
|
||||
if (shop != null)
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺" + shopInfo.LoginName + "已存在!");
|
||||
@@ -448,8 +458,8 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
{
|
||||
for (int i = 0; i < shopNames.Length; i++)
|
||||
{
|
||||
var shop = this.lstShopInfo.FirstOrDefault(v => v.LoginName == shopNames[i]);
|
||||
var campanys = this.lstShopInfo.Where(v => v.LoginName == shopNames[i]).ToList();
|
||||
var shop = lstAdminShopInfo.FirstOrDefault(v => v.LoginName == shopNames[i]);
|
||||
var campanys = lstAdminShopInfo.Where(v => v.LoginName == shopNames[i]).ToList();
|
||||
if (shop != null)
|
||||
{
|
||||
//var loginResult = "\"code\":0";//GetShopStatus(shop);
|
||||
@@ -495,5 +505,331 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
this.dgvShop.Columns["colDelete"].Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
void UploadProduct(ShopLoginInfo shop)
|
||||
{
|
||||
if (shop==null || string.IsNullOrEmpty(shop.ShopId) || shop.LoginStatus != "登录成功")
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺为空或未登录!");
|
||||
return;
|
||||
}
|
||||
|
||||
string text = "";
|
||||
OpenFileDialog openFileDialog = new OpenFileDialog();
|
||||
// 设置过滤条件,只显示文本文件
|
||||
openFileDialog.Filter = "Text files (*.prd)|*.prd|All files (*.*)|*.*";
|
||||
// 显示对话框并获取结果
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 读取文件内容
|
||||
text = File.ReadAllText(openFileDialog.FileName);
|
||||
// 显示文件内容
|
||||
//Console.WriteLine(text);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//Console.WriteLine("An error occurred: " + ex.Message);
|
||||
BaseMsgForm.ShowError(ex.Message);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrEmpty(text))
|
||||
{
|
||||
TemuProductInfo prodInfo = JsonHelper.DeserializeJsonToObject<TemuProductInfo>(text);
|
||||
TemuProductParam prodParam = new TemuProductParam();
|
||||
prodParam.carouselImageI18nReqs = prodInfo.carouselImageI18nVOList;
|
||||
prodParam.carouselImageUrls = prodInfo.carouselImageUrls;
|
||||
prodParam.cat1Id = prodInfo.categories.cat1.catId;
|
||||
prodParam.cat2Id = prodInfo.categories.cat2.catId;
|
||||
prodParam.cat3Id = prodInfo.categories.cat3.catId;
|
||||
prodParam.cat4Id = prodInfo.categories.cat4.catId;
|
||||
prodParam.cat5Id = prodInfo.categories.cat5.catId;
|
||||
prodParam.cat6Id = prodInfo.categories.cat6.catId;
|
||||
prodParam.cat7Id = prodInfo.categories.cat7.catId;
|
||||
prodParam.cat8Id = prodInfo.categories.cat8.catId;
|
||||
prodParam.cat9Id = prodInfo.categories.cat9.catId;
|
||||
prodParam.cat10Id = prodInfo.categories.cat10.catId;
|
||||
prodParam.goodsAdvantageLabelTypes = prodInfo.goodsAdvantageLabelVOList != null ?
|
||||
prodInfo.goodsAdvantageLabelVOList : new List<object>();
|
||||
prodParam.goodsLayerDecorationCustomizeI18nReqs = prodInfo.goodsLayerDecorationCustomizeI18nVOList;
|
||||
prodParam.goodsLayerDecorationReqs = new List<GoodsLayerDecorationReqsItem>();
|
||||
foreach (var goodsLayerDecorationVOInfo in
|
||||
(prodInfo.goodsLayerDecorationVOList == null ? new List<TemuGoodsLayerDecorationVO>() : prodInfo.goodsLayerDecorationVOList))
|
||||
{
|
||||
var goodsLayerDecorationItem = new GoodsLayerDecorationReqsItem()
|
||||
{
|
||||
floorId = "" + goodsLayerDecorationVOInfo.floorId,
|
||||
key = goodsLayerDecorationVOInfo.key,
|
||||
lang = goodsLayerDecorationVOInfo.lang,
|
||||
priority = goodsLayerDecorationVOInfo.priority,
|
||||
type = goodsLayerDecorationVOInfo.type,
|
||||
contentList = new List<ContentListItem>(),
|
||||
};
|
||||
foreach (var contentInfo in goodsLayerDecorationVOInfo.contentList)
|
||||
{
|
||||
var contentItem = new ContentListItem()
|
||||
{
|
||||
width = contentInfo.width,
|
||||
height = contentInfo.height,
|
||||
imgUrl = contentInfo.imgUrl,
|
||||
};
|
||||
goodsLayerDecorationItem.contentList.Add(contentItem);
|
||||
}
|
||||
prodParam.goodsLayerDecorationReqs.Add(goodsLayerDecorationItem);
|
||||
}
|
||||
prodParam.goodsModelReqs = prodInfo.goodsModelList;
|
||||
prodParam.materialImgUrl = prodInfo.materialImgUrl;
|
||||
prodParam.materialMultiLanguages = prodInfo.productLocalExtAttr.materialMultiLanguages != null ?
|
||||
prodInfo.productLocalExtAttr.materialMultiLanguages : new List<object>();
|
||||
prodParam.personalizationSwitch = prodInfo.productWhExtAttr.personalizationSwitch.ParseToInt();
|
||||
prodParam.productCarouseVideoReqList = prodInfo.carouseVideoVOList;
|
||||
//此处打开商品编辑详情无法获取到,如何查询存疑
|
||||
prodParam.productComplianceStatementReq = new ProductComplianceStatementReq
|
||||
{
|
||||
protocolVersion = "V1.0",
|
||||
protocolUrl = "https://bdl.cdnfe.com/upload_bdl/seller-protocol/00f56a69-7bee-4768-8cef-e1682ffd58e3.html",
|
||||
};
|
||||
prodParam.productDetailVideoReqList = prodInfo.detailVideoVOList;
|
||||
//是否需要存疑
|
||||
prodParam.productDraftId = 0;
|
||||
prodParam.productGuideFileI18nReqs = prodInfo.productGuideFileI18nList;
|
||||
prodParam.productGuideFileNewReqList = prodInfo.productGuideFileNewVOList;
|
||||
prodParam.productName = prodInfo.productName;
|
||||
prodParam.productNonAuditExtAttrReq = new ProductNonAuditExtAttrReq()
|
||||
{
|
||||
california65WarningInfoReq = new California65WarningInfoReq()
|
||||
{
|
||||
california65ChemicalNames = prodInfo.productNonAuditExtAttr.california65WarningInfoVO.california65ChemicalNames,
|
||||
},
|
||||
cosmeticInfoReq = new CosmeticInfoReq()
|
||||
{
|
||||
},
|
||||
};
|
||||
//内容存疑
|
||||
prodParam.productOriginCertFileReqs = new List<object>();
|
||||
prodParam.productOuterPackageImageReqs = new List<ProductOuterPackageImageReqsItem>();
|
||||
foreach (var picInfo in prodInfo.outerPackageImages)
|
||||
{
|
||||
prodParam.productOuterPackageImageReqs.Add(new ProductOuterPackageImageReqsItem()
|
||||
{
|
||||
imageUrl = picInfo.imageUrl,
|
||||
});
|
||||
}
|
||||
prodParam.productOuterPackageReq = new ProductOuterPackageReq()
|
||||
{
|
||||
packageShape = prodInfo.productWhExtAttr.productOuterPackage.packageShape,
|
||||
packageType = prodInfo.productWhExtAttr.productOuterPackage.packageType,
|
||||
};
|
||||
prodParam.productPropertyReqs = new List<ProductPropertyReqsItem>();
|
||||
foreach (var propInfo in prodInfo.productPropertyList)
|
||||
{
|
||||
prodParam.productPropertyReqs.Add(new ProductPropertyReqsItem
|
||||
{
|
||||
numberInputValue = propInfo.numberInputValue,
|
||||
pid = propInfo.pid,
|
||||
propName = propInfo.propName,
|
||||
propValue = propInfo.propValue,
|
||||
refPid = propInfo.refPid,
|
||||
templatePid = propInfo.templatePid,
|
||||
valueExtendInfo = propInfo.valueExtendInfo,
|
||||
valueUnit = propInfo.valueUnit,
|
||||
vid = propInfo.vid,
|
||||
});
|
||||
}
|
||||
prodParam.productSaleExtAttrReq = new ProductSaleExtAttrReq
|
||||
{
|
||||
bodyShape = prodInfo.productSaleExtAttr.bodyShape,
|
||||
};
|
||||
prodParam.productSpecPropertyReqs = new List<ProductSpecPropertyReqsItem>();
|
||||
foreach(var specPropInfo in prodInfo.productSpecPropertyVOS)
|
||||
{
|
||||
try
|
||||
{
|
||||
var jStr = JsonHelper.SerializeObject(specPropInfo);
|
||||
ProductSpecPropertyReqsItem specItem = JsonHelper.DeserializeJsonToObject<ProductSpecPropertyReqsItem>(jStr);
|
||||
prodParam.productSpecPropertyReqs.Add(specItem);
|
||||
}
|
||||
catch (Exception ex) {
|
||||
BaseMsgForm.ShowError(ex.Message);
|
||||
}
|
||||
}
|
||||
prodParam.productWhExtAttrReq = new ProductWhExtAttrReq()
|
||||
{
|
||||
outerGoodsUrl = prodInfo.productWhExtAttr.outerGoodsUrl,
|
||||
productOrigin = new ProductOrigin
|
||||
{
|
||||
countryShortName = prodInfo.productWhExtAttr.productOrigin.countryShortName,
|
||||
region2Id = prodInfo.productWhExtAttr.productOrigin.region2Id,
|
||||
},
|
||||
};
|
||||
prodParam.sensitiveTransNormalFileReqs= prodInfo.productWhExtAttr.sensitiveTransNormalFiles;
|
||||
prodParam.showSizeTemplateIds = prodInfo.showSizeTemplateIds != null ? prodInfo.showSizeTemplateIds : new List<long?>();
|
||||
prodParam.sizeTemplateIds = prodInfo.sizeTemplateIds != null ? prodInfo.sizeTemplateIds : new List<long?>();
|
||||
|
||||
prodParam.productSkcReqs = new List<ProductSkcReqsItem>();
|
||||
foreach(var skcInfo in prodInfo.productSkcList)
|
||||
{
|
||||
ProductSkcReqsItem skcItem = new ProductSkcReqsItem();
|
||||
skcItem.extCode = skcInfo.extCode;
|
||||
skcItem.isBasePlate = 0;
|
||||
skcItem.mainProductSkuSpecReqs = new List<MainProductSkuSpecReqsItem>();
|
||||
foreach(var skuSpecInfo in skcInfo.productSkcSpecList)
|
||||
{
|
||||
skcItem.mainProductSkuSpecReqs.Add(new MainProductSkuSpecReqsItem
|
||||
{
|
||||
parentSpecId = skuSpecInfo.parentSpecId,
|
||||
parentSpecName = skuSpecInfo.parentSpecName,
|
||||
specId = skuSpecInfo.specId,
|
||||
specName = skuSpecInfo.specName,
|
||||
});
|
||||
}
|
||||
skcItem.previewImgUrls = skcInfo.previewImgUrls;
|
||||
skcItem.productSkcCarouselImageI18nReqs = skcInfo.productSkcCarouselImageI18nVOList;
|
||||
skcItem.productSkcId = 0;
|
||||
skcItem.productSkuReqs = new List<ProductSkuReqsItem>();
|
||||
foreach (var skuInfo in skcInfo.productSkuList)
|
||||
{
|
||||
ProductSkuReqsItem skuItem = new ProductSkuReqsItem();
|
||||
skuItem.currencyType = skuInfo.currencyType;
|
||||
skuItem.extCode = skuInfo.extCode;
|
||||
skuItem.productSkuAccessoriesReq = new ProductSkuAccessoriesReq()
|
||||
{
|
||||
productSkuAccessories = skuInfo.productSkuSaleExtAttr.productSkuAccessories?.productSkuAccessories,
|
||||
};
|
||||
skuItem.productSkuId = 0;
|
||||
skuItem.productSkuMultiPackReq = new ProductSkuMultiPackReq()
|
||||
{
|
||||
numberOfPieces = skuInfo.productSkuMultiPack.numberOfPieces,
|
||||
pieceUnitCode = skuInfo.productSkuMultiPack.pieceUnitCode,
|
||||
productSkuNetContentReq = JsonHelper.DeserializeJsonToObject<ProductSkuNetContentReq>(
|
||||
JsonHelper.SerializeObject(skuInfo.productSkuMultiPack.productSkuNetContent)),
|
||||
skuClassification = skuInfo.productSkuMultiPack.skuClassification,
|
||||
};
|
||||
skuItem.productSkuNonAuditExtAttrReq = JsonHelper.DeserializeJsonToObject<ProductSkuNonAuditExtAttrReq>(
|
||||
JsonHelper.SerializeObject(skuInfo.productSkuNonAuditExtAttr));
|
||||
skuItem.productSkuSpecReqs=new List<ProductSkuSpecReqsItem>();
|
||||
int groupId = 0;
|
||||
foreach(var skuSpecInfo in skuInfo.productSkuSpecList)
|
||||
{
|
||||
groupId++;
|
||||
ProductSkuSpecReqsItem skuSpecItem = new ProductSkuSpecReqsItem()
|
||||
{
|
||||
groupId = groupId,
|
||||
parentSpecId = skuSpecInfo.parentSpecId,
|
||||
parentSpecName = skuSpecInfo.parentSpecName,
|
||||
specId = skuSpecInfo.specId,
|
||||
specName = skuSpecInfo.specName,
|
||||
vid = prodParam.productSpecPropertyReqs.FirstOrDefault(p => p.specId == skuSpecInfo.specId)?.vid,
|
||||
};
|
||||
skuItem.productSkuSpecReqs.Add(skuSpecItem);
|
||||
}
|
||||
skuItem.productSkuSuggestedPriceReq = JsonHelper.DeserializeJsonToObject<ProductSkuSuggestedPriceReq>(
|
||||
JsonHelper.SerializeObject(skuInfo.productSkuSuggestedPrice));
|
||||
skuItem.productSkuThumbUrlI18nReqs = skuInfo.productSkuThumbUrlI18nVOList;
|
||||
skuItem.productSkuUsSuggestedPriceReq = JsonHelper.DeserializeJsonToObject<ProductSkuUsSuggestedPriceReq>(
|
||||
JsonHelper.SerializeObject(skuInfo.productSkuUsSuggestedPrice));
|
||||
skuItem.productSkuWhExtAttrReq = new ProductSkuWhExtAttrReq()
|
||||
{
|
||||
productSkuBarCodeReqs = skuInfo.productSkuWhExtAttr.productSkuBarCodes,
|
||||
productSkuSensitiveAttrReq = new ProductSkuSensitiveAttrReq()
|
||||
{
|
||||
isSensitive = skuInfo.productSkuWhExtAttr.productSkuSensitiveAttr.isSensitive,
|
||||
sensitiveList = skuInfo.productSkuWhExtAttr.productSkuSensitiveAttr.sensitiveList,
|
||||
},
|
||||
productSkuSensitiveLimitReq = JsonHelper.DeserializeJsonToObject<ProductSkuSensitiveLimitReq>(
|
||||
JsonHelper.SerializeObject(skuInfo.productSkuWhExtAttr.productSkuSensitiveLimit)),
|
||||
productSkuVolumeReq = JsonHelper.DeserializeJsonToObject<ProductSkuVolumeReq>(
|
||||
JsonHelper.SerializeObject(skuInfo.productSkuWhExtAttr.productSkuVolume)),
|
||||
productSkuWeightReq = JsonHelper.DeserializeJsonToObject<ProductSkuWeightReq>(
|
||||
JsonHelper.SerializeObject(skuInfo.productSkuWhExtAttr.productSkuWeight)),
|
||||
};
|
||||
skuItem.supplierPrice = skuInfo.supplierPrice;
|
||||
skuItem.thumbUrl = skuInfo.thumbUrl;
|
||||
|
||||
skcItem.productSkuReqs.Add(skuItem);
|
||||
}
|
||||
prodParam.productSkcReqs.Add(skcItem);
|
||||
}
|
||||
|
||||
long catId = prodParam.cat10Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat9Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat8Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat7Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat6Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat5Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat4Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat3Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat2Id.ParseToLong();
|
||||
if (catId == 0) catId = prodParam.cat1Id.ParseToLong();
|
||||
|
||||
var html = AddDraft(shop, catId.ToString());
|
||||
if (html.Contains("{\"success\":true"))
|
||||
prodParam.productDraftId = BaseRegex.GetLongJson(ref html, "productDraftId");
|
||||
else
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref html, "errorMsg");
|
||||
BaseMsgForm.ShowError("上传失败" + error);
|
||||
return;
|
||||
}
|
||||
|
||||
if (prodParam.productDraftId <= 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("上传失败" + html);
|
||||
return;
|
||||
}
|
||||
|
||||
string upLoadRst1 = "";
|
||||
string upLoadRst2 = "";
|
||||
html = SaveDraft(shop, prodParam.productDraftId.ToString(), prodParam);
|
||||
if (html.Contains("{\"success\":true"))
|
||||
upLoadRst1 = "上传草稿箱成功";
|
||||
else
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref html, "errorMsg");
|
||||
BaseMsgForm.ShowError("上传草稿箱失败" + error);
|
||||
return;
|
||||
}
|
||||
|
||||
Thread.Sleep(Randomx.GetId(2000, 3000));
|
||||
html = AddProduct(shop, prodParam.productDraftId.ToString(), prodParam);
|
||||
if (html.Contains("{\"success\":true"))
|
||||
BaseMsgForm.ShowInfo("上传商品成功");
|
||||
else
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref html, "errorMsg");
|
||||
BaseMsgForm.ShowError("上传商品失败" + error + "\r\n,请在草稿箱查找商品!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string AddDraft(ShopLoginInfo shop, string catId)
|
||||
{
|
||||
string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/draft/add";
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/category?from=productList";
|
||||
string body = @"{""catId"":" + catId + "}";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string SaveDraft(ShopLoginInfo shop, string draftId, TemuProductParam prodParam)
|
||||
{
|
||||
string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/draft/save";
|
||||
string body = JsonHelper.SerializeObject(prodParam);
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
|
||||
private string AddProduct(ShopLoginInfo shop, string draftId, TemuProductParam prodParam)
|
||||
{
|
||||
string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/add";
|
||||
string body = JsonHelper.SerializeObject(prodParam);
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -177,6 +177,9 @@
|
||||
<metadata name="colCopyCookies.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUpload.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colEdit.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
@@ -41,6 +41,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
private ShopLoginInfo shop = null;
|
||||
private List<ShopCompany> lstShopCompany = new List<ShopCompany>();
|
||||
private string currentUrl = "";
|
||||
private long currentSupplierId = 0;
|
||||
|
||||
public AdminShopLoginForm(ShopLoginInfo shopInfo)
|
||||
{
|
||||
@@ -133,6 +134,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
{
|
||||
var lstShopCompanyCopy = lstShopCompany.ToList();
|
||||
lstShopCompanyCopy = lstShopCompanyCopy.Where(l => l.LoginName == shop.LoginName).ToList();
|
||||
bool isSuccess = true;
|
||||
|
||||
foreach (ShopCompany sc in lstShopCompanyCopy)
|
||||
{
|
||||
@@ -145,6 +147,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
ShopId = sc.AccountId,
|
||||
SubUserName = shop.SubUserName,
|
||||
UserName = shop.UserName,
|
||||
Notes = shop.Notes,
|
||||
Cookies = cookies,
|
||||
};
|
||||
|
||||
@@ -152,12 +155,17 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
{
|
||||
newShop.LoginStatus = "登录成功";
|
||||
newShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
|
||||
AdminShopForm.AdminAddServerShop(newShop); // 店铺写入到服务端
|
||||
var html = AdminShopForm.AdminAddServerShop(newShop); // 店铺写入到服务端
|
||||
if (!html.Contains("\"code\":200"))
|
||||
isSuccess = false;
|
||||
}
|
||||
}
|
||||
shop.Cookies = cookies;
|
||||
shop.LoginStatus = "登录成功";
|
||||
ShopListForm.UpdateServerShopCookies(shop, shop.Cookies); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
||||
if (isSuccess)
|
||||
{
|
||||
shop.LoginStatus = "登录成功";
|
||||
ShopListForm.UpdateServerShopCookies(shop, shop.Cookies); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
||||
}
|
||||
OnSaveComplete(shop);
|
||||
if (this.Created && this.chkCloseAfterLogin.Checked)
|
||||
{
|
||||
@@ -255,6 +263,17 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
cefWebBrowser.LoadError += CefWebBrowser_LoadError;
|
||||
cefWebBrowser.Dock = DockStyle.Fill;
|
||||
|
||||
//js绑定C#对象
|
||||
ShopBrowserObject shopObj = new ShopBrowserObject();
|
||||
shopObj.OnInfoReceived += ShopObj_OnInfoReceived;
|
||||
CefSharpSettings.WcfEnabled = true;
|
||||
cefWebBrowser.JavascriptObjectRepository.Register(
|
||||
name: "shopObj",
|
||||
objectToBind: shopObj,
|
||||
isAsync: false,
|
||||
options: new BindingOptions { Binder = BindingOptions.DefaultBinder.Binder /*CamelCaseJavascriptNames = false*/ /*cef79*/ }
|
||||
);
|
||||
|
||||
if (shop.Cookies == null)
|
||||
shop.Cookies = "";
|
||||
|
||||
@@ -317,6 +336,12 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
}
|
||||
}
|
||||
|
||||
private void ShopObj_OnInfoReceived(string information)
|
||||
{
|
||||
//BaseMsgForm.ShowInfo(information);
|
||||
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("alert('" + information + "');");
|
||||
}
|
||||
|
||||
private void CefWebBrowser_LoadError(object sender, CefSharp.LoadErrorEventArgs e)
|
||||
{
|
||||
}
|
||||
@@ -334,7 +359,6 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
private void CefWebBrowser_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e)
|
||||
{
|
||||
//if (!cefWebBrowser.IsBrowserInitialized) return;
|
||||
|
||||
//currentUrl = e.Url;
|
||||
//if (currentUrl.StartsWith("https://fxg.jinritemai.com/ffa/multiShop"))
|
||||
//{
|
||||
@@ -347,10 +371,31 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
//
|
||||
// });
|
||||
//}
|
||||
|
||||
//js绑定C#对象 html页面内声明绑定的C#对象
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("(function(){");
|
||||
sb.Append("CefSharp.BindObjectAsync('shopObj');");
|
||||
sb.Append("})();");
|
||||
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString());
|
||||
}
|
||||
|
||||
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
var data = responseData;
|
||||
if (data.Contains("supplierId") && data.Contains("\"success\":true"))
|
||||
{
|
||||
var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}");
|
||||
if(supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0)
|
||||
{
|
||||
var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong();
|
||||
if (supplierId > 0)
|
||||
this.currentSupplierId = supplierId;
|
||||
}
|
||||
}
|
||||
});
|
||||
if (url.StartsWith("https://seller.kuajingmaihuo.com/settle/site-main"))
|
||||
{
|
||||
cefWebBrowser.Load(shopMainUrl);
|
||||
@@ -410,6 +455,43 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
if (currentUrl.StartsWith("https://seller.kuajingmaihuo.com/goods/product/list"))
|
||||
{
|
||||
Task.Run(() => {
|
||||
string sAddInputJs = @"
|
||||
document.addEventListener('wheel', function(event) {
|
||||
// 检查滚动方向
|
||||
//if (event.deltaY < 0) {
|
||||
// console.log('向上滚动');
|
||||
//} else {
|
||||
// console.log('向下滚动');
|
||||
//}
|
||||
// 或者使用 event.deltaX 来检查水平滚动
|
||||
//if (event.deltaX < 0) {
|
||||
// console.log('向左滚动');
|
||||
//} else if (event.deltaX > 0) {
|
||||
// console.log('向右滚动');
|
||||
//}
|
||||
|
||||
// 阻止默认的滚动行为(如果有需要)
|
||||
//event.preventDefault();
|
||||
|
||||
addGetProdButton();
|
||||
});
|
||||
addGetProdButton();
|
||||
|
||||
function addGetProdButton() {
|
||||
var productLst = document.getElementsByClassName('product-info_idContent__iDukx');
|
||||
for(i=0; i<productLst.length; i++) {
|
||||
if (productLst[i].innerHTML.indexOf('提取商品') < 0 && productLst[i].innerHTML.indexOf('SPU ID') >= 0) {
|
||||
var sSpuId = productLst[i].innerText.replace('\r','').replace('\n','').replace('SPU ID:', '');
|
||||
productLst[i].innerHTML = productLst[i].innerHTML.replace(""></div>"", ""><input type=\""button\"" style=\""margin-left: 50px; width:60px; text-align:center\"" value=\""提取商品\"" onclick=\""shopObj.getProduct('"" + sSpuId + ""'," + this.currentSupplierId + @")\""></div>"");
|
||||
}
|
||||
}
|
||||
}";
|
||||
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sAddInputJs);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -462,183 +544,6 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
response.Wait(1000);
|
||||
Thread.Sleep(Randomx.GetId(500, 1000));
|
||||
return;
|
||||
//下面代码原抖音使用,废弃
|
||||
|
||||
#region 输入用js
|
||||
string jsSetValue = @"
|
||||
function keyboardInput(dom, st) {
|
||||
var evt = new InputEvent('input', {
|
||||
//var evt = new Event('input', { // cef57
|
||||
inputType: 'insertText',
|
||||
data: st,
|
||||
dataTransfer: null,
|
||||
isComposing: false
|
||||
});
|
||||
dom.value = st;
|
||||
dom.dispatchEvent(evt);
|
||||
dom.focus();
|
||||
};";
|
||||
|
||||
string jsInputKey = @"
|
||||
function fireKeyEvent(el, evtType, keyCode) {
|
||||
var evtObj;
|
||||
if (document.createEvent)
|
||||
{
|
||||
if (window.KeyEvent)
|
||||
{
|
||||
//firefox 浏览器下模拟事件
|
||||
evtObj = document.createEvent('KeyEvents');
|
||||
evtObj.initKeyEvent(evtType, true, true, window, true, false, false, false, keyCode, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
//chrome 浏览器下模拟事件
|
||||
evtObj = document.createEvent('UIEvents');
|
||||
evtObj.initUIEvent(evtType, true, true, window, 1);
|
||||
|
||||
delete evtObj.keyCode;
|
||||
if (typeof evtObj.keyCode === 'undefined')
|
||||
{
|
||||
//为了模拟keycode
|
||||
Object.defineProperty(evtObj, 'keyCode', { value: keyCode });
|
||||
}
|
||||
else
|
||||
{
|
||||
evtObj.key = String.fromCharCode(keyCode);
|
||||
}
|
||||
|
||||
if (typeof evtObj.ctrlKey === 'undefined')
|
||||
{
|
||||
//为了模拟ctrl键
|
||||
Object.defineProperty(evtObj, 'ctrlKey', { value: true });
|
||||
}
|
||||
else
|
||||
{
|
||||
evtObj.ctrlKey = true;
|
||||
}
|
||||
}
|
||||
el.dispatchEvent(evtObj);
|
||||
}
|
||||
else if (document.createEventObject)
|
||||
{
|
||||
//IE 浏览器下模拟事件
|
||||
evtObj = document.createEventObject();
|
||||
evtObj.keyCode = keyCode
|
||||
el.fireEvent('on' + evtType, evtObj);
|
||||
}
|
||||
}";
|
||||
#endregion
|
||||
|
||||
#region 输入用户名
|
||||
jsStr = @"var txt1 = document.getElementsByName('email')[0]; txt1.focus(); txt1.click(); keyboardInput(txt1, '" + _account + "');"
|
||||
+ "var uname = '" + _account + "';"
|
||||
+ "for(var i = 0; i < uname.length; i++) {"
|
||||
+ " cCode = uname.charCodeAt(i);"
|
||||
+ " fireKeyEvent(txt1, 'keydown', cCode);"
|
||||
+ " fireKeyEvent(txt1, 'keypress', cCode);"
|
||||
+ " fireKeyEvent(txt1, 'keyup', cCode);"
|
||||
+ "}";
|
||||
response = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsSetValue + jsInputKey + jsStr);
|
||||
response.Wait(2000);
|
||||
Thread.Sleep(Randomx.GetId(400, 800));
|
||||
#endregion
|
||||
|
||||
#region 输入密码
|
||||
jsStr = @"var txt2 = document.getElementsByName('password')[0]; txt2.focus(); txt2.click(); keyboardInput(txt2, '" + _password + "');"
|
||||
+ "var pwd = '" + _password + "';"
|
||||
+ "for(var i = 0; i < pwd.length; i++) {"
|
||||
+ " cCode = pwd.charCodeAt(i);"
|
||||
+ " fireKeyEvent(txt2, 'keydown', cCode);"
|
||||
+ " fireKeyEvent(txt2, 'keypress', cCode);"
|
||||
+ " fireKeyEvent(txt2, 'keyup', cCode);"
|
||||
+ "}";
|
||||
response = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsInputKey + jsStr);
|
||||
response.Wait(2000);
|
||||
Thread.Sleep(Randomx.GetId(400, 800));
|
||||
#endregion
|
||||
|
||||
#region 点击登录按钮
|
||||
jsStr = "var btn = document.getElementsByClassName('account-center-action-button')[0]; btn.click(); //btn.dispatchEvent(new Event('change'));";
|
||||
response = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr);
|
||||
response.Wait(2000);
|
||||
Thread.Sleep(1500 + Randomx.GetId(1000));
|
||||
#endregion
|
||||
|
||||
#region 获取验证码
|
||||
int getImageCount = 0;
|
||||
getImageAgain:
|
||||
if (!this.Created)
|
||||
return;
|
||||
|
||||
jsStr = "function getImg() { return document.getElementsByClassName('captcha_verify_img--wrapper')[0].innerHTML; }";
|
||||
jsStr += "getImg();";
|
||||
response = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr);
|
||||
response.Wait(2000);
|
||||
if (response.Result?.Result == null)
|
||||
{
|
||||
if (getImageCount < 50)
|
||||
{
|
||||
Thread.Sleep(2500);
|
||||
getImageCount++;
|
||||
goto getImageAgain;
|
||||
}
|
||||
}
|
||||
if (response.Result?.Result != null)
|
||||
{
|
||||
var imgStr = response.Result.Result.ToString();
|
||||
var src = BaseRegex.GetMatchRegexString(ref imgStr, "src=\"([\\s\\S]*?)\"");
|
||||
Bitmap bt = (Bitmap)GetHtml.LoadImage(src);
|
||||
if (bt != null)
|
||||
{
|
||||
int Stopxt = 0;
|
||||
int dragButtonWidth = 53;
|
||||
//Stopxt = new Base64ChangeImgUrl().CalculateNick(bt, dragButtonWidth);
|
||||
Thread.Sleep(500 + Randomx.GetId(1000));
|
||||
Stopxt = new Base64ChangeImgUrl().CalculateNickNew(bt, dragButtonWidth);
|
||||
if (Stopxt > 0)
|
||||
{
|
||||
jsStr = "function getImgPos() { return document.getElementsByClassName('secsdk-captcha-drag-icon')[0].getBoundingClientRect().left + '|' "
|
||||
+ " + document.getElementsByClassName('secsdk-captcha-drag-icon')[0].getBoundingClientRect().top;} getImgPos();";
|
||||
response = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr);
|
||||
response.Wait(2000);
|
||||
if (response.Result?.Result != null)
|
||||
{
|
||||
var xy = response.Result?.Result.ToString();
|
||||
var xyArr = xy.Split('|');
|
||||
if (xyArr.Length == 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
int x = (int)Convert.ToDecimal(xyArr[0]) + 25;
|
||||
int y = (int)Convert.ToDecimal(xyArr[1]) + 25;
|
||||
|
||||
// 自动滑块图形验证
|
||||
if (GlobalConfig.DouShopSettingParam.IsAutoDragLogin)
|
||||
{
|
||||
ShopLoginForm.CefMouseDragDou(cefWebBrowser, x, y, Convert.ToInt32((x + Stopxt * 340m / 552m) - 15), y);
|
||||
for (int i = 0; i < 1; i++)
|
||||
Thread.Sleep(2000 + Randomx.GetId(1000));
|
||||
response = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr);
|
||||
response.Wait(2000);
|
||||
if (response.Result?.Result != null && getImageCount < 50)
|
||||
{
|
||||
getImageCount++;
|
||||
goto getImageAgain;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 1; i++)
|
||||
Thread.Sleep(2000 + Randomx.GetId(1000));
|
||||
}
|
||||
}
|
||||
}
|
||||
Thread.Sleep(1500 + Randomx.GetId(1000));
|
||||
#endregion
|
||||
}
|
||||
|
||||
// 鼠标左键按下,移动,移动...左键抬起。
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.KJDForms.BaseForms;
|
||||
|
||||
namespace TemuKJD.KJDForms.AdminForms
|
||||
{
|
||||
public class ShopBrowserObject
|
||||
{
|
||||
public delegate void InfoReceivedHandler(string information);
|
||||
public event InfoReceivedHandler OnInfoReceived;
|
||||
|
||||
public string getProduct(string sProdId, long supplierId)
|
||||
{
|
||||
var prodId = sProdId.ParseToLong();
|
||||
if (prodId <= 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("商品Id不存在!");
|
||||
return "failed";
|
||||
}
|
||||
var shop = AdminShopForm.lstAdminShopInfo.FirstOrDefault(s => s.ShopId == supplierId.ToString());
|
||||
if (supplierId <= 0 || shop == null)
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺不存在!");
|
||||
return "failed";
|
||||
}
|
||||
|
||||
Task.Run(() => {
|
||||
var shop1 = shop;
|
||||
var prodId1 = prodId;
|
||||
var html = ProductQuery(shop1, prodId1.ToString());
|
||||
if (html.Contains("\"success\":true") && html.Contains("\"result\""))
|
||||
{
|
||||
JObject obj = JObject.Parse(html);
|
||||
try
|
||||
{
|
||||
var result = JsonHelper.SerializeObject(obj["result"]);
|
||||
TemuProductInfo product = JsonHelper.DeserializeJsonToObject<TemuProductInfo>(result);
|
||||
|
||||
|
||||
// 创建 SaveFileDialog 的实例
|
||||
SaveFileDialog saveFileDialog = new SaveFileDialog();
|
||||
|
||||
// 单线程单元(STA)模式运行文件对话框,否则会报错。
|
||||
System.Threading.Thread InvokeThread = new System.Threading.Thread(new System.Threading.ThreadStart(()=> {
|
||||
|
||||
// 设置对话框的属性
|
||||
saveFileDialog.Title = "保存商品";
|
||||
saveFileDialog.Filter = "商品文件 (*.prd)|*.prd|所有文件 (*.*)|*.*"; // 过滤文件类型
|
||||
saveFileDialog.FileName = product.productId.ParseToString(); // 默认文件名
|
||||
saveFileDialog.DefaultExt = "txt"; // 默认文件扩展名
|
||||
|
||||
// 显示对话框并获取结果
|
||||
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
// 用户点击了“保存”按钮,此时可以获取文件的路径
|
||||
string filePath = saveFileDialog.FileName;
|
||||
// 在这里处理文件保存逻辑,例如写入数据到文件
|
||||
System.IO.File.WriteAllText(filePath, result);
|
||||
}
|
||||
//BaseMsgForm.ShowInfo("商品保存成功!");
|
||||
OnInfoReceived("商品保存成功!");
|
||||
}));
|
||||
InvokeThread.SetApartmentState(System.Threading.ApartmentState.STA);
|
||||
InvokeThread.Start();
|
||||
InvokeThread.Join();
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return "success";
|
||||
}
|
||||
|
||||
|
||||
|
||||
private string ProductQuery(ShopLoginInfo shop, string prodId)
|
||||
{
|
||||
string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/query";
|
||||
string body = @"{""productId"":" + prodId + @",""productEditTaskUid"":""""}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId;
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,7 +73,7 @@ namespace TemuKJD.KJDForms
|
||||
cefWebBrowser3.AddressChanged += CefWebBrowser3_AddressChanged;
|
||||
cefWebBrowser3.AddressChanged += cefWebBrowser3_UrlChanged;
|
||||
|
||||
cefWebBrowser3.BrowserSettings = new BrowserSettings { Plugins = CefState.Disabled };
|
||||
cefWebBrowser3.BrowserSettings = new BrowserSettings { /*Plugins = CefState.Disabled*/ /*cef92*/ };
|
||||
panel2.Controls.Add(cefWebBrowser3);
|
||||
DelCookies();
|
||||
ChromeCookies = "";
|
||||
|
||||
@@ -392,7 +392,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/price-manage/price-adjustment";
|
||||
|
||||
return ProductResponse.GetPostResponse(shop, url, body, refere);
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void panelEx1_Click(object sender, EventArgs e)
|
||||
@@ -557,7 +557,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
body += "]}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/price-manage/price-adjustment";
|
||||
|
||||
return ProductResponse.GetPostResponse(shop, url, body, refere);
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void dgvStock_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
|
||||
+52
-3
@@ -8,11 +8,11 @@ using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductForms
|
||||
namespace TemuKJD.KJDForms
|
||||
{
|
||||
public class ProductResponse
|
||||
public class KJDHttpResponse
|
||||
{
|
||||
public static string GetPostResponse(ShopLoginInfo shop, string _url, string _data, string referer)
|
||||
public static string PostResponse(ShopLoginInfo shop, string _url, string _data, string referer)
|
||||
{
|
||||
HttpWebResponse response = null;
|
||||
string result;
|
||||
@@ -70,5 +70,54 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
result = GetProxyHtml.ReadResponse(response);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string GetResponse(ShopLoginInfo shop, string _url, string referer="")
|
||||
{
|
||||
HttpWebResponse response = null;
|
||||
string result;
|
||||
try
|
||||
{
|
||||
string url = _url;
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||||
|
||||
request.KeepAlive = true;
|
||||
//request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0");
|
||||
//request.Headers.Add("Anti-Content", @"0aqAfqFyXcGvBgd9Q0HiJJ7kvWcKK7muUHnJ6oMAdmem0tmm_enmX1DBr-nJNxmoki33dqHTkZU18BU2p8P72Cg2uEZ_acOOBCxGmIs-Gym4EtKpTdZ6kWRCSClS9L6maLm0imx0GIjodHtLnwpx4ayHnhzNnCXEFecZSC8lBRHb9WCAoyY79kMLIWxBMZZSZrR2_LYUJ5UXzf-82ob455f7OvJa6s895N4wiMGR4vbVH8gFN2VuCxS27RpXDa2WCQQQd6XsJPw7amSUaob6oZ2MXuYb9K3ZqoCX5-nJimNZDR0rNCLB13sYgWq9jy0Q3gjnsFY2dJQDh3ewXS2vvf2DN9IAEzInwWTY31Fn0B6-s8DqwIm61OlXsfYt1AYOOyNMLzkw5llaDaqK21f7vspAuXwnJdAdKXJXSyyEimvTyF_AYLp1gkNqBqN1_ik_jc6cKTDJtGUgFjRojR4g4zM7Ww3wfW63WQrJftYhiTIJiS1tZcsceZht3Zu3MsvyxpAbx4bxFrvL0A6OFx752XsVi04Tm6HDhgt7MmpsrTO5WD_KjgjxNX8VNoGndD0OmriAYVn6kwmZXE6Y_khGedxumIGy4sOQI36__CeiuiPIvB8itfOqd7eyqyeCIaEODrh9dSLBQz8AxQ2xt60OTn4HSiPmlwo1J0TFtjUw2DUZB68tdrINb7ugulMsaIwMKr8S0bilSKW6JuYw3oAsmK3daQfJWy3mzVowY1UwPQfTB4Ibz6uRQxHkvhsRTXkrAygGeZIc9S");
|
||||
request.Headers.Add("sec-ch-ua", @"""Google Chrome"";v=""137"", ""Chromium"";v=""137"", ""Not/A)Brand"";v=""24""");
|
||||
request.Headers.Add("sec-ch-ua-mobile", @"?0");
|
||||
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
||||
request.Headers.Add("Upgrade-Insecure-Requests", @"1");
|
||||
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36";
|
||||
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7";
|
||||
request.Headers.Add("Sec-Fetch-Site", @"same-origin");
|
||||
request.Headers.Add("Sec-Fetch-Mode", @"navigate");
|
||||
request.Headers.Add("Sec-Fetch-User", @"?1");
|
||||
request.Headers.Add("Sec-Fetch-Dest", @"document");
|
||||
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd");
|
||||
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
|
||||
request.Headers.Set(HttpRequestHeader.Cookie, shop.Cookies);
|
||||
|
||||
response = (HttpWebResponse)request.GetResponse();
|
||||
}
|
||||
catch (WebException ex)
|
||||
{
|
||||
if (ex.Status == WebExceptionStatus.ProtocolError)
|
||||
{
|
||||
response = (HttpWebResponse)ex.Response;
|
||||
result = GetProxyHtml.ReadResponse(response);
|
||||
return result;
|
||||
}
|
||||
else return ex.Message;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
if (response != null) response.Close();
|
||||
return e.Message;
|
||||
}
|
||||
result = GetProxyHtml.ReadResponse(response);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+200
-122
@@ -30,14 +30,17 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.txtMinBound = new System.Windows.Forms.TextBox();
|
||||
this.label15 = new System.Windows.Forms.Label();
|
||||
this.lblMinBound = new System.Windows.Forms.Label();
|
||||
this.txtScale2 = new System.Windows.Forms.TextBox();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.txtScale1 = new System.Windows.Forms.TextBox();
|
||||
@@ -45,6 +48,8 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.btnListWarehouse = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnStartStockUp = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.label16 = new System.Windows.Forms.Label();
|
||||
this.label17 = new System.Windows.Forms.Label();
|
||||
this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.btnCancelSubPurchaseOrder = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx2 = new DevComponents.DotNetBar.PanelEx();
|
||||
@@ -109,10 +114,6 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.btnStopAdd = new DevComponents.DotNetBar.PanelEx();
|
||||
this.chkLimited = new System.Windows.Forms.CheckBox();
|
||||
this.dgvStock = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.colUpId = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -132,6 +133,11 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.colWaitReceiveNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colNeedStockUp = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -161,6 +167,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.splitContainer4.Panel1.SuspendLayout();
|
||||
this.splitContainer4.Panel2.SuspendLayout();
|
||||
this.splitContainer4.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
@@ -192,6 +199,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
|
||||
this.ucGroupBoxEx4.Controls.Add(this.flowLayoutPanel1);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.txtScale2);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.label14);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.txtScale1);
|
||||
@@ -199,6 +207,8 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.ucGroupBoxEx4.Controls.Add(this.btnListWarehouse);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.btnStartStockUp);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.label10);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.label16);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.label17);
|
||||
this.ucGroupBoxEx4.Location = new System.Drawing.Point(397, 2);
|
||||
this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
|
||||
this.ucGroupBoxEx4.Size = new System.Drawing.Size(749, 120);
|
||||
@@ -206,9 +216,41 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.ucGroupBoxEx4.TabStop = false;
|
||||
this.ucGroupBoxEx4.Text = "创建备货单";
|
||||
//
|
||||
// txtMinBound
|
||||
//
|
||||
this.txtMinBound.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.txtMinBound.Location = new System.Drawing.Point(105, 0);
|
||||
this.txtMinBound.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.txtMinBound.Name = "txtMinBound";
|
||||
this.txtMinBound.Size = new System.Drawing.Size(39, 23);
|
||||
this.txtMinBound.TabIndex = 690;
|
||||
this.txtMinBound.Text = "3";
|
||||
this.txtMinBound.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.txtMinBound.TextChanged += new System.EventHandler(this.txtMinBound_TextChanged);
|
||||
//
|
||||
// label15
|
||||
//
|
||||
this.label15.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label15.AutoSize = true;
|
||||
this.label15.Location = new System.Drawing.Point(147, 3);
|
||||
this.label15.Name = "label15";
|
||||
this.label15.Size = new System.Drawing.Size(32, 17);
|
||||
this.label15.TabIndex = 692;
|
||||
this.label15.Text = "备货";
|
||||
//
|
||||
// lblMinBound
|
||||
//
|
||||
this.lblMinBound.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.lblMinBound.AutoSize = true;
|
||||
this.lblMinBound.Location = new System.Drawing.Point(3, 3);
|
||||
this.lblMinBound.Name = "lblMinBound";
|
||||
this.lblMinBound.Size = new System.Drawing.Size(99, 17);
|
||||
this.lblMinBound.TabIndex = 691;
|
||||
this.lblMinBound.Text = "备货数量小于3按";
|
||||
//
|
||||
// txtScale2
|
||||
//
|
||||
this.txtScale2.Location = new System.Drawing.Point(369, 68);
|
||||
this.txtScale2.Location = new System.Drawing.Point(388, 54);
|
||||
this.txtScale2.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.txtScale2.Name = "txtScale2";
|
||||
this.txtScale2.Size = new System.Drawing.Size(39, 23);
|
||||
@@ -219,15 +261,15 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
// label14
|
||||
//
|
||||
this.label14.AutoSize = true;
|
||||
this.label14.Location = new System.Drawing.Point(223, 72);
|
||||
this.label14.Location = new System.Drawing.Point(242, 58);
|
||||
this.label14.Name = "label14";
|
||||
this.label14.Size = new System.Drawing.Size(147, 17);
|
||||
this.label14.Size = new System.Drawing.Size(148, 17);
|
||||
this.label14.TabIndex = 679;
|
||||
this.label14.Text = "近7日加购大于今日销量 X";
|
||||
this.label14.Text = "近7日加购大于今日销量 ×";
|
||||
//
|
||||
// txtScale1
|
||||
//
|
||||
this.txtScale1.Location = new System.Drawing.Point(369, 40);
|
||||
this.txtScale1.Location = new System.Drawing.Point(388, 26);
|
||||
this.txtScale1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.txtScale1.Name = "txtScale1";
|
||||
this.txtScale1.Size = new System.Drawing.Size(39, 23);
|
||||
@@ -312,11 +354,29 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(163, 44);
|
||||
this.label10.Location = new System.Drawing.Point(182, 30);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(207, 17);
|
||||
this.label10.Size = new System.Drawing.Size(208, 17);
|
||||
this.label10.TabIndex = 678;
|
||||
this.label10.Text = "备货数量:近7日加购小于今日销量 X";
|
||||
this.label10.Text = "备货数量:近7日加购小于今日销量 ×";
|
||||
//
|
||||
// label16
|
||||
//
|
||||
this.label16.AutoSize = true;
|
||||
this.label16.Location = new System.Drawing.Point(425, 30);
|
||||
this.label16.Name = "label16";
|
||||
this.label16.Size = new System.Drawing.Size(44, 17);
|
||||
this.label16.TabIndex = 693;
|
||||
this.label16.Text = "-库存";
|
||||
//
|
||||
// label17
|
||||
//
|
||||
this.label17.AutoSize = true;
|
||||
this.label17.Location = new System.Drawing.Point(425, 58);
|
||||
this.label17.Name = "label17";
|
||||
this.label17.Size = new System.Drawing.Size(44, 17);
|
||||
this.label17.TabIndex = 694;
|
||||
this.label17.Text = "-库存";
|
||||
//
|
||||
// ucGroupBoxEx3
|
||||
//
|
||||
@@ -601,18 +661,18 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
dataGridViewCellStyle7.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -627,8 +687,8 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.dgvShop.Name = "dgvShop";
|
||||
this.dgvShop.ReadOnly = true;
|
||||
this.dgvShop.RowHeadersWidth = 30;
|
||||
dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.dgvShop.RowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.dgvShop.RowsDefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.dgvShop.RowTemplate.Height = 23;
|
||||
this.dgvShop.Size = new System.Drawing.Size(266, 435);
|
||||
this.dgvShop.TabIndex = 6;
|
||||
@@ -1190,18 +1250,18 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
//
|
||||
this.dgvStock.AllowUserToAddRows = false;
|
||||
this.dgvStock.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvStock.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle10.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvStock.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.dgvStock.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvStock.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvStock.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvStock.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.dgvStock.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvStock.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colUpId,
|
||||
@@ -1227,93 +1287,13 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.dgvStock.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgvStock.Name = "dgvStock";
|
||||
this.dgvStock.ReadOnly = true;
|
||||
dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.dgvStock.RowsDefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.dgvStock.RowsDefaultCellStyle = dataGridViewCellStyle12;
|
||||
this.dgvStock.RowTemplate.Height = 23;
|
||||
this.dgvStock.Size = new System.Drawing.Size(870, 435);
|
||||
this.dgvStock.TabIndex = 187;
|
||||
this.dgvStock.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvStock_CellContentClick);
|
||||
//
|
||||
// splitContainer4
|
||||
//
|
||||
this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer4.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer4.Name = "splitContainer4";
|
||||
//
|
||||
// splitContainer4.Panel1
|
||||
//
|
||||
this.splitContainer4.Panel1.Controls.Add(this.statusBar);
|
||||
//
|
||||
// splitContainer4.Panel2
|
||||
//
|
||||
this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
|
||||
this.splitContainer4.Panel2.Controls.Add(this.btnClear);
|
||||
this.splitContainer4.Size = new System.Drawing.Size(1148, 26);
|
||||
this.splitContainer4.SplitterDistance = 870;
|
||||
this.splitContainer4.TabIndex = 3;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(870, 26);
|
||||
this.statusBar.TabIndex = 2;
|
||||
//
|
||||
// panelEx1
|
||||
//
|
||||
this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx1.Location = new System.Drawing.Point(155, 0);
|
||||
this.panelEx1.Name = "panelEx1";
|
||||
this.panelEx1.Size = new System.Drawing.Size(115, 21);
|
||||
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.panelEx1.Style.GradientAngle = 90;
|
||||
this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.panelEx1.TabIndex = 668;
|
||||
this.panelEx1.Text = "停止当前操作";
|
||||
this.panelEx1.Click += new System.EventHandler(this.btnStop_Click);
|
||||
//
|
||||
// btnClear
|
||||
//
|
||||
this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnClear.Location = new System.Drawing.Point(47, 0);
|
||||
this.btnClear.Name = "btnClear";
|
||||
this.btnClear.Size = new System.Drawing.Size(90, 21);
|
||||
this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.Style.GradientAngle = 90;
|
||||
this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.TabIndex = 440;
|
||||
this.btnClear.Text = "清空结果";
|
||||
this.btnClear.Visible = false;
|
||||
//
|
||||
// colUpId
|
||||
//
|
||||
this.colUpId.HeaderText = "上家Id";
|
||||
@@ -1467,6 +1447,96 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.colMsg.ReadOnly = true;
|
||||
this.colMsg.Width = 400;
|
||||
//
|
||||
// splitContainer4
|
||||
//
|
||||
this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer4.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer4.Name = "splitContainer4";
|
||||
//
|
||||
// splitContainer4.Panel1
|
||||
//
|
||||
this.splitContainer4.Panel1.Controls.Add(this.statusBar);
|
||||
//
|
||||
// splitContainer4.Panel2
|
||||
//
|
||||
this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
|
||||
this.splitContainer4.Panel2.Controls.Add(this.btnClear);
|
||||
this.splitContainer4.Size = new System.Drawing.Size(1148, 26);
|
||||
this.splitContainer4.SplitterDistance = 870;
|
||||
this.splitContainer4.TabIndex = 3;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(870, 26);
|
||||
this.statusBar.TabIndex = 2;
|
||||
//
|
||||
// panelEx1
|
||||
//
|
||||
this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx1.Location = new System.Drawing.Point(155, 0);
|
||||
this.panelEx1.Name = "panelEx1";
|
||||
this.panelEx1.Size = new System.Drawing.Size(115, 21);
|
||||
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.panelEx1.Style.GradientAngle = 90;
|
||||
this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.panelEx1.TabIndex = 668;
|
||||
this.panelEx1.Text = "停止当前操作";
|
||||
this.panelEx1.Click += new System.EventHandler(this.btnStop_Click);
|
||||
//
|
||||
// btnClear
|
||||
//
|
||||
this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnClear.Location = new System.Drawing.Point(47, 0);
|
||||
this.btnClear.Name = "btnClear";
|
||||
this.btnClear.Size = new System.Drawing.Size(90, 21);
|
||||
this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.Style.GradientAngle = 90;
|
||||
this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.TabIndex = 440;
|
||||
this.btnClear.Text = "清空结果";
|
||||
this.btnClear.Visible = false;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.Controls.Add(this.lblMinBound);
|
||||
this.flowLayoutPanel1.Controls.Add(this.txtMinBound);
|
||||
this.flowLayoutPanel1.Controls.Add(this.label15);
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(180, 83);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(284, 31);
|
||||
this.flowLayoutPanel1.TabIndex = 702;
|
||||
//
|
||||
// SaleStockUpForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@@ -1516,6 +1586,8 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.splitContainer4.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit();
|
||||
this.splitContainer4.ResumeLayout(false);
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.flowLayoutPanel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@@ -1618,5 +1690,11 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colWaitReceiveNum;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNeedStockUp;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
|
||||
private System.Windows.Forms.TextBox txtMinBound;
|
||||
private System.Windows.Forms.Label label15;
|
||||
private System.Windows.Forms.Label lblMinBound;
|
||||
private System.Windows.Forms.Label label16;
|
||||
private System.Windows.Forms.Label label17;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
}
|
||||
}
|
||||
@@ -368,7 +368,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/order-manage";
|
||||
|
||||
return ProductResponse.GetPostResponse(shop, url, body,refere);
|
||||
return KJDHttpResponse.PostResponse(shop, url, body,refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -383,7 +383,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = "{\"subPurchaseOrderSnList\":[\"" + subPurchaseOrderSn + "\"]}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/order-manage";
|
||||
|
||||
return ProductResponse.GetPostResponse(shop, url, body, refere);
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetWarehouseList(ShopLoginInfo shop, int page = 1)
|
||||
@@ -393,7 +393,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = @"{""pageNo"":" + page + @",""pageSize"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main";
|
||||
|
||||
return ProductResponse.GetPostResponse(shop, url, body, refere);
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -408,7 +408,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = "{\"productSkcId\":" + subOrderInfo.productSkcId
|
||||
+ ",\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main";
|
||||
return ProductResponse.GetPostResponse(shop, url, body, refere);
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -431,7 +431,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
body += "],\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main";
|
||||
|
||||
return ProductResponse.GetPostResponse(shop, url, body, refere);
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
@@ -767,6 +767,8 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
sku.wantStockUpBound = sku.todaySaleVolume.ParseToInt() * scale
|
||||
- sku.inventoryNumInfo.warehouseInventoryNum.ParseToInt()
|
||||
- sku.inventoryNumInfo.waitReceiveNum.ParseToInt();
|
||||
if (sku.wantStockUpBound > 0 && sku.wantStockUpBound < this.txtMinBound.Text.ParseToInt())
|
||||
sku.wantStockUpBound = this.txtMinBound.Text.ParseToInt();
|
||||
sku.wantStockUpBound = Math.Max(sku.wantStockUpBound, 0);
|
||||
}
|
||||
if (sInfo.skuQuantityDetailList.Any(s => s.wantStockUpBound > 0))
|
||||
@@ -1029,5 +1031,10 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
}));
|
||||
}, cancellationTokenSource.Token);
|
||||
}
|
||||
|
||||
private void txtMinBound_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.lblMinBound.Text = "备货数量小于" + txtMinBound.Text.ParseToInt() + "按";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,312 @@
|
||||
namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
partial class ProductSelectListForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProductSelectListForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.txtNotes = new DevComponents.DotNetBar.Controls.TextBoxX();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.cmbGroup = new System.Windows.Forms.ComboBox();
|
||||
this.txtBuyAccount = new DevComponents.DotNetBar.Controls.TextBoxX();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.txtChatAccount = new DevComponents.DotNetBar.Controls.TextBoxX();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.txtUploadAccount = new DevComponents.DotNetBar.Controls.TextBoxX();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.txtShopPassword = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.txtLoginName = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.btnOk = new TemuKJD.UserControls.ButtonEx();
|
||||
this.panel2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.label8);
|
||||
this.panel2.Controls.Add(this.txtNotes);
|
||||
this.panel2.Controls.Add(this.label7);
|
||||
this.panel2.Controls.Add(this.cmbGroup);
|
||||
this.panel2.Controls.Add(this.txtBuyAccount);
|
||||
this.panel2.Controls.Add(this.label6);
|
||||
this.panel2.Controls.Add(this.txtChatAccount);
|
||||
this.panel2.Controls.Add(this.label4);
|
||||
this.panel2.Controls.Add(this.txtUploadAccount);
|
||||
this.panel2.Controls.Add(this.label3);
|
||||
this.panel2.Controls.Add(this.txtShopPassword);
|
||||
this.panel2.Controls.Add(this.label2);
|
||||
this.panel2.Controls.Add(this.txtLoginName);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Controls.Add(this.label5);
|
||||
this.panel2.Controls.Add(this.btnOk);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(898, 506);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(29, 135);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(56, 17);
|
||||
this.label8.TabIndex = 386;
|
||||
this.label8.Text = " 备注";
|
||||
//
|
||||
// txtNotes
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.txtNotes.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtNotes.Border.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtNotes.Border.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtNotes.Border.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtNotes.Border.Class = "CrumbBarBackgroundKey";
|
||||
this.txtNotes.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.txtNotes.Border.PaddingBottom = 2;
|
||||
this.txtNotes.Border.PaddingLeft = 2;
|
||||
this.txtNotes.Border.PaddingRight = 2;
|
||||
this.txtNotes.Border.PaddingTop = 2;
|
||||
this.txtNotes.Location = new System.Drawing.Point(91, 133);
|
||||
this.txtNotes.Name = "txtNotes";
|
||||
this.txtNotes.Size = new System.Drawing.Size(172, 23);
|
||||
this.txtNotes.TabIndex = 385;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.ForeColor = System.Drawing.Color.DarkGray;
|
||||
this.label7.Location = new System.Drawing.Point(31, 214);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(164, 17);
|
||||
this.label7.TabIndex = 384;
|
||||
this.label7.Text = "登录密码为空表示不更新密码";
|
||||
this.label7.Visible = false;
|
||||
//
|
||||
// cmbGroup
|
||||
//
|
||||
this.cmbGroup.FormattingEnabled = true;
|
||||
this.cmbGroup.Items.AddRange(new object[] {
|
||||
"客服",
|
||||
"采购",
|
||||
"上货",
|
||||
"数据",
|
||||
"登录"});
|
||||
this.cmbGroup.Location = new System.Drawing.Point(91, 269);
|
||||
this.cmbGroup.Name = "cmbGroup";
|
||||
this.cmbGroup.Size = new System.Drawing.Size(172, 25);
|
||||
this.cmbGroup.TabIndex = 383;
|
||||
this.cmbGroup.Visible = false;
|
||||
//
|
||||
// txtBuyAccount
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.txtBuyAccount.Border.Class = "CrumbBarBackgroundKey";
|
||||
this.txtBuyAccount.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.txtBuyAccount.Border.PaddingBottom = 2;
|
||||
this.txtBuyAccount.Border.PaddingLeft = 2;
|
||||
this.txtBuyAccount.Border.PaddingRight = 2;
|
||||
this.txtBuyAccount.Border.PaddingTop = 2;
|
||||
this.txtBuyAccount.Location = new System.Drawing.Point(91, 240);
|
||||
this.txtBuyAccount.Name = "txtBuyAccount";
|
||||
this.txtBuyAccount.Size = new System.Drawing.Size(172, 23);
|
||||
this.txtBuyAccount.TabIndex = 382;
|
||||
this.txtBuyAccount.Visible = false;
|
||||
this.txtBuyAccount.WatermarkText = "点击添加店铺子账户";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(29, 243);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(56, 17);
|
||||
this.label6.TabIndex = 381;
|
||||
this.label6.Text = "采购账户";
|
||||
this.label6.Visible = false;
|
||||
//
|
||||
// txtChatAccount
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.txtChatAccount.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtChatAccount.Border.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtChatAccount.Border.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtChatAccount.Border.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtChatAccount.Border.Class = "CrumbBarBackgroundKey";
|
||||
this.txtChatAccount.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.txtChatAccount.Border.PaddingBottom = 2;
|
||||
this.txtChatAccount.Border.PaddingLeft = 2;
|
||||
this.txtChatAccount.Border.PaddingRight = 2;
|
||||
this.txtChatAccount.Border.PaddingTop = 2;
|
||||
this.txtChatAccount.Location = new System.Drawing.Point(91, 99);
|
||||
this.txtChatAccount.Name = "txtChatAccount";
|
||||
this.txtChatAccount.Size = new System.Drawing.Size(172, 23);
|
||||
this.txtChatAccount.TabIndex = 380;
|
||||
this.txtChatAccount.WatermarkText = "点击添加店铺子账户";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(29, 102);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(56, 17);
|
||||
this.label4.TabIndex = 379;
|
||||
this.label4.Text = " 子账户";
|
||||
//
|
||||
// txtUploadAccount
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.txtUploadAccount.Border.Class = "CrumbBarBackgroundKey";
|
||||
this.txtUploadAccount.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.txtUploadAccount.Border.PaddingBottom = 2;
|
||||
this.txtUploadAccount.Border.PaddingLeft = 2;
|
||||
this.txtUploadAccount.Border.PaddingRight = 2;
|
||||
this.txtUploadAccount.Border.PaddingTop = 2;
|
||||
this.txtUploadAccount.Location = new System.Drawing.Point(91, 99);
|
||||
this.txtUploadAccount.Name = "txtUploadAccount";
|
||||
this.txtUploadAccount.Size = new System.Drawing.Size(172, 23);
|
||||
this.txtUploadAccount.TabIndex = 374;
|
||||
this.txtUploadAccount.Visible = false;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(29, 102);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(56, 17);
|
||||
this.label3.TabIndex = 373;
|
||||
this.label3.Text = "上货账户";
|
||||
this.label3.Visible = false;
|
||||
//
|
||||
// txtShopPassword
|
||||
//
|
||||
this.txtShopPassword.Location = new System.Drawing.Point(91, 64);
|
||||
this.txtShopPassword.Name = "txtShopPassword";
|
||||
this.txtShopPassword.PasswordChar = '●';
|
||||
this.txtShopPassword.Size = new System.Drawing.Size(172, 23);
|
||||
this.txtShopPassword.TabIndex = 338;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(29, 67);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(56, 17);
|
||||
this.label2.TabIndex = 337;
|
||||
this.label2.Text = "登录密码";
|
||||
//
|
||||
// txtLoginName
|
||||
//
|
||||
this.txtLoginName.Location = new System.Drawing.Point(91, 29);
|
||||
this.txtLoginName.Name = "txtLoginName";
|
||||
this.txtLoginName.Size = new System.Drawing.Size(172, 23);
|
||||
this.txtLoginName.TabIndex = 336;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(29, 32);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(56, 17);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "登录账号";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(29, 272);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(56, 17);
|
||||
this.label5.TabIndex = 377;
|
||||
this.label5.Text = "店铺分组";
|
||||
this.label5.Visible = false;
|
||||
//
|
||||
// btnOk
|
||||
//
|
||||
this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnOk.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOk.Location = new System.Drawing.Point(208, 209);
|
||||
this.btnOk.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.Size = new System.Drawing.Size(55, 26);
|
||||
this.btnOk.TabIndex = 372;
|
||||
this.btnOk.Text = "新增";
|
||||
this.btnOk.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// ProductSelectListForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(900, 540);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "ProductSelectListForm";
|
||||
this.Text = "选品列表";
|
||||
this.TitleText = "选品列表";
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox txtShopPassword;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TextBox txtLoginName;
|
||||
private UserControls.ButtonEx btnOk;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private DevComponents.DotNetBar.Controls.TextBoxX txtUploadAccount;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private DevComponents.DotNetBar.Controls.TextBoxX txtBuyAccount;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private DevComponents.DotNetBar.Controls.TextBoxX txtChatAccount;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.ComboBox cmbGroup;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private DevComponents.DotNetBar.Controls.TextBoxX txtNotes;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using TemuKJD.KJDForms.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;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
public partial class ProductSelectListForm : LRBaseForm
|
||||
{
|
||||
|
||||
public ProductSelectListForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,298 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
|
||||
zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
|
||||
zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM
|
||||
zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA
|
||||
AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA
|
||||
AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM
|
||||
zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM
|
||||
zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM
|
||||
zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP////////////////////////////////////////
|
||||
//iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI////////////////////////////////////
|
||||
////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4////////////////////////////////
|
||||
//////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj///////////////////////////
|
||||
/////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP//////////////////////
|
||||
///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4//////////////////
|
||||
/////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj/////////////
|
||||
///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI////////
|
||||
/////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj///
|
||||
//////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM
|
||||
eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM
|
||||
zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM
|
||||
zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM
|
||||
zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM
|
||||
zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4
|
||||
fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI
|
||||
j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4
|
||||
iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI//////////
|
||||
////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj///
|
||||
//////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI
|
||||
iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4//
|
||||
/4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP////////////
|
||||
///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/
|
||||
///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H
|
||||
fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP//////
|
||||
///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/
|
||||
////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM
|
||||
zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM
|
||||
zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM
|
||||
zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP////////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj///
|
||||
//////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM
|
||||
eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I
|
||||
j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI//////////////////////
|
||||
/////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP//////////////////
|
||||
/////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I//////////////
|
||||
///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP////////
|
||||
/////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj///////////////
|
||||
//////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI//////////
|
||||
//////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I////////////////////////////////////////////
|
||||
//h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij/////////////////////////////////////
|
||||
//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4
|
||||
////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP//////////////////////
|
||||
////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////////////
|
||||
///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////
|
||||
//////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////
|
||||
//////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////
|
||||
///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////
|
||||
////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI
|
||||
j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj///////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI//
|
||||
//////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI
|
||||
iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj/////
|
||||
/4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM
|
||||
j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM
|
||||
zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI////
|
||||
//jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI
|
||||
iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI
|
||||
iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH
|
||||
j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI////
|
||||
///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI
|
||||
iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4
|
||||
iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP//
|
||||
/////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM
|
||||
zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM
|
||||
zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4
|
||||
fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP////////////////
|
||||
////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH////////////
|
||||
//////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP//////
|
||||
//////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/
|
||||
////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM
|
||||
zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM
|
||||
zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM
|
||||
zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM
|
||||
zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8
|
||||
zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj///////////////
|
||||
///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj/////////
|
||||
////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj///
|
||||
/////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM
|
||||
x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM
|
||||
zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM
|
||||
zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM
|
||||
zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP////////
|
||||
//iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP//
|
||||
//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM
|
||||
zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM
|
||||
zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA
|
||||
AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA
|
||||
AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
|
||||
AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
|
||||
AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
|
||||
B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
|
||||
AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
|
||||
AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
|
||||
AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
|
||||
AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
|
||||
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
|
||||
AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
|
||||
AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
|
||||
AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
|
||||
AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
|
||||
AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
|
||||
+AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
+40
-28
@@ -52,6 +52,8 @@
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.chkAutoDrag = new System.Windows.Forms.CheckBox();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -70,11 +72,10 @@
|
||||
this.colMultiLogin = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colApiAuth = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colBuyApiAuth = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colUpdateCookie = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.chkAutoDrag = new System.Windows.Forms.CheckBox();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -403,6 +404,7 @@
|
||||
this.colMultiLogin,
|
||||
this.colApiAuth,
|
||||
this.colBuyApiAuth,
|
||||
this.colUpdateCookie,
|
||||
this.colCopyCookies,
|
||||
this.colEdit,
|
||||
this.colDelete});
|
||||
@@ -417,6 +419,31 @@
|
||||
this.dgvShop.TabIndex = 5;
|
||||
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
|
||||
//
|
||||
// chkAutoDrag
|
||||
//
|
||||
this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.chkAutoDrag.AutoSize = true;
|
||||
this.chkAutoDrag.BackColor = System.Drawing.Color.White;
|
||||
this.chkAutoDrag.Location = new System.Drawing.Point(907, 2);
|
||||
this.chkAutoDrag.Name = "chkAutoDrag";
|
||||
this.chkAutoDrag.Size = new System.Drawing.Size(159, 21);
|
||||
this.chkAutoDrag.TabIndex = 3;
|
||||
this.chkAutoDrag.Text = "登录时自动滑动拼图验证";
|
||||
this.chkAutoDrag.UseVisualStyleBackColor = false;
|
||||
this.chkAutoDrag.Visible = false;
|
||||
this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click);
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1063, 28);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 26F;
|
||||
@@ -563,6 +590,15 @@
|
||||
this.colBuyApiAuth.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colBuyApiAuth.Visible = false;
|
||||
//
|
||||
// colUpdateCookie
|
||||
//
|
||||
this.colUpdateCookie.FillWeight = 67F;
|
||||
this.colUpdateCookie.HeaderText = "导入Cookie";
|
||||
this.colUpdateCookie.Name = "colUpdateCookie";
|
||||
this.colUpdateCookie.ReadOnly = true;
|
||||
this.colUpdateCookie.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colUpdateCookie.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colCopyCookies
|
||||
//
|
||||
this.colCopyCookies.FillWeight = 70F;
|
||||
@@ -588,31 +624,6 @@
|
||||
this.colDelete.Name = "colDelete";
|
||||
this.colDelete.ReadOnly = true;
|
||||
//
|
||||
// chkAutoDrag
|
||||
//
|
||||
this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.chkAutoDrag.AutoSize = true;
|
||||
this.chkAutoDrag.BackColor = System.Drawing.Color.White;
|
||||
this.chkAutoDrag.Location = new System.Drawing.Point(907, 2);
|
||||
this.chkAutoDrag.Name = "chkAutoDrag";
|
||||
this.chkAutoDrag.Size = new System.Drawing.Size(159, 21);
|
||||
this.chkAutoDrag.TabIndex = 3;
|
||||
this.chkAutoDrag.Text = "登录时自动滑动拼图验证";
|
||||
this.chkAutoDrag.UseVisualStyleBackColor = false;
|
||||
this.chkAutoDrag.Visible = false;
|
||||
this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click);
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1063, 28);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// ShopListForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
|
||||
@@ -671,6 +682,7 @@
|
||||
private UserControls.ButtonEx btnSearch;
|
||||
private System.Windows.Forms.TextBox txtNotes;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private DevComponents.DotNetBar.PanelEx pnlEmpty;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
@@ -689,9 +701,9 @@
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colMultiLogin;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colApiAuth;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colBuyApiAuth;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colUpdateCookie;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colCopyCookies;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEdit;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
|
||||
private DevComponents.DotNetBar.PanelEx pnlEmpty;
|
||||
}
|
||||
}
|
||||
@@ -346,6 +346,15 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
});
|
||||
}
|
||||
|
||||
private void UpdateCookieForm_SaveComplete(object obj)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
//CheckShopListLogin(new string[] { (obj as DouShopLoginInfo).LoginName });
|
||||
RefreshDataGridView(false);
|
||||
});
|
||||
}
|
||||
|
||||
private void btnImport_Click(object sender, EventArgs e)
|
||||
{
|
||||
IsOperate = true;
|
||||
@@ -356,7 +365,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
void ImportShop()
|
||||
{
|
||||
this.btnImport.Enabled = false;
|
||||
string text = "店铺导入格式:\r\n\r\n1.店铺账号(手机/用户名/邮箱)-----店铺密码\r\n2.店铺账号-----密码-----分组\r\n\r\n多个店铺请每个店铺新起一行。";
|
||||
string text = "店铺导入格式:\r\n\r\n1.店铺账号(手机/用户名/邮箱)-----店铺密码\r\n2.店铺账号-----密码-----备注\r\n\r\n多个店铺请每个店铺新起一行。";
|
||||
BaseMsgForm.ShowInfo(text, "", FormLevel.LARGE);
|
||||
|
||||
OpenFileDialog openFileDialog = new OpenFileDialog();
|
||||
@@ -380,16 +389,16 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
if (strArr[i].Contains("-----"))
|
||||
{
|
||||
var productArr = strArr[i].Split(new string[] { "-----" }, StringSplitOptions.RemoveEmptyEntries);
|
||||
if (productArr.Length >= 2)
|
||||
if (productArr.Length > 1)
|
||||
{
|
||||
ShopLoginInfo shop = new ShopLoginInfo
|
||||
{
|
||||
LoginName = productArr[0],
|
||||
Password = DataOpenSSL.EncryptString(productArr[1]),
|
||||
};
|
||||
if (productArr.Length >= 3)
|
||||
if (productArr.Length > 2)
|
||||
{
|
||||
shop.GroupName = productArr[3];
|
||||
shop.Notes = productArr[2];
|
||||
}
|
||||
|
||||
//ShopLoginForm shopLoginForm = new ShopLoginForm(shop);
|
||||
@@ -524,6 +533,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
"多重登录",
|
||||
param.ApiAuthStatus,
|
||||
param.BuyApiAuth.ApiAuthStatus,
|
||||
"导入Cookies",
|
||||
"复制Cookies",
|
||||
"编辑",
|
||||
"删除");
|
||||
@@ -799,6 +809,11 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
Clipboard.SetDataObject(cookJs);
|
||||
BaseMsgForm.ShowInfo("复制成功");
|
||||
break;
|
||||
case "导入Cookie":
|
||||
ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop);
|
||||
updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete;
|
||||
updateCookieForm.ShowDialog();
|
||||
break;
|
||||
case "删除":
|
||||
if (BaseMsgForm.ShowConfirm("确定删除店铺吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
|
||||
return;
|
||||
@@ -852,6 +867,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteShop(int rowIndex)
|
||||
{
|
||||
string shopLoginName = this.dgvShop.Rows[rowIndex].Cells["colLoginName"].Value.ParseToString();
|
||||
@@ -1021,10 +1037,5 @@ function setCookie(name, value, daysToLive, path, domain, secure, httpOnly, same
|
||||
}
|
||||
document.cookie = cookie;
|
||||
}";
|
||||
|
||||
private void buttonEx1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -171,6 +171,9 @@
|
||||
<metadata name="colBuyApiAuth.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUpdateCookie.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCopyCookies.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
@@ -131,7 +131,6 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
}
|
||||
cookies = cookies.Trim().TrimEnd(';');
|
||||
}
|
||||
shop.Cookies = cookies;
|
||||
|
||||
if (!string.IsNullOrEmpty(cookies)
|
||||
&& lstShopCompany.Any(c => c.LoginName == shop.LoginName))
|
||||
@@ -149,33 +148,33 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
ShopAccount = sc.AccountName,
|
||||
ShopId = sc.AccountId,
|
||||
SubUserName = shop.SubUserName,
|
||||
Notes = shop.Notes,
|
||||
};
|
||||
|
||||
var oldShop = GlobalConfig.ShopLoginList.FirstOrDefault(l =>
|
||||
l.LoginName == newShop.LoginName && l.ShopId == newShop.ShopId);
|
||||
if (oldShop == null)
|
||||
{
|
||||
newShop.LoginStatus = "登录成功";
|
||||
newShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
|
||||
GlobalConfig.ShopLoginList.Add(newShop);
|
||||
ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
else
|
||||
{
|
||||
oldShop.LoginStatus = "登录成功";
|
||||
oldShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
|
||||
oldShop.LoginName = newShop.LoginName;
|
||||
oldShop.Password = newShop.Password;
|
||||
oldShop.GroupName = newShop.GroupName;
|
||||
oldShop.ShopAccount = newShop.ShopAccount;
|
||||
oldShop.ShopId = newShop.ShopId;
|
||||
oldShop.SubUserName = newShop.SubUserName;
|
||||
oldShop.Notes = newShop.Notes;
|
||||
}
|
||||
}
|
||||
var lstShop = GlobalConfig.ShopLoginList.Where(l => l.LoginName == shop.LoginName).ToList();
|
||||
foreach(var s in lstShop)
|
||||
{
|
||||
s.Cookies = shop.Cookies;
|
||||
s.LoginStatus = "登录成功";
|
||||
s.Cookies = cookies;
|
||||
s.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
|
||||
}
|
||||
StartUp.SaveLocalShopLoginInfo(); // 店铺保存到本地
|
||||
ShopListForm.UpdateServerShopCookies(shop, shop.Cookies); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
namespace TemuKJD.KJDForms.ShopForms
|
||||
{
|
||||
partial class ShopUpdateCookieForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShopUpdateCookieForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.txtCookieJs = new DevComponents.DotNetBar.Controls.TextBoxX();
|
||||
this.txtLoginName = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btnOk = new TemuKJD.UserControls.ButtonEx();
|
||||
this.panel2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.label8);
|
||||
this.panel2.Controls.Add(this.txtCookieJs);
|
||||
this.panel2.Controls.Add(this.txtLoginName);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Controls.Add(this.btnOk);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(575, 492);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(25, 60);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(60, 17);
|
||||
this.label8.TabIndex = 386;
|
||||
this.label8.Text = "CookieJs";
|
||||
//
|
||||
// txtNotes
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.txtCookieJs.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtCookieJs.Border.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtCookieJs.Border.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtCookieJs.Border.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtCookieJs.Border.Class = "CrumbBarBackgroundKey";
|
||||
this.txtCookieJs.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.txtCookieJs.Border.PaddingBottom = 2;
|
||||
this.txtCookieJs.Border.PaddingLeft = 2;
|
||||
this.txtCookieJs.Border.PaddingRight = 2;
|
||||
this.txtCookieJs.Border.PaddingTop = 2;
|
||||
this.txtCookieJs.Location = new System.Drawing.Point(91, 58);
|
||||
this.txtCookieJs.Multiline = true;
|
||||
this.txtCookieJs.Name = "txtNotes";
|
||||
this.txtCookieJs.Size = new System.Drawing.Size(452, 370);
|
||||
this.txtCookieJs.TabIndex = 385;
|
||||
//
|
||||
// txtLoginName
|
||||
//
|
||||
this.txtLoginName.Location = new System.Drawing.Point(91, 29);
|
||||
this.txtLoginName.Name = "txtLoginName";
|
||||
this.txtLoginName.Size = new System.Drawing.Size(452, 23);
|
||||
this.txtLoginName.TabIndex = 336;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(29, 32);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(56, 17);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "登录账号";
|
||||
//
|
||||
// btnOk
|
||||
//
|
||||
this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnOk.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOk.Location = new System.Drawing.Point(488, 443);
|
||||
this.btnOk.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.Size = new System.Drawing.Size(55, 26);
|
||||
this.btnOk.TabIndex = 372;
|
||||
this.btnOk.Text = "保存";
|
||||
this.btnOk.UseVisualStyleBackColor = false;
|
||||
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
|
||||
//
|
||||
// ShopUpdateCookieForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(577, 526);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "ShopUpdateCookieForm";
|
||||
this.Text = "更新Cookie";
|
||||
this.TitleText = "更新Cookie";
|
||||
this.Load += new System.EventHandler(this.ShopUpdateCookieForm_Load);
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox txtLoginName;
|
||||
private UserControls.ButtonEx btnOk;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private DevComponents.DotNetBar.Controls.TextBoxX txtCookieJs;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using TemuKJD.KJDForms.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;
|
||||
|
||||
namespace TemuKJD.KJDForms.ShopForms
|
||||
{
|
||||
public partial class ShopUpdateCookieForm : LRBaseForm
|
||||
{
|
||||
ShopLoginInfo shopLoginInfo = null;
|
||||
|
||||
public ShopUpdateCookieForm(ShopLoginInfo shop = null)
|
||||
{
|
||||
InitializeComponent();
|
||||
shopLoginInfo = shop;
|
||||
}
|
||||
|
||||
private void ShopUpdateCookieForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (shopLoginInfo != null)
|
||||
txtLoginName.Text = shopLoginInfo.LoginName + " " + shopLoginInfo.ShopAccount + " " + shopLoginInfo.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 (shopLoginInfo == null)
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺为空!");
|
||||
return;
|
||||
}
|
||||
|
||||
string txt = this.txtCookieJs.Text;
|
||||
txt = txt.Replace("SUB_PASS_ID=;", "").Replace("_nano_fp=;", "").Replace("api_uid=;","")
|
||||
.Replace("_bee=;", "").Replace("ru2k=;", "").Replace("_f77=;", "")
|
||||
.Replace("_a42=;", "").Replace("rckk=;", "").Replace("ru1k=;", "");
|
||||
|
||||
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 _f77 = BaseRegex.GetStringCookie(ref txt, "_f77").ParseToString().Trim('\'');
|
||||
string _a42 = BaseRegex.GetStringCookie(ref txt, "_a42").ParseToString().Trim('\'');
|
||||
string rckk = BaseRegex.GetStringCookie(ref txt, "rckk").ParseToString().Trim('\'');
|
||||
string ru1k = BaseRegex.GetStringCookie(ref txt, "ru1k").ParseToString().Trim('\'');
|
||||
string ru2k = BaseRegex.GetStringCookie(ref txt, "ru2k").ParseToString().Trim('\'');
|
||||
string SUB_PASS_ID = BaseRegex.GetStringCookie(ref txt, "SUB_PASS_ID").ParseToString().Trim('\'');
|
||||
string cookie = "api_uid=" + api_uid + ";" +
|
||||
"_nano_fp=" + _nano_fp + ";" +
|
||||
"_bee=" + _bee + ";" +
|
||||
"_f77=" + _f77 + ";" +
|
||||
"_a42=" + _a42 + ";" +
|
||||
"rckk=" + rckk + ";" +
|
||||
"ru1k=" + ru1k + ";" +
|
||||
"ru2k=" + ru2k + ";" +
|
||||
"SUB_PASS_ID=" + SUB_PASS_ID + ";";
|
||||
|
||||
if (string.IsNullOrEmpty(SUB_PASS_ID))
|
||||
{
|
||||
BaseMsgForm.ShowError("Cookie缺少关键字段,请检查!");
|
||||
return;
|
||||
}
|
||||
|
||||
var cookieShop = new ShopLoginInfo();
|
||||
cookieShop.Cookies = cookie;
|
||||
|
||||
var data = ShopListForm.GetShopStatus(cookieShop);
|
||||
if ( data.Contains("\"success\":true"))
|
||||
{
|
||||
var maskMobile = BaseRegex.GetStringJson(ref data, "maskOwnerMobile");
|
||||
if (shopLoginInfo.LoginName.EndsWith(maskMobile))
|
||||
{
|
||||
//如果店铺没有cookie登录过,处理店铺第一次登录(分裂cookie下的所有店铺)
|
||||
GetShopFirstLogin(data);
|
||||
|
||||
shopLoginInfo.Cookies = cookie;
|
||||
var campanys = GlobalConfig.ShopLoginList.Where(v => v.LoginName == shopLoginInfo.LoginName).ToList();
|
||||
foreach (var sc in campanys)
|
||||
{
|
||||
sc.Cookies = cookie;
|
||||
sc.LoginStatus = "登录成功";
|
||||
}
|
||||
ShopListForm.UpdateServerShopCookies(shopLoginInfo, shopLoginInfo.Cookies); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
||||
StartUp.SaveLocalShopLoginInfo();
|
||||
this.OnSaveComplete(shopLoginInfo);
|
||||
this.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowError("cookie与店铺不匹配,请核对店铺!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowError("cookie已失效!");
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 如果店铺没有cookie登录过,处理店铺第一次登录(分裂cookie下的所有店铺)
|
||||
/// </summary>
|
||||
/// <param name="loginData"></param>
|
||||
void GetShopFirstLogin(string loginData)
|
||||
{
|
||||
if (this.shopLoginInfo == null)
|
||||
return;
|
||||
|
||||
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 = shopLoginInfo.LoginName,
|
||||
UserName = BaseClass.UserName,
|
||||
LoginStatus = "登录成功",
|
||||
};
|
||||
lstShopCompany.Add(sc);
|
||||
}
|
||||
|
||||
var lstShopCompanyCopy = lstShopCompany.ToList();
|
||||
foreach (ShopCompany sc in lstShopCompanyCopy)
|
||||
{
|
||||
ShopLoginInfo newShop = new ShopLoginInfo()
|
||||
{
|
||||
LoginName = shopLoginInfo.LoginName,
|
||||
Password = shopLoginInfo.Password,
|
||||
GroupName = shopLoginInfo.GroupName,
|
||||
ShopAccount = sc.AccountName,
|
||||
ShopId = sc.AccountId,
|
||||
SubUserName = shopLoginInfo.SubUserName,
|
||||
Notes = shopLoginInfo.Notes,
|
||||
};
|
||||
|
||||
var oldShop = GlobalConfig.ShopLoginList.FirstOrDefault(l =>
|
||||
l.LoginName == newShop.LoginName && l.ShopId == newShop.ShopId);
|
||||
if (oldShop == null)
|
||||
{
|
||||
GlobalConfig.ShopLoginList.Add(newShop);
|
||||
ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,298 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
|
||||
zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
|
||||
zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM
|
||||
zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA
|
||||
AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA
|
||||
AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM
|
||||
zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM
|
||||
zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM
|
||||
zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP////////////////////////////////////////
|
||||
//iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI////////////////////////////////////
|
||||
////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4////////////////////////////////
|
||||
//////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj///////////////////////////
|
||||
/////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP//////////////////////
|
||||
///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4//////////////////
|
||||
/////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj/////////////
|
||||
///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI////////
|
||||
/////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj///
|
||||
//////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM
|
||||
eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM
|
||||
zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM
|
||||
zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM
|
||||
zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM
|
||||
zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4
|
||||
fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI
|
||||
j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4
|
||||
iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI//////////
|
||||
////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj///
|
||||
//////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI
|
||||
iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4//
|
||||
/4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP////////////
|
||||
///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/
|
||||
///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H
|
||||
fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP//////
|
||||
///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/
|
||||
////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM
|
||||
zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM
|
||||
zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM
|
||||
zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP////////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj///
|
||||
//////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM
|
||||
eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I
|
||||
j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI//////////////////////
|
||||
/////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP//////////////////
|
||||
/////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I//////////////
|
||||
///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP////////
|
||||
/////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj///////////////
|
||||
//////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI//////////
|
||||
//////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I////////////////////////////////////////////
|
||||
//h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij/////////////////////////////////////
|
||||
//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4
|
||||
////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP//////////////////////
|
||||
////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////////////
|
||||
///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////
|
||||
//////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////
|
||||
//////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////
|
||||
///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////
|
||||
////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI
|
||||
j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj///////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI//
|
||||
//////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI
|
||||
iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj/////
|
||||
/4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM
|
||||
j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM
|
||||
zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI////
|
||||
//jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI
|
||||
iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI
|
||||
iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH
|
||||
j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI////
|
||||
///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI
|
||||
iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4
|
||||
iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP//
|
||||
/////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM
|
||||
zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM
|
||||
zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4
|
||||
fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP////////////////
|
||||
////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH////////////
|
||||
//////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP//////
|
||||
//////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/
|
||||
////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM
|
||||
zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM
|
||||
zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM
|
||||
zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM
|
||||
zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8
|
||||
zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj///////////////
|
||||
///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj/////////
|
||||
////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj///
|
||||
/////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM
|
||||
x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM
|
||||
zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM
|
||||
zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM
|
||||
zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP////////
|
||||
//iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP//
|
||||
//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM
|
||||
zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM
|
||||
zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA
|
||||
AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA
|
||||
AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
|
||||
AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
|
||||
AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
|
||||
B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
|
||||
AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
|
||||
AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
|
||||
AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
|
||||
AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
|
||||
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
|
||||
AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
|
||||
AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
|
||||
AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
|
||||
AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
|
||||
AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
|
||||
+AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -25,7 +25,7 @@ namespace TemuKJD.KJDForms.ToolForms.JDVerify
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
cefWebBrowser1 = new ChromiumWebBrowser(url);
|
||||
cefWebBrowser1.BrowserSettings = new BrowserSettings { Plugins = CefState.Disabled };
|
||||
cefWebBrowser1.BrowserSettings = new BrowserSettings { /*Plugins = CefState.Disabled*/ /*cef92*/ };
|
||||
cefWebBrowser1.Dock = DockStyle.Fill;
|
||||
panel1.Controls.Add(cefWebBrowser1);
|
||||
cefWebBrowser1.FrameLoadEnd += CefWebBrowser1_FrameLoadEnd;
|
||||
|
||||
@@ -816,7 +816,7 @@ namespace TemuKJD.KJDForms.ToolForms
|
||||
}
|
||||
cefBrowser.BrowserSettings = new BrowserSettings
|
||||
{
|
||||
Plugins = CefState.Disabled
|
||||
/*Plugins = CefState.Disabled*/ /*cef92*/
|
||||
};
|
||||
return cefBrowser;
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace TemuKJD.KJDForms.ToolForms
|
||||
}
|
||||
cefBrowser.BrowserSettings = new BrowserSettings
|
||||
{
|
||||
Plugins = CefState.Disabled
|
||||
/*Plugins = CefState.Disabled*/ /*cef92*/
|
||||
};
|
||||
return cefBrowser;
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ namespace TemuKJD
|
||||
cefWebBrowser1.JavascriptObjectRepository.Register("bound", new BoundObject(), isAsync: false, options: BindingOptions.DefaultBinder);
|
||||
|
||||
//解决cefsharp插件加载导致的偶发性闪屏问题
|
||||
cefWebBrowser1.BrowserSettings = new BrowserSettings { Plugins = CefState.Disabled };
|
||||
cefWebBrowser1.BrowserSettings = new BrowserSettings { /*Plugins = CefState.Disabled*/ /*cef92*/ };
|
||||
|
||||
splitContainer1.Panel1.Controls.Add(cefWebBrowser1);
|
||||
}
|
||||
@@ -172,13 +172,13 @@ namespace TemuKJD
|
||||
cefWebBrowser2 = new ChromiumWebBrowser(targetUrl);
|
||||
cefWebBrowser2.Dock = DockStyle.None;
|
||||
cefWebBrowser2.Size = new System.Drawing.Size(1, 1);
|
||||
cefWebBrowser2.BrowserSettings = new BrowserSettings { Plugins = CefState.Disabled };
|
||||
cefWebBrowser2.BrowserSettings = new BrowserSettings { /*Plugins = CefState.Disabled*/ /*cef92*/ };
|
||||
splitContainer3.Panel1.Controls.Add(cefWebBrowser2);
|
||||
targetUrl = "https://www.tmall.com/wow/seller/act/tmallpinkong";
|
||||
cefWebBrowser3 = new ChromiumWebBrowser(targetUrl);
|
||||
cefWebBrowser3.Dock = DockStyle.None;
|
||||
cefWebBrowser3.Size = new System.Drawing.Size(1, 1);
|
||||
cefWebBrowser3.BrowserSettings = new BrowserSettings { Plugins = CefState.Disabled };
|
||||
cefWebBrowser3.BrowserSettings = new BrowserSettings { /*Plugins = CefState.Disabled*/ /*cef92*/ };
|
||||
|
||||
splitContainer3.Panel2.Controls.Add(cefWebBrowser3);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="AdvancedStringBuilder" version="0.1.0" targetFramework="net452" />
|
||||
<package id="cef.redist.x64" version="92.0.26" targetFramework="net452" />
|
||||
<package id="cef.redist.x86" version="92.0.26" targetFramework="net452" />
|
||||
<package id="CefSharp.Common" version="92.0.260" targetFramework="net452" />
|
||||
<package id="CefSharp.WinForms" version="92.0.260" targetFramework="net452" />
|
||||
<package id="cef.redist.x64" version="114.2.12" targetFramework="net452" />
|
||||
<package id="cef.redist.x86" version="114.2.12" targetFramework="net452" />
|
||||
<package id="CefSharp.Common" version="114.2.120" targetFramework="net452" />
|
||||
<package id="CefSharp.WinForms" version="114.2.120" targetFramework="net452" />
|
||||
<package id="JavaScriptEngineSwitcher.Core" version="3.0.0" targetFramework="net452" />
|
||||
<package id="JavaScriptEngineSwitcher.V8" version="3.0.5" targetFramework="net452" />
|
||||
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
|
||||
|
||||
@@ -653,7 +653,7 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
|
||||
files.Add(new KeyValueBase("v8-x64.dll", "v8-x64.dll"));
|
||||
files.Add(new KeyValueBase("DB.dll", "DB.dll"));
|
||||
files.Add(new KeyValueBase("System.Data.SQLite.DLL", "System.Data.SQLite.DLL"));
|
||||
files.Add(new KeyValueBase("FindLittleRabbitOrder.exe", "FindLittleRabbitOrder.exe"));
|
||||
//files.Add(new KeyValueBase("FindLittleRabbitOrder.exe", "FindLittleRabbitOrder.exe"));
|
||||
|
||||
files.Add(new KeyValueBase("9527_new.ico", "temp/9527.wav"));
|
||||
files.Add(new KeyValueBase("tipaudio1_new.ico", "temp/1号电脑.mp3"));
|
||||
|
||||
+14
-14
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props')" />
|
||||
<Import Project="..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props')" />
|
||||
<Import Project="..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props')" />
|
||||
<Import Project="..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props" Condition="Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props')" />
|
||||
<Import Project="..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props" Condition="Exists('..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props')" />
|
||||
<Import Project="..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props" Condition="Exists('..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
@@ -75,14 +75,14 @@
|
||||
<Reference Include="AdvancedStringBuilder, Version=0.1.0.0, Culture=neutral, PublicKeyToken=e818a2fc08933ddb, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AdvancedStringBuilder.0.1.0\lib\net45\AdvancedStringBuilder.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.92.0.260\lib\net452\CefSharp.dll</HintPath>
|
||||
<Reference Include="CefSharp, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.114.2.120\lib\net452\CefSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp.Core, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.92.0.260\lib\net452\CefSharp.Core.dll</HintPath>
|
||||
<Reference Include="CefSharp.Core, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.Common.114.2.120\lib\net452\CefSharp.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CefSharp.WinForms, Version=92.0.260.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.WinForms.92.0.260\lib\net452\CefSharp.WinForms.dll</HintPath>
|
||||
<Reference Include="CefSharp.WinForms, Version=114.2.120.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CefSharp.WinForms.114.2.120\lib\net452\CefSharp.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ClearScript, Version=5.5.5.0, Culture=neutral, PublicKeyToken=935d0c957da47c73, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\JavaScriptEngineSwitcher.V8.3.0.5\lib\net45\ClearScript.dll</HintPath>
|
||||
@@ -237,12 +237,12 @@
|
||||
<PropertyGroup>
|
||||
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.92.0.26\build\cef.redist.x64.props'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.92.0.26\build\cef.redist.x86.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x64.114.2.12\build\cef.redist.x64.props'))" />
|
||||
<Error Condition="!Exists('..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\cef.redist.x86.114.2.12\build\cef.redist.x86.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.props'))" />
|
||||
<Error Condition="!Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.92.0.260\build\CefSharp.Common.targets')" />
|
||||
<Import Project="..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets" Condition="Exists('..\packages\CefSharp.Common.114.2.120\build\CefSharp.Common.targets')" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="AdvancedStringBuilder" version="0.1.0" targetFramework="net452" />
|
||||
<package id="cef.redist.x64" version="92.0.26" targetFramework="net452" />
|
||||
<package id="cef.redist.x86" version="92.0.26" targetFramework="net452" />
|
||||
<package id="CefSharp.Common" version="92.0.260" targetFramework="net452" />
|
||||
<package id="CefSharp.WinForms" version="92.0.260" targetFramework="net452" />
|
||||
<package id="cef.redist.x64" version="114.2.12" targetFramework="net452" />
|
||||
<package id="cef.redist.x86" version="114.2.12" targetFramework="net452" />
|
||||
<package id="CefSharp.Common" version="114.2.120" targetFramework="net452" />
|
||||
<package id="CefSharp.WinForms" version="114.2.120" targetFramework="net452" />
|
||||
<package id="JavaScriptEngineSwitcher.Core" version="3.0.0" targetFramework="net452" />
|
||||
<package id="JavaScriptEngineSwitcher.V8" version="3.0.5" targetFramework="net452" />
|
||||
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
|
||||
|
||||
Reference in new issue
Block a user