合并中转仓代码

This commit is contained in:
chfei committed 2026-08-07 18:58:50 +08:00
commit 2ef9a10f05
46 files changed
+1136 -205

No files matched your search

+1 -1
View File
@@ -31,7 +31,7 @@ namespace AllBase
/// <summary>
/// 版本ID
/// </summary>
public static int VersionCount = 1265;
public static int VersionCount = 1266;
public static string MainPath = "29wx";
//public static string MainPath = "29wx";
//public static string MainPath = "29pdd";
@@ -57,5 +57,6 @@ namespace AllBase.Model.DBModel
public int? pre_allocated_order_no { get; set; }
public int? is_transfer_ship { get; set; }
public string random_code { get; set; }
public int has_reject { get; set; }
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

+1
View File
@@ -0,0 +1 @@
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 truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+1
View File
@@ -0,0 +1 @@
万盟MThd万盟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 truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

+1
View File
@@ -0,0 +1 @@
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 truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+1
View File
@@ -0,0 +1 @@
云星科技MThd云星科技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 truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1 @@
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 truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1 @@
微信小店爆单王MThd微信小店爆单王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 truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

+1
View File
@@ -0,0 +1 @@
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 truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+1
View File
@@ -0,0 +1 @@
贝塔拍单MThd贝塔拍单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 truncated
+189
View File
@@ -0,0 +1,189 @@
; 该脚本使用 HM VNISEdit 脚本编辑器向导产生
; 安装程序初始定义常量
!define PRODUCT_NAME "万盟"
!define PRODUCT_VERSION "v12.61"
;!define PRODUCT_PUBLISHER "${PRODUCT_NAME}软件制作组"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\29供应链.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
;!define PRODUCT_UNINST_ROOT_KEY "HKLM" ;需要管理员权限
!define PRODUCT_UNINST_ROOT_KEY "HKCU"
!define UTILS_PATH ".\Utils"
!define SOURCE_PATH "..\Bin.Oem"
!define OUT_PUT_PATH ".\Bin"
SetCompressor lzma
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI.nsh"
; MUI 预定义常量
!define MUI_ABORTWARNING
!define MUI_ICON "${SOURCE_PATH}\favicon.ico"
;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNICON "${UTILS_PATH}\uninstall.ico"
; 语言选择窗口常量设置
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; 许可协议页面
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "${UTILS_PATH}\Licence.txt"
; 安装目录选择页面
!insertmacro MUI_PAGE_DIRECTORY
; 安装过程页面
!insertmacro MUI_PAGE_INSTFILES
; 安装完成页面
;!define MUI_FINISHPAGE_RUN "$INSTDIR\29供应链.exe" ;win10直接启动会双开,以下改为使用函数启动
;!define MUI_FINISHPAGE_RUN "exe_file" ;指定要运行的可执行文件路径(如 $INSTDIR\MyApp.exe)。文件名含空格时无需加引号 。
;!define MUI_FINISHPAGE_RUN_TEXT "text" ;设置复选框旁的显示文本(例如:“立即运行我的应用”)。
;!define MUI_FINISHPAGE_RUN_PARAMETERS "params" ;传入运行参数。若参数含双引号,需用 \" 转义 。
;!define MUI_FINISHPAGE_RUN_NOTCHECKED ;默认不选中该复选框(即默认不运行)。
;!define MUI_FINISHPAGE_RUN_FUNCTION "func_name" ;替代直接运行 exe,改为调用自定义 NSIS 函数(此时 MUI_FINISHPAGE_RUN 可不带参数),适合需执行多步逻辑的场景 。
;示例================================================================================================================
;!include "MUI2.nsh"
;!define MUI_FINISHPAGE_RUN "$INSTDIR\MyApp.exe"
;!define MUI_FINISHPAGE_RUN_TEXT "启动应用程序"
;!define MUI_FINISHPAGE_RUN_PARAMETERS "/silent"
;;!define MUI_FINISHPAGE_RUN_NOTCHECKED
;!insertmacro MUI_PAGE_FINISH
;示例结束============================================================================================================
!define MUI_FINISHPAGE_RUN
;安装函数定义
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchExe"
!insertmacro MUI_PAGE_FINISH
; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES
; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese"
; 安装预释放文件
!insertmacro MUI_RESERVEFILE_LANGDLL
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI 现代界面定义结束 ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${OUT_PUT_PATH}\${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
;InstallDir "D:\${PRODUCT_NAME}"
;InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
InstallDirRegKey HKCU "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "${PRODUCT_NAME}安装程序"
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
;SetOverwrite on|off|try|ifnewer ;强制覆盖|不覆盖|仅覆盖可写文件|仅覆盖旧文件
SetOverwrite on
;/x 排除的目录或文件
;File /r /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "AllBase.pdb" /x "Work.pdb" /x "29供应链.pdb" /x "data" "${SOURCE_PATH}\*.*"
File /r /x "BaseClass.cs" /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "*.pdb" /x "*.zip" /x "data" /x "Cache" /x "29wx.lnk" /x "29wx.ico" /x "29pdd.lnk" /x "29pdd.ico" "${SOURCE_PATH}\*.*"
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
File "${SOURCE_PATH}\29供应链.exe"
;SetOutPath "$TEMP"
;File "${UTILS_PATH}\VC_redist_2015_2022.x64.exe"
;ExecWait '$TEMP\vc_redist.x86.exe' # 一般(非静默)VC的安装
;ExecWait '"$TEMP\vc_redist.x86.exe" /q' # silent install 静默安装
SectionEnd
Section -AdditionalIcons
SetOutPath $INSTDIR
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
;WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_NAME}软件制作组"
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;function要写字section之后
Function LaunchExe
;ExecShell "" "$INSTDIR\${PRODUCT_NAME}.exe"
; 启动主程序,ExecWait 会等待程序启动后再继续(推荐用于确保启动成功)
;ExecWait '"$INSTDIR\YourApp.exe"' // 等待也可以用来弹出必要组件安装时等待安装完成再继续运行安装程序。
; 若希望安装程序立即关闭而不等待,可使用 Exec
;Exec '"$INSTDIR\29供应链.exe"'
Exec "$INSTDIR\29供应链.exe"
; 以普通用户权限启动程序(即使安装包是管理员权限)
;System::Call 'shell32::ShellExecute(i 0, t"open", t"explorer.exe", t"/e,$INSTDIR\start.bat", t"", i 0)'
;Exec "$INSTDIR\start.bat"
FunctionEnd
/******************************
* 以下是安装程序的卸载部分 *
******************************/
Section Uninstall
Delete "$INSTDIR\uninst.exe"
Delete "$TEMP\vc_redist.x86.exe"
Delete "$INSTDIR\29供应链.exe"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
RMDir /r "$INSTDIR\blob_storage"
RMDir /r "$INSTDIR\Cache"
RMDir /r "$INSTDIR\config"
RMDir /r "$INSTDIR\data"
RMDir /r "$INSTDIR\DawnCache"
RMDir /r "$INSTDIR\GPUCache"
RMDir /r "$INSTDIR\locales"
RMDir /r "$INSTDIR\log"
RMDir /r "$INSTDIR\ru-ru"
RMDir /r "$INSTDIR\static"
RMDir /r "$INSTDIR\taobao"
RMDir /r "$INSTDIR\temp"
RMDir /r "$INSTDIR\upBak"
RMDir /r "$INSTDIR\upTemp"
RMDir /r "$INSTDIR\x64"
RMDir /r "$INSTDIR\x86"
RMDir /r "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
;DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
Abort
FunctionEnd
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
FunctionEnd
+189
View File
@@ -0,0 +1,189 @@
; 该脚本使用 HM VNISEdit 脚本编辑器向导产生
; 安装程序初始定义常量
!define PRODUCT_NAME "云星科技"
!define PRODUCT_VERSION "v12.61"
;!define PRODUCT_PUBLISHER "${PRODUCT_NAME}软件制作组"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\29供应链.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
;!define PRODUCT_UNINST_ROOT_KEY "HKLM" ;需要管理员权限
!define PRODUCT_UNINST_ROOT_KEY "HKCU"
!define UTILS_PATH ".\Utils"
!define SOURCE_PATH "..\Bin.Oem"
!define OUT_PUT_PATH ".\Bin"
SetCompressor lzma
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI.nsh"
; MUI 预定义常量
!define MUI_ABORTWARNING
!define MUI_ICON "${SOURCE_PATH}\favicon.ico"
;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNICON "${UTILS_PATH}\uninstall.ico"
; 语言选择窗口常量设置
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; 许可协议页面
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "${UTILS_PATH}\Licence.txt"
; 安装目录选择页面
!insertmacro MUI_PAGE_DIRECTORY
; 安装过程页面
!insertmacro MUI_PAGE_INSTFILES
; 安装完成页面
;!define MUI_FINISHPAGE_RUN "$INSTDIR\29供应链.exe" ;win10直接启动会双开,以下改为使用函数启动
;!define MUI_FINISHPAGE_RUN "exe_file" ;指定要运行的可执行文件路径(如 $INSTDIR\MyApp.exe)。文件名含空格时无需加引号 。
;!define MUI_FINISHPAGE_RUN_TEXT "text" ;设置复选框旁的显示文本(例如:“立即运行我的应用”)。
;!define MUI_FINISHPAGE_RUN_PARAMETERS "params" ;传入运行参数。若参数含双引号,需用 \" 转义 。
;!define MUI_FINISHPAGE_RUN_NOTCHECKED ;默认不选中该复选框(即默认不运行)。
;!define MUI_FINISHPAGE_RUN_FUNCTION "func_name" ;替代直接运行 exe,改为调用自定义 NSIS 函数(此时 MUI_FINISHPAGE_RUN 可不带参数),适合需执行多步逻辑的场景 。
;示例================================================================================================================
;!include "MUI2.nsh"
;!define MUI_FINISHPAGE_RUN "$INSTDIR\MyApp.exe"
;!define MUI_FINISHPAGE_RUN_TEXT "启动应用程序"
;!define MUI_FINISHPAGE_RUN_PARAMETERS "/silent"
;;!define MUI_FINISHPAGE_RUN_NOTCHECKED
;!insertmacro MUI_PAGE_FINISH
;示例结束============================================================================================================
!define MUI_FINISHPAGE_RUN
;安装函数定义
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchExe"
!insertmacro MUI_PAGE_FINISH
; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES
; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese"
; 安装预释放文件
!insertmacro MUI_RESERVEFILE_LANGDLL
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI 现代界面定义结束 ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${OUT_PUT_PATH}\${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
;InstallDir "D:\${PRODUCT_NAME}"
;InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
InstallDirRegKey HKCU "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "${PRODUCT_NAME}安装程序"
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
;SetOverwrite on|off|try|ifnewer ;强制覆盖|不覆盖|仅覆盖可写文件|仅覆盖旧文件
SetOverwrite on
;/x 排除的目录或文件
;File /r /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "AllBase.pdb" /x "Work.pdb" /x "29供应链.pdb" /x "data" "${SOURCE_PATH}\*.*"
File /r /x "BaseClass.cs" /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "*.pdb" /x "*.zip" /x "data" /x "Cache" /x "29wx.lnk" /x "29wx.ico" /x "29pdd.lnk" /x "29pdd.ico" "${SOURCE_PATH}\*.*"
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
File "${SOURCE_PATH}\29供应链.exe"
;SetOutPath "$TEMP"
;File "${UTILS_PATH}\VC_redist_2015_2022.x64.exe"
;ExecWait '$TEMP\vc_redist.x86.exe' # 一般(非静默)VC的安装
;ExecWait '"$TEMP\vc_redist.x86.exe" /q' # silent install 静默安装
SectionEnd
Section -AdditionalIcons
SetOutPath $INSTDIR
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
;WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_NAME}软件制作组"
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;function要写字section之后
Function LaunchExe
;ExecShell "" "$INSTDIR\${PRODUCT_NAME}.exe"
; 启动主程序,ExecWait 会等待程序启动后再继续(推荐用于确保启动成功)
;ExecWait '"$INSTDIR\YourApp.exe"' // 等待也可以用来弹出必要组件安装时等待安装完成再继续运行安装程序。
; 若希望安装程序立即关闭而不等待,可使用 Exec
;Exec '"$INSTDIR\29供应链.exe"'
Exec "$INSTDIR\29供应链.exe"
; 以普通用户权限启动程序(即使安装包是管理员权限)
;System::Call 'shell32::ShellExecute(i 0, t"open", t"explorer.exe", t"/e,$INSTDIR\start.bat", t"", i 0)'
;Exec "$INSTDIR\start.bat"
FunctionEnd
/******************************
* 以下是安装程序的卸载部分 *
******************************/
Section Uninstall
Delete "$INSTDIR\uninst.exe"
Delete "$TEMP\vc_redist.x86.exe"
Delete "$INSTDIR\29供应链.exe"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
RMDir /r "$INSTDIR\blob_storage"
RMDir /r "$INSTDIR\Cache"
RMDir /r "$INSTDIR\config"
RMDir /r "$INSTDIR\data"
RMDir /r "$INSTDIR\DawnCache"
RMDir /r "$INSTDIR\GPUCache"
RMDir /r "$INSTDIR\locales"
RMDir /r "$INSTDIR\log"
RMDir /r "$INSTDIR\ru-ru"
RMDir /r "$INSTDIR\static"
RMDir /r "$INSTDIR\taobao"
RMDir /r "$INSTDIR\temp"
RMDir /r "$INSTDIR\upBak"
RMDir /r "$INSTDIR\upTemp"
RMDir /r "$INSTDIR\x64"
RMDir /r "$INSTDIR\x86"
RMDir /r "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
;DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
Abort
FunctionEnd
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
FunctionEnd
+189
View File
@@ -0,0 +1,189 @@
; 该脚本使用 HM VNISEdit 脚本编辑器向导产生
; 安装程序初始定义常量
!define PRODUCT_NAME "贝塔拍单"
!define PRODUCT_VERSION "v12.61"
;!define PRODUCT_PUBLISHER "${PRODUCT_NAME}软件制作组"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\29供应链.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
;!define PRODUCT_UNINST_ROOT_KEY "HKLM" ;需要管理员权限
!define PRODUCT_UNINST_ROOT_KEY "HKCU"
!define UTILS_PATH ".\Utils"
!define SOURCE_PATH "..\Bin.Oem"
!define OUT_PUT_PATH ".\Bin"
SetCompressor lzma
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI.nsh"
; MUI 预定义常量
!define MUI_ABORTWARNING
!define MUI_ICON "${SOURCE_PATH}\favicon.ico"
;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNICON "${UTILS_PATH}\uninstall.ico"
; 语言选择窗口常量设置
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; 许可协议页面
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "${UTILS_PATH}\Licence.txt"
; 安装目录选择页面
!insertmacro MUI_PAGE_DIRECTORY
; 安装过程页面
!insertmacro MUI_PAGE_INSTFILES
; 安装完成页面
;!define MUI_FINISHPAGE_RUN "$INSTDIR\29供应链.exe" ;win10直接启动会双开,以下改为使用函数启动
;!define MUI_FINISHPAGE_RUN "exe_file" ;指定要运行的可执行文件路径(如 $INSTDIR\MyApp.exe)。文件名含空格时无需加引号 。
;!define MUI_FINISHPAGE_RUN_TEXT "text" ;设置复选框旁的显示文本(例如:“立即运行我的应用”)。
;!define MUI_FINISHPAGE_RUN_PARAMETERS "params" ;传入运行参数。若参数含双引号,需用 \" 转义 。
;!define MUI_FINISHPAGE_RUN_NOTCHECKED ;默认不选中该复选框(即默认不运行)。
;!define MUI_FINISHPAGE_RUN_FUNCTION "func_name" ;替代直接运行 exe,改为调用自定义 NSIS 函数(此时 MUI_FINISHPAGE_RUN 可不带参数),适合需执行多步逻辑的场景 。
;示例================================================================================================================
;!include "MUI2.nsh"
;!define MUI_FINISHPAGE_RUN "$INSTDIR\MyApp.exe"
;!define MUI_FINISHPAGE_RUN_TEXT "启动应用程序"
;!define MUI_FINISHPAGE_RUN_PARAMETERS "/silent"
;;!define MUI_FINISHPAGE_RUN_NOTCHECKED
;!insertmacro MUI_PAGE_FINISH
;示例结束============================================================================================================
!define MUI_FINISHPAGE_RUN
;安装函数定义
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchExe"
!insertmacro MUI_PAGE_FINISH
; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES
; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese"
; 安装预释放文件
!insertmacro MUI_RESERVEFILE_LANGDLL
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI 现代界面定义结束 ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${OUT_PUT_PATH}\${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
;InstallDir "D:\${PRODUCT_NAME}"
;InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
InstallDirRegKey HKCU "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "${PRODUCT_NAME}安装程序"
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
;SetOverwrite on|off|try|ifnewer ;强制覆盖|不覆盖|仅覆盖可写文件|仅覆盖旧文件
SetOverwrite on
;/x 排除的目录或文件
;File /r /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "AllBase.pdb" /x "Work.pdb" /x "29供应链.pdb" /x "data" "${SOURCE_PATH}\*.*"
File /r /x "BaseClass.cs" /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "*.pdb" /x "*.zip" /x "data" /x "Cache" /x "29wx.lnk" /x "29wx.ico" /x "29pdd.lnk" /x "29pdd.ico" "${SOURCE_PATH}\*.*"
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
File "${SOURCE_PATH}\29供应链.exe"
;SetOutPath "$TEMP"
;File "${UTILS_PATH}\VC_redist_2015_2022.x64.exe"
;ExecWait '$TEMP\vc_redist.x86.exe' # 一般(非静默)VC的安装
;ExecWait '"$TEMP\vc_redist.x86.exe" /q' # silent install 静默安装
SectionEnd
Section -AdditionalIcons
SetOutPath $INSTDIR
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
;WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_NAME}软件制作组"
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;function要写字section之后
Function LaunchExe
;ExecShell "" "$INSTDIR\${PRODUCT_NAME}.exe"
; 启动主程序,ExecWait 会等待程序启动后再继续(推荐用于确保启动成功)
;ExecWait '"$INSTDIR\YourApp.exe"' // 等待也可以用来弹出必要组件安装时等待安装完成再继续运行安装程序。
; 若希望安装程序立即关闭而不等待,可使用 Exec
;Exec '"$INSTDIR\29供应链.exe"'
Exec "$INSTDIR\29供应链.exe"
; 以普通用户权限启动程序(即使安装包是管理员权限)
;System::Call 'shell32::ShellExecute(i 0, t"open", t"explorer.exe", t"/e,$INSTDIR\start.bat", t"", i 0)'
;Exec "$INSTDIR\start.bat"
FunctionEnd
/******************************
* 以下是安装程序的卸载部分 *
******************************/
Section Uninstall
Delete "$INSTDIR\uninst.exe"
Delete "$TEMP\vc_redist.x86.exe"
Delete "$INSTDIR\29供应链.exe"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
RMDir /r "$INSTDIR\blob_storage"
RMDir /r "$INSTDIR\Cache"
RMDir /r "$INSTDIR\config"
RMDir /r "$INSTDIR\data"
RMDir /r "$INSTDIR\DawnCache"
RMDir /r "$INSTDIR\GPUCache"
RMDir /r "$INSTDIR\locales"
RMDir /r "$INSTDIR\log"
RMDir /r "$INSTDIR\ru-ru"
RMDir /r "$INSTDIR\static"
RMDir /r "$INSTDIR\taobao"
RMDir /r "$INSTDIR\temp"
RMDir /r "$INSTDIR\upBak"
RMDir /r "$INSTDIR\upTemp"
RMDir /r "$INSTDIR\x64"
RMDir /r "$INSTDIR\x86"
RMDir /r "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
;DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
Abort
FunctionEnd
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
FunctionEnd
@@ -0,0 +1,189 @@
; 该脚本使用 HM VNISEdit 脚本编辑器向导产生
; 安装程序初始定义常量
!define PRODUCT_NAME "微信小店爆单王"
!define PRODUCT_VERSION "v12.61"
;!define PRODUCT_PUBLISHER "${PRODUCT_NAME}软件制作组"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\29供应链.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
;!define PRODUCT_UNINST_ROOT_KEY "HKLM" ;需要管理员权限
!define PRODUCT_UNINST_ROOT_KEY "HKCU"
!define UTILS_PATH ".\Utils"
!define SOURCE_PATH "..\Bin.Oem"
!define OUT_PUT_PATH ".\Bin"
SetCompressor lzma
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI.nsh"
; MUI 预定义常量
!define MUI_ABORTWARNING
!define MUI_ICON "${SOURCE_PATH}\favicon.ico"
;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNICON "${UTILS_PATH}\uninstall.ico"
; 语言选择窗口常量设置
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; 许可协议页面
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "${UTILS_PATH}\Licence.txt"
; 安装目录选择页面
!insertmacro MUI_PAGE_DIRECTORY
; 安装过程页面
!insertmacro MUI_PAGE_INSTFILES
; 安装完成页面
;!define MUI_FINISHPAGE_RUN "$INSTDIR\29供应链.exe" ;win10直接启动会双开,以下改为使用函数启动
;!define MUI_FINISHPAGE_RUN "exe_file" ;指定要运行的可执行文件路径(如 $INSTDIR\MyApp.exe)。文件名含空格时无需加引号 。
;!define MUI_FINISHPAGE_RUN_TEXT "text" ;设置复选框旁的显示文本(例如:“立即运行我的应用”)。
;!define MUI_FINISHPAGE_RUN_PARAMETERS "params" ;传入运行参数。若参数含双引号,需用 \" 转义 。
;!define MUI_FINISHPAGE_RUN_NOTCHECKED ;默认不选中该复选框(即默认不运行)。
;!define MUI_FINISHPAGE_RUN_FUNCTION "func_name" ;替代直接运行 exe,改为调用自定义 NSIS 函数(此时 MUI_FINISHPAGE_RUN 可不带参数),适合需执行多步逻辑的场景 。
;示例================================================================================================================
;!include "MUI2.nsh"
;!define MUI_FINISHPAGE_RUN "$INSTDIR\MyApp.exe"
;!define MUI_FINISHPAGE_RUN_TEXT "启动应用程序"
;!define MUI_FINISHPAGE_RUN_PARAMETERS "/silent"
;;!define MUI_FINISHPAGE_RUN_NOTCHECKED
;!insertmacro MUI_PAGE_FINISH
;示例结束============================================================================================================
!define MUI_FINISHPAGE_RUN
;安装函数定义
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchExe"
!insertmacro MUI_PAGE_FINISH
; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES
; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese"
; 安装预释放文件
!insertmacro MUI_RESERVEFILE_LANGDLL
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI 现代界面定义结束 ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${OUT_PUT_PATH}\${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
;InstallDir "D:\${PRODUCT_NAME}"
;InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
InstallDirRegKey HKCU "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "${PRODUCT_NAME}安装程序"
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
;SetOverwrite on|off|try|ifnewer ;强制覆盖|不覆盖|仅覆盖可写文件|仅覆盖旧文件
SetOverwrite on
;/x 排除的目录或文件
;File /r /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "AllBase.pdb" /x "Work.pdb" /x "29供应链.pdb" /x "data" "${SOURCE_PATH}\*.*"
File /r /x "BaseClass.cs" /x "Config.xml" /x "choice.debug.tools" /x "DB.dll" /x "Publish.exe" /x "*.pdb" /x "*.zip" /x "data" /x "Cache" /x "29wx.lnk" /x "29wx.ico" /x "29pdd.lnk" /x "29pdd.ico" "${SOURCE_PATH}\*.*"
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\29供应链.exe" "" "$INSTDIR\favicon.ico"
File "${SOURCE_PATH}\29供应链.exe"
;SetOutPath "$TEMP"
;File "${UTILS_PATH}\VC_redist_2015_2022.x64.exe"
;ExecWait '$TEMP\vc_redist.x86.exe' # 一般(非静默)VC的安装
;ExecWait '"$TEMP\vc_redist.x86.exe" /q' # silent install 静默安装
SectionEnd
Section -AdditionalIcons
SetOutPath $INSTDIR
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
;WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\29供应链.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_NAME}软件制作组"
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;function要写字section之后
Function LaunchExe
;ExecShell "" "$INSTDIR\${PRODUCT_NAME}.exe"
; 启动主程序,ExecWait 会等待程序启动后再继续(推荐用于确保启动成功)
;ExecWait '"$INSTDIR\YourApp.exe"' // 等待也可以用来弹出必要组件安装时等待安装完成再继续运行安装程序。
; 若希望安装程序立即关闭而不等待,可使用 Exec
;Exec '"$INSTDIR\29供应链.exe"'
Exec "$INSTDIR\29供应链.exe"
; 以普通用户权限启动程序(即使安装包是管理员权限)
;System::Call 'shell32::ShellExecute(i 0, t"open", t"explorer.exe", t"/e,$INSTDIR\start.bat", t"", i 0)'
;Exec "$INSTDIR\start.bat"
FunctionEnd
/******************************
* 以下是安装程序的卸载部分 *
******************************/
Section Uninstall
Delete "$INSTDIR\uninst.exe"
Delete "$TEMP\vc_redist.x86.exe"
Delete "$INSTDIR\29供应链.exe"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
RMDir /r "$INSTDIR\blob_storage"
RMDir /r "$INSTDIR\Cache"
RMDir /r "$INSTDIR\config"
RMDir /r "$INSTDIR\data"
RMDir /r "$INSTDIR\DawnCache"
RMDir /r "$INSTDIR\GPUCache"
RMDir /r "$INSTDIR\locales"
RMDir /r "$INSTDIR\log"
RMDir /r "$INSTDIR\ru-ru"
RMDir /r "$INSTDIR\static"
RMDir /r "$INSTDIR\taobao"
RMDir /r "$INSTDIR\temp"
RMDir /r "$INSTDIR\upBak"
RMDir /r "$INSTDIR\upTemp"
RMDir /r "$INSTDIR\x64"
RMDir /r "$INSTDIR\x86"
RMDir /r "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
;DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
Abort
FunctionEnd
Function un.onUninstSuccess
HideWindow
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
FunctionEnd
@@ -1048,6 +1048,8 @@ namespace KJD_Web.BLL.BXX
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "product_json", Value = newProdJson, });
mySql.ExecuteNonQuery(sql, paramLst.ToArray());
prod.product_json = newProdJson;
//sql = "DELETE FROM " + tableName + " where is_del = 1 AND add_time < '" + DateTime.Now.AddDays(-10) + "' ORDER BY add_time DESC limit 1;";
}
catch
{
@@ -2037,6 +2039,8 @@ namespace KJD_Web.BLL.BXX
var min_view_uv = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "min_view_uv"))?.ParseToNullableInt();
if (min_view_uv > 0 && min_view_uv < 100)
min_view_uv = 100;
if (is学员数据)
min_view_uv = null;
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
@@ -92,85 +92,85 @@ namespace KJD_Web.BLL.WXXD
dt = mySql.ExecuteDataTable(sql);
}
mySql.Close();
if (dt != null)
{
try
{
List<oms_wei_order> orderList = new List<oms_wei_order>();
foreach (DataRow row in dt.Rows)
{
oms_wei_order order = new oms_wei_order
{
id = row["id"].ParseToLong(),
aftersale_detail = row["aftersale_detail"].ParseToNullableString(),
audit_status = row["audit_status"].ParseToNullableInt(),
audit_time = row["audit_time"].ParseToNullableString().ParseToDateTime(),
city_name = row["city_name"].ParseToNullableString(),
colour_flag = row["colour_flag"].ParseToNullableInt(),
colour_flag_update_time = row["colour_flag_update_time"].ParseToNullableString().ParseToDateTime(),
commission_amount = row["commission_amount"].ParseToNullableInt(),
county_name = row["county_name"].ParseToNullableString(),
create_time = row["create_time"].ParseToInt(),
delivery_deadline = row["delivery_deadline"].ParseToNullableInt(),
delivery_product_info = row["delivery_product_info"].ParseToNullableString(),
delivery_time = row["delivery_time"].ParseToNullableInt(),
detail_info = row["detail_info"].ParseToNullableString(),
discounted_price = row["discounted_price"].ParseToNullableInt(),
erp_send_code = row["erp_send_code"].ParseToNullableString(),
erp_send_company = row["erp_send_company"].ParseToNullableString(),
erp_send_status = row["erp_send_status"].ParseToNullableInt(),
erp_send_time = row["erp_send_time"].ParseToNullableString().ParseToDateTime(),
ewaybill_order_code = row["ewaybill_order_code"].ParseToNullableString(),
external_gift = row["external_gift"].ParseToNullableInt(),
ext_info = row["ext_info"].ParseToNullableString(),
freight = row["freight"].ParseToNullableInt(),
freight_insurance_amount = row["freight_insurance_amount"].ParseToNullableInt(),
gift_order_status = row["gift_order_status"].ParseToNullableInt(),
hash_code = row["hash_code"].ParseToNullableString(),
has_freight_insurance = row["has_freight_insurance"].ParseToNullableInt(),
house_number = row["house_number"].ParseToNullableString(),
is_express_no_used = row["is_express_no_used"].ParseToNullableInt(),
is_shipment_optimized = row["is_shipment_optimized"].ParseToNullableInt(),
merchant_id = row["merchant_id"].ParseToLong(),
openid = row["openid"].ParseToNullableString(),
order_id = row["order_id"].ParseToNullableString(),
order_price = row["order_price"].ParseToNullableInt(),
out_account = row["out_account"].ParseToNullableString(),
out_after_sale_status = row["out_after_sale_status"].ParseToNullableString(),
out_amount = row["out_amount"].ParseToNullableInt(),
out_express_company = row["out_express_company"].ParseToNullableString(),
out_express_no = row["out_express_no"].ParseToNullableString(),
out_order_no = row["out_order_no"].ParseToNullableString(),
out_shipped = row["out_shipped_int"].ParseToNullableInt(),
pay_info = row["pay_info"].ParseToNullableString(),
postal_code = row["postal_code"].ParseToNullableString(),
predict_commission_fee = row["predict_commission_fee"].ParseToNullableInt(),
product_price = row["product_price"].ParseToNullableInt(),
profit = row["profit"].ParseToNullableInt(),
province_name = row["province_name"].ParseToNullableString(),
purchase_price = row["purchase_price"].ParseToNullableInt(),
purchase_status = row["purchase_status"].ParseToNullableInt(),
purchase_time = row["purchase_time"].ParseToNullableInt(),
settle_info = row["settle_info"].ParseToNullableString(),
ship_done_time = row["ship_done_time"].ParseToNullableInt(),
shop_id = row["shop_id"].ParseToLong(),
shop_name = row["shop_name"].ParseToNullableString(),
shop_remark = row["shop_remark"].ParseToNullableString(),
soft_remark = row["soft_remark"].ParseToNullableString(),
status = row["status"].ParseToNullableInt(),
supplier_remark_exception = row["supplier_remark_exception"].ParseToNullableString(),
tel_number = row["tel_number"].ParseToNullableString(),
tel_number_ext_info = row["tel_number_ext_info"].ParseToNullableString(),
transfer_warehouse_status = row["transfer_warehouse_status"].ParseToNullableInt(),
unionid = row["unionid"].ParseToNullableString(),
update_time = row["update_time"].ParseToInt(),
user_name = row["user_name"].ParseToNullableString(),
use_tel_number = row["use_tel_number"].ParseToNullableInt(),
virtual_order_tel_number = row["virtual_order_tel_number"].ParseToNullableString(),
};
if (order.order_id == "3737914129536416512")
{
mySql.Close();
if (dt != null)
{
try
{
List<oms_wei_order> orderList = new List<oms_wei_order>();
foreach (DataRow row in dt.Rows)
{
oms_wei_order order = new oms_wei_order
{
id = row["id"].ParseToLong(),
aftersale_detail = row["aftersale_detail"].ParseToNullableString(),
audit_status = row["audit_status"].ParseToNullableInt(),
//audit_time = row["audit_time"].ParseToNullableString().ParseToDateTime(),
city_name = row["city_name"].ParseToNullableString(),
colour_flag = row["colour_flag"].ParseToNullableInt(),
colour_flag_update_time = row["colour_flag_update_time"].ParseToNullableString().ParseToDateTime(),
commission_amount = row["commission_amount"].ParseToNullableInt(),
county_name = row["county_name"].ParseToNullableString(),
create_time = row["create_time"].ParseToInt(),
delivery_deadline = row["delivery_deadline"].ParseToNullableInt(),
//delivery_product_info = row["delivery_product_info"].ParseToNullableString(),
delivery_time = row["delivery_time"].ParseToNullableInt(),
detail_info = row["detail_info"].ParseToNullableString(),
discounted_price = row["discounted_price"].ParseToNullableInt(),
erp_send_code = row["erp_send_code"].ParseToNullableString(),
erp_send_company = row["erp_send_company"].ParseToNullableString(),
erp_send_status = row["erp_send_status"].ParseToNullableInt(),
erp_send_time = row["erp_send_time"].ParseToNullableString().ParseToDateTime(),
//ewaybill_order_code = row["ewaybill_order_code"].ParseToNullableString(),
external_gift = row["external_gift"].ParseToNullableInt(),
//ext_info = row["ext_info"].ParseToNullableString(),
freight = row["freight"].ParseToNullableInt(),
freight_insurance_amount = row["freight_insurance_amount"].ParseToNullableInt(),
gift_order_status = row["gift_order_status"].ParseToNullableInt(),
hash_code = row["hash_code"].ParseToNullableString(),
has_freight_insurance = row["has_freight_insurance"].ParseToNullableInt(),
house_number = row["house_number"].ParseToNullableString(),
is_express_no_used = row["is_express_no_used"].ParseToNullableInt(),
is_shipment_optimized = row["is_shipment_optimized"].ParseToNullableInt(),
merchant_id = row["merchant_id"].ParseToLong(),
openid = row["openid"].ParseToNullableString(),
order_id = row["order_id"].ParseToNullableString(),
order_price = row["order_price"].ParseToNullableInt(),
out_account = row["out_account"].ParseToNullableString(),
out_after_sale_status = row["out_after_sale_status"].ParseToNullableString(),
out_amount = row["out_amount"].ParseToNullableInt(),
out_express_company = row["out_express_company"].ParseToNullableString(),
out_express_no = row["out_express_no"].ParseToNullableString(),
out_order_no = row["out_order_no"].ParseToNullableString(),
out_shipped = row["out_shipped_int"].ParseToNullableInt(),
//pay_info = row["pay_info"].ParseToNullableString(),
postal_code = row["postal_code"].ParseToNullableString(),
predict_commission_fee = row["predict_commission_fee"].ParseToNullableInt(),
product_price = row["product_price"].ParseToNullableInt(),
profit = row["profit"].ParseToNullableInt(),
province_name = row["province_name"].ParseToNullableString(),
purchase_price = row["purchase_price"].ParseToNullableInt(),
purchase_status = row["purchase_status"].ParseToNullableInt(),
purchase_time = row["purchase_time"].ParseToNullableInt(),
settle_info = row["settle_info"].ParseToNullableString(),
ship_done_time = row["ship_done_time"].ParseToNullableInt(),
shop_id = row["shop_id"].ParseToLong(),
shop_name = row["shop_name"].ParseToNullableString(),
shop_remark = row["shop_remark"].ParseToNullableString(),
soft_remark = row["soft_remark"].ParseToNullableString(),
status = row["status"].ParseToNullableInt(),
supplier_remark_exception = row["supplier_remark_exception"].ParseToNullableString(),
tel_number = row["tel_number"].ParseToNullableString(),
tel_number_ext_info = row["tel_number_ext_info"].ParseToNullableString(),
transfer_warehouse_status = row["transfer_warehouse_status"].ParseToNullableInt(),
unionid = row["unionid"].ParseToNullableString(),
update_time = row["update_time"].ParseToInt(),
user_name = row["user_name"].ParseToNullableString(),
use_tel_number = row["use_tel_number"].ParseToNullableInt(),
virtual_order_tel_number = row["virtual_order_tel_number"].ParseToNullableString(),
};
if (order.order_id == "3737914129536416512")
{
}
orderList.Add(order);
@@ -786,6 +786,8 @@ namespace KJD_Web.BLL.WXXD
warehouse_status = row["warehouse_status"].ParseToNullableInt(),
inbound_time = row["inbound_time"].ParseToNullableString().ParseToDateTimeNullable(),
outbound_time = row["outbound_time"].ParseToNullableString().ParseToDateTimeNullable(),
has_reject = row["has_reject"].ParseToInt(),
});
}
return oms_wei_external_procurement_log_list;
@@ -1082,50 +1084,50 @@ namespace KJD_Web.BLL.WXXD
// "order_time=VALUES(@order_time),outExpressCompanyCode=VALUES(@outExpressCompanyCode),tracking_number=VALUES(@tracking_number),order_status_prompt=VALUES(@order_status_prompt)," +
// "after_sales_status=VALUES(@after_sales_status),order_detail=VALUES(@order_detail)";
if (id == 0)
{
sql = "INSERT INTO wxxd.order_pdd_buyer_order (wx_order_id,wx_sku_id,wx_send_type,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,order_sn,order_amount,order_time," +
"outExpressCompanyCode,tracking_number,order_status_prompt,after_sales_status,order_detail,wx_order_send_type)";
sql += "VALUES(@wx_order_id,@wx_sku_id,@wx_send_type,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@pdd_order_sn,@order_amount,@order_time," +
"@outExpressCompanyCode,@tracking_number,@order_status_prompt,@after_sales_status,@order_detail@wx_order_send_type);";
}
else
{
sql = "UPDATE wxxd.order_pdd_buyer_order SET ";
if (!string.IsNullOrEmpty(wx_order_id))
sql += " wx_order_id=@wx_order_id,";
if (!string.IsNullOrEmpty(wx_sku_id))
sql += " wx_sku_id=@wx_sku_id,";
if (!string.IsNullOrEmpty(wx_send_type))
sql += " wx_send_type=@wx_send_type,";
if (!string.IsNullOrEmpty(TransitCreateTime))
sql += " TransitCreateTime=@TransitCreateTime,";
if (!string.IsNullOrEmpty(pre_allocated_order_no))
sql += " pre_allocated_order_no=@pre_allocated_order_no,";
if (!string.IsNullOrEmpty(buyerId))
sql += " buyerId=@buyerId,";
if (!string.IsNullOrEmpty(buyerName))
sql += " buyerName=@buyerName,";
if (!string.IsNullOrEmpty(order_amount))
sql += " order_amount=@order_amount,";
if (!string.IsNullOrEmpty(order_time))
sql += " order_time=@order_time,";
if (!string.IsNullOrEmpty(outExpressCompanyCode))
sql += " outExpressCompanyCode=@outExpressCompanyCode,";
if (!string.IsNullOrEmpty(tracking_number))
sql += " tracking_number=@tracking_number,";
if (!string.IsNullOrEmpty(order_status_prompt))
sql += " order_status_prompt=@order_status_prompt,";
if (!string.IsNullOrEmpty(after_sales_status))
sql += " after_sales_status=@after_sales_status,";
if (!string.IsNullOrEmpty(order_detail))
sql += " order_detail=@order_detail,";
if (!string.IsNullOrEmpty(wx_order_send_type))
sql += " wx_order_send_type=@wx_order_send_type,";
sql = sql.TrimEnd(',');
sql += " where order_sn=@pdd_order_sn";
}
//260705-105706954352823
if (id == 0)
{
sql = "INSERT INTO wxxd.order_pdd_buyer_order (wx_order_id,wx_sku_id,wx_send_type,TransitCreateTime,pre_allocated_order_no,buyerId,buyerName,order_sn,order_amount,order_time," +
"outExpressCompanyCode,tracking_number,order_status_prompt,after_sales_status,order_detail,wx_order_send_type)";
sql += "VALUES(@wx_order_id,@wx_sku_id,@wx_send_type,@TransitCreateTime,@pre_allocated_order_no,@buyerId,@buyerName,@pdd_order_sn,@order_amount,@order_time," +
"@outExpressCompanyCode,@tracking_number,@order_status_prompt,@after_sales_status,@order_detail,@wx_order_send_type);";
}
else
{
sql = "UPDATE wxxd.order_pdd_buyer_order SET ";
if (!string.IsNullOrEmpty(wx_order_id))
sql += " wx_order_id=@wx_order_id,";
if (!string.IsNullOrEmpty(wx_sku_id))
sql += " wx_sku_id=@wx_sku_id,";
if (!string.IsNullOrEmpty(wx_send_type))
sql += " wx_send_type=@wx_send_type,";
if (!string.IsNullOrEmpty(TransitCreateTime))
sql += " TransitCreateTime=@TransitCreateTime,";
if (!string.IsNullOrEmpty(pre_allocated_order_no))
sql += " pre_allocated_order_no=@pre_allocated_order_no,";
if (!string.IsNullOrEmpty(buyerId))
sql += " buyerId=@buyerId,";
if (!string.IsNullOrEmpty(buyerName))
sql += " buyerName=@buyerName,";
if (!string.IsNullOrEmpty(order_amount))
sql += " order_amount=@order_amount,";
if (!string.IsNullOrEmpty(order_time))
sql += " order_time=@order_time,";
if (!string.IsNullOrEmpty(outExpressCompanyCode))
sql += " outExpressCompanyCode=@outExpressCompanyCode,";
if (!string.IsNullOrEmpty(tracking_number))
sql += " tracking_number=@tracking_number,";
if (!string.IsNullOrEmpty(order_status_prompt))
sql += " order_status_prompt=@order_status_prompt,";
if (!string.IsNullOrEmpty(after_sales_status))
sql += " after_sales_status=@after_sales_status,";
if (!string.IsNullOrEmpty(order_detail))
sql += " order_detail=@order_detail,";
if (!string.IsNullOrEmpty(wx_order_send_type))
sql += " wx_order_send_type=@wx_order_send_type,";
sql = sql.TrimEnd(',');
sql += " where order_sn=@pdd_order_sn";
}
//260705-105706954352823
List<MySqlParameter> paramLst = new List<MySqlParameter>();
@@ -1696,13 +1698,67 @@ namespace KJD_Web.BLL.WXXD
}
public string WXAddOrderItemExtInfo(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var timeCalc = DateTime.Now;
/// <summary>
/// 订单拒收状态维护
/// </summary>
/// <param name="inputData"></param>
/// <returns></returns>
public string WXUpdateTransitOrderRejectStatus(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var order_no = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_no"))?.Replace("'", "\\'");
var order_sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_sku_id"))?.Replace("'", "\\'");
var order_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "order_code"))?.Replace("'", "\\'");
var has_reject = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "has_reject"))?.Replace("'", "\\'");
if (order_code.IsNullOrEmpty() && (order_no.IsNullOrEmpty() || order_sku_id.IsNullOrEmpty()))
{
return "{\"code\":500,\"msg\":\"拒收信息不完整\",\"affected_rows\":" + 0 + "}";
}
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn, true);
string sql;
sql = "UPDATE erp.oms_wei_external_procurement_log SET ";
sql += " has_reject=" + has_reject + ",";
sql = sql.TrimEnd(',');
if (!order_code.IsNullOrEmpty())
sql += " WHERE order_code='" + order_code + "' AND order_no='" + order_code + "';";
else
sql += " WHERE order_no='" + order_no + "' AND order_sku_id='" + order_sku_id + "';";
var rows = mySql.ExecuteAffectedRows(sql);
if (!mySql.Message.IsNullOrEmpty())
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\",\"affected_rows\":" + rows + "}";
}
if (rows == 0)
{
mySql.RollBack();
mySql.Close();
return "{\"code\":500,\"msg\":\"更新拒收状态失败,未找到记录\",\"affected_rows\":" + rows + "}";
}
mySql.Commit();
mySql.Close();
return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rows + "}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string WXAddOrderItemExtInfo(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!WXUserManage.GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
var timeCalc = DateTime.Now;
string order_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_order_id"))?.Replace("'", "\\'");
string sku_id = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_sku_id"))?.Replace("'", "\\'");
@@ -42,6 +42,32 @@ namespace KJD_Web.BLL.WXXD
return true;
}
public static DateTime dtAuthorizationExpireTime = DateTime.Now;
public static string e57Authorization = "";
public string GetE57Authorization(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
if (!GetSign(inputData))
return "{\"code\":999,\"msg\":\"校验失败\"}";
if (dtAuthorizationExpireTime <= DateTime.Now || string.IsNullOrEmpty(e57Authorization))
{
//{"msg":"username required","code":500}
//{"msg":"操作成功","code":200,"token":"eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImIxYTU3OWI2LTM0NWUtNDQwOC05ZjFiLTk0ZTUyOTIxMzlmZCJ9.3qvRXiWeCo_cIOHs6gbCHqDrmfCrH6XDOrMY0BjuUOIu3yVsCwFGVO0hT0A5Wssh_VFPJLouyb1moTcODt0vow"}
var url = "https://po.e57.cn/prod-api/api/sys-api/internal/createTokenForUser";
var data = "{\"username\":\"admin\"}";
var html = HttpUtils.e57PostResponse(url, data, "");
e57Authorization = RegexUtils.GetStringJson(ref html, "token").ParseToString();
dtAuthorizationExpireTime = DateTime.Now.AddHours(2);
//dtAuthorizationExpireTime = DateTime.Now.AddMinutes(10);
return html.Replace("token", "authorization");
}
return "{\"code\":200,\"authorization\":\"" + e57Authorization + "\"}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
public string CheckUserLogin(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
@@ -59,5 +59,9 @@ namespace KJD_Web.Model.WxModel
/// 中转出库时间
/// </summary>
public DateTime? outbound_time { get; set; }
/// <summary>
/// 申请拒收状态 0未申请 1申请成功 2申请失败
/// </summary>
public int has_reject { get; set; }
}
}
@@ -285,7 +285,18 @@ namespace KJD_Web
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void wx_update_transit_order_reject_status()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXOrderManage().WXUpdateTransitOrderRejectStatus(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void wx_add_order_item_ext_info()
@@ -54,7 +54,18 @@ namespace KJD_Web
return jsonText;
}
}
//GetE57Authorization
[WebMethod]
public void get_e57_authorization()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new WXUserManage().GetE57Authorization(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void user_login()
{
+49 -4
View File
@@ -8,6 +8,7 @@ using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Work;
namespace TemuKJD.BLL
{
@@ -559,12 +560,27 @@ namespace TemuKJD.BLL
}
result = GetProxyHtml.ReadResponse(response);
return result;
}
}
public static string sAuthorization = "";
public static string e57PostResponse(string _url, string _data, string referer, string Authorization = null)
{
if (string.IsNullOrEmpty(Authorization))
Authorization = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ3YmRlOGNlLWY5MDUtNDIzOS05M2VjLWZiN2U3MjRmOTY0NiJ9.vwxhj3t4zTDdBQTyfVjcKr-0Oma8-VtPDzE2LVkw4A4aWftncY1ikXgEhGwoYHn9E7yOnhS_Pb7FfzgecTqqHA";
//if (string.IsNullOrEmpty(Authorization)) Authorization = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ3YmRlOGNlLWY5MDUtNDIzOS05M2VjLWZiN2U3MjRmOTY0NiJ9.vwxhj3t4zTDdBQTyfVjcKr-0Oma8-VtPDzE2LVkw4A4aWftncY1ikXgEhGwoYHn9E7yOnhS_Pb7FfzgecTqqHA";
bool isRetry = false;
if (string.IsNullOrEmpty(sAuthorization))
{
var url3 = BaseClass.BuildWXObjString("user/get_e57_authorization");
var data3 = UserLogin.GetSignaturex();
var html3 = GetHtml.PostUtf8(url3, data3);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
html3 = GetHtml.PostUtf8(url3, data3);
sAuthorization = BaseRegex.GetStringJson(ref html3, "authorization");
}
Retry:
HttpWebResponse response = null;
string result;
try
@@ -594,15 +610,17 @@ namespace TemuKJD.BLL
request.Headers.Add("sec-ch-ua-mobile", @"?0");
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
request.Headers.Add("Upgrade-Insecure-Requests", @"1");
request.Headers.Add("Authorization", Authorization);
request.Headers.Add("Authorization", "Bearer " + sAuthorization);
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.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", @"none");
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.Cookie, "Admin-Token=" + sAuthorization);
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
request.Proxy = null;
request.Method = "POST";
request.ServicePoint.Expect100Continue = false;
@@ -632,11 +650,29 @@ namespace TemuKJD.BLL
return e.Message;
}
result = GetProxyHtml.ReadResponse(response);
if (result.Contains("没有Authorization") && !isRetry)
{
isRetry = true;
sAuthorization = "";
goto Retry;
}
return result;
}
public static string e57GetResponse(string _url, string referer)
{
bool isRetry = false;
if (string.IsNullOrEmpty(sAuthorization))
{
var url3 = BaseClass.BuildWXObjString("user/get_e57_authorization");
var data3 = UserLogin.GetSignaturex();
var html3 = GetHtml.PostUtf8(url3, data3);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
html3 = GetHtml.PostUtf8(url3, data3);
sAuthorization = BaseRegex.GetStringJson(ref html3, "authorization");
}
Retry:
HttpWebResponse response = null;
string result;
try
@@ -660,14 +696,17 @@ namespace TemuKJD.BLL
request.Headers.Add("sec-ch-ua-mobile", @"?0");
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
request.Headers.Add("Upgrade-Insecure-Requests", @"1");
request.Headers.Add("Authorization", "Bearer " + sAuthorization);
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.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", @"none");
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.Cookie, "Admin-Token=" + sAuthorization);
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
request.Proxy = null;
response = (HttpWebResponse)request.GetResponse();
}
@@ -687,6 +726,12 @@ namespace TemuKJD.BLL
return e.Message;
}
result = GetProxyHtml.ReadResponse(response);
if (result.Contains("没有Authorization") && !isRetry)
{
isRetry = true;
sAuthorization = "";
goto Retry;
}
return result;
}
}
+57 -57
View File
@@ -32,14 +32,14 @@ namespace TemuKJD.WXForms.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 dataGridViewCellStyle33 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle34 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle35 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle36 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle37 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle38 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle39 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle40 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.chkIsSubmitSuccess = new TemuKJD.UserComponent.UcCheckBox(this.components);
@@ -1643,7 +1643,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// numFilterViewUv
//
this.numFilterViewUv.Location = new System.Drawing.Point(192, 101);
this.numFilterViewUv.Font = new System.Drawing.Font("微软雅黑", 10F);
this.numFilterViewUv.Location = new System.Drawing.Point(191, 100);
this.numFilterViewUv.Maximum = new decimal(new int[] {
99999999,
0,
@@ -1655,7 +1656,7 @@ namespace TemuKJD.WXForms.ProductForms
0,
0});
this.numFilterViewUv.Name = "numFilterViewUv";
this.numFilterViewUv.Size = new System.Drawing.Size(46, 23);
this.numFilterViewUv.Size = new System.Drawing.Size(46, 25);
this.numFilterViewUv.TabIndex = 931;
this.numFilterViewUv.Value = new decimal(new int[] {
200,
@@ -1667,9 +1668,9 @@ namespace TemuKJD.WXForms.ProductForms
// cmbNotes
//
this.cmbNotes.FormattingEnabled = true;
this.cmbNotes.Location = new System.Drawing.Point(323, 46);
this.cmbNotes.Location = new System.Drawing.Point(326, 46);
this.cmbNotes.Name = "cmbNotes";
this.cmbNotes.Size = new System.Drawing.Size(94, 25);
this.cmbNotes.Size = new System.Drawing.Size(92, 25);
this.cmbNotes.TabIndex = 823;
this.cmbNotes.Visible = false;
//
@@ -1786,9 +1787,9 @@ namespace TemuKJD.WXForms.ProductForms
"",
"爆款数据",
"普通商品"});
this.cmbHot.Location = new System.Drawing.Point(323, 73);
this.cmbHot.Location = new System.Drawing.Point(326, 73);
this.cmbHot.Name = "cmbHot";
this.cmbHot.Size = new System.Drawing.Size(94, 25);
this.cmbHot.Size = new System.Drawing.Size(92, 25);
this.cmbHot.TabIndex = 837;
this.cmbHot.Text = "普通商品";
this.cmbHot.Visible = false;
@@ -1837,7 +1838,7 @@ namespace TemuKJD.WXForms.ProductForms
this.txtSearchGoodsName.Location = new System.Drawing.Point(191, 46);
this.txtSearchGoodsName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtSearchGoodsName.Name = "txtSearchGoodsName";
this.txtSearchGoodsName.Size = new System.Drawing.Size(94, 25);
this.txtSearchGoodsName.Size = new System.Drawing.Size(92, 25);
this.txtSearchGoodsName.TabIndex = 795;
//
// cmbSourceType
@@ -1856,7 +1857,7 @@ namespace TemuKJD.WXForms.ProductForms
"多多外部数据"});
this.cmbSourceType.Location = new System.Drawing.Point(55, 73);
this.cmbSourceType.Name = "cmbSourceType";
this.cmbSourceType.Size = new System.Drawing.Size(94, 25);
this.cmbSourceType.Size = new System.Drawing.Size(92, 25);
this.cmbSourceType.TabIndex = 673;
this.cmbSourceType.Text = "厂商直采";
this.cmbSourceType.Visible = false;
@@ -1870,9 +1871,9 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCateFilter3.DropDownWidth = 1;
this.cmbCateFilter3.FormattingEnabled = true;
this.cmbCateFilter3.IntegralHeight = false;
this.cmbCateFilter3.Location = new System.Drawing.Point(323, 19);
this.cmbCateFilter3.Location = new System.Drawing.Point(326, 19);
this.cmbCateFilter3.Name = "cmbCateFilter3";
this.cmbCateFilter3.Size = new System.Drawing.Size(94, 25);
this.cmbCateFilter3.Size = new System.Drawing.Size(92, 25);
this.cmbCateFilter3.TabIndex = 710;
this.cmbCateFilter3.Text = "全部";
this.cmbCateFilter3.SelectedIndexChanged += new System.EventHandler(this.cmbCateFilter3_SelectedIndexChanged);
@@ -1881,7 +1882,7 @@ namespace TemuKJD.WXForms.ProductForms
// label21
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(288, 23);
this.label21.Location = new System.Drawing.Point(291, 23);
this.label21.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(39, 17);
@@ -1893,7 +1894,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbGroupFilter.FormattingEnabled = true;
this.cmbGroupFilter.Location = new System.Drawing.Point(191, 73);
this.cmbGroupFilter.Name = "cmbGroupFilter";
this.cmbGroupFilter.Size = new System.Drawing.Size(94, 25);
this.cmbGroupFilter.Size = new System.Drawing.Size(92, 25);
this.cmbGroupFilter.TabIndex = 641;
this.cmbGroupFilter.Visible = false;
this.cmbGroupFilter.SelectedIndexChanged += new System.EventHandler(this.cmbGroupFilter_SelectedIndexChanged);
@@ -1905,7 +1906,7 @@ namespace TemuKJD.WXForms.ProductForms
this.txtIdFilter.Location = new System.Drawing.Point(55, 100);
this.txtIdFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtIdFilter.Name = "txtIdFilter";
this.txtIdFilter.Size = new System.Drawing.Size(94, 25);
this.txtIdFilter.Size = new System.Drawing.Size(92, 25);
this.txtIdFilter.TabIndex = 652;
this.txtIdFilter.Visible = false;
//
@@ -1918,7 +1919,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCateFilter2.IntegralHeight = false;
this.cmbCateFilter2.Location = new System.Drawing.Point(191, 19);
this.cmbCateFilter2.Name = "cmbCateFilter2";
this.cmbCateFilter2.Size = new System.Drawing.Size(94, 25);
this.cmbCateFilter2.Size = new System.Drawing.Size(92, 25);
this.cmbCateFilter2.TabIndex = 708;
this.cmbCateFilter2.Text = "全部";
this.cmbCateFilter2.SelectedIndexChanged += new System.EventHandler(this.cmbCateFilter2_SelectedIndexChanged);
@@ -1959,7 +1960,7 @@ namespace TemuKJD.WXForms.ProductForms
"未校验"});
this.cmbWxSafe.Location = new System.Drawing.Point(55, 46);
this.cmbWxSafe.Name = "cmbWxSafe";
this.cmbWxSafe.Size = new System.Drawing.Size(94, 25);
this.cmbWxSafe.Size = new System.Drawing.Size(92, 25);
this.cmbWxSafe.TabIndex = 675;
this.cmbWxSafe.Text = "安全+未校验";
//
@@ -1998,7 +1999,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCateFilter1.IntegralHeight = false;
this.cmbCateFilter1.Location = new System.Drawing.Point(55, 19);
this.cmbCateFilter1.Name = "cmbCateFilter1";
this.cmbCateFilter1.Size = new System.Drawing.Size(94, 25);
this.cmbCateFilter1.Size = new System.Drawing.Size(92, 25);
this.cmbCateFilter1.TabIndex = 663;
this.cmbCateFilter1.Text = "全部";
this.cmbCateFilter1.SelectedIndexChanged += new System.EventHandler(this.cmbCateFilter1_SelectedIndexChanged);
@@ -2094,7 +2095,7 @@ namespace TemuKJD.WXForms.ProductForms
// lblHot
//
this.lblHot.AutoSize = true;
this.lblHot.Location = new System.Drawing.Point(295, 77);
this.lblHot.Location = new System.Drawing.Point(298, 77);
this.lblHot.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblHot.Name = "lblHot";
this.lblHot.Size = new System.Drawing.Size(32, 17);
@@ -2152,7 +2153,7 @@ namespace TemuKJD.WXForms.ProductForms
// lblNotes
//
this.lblNotes.AutoSize = true;
this.lblNotes.Location = new System.Drawing.Point(295, 50);
this.lblNotes.Location = new System.Drawing.Point(298, 50);
this.lblNotes.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblNotes.Name = "lblNotes";
this.lblNotes.Size = new System.Drawing.Size(32, 17);
@@ -2162,10 +2163,9 @@ namespace TemuKJD.WXForms.ProductForms
//
// chkFilterViewUv
//
this.chkFilterViewUv.AutoSize = true;
this.chkFilterViewUv.Location = new System.Drawing.Point(150, 102);
this.chkFilterViewUv.Location = new System.Drawing.Point(149, 104);
this.chkFilterViewUv.Name = "chkFilterViewUv";
this.chkFilterViewUv.Size = new System.Drawing.Size(51, 21);
this.chkFilterViewUv.Size = new System.Drawing.Size(44, 17);
this.chkFilterViewUv.TabIndex = 911;
this.chkFilterViewUv.Text = "曝光";
this.chkFilterViewUv.UseVisualStyleBackColor = true;
@@ -2593,19 +2593,19 @@ namespace TemuKJD.WXForms.ProductForms
//
this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false;
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
dataGridViewCellStyle33.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle33;
this.dgvShop.AutoRowNumber = true;
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;
dataGridViewCellStyle34.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle34.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle34.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle34.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle34.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle34.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle34.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle34;
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
@@ -2837,19 +2837,19 @@ namespace TemuKJD.WXForms.ProductForms
//
this.dgvSelectProduct.AllowUserToAddRows = false;
this.dgvSelectProduct.AllowUserToDeleteRows = false;
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
dataGridViewCellStyle35.BackColor = System.Drawing.Color.WhiteSmoke;
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle35;
this.dgvSelectProduct.AutoRowNumber = true;
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
dataGridViewCellStyle36.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle36.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle36.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle36.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle36.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle36.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle36.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle36;
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck,
@@ -2911,8 +2911,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colSupplierName
//
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
dataGridViewCellStyle37.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle37;
this.colSupplierName.Frozen = true;
this.colSupplierName.HeaderText = "店铺名称";
this.colSupplierName.Name = "colSupplierName";
@@ -2992,8 +2992,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colProductName
//
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
dataGridViewCellStyle38.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductName.DefaultCellStyle = dataGridViewCellStyle38;
this.colProductName.HeaderText = "商品标题";
this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true;
@@ -3001,8 +3001,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colProductCat
//
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
dataGridViewCellStyle39.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle39;
this.colProductCat.HeaderText = "商品类目";
this.colProductCat.Name = "colProductCat";
this.colProductCat.ReadOnly = true;
@@ -3057,8 +3057,8 @@ namespace TemuKJD.WXForms.ProductForms
//
// colAddTime
//
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8;
dataGridViewCellStyle40.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle40;
this.colAddTime.HeaderText = "上传时间";
this.colAddTime.Name = "colAddTime";
this.colAddTime.ReadOnly = true;
@@ -424,8 +424,11 @@ namespace TemuKJD.WXForms.ProductForms
for (int j= ctrlLst.Count - 2; j > i; j-=2)
{
ctrlLst[j].Parent = ucGroupBoxEx4;
ctrlLst[j].Location = new Point(ctrlLst[j - 2].Location.X, ctrlLst[j - 2].Location.Y);
ctrlLst[j].Location = new Point(ctrlLst[j - 2].Location.X + ctrlLst[j - 2].Width - ctrlLst[j].Width, ctrlLst[j - 2].Location.Y);
if (ctrlLst[j] is CheckBox) // 额外减去一个像素
ctrlLst[j].Location = new Point(ctrlLst[j].Location.X - 1, ctrlLst[j].Location.Y);
ctrlLst[j + 1].Location = new Point(ctrlLst[j].Location.X + ctrlLst[j].Width - 3, ctrlLst[j - 1].Location.Y);
ctrlLst[j + 1].Width = ctrlLst[j - 1].Width;
ctrlLst[j + 1].BringToFront();
}
}
@@ -436,8 +439,8 @@ namespace TemuKJD.WXForms.ProductForms
}
if (chkWXComplateProd.Visible == false)
{
chkRandomFissionProduct.Location = new Point(chkRandomFissionProduct.Location.X + 160, chkRandomFissionProduct.Location.Y);
txtRandomFissionProductCount.Location = new Point(txtRandomFissionProductCount.Location.X + 160, txtRandomFissionProductCount.Location.Y);
chkRandomFissionProduct.Location = new Point(chkRandomFissionProduct.Location.X + 54, chkRandomFissionProduct.Location.Y);
txtRandomFissionProductCount.Location = new Point(txtRandomFissionProductCount.Location.X + 54, txtRandomFissionProductCount.Location.Y);
}
IsFormLoad = true;
@@ -899,7 +902,7 @@ namespace TemuKJD.WXForms.ProductForms
var shopId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString();
var draftId = dgvSelectProduct.Rows[e.RowIndex].Cells["colDraftId"].Value.ParseToString();
var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
if (shop == null)
if (shop == null && !string.IsNullOrEmpty(headerText))
{
BaseMsgForm.ShowError("店铺不存在或已过期");
return;
@@ -6270,19 +6273,25 @@ namespace TemuKJD.WXForms.ProductForms
private void btnClearDgv_Click(object sender, EventArgs e)
{
//this.dgvSelectProduct.Rows.Clear();
var rows = this.dgvSelectProduct.Rows.Cast<DataGridViewRow>().ToList(); //Cast后Rows做foreach循环时仍会夹花跳过,所以要ToList转一个新的数组。
foreach (var row in rows)
Task.Run(() =>
{
if (row.Cells["colCheck"].Value.ParseToBool() == true)
var rows = this.dgvSelectProduct.Rows.Cast<DataGridViewRow>().ToList(); //Cast后Rows做foreach循环时仍会夹花跳过,所以要ToList转一个新的数组。
foreach (var row in rows)
{
var draft_id = row.Cells["colDraftId"].Value.ParseToString();
var add_time = row.Cells["colAddTime"].Value.ParseToString().ParseToDateTime();
upload_draft_product_lst.RemoveAll(p => p.draft_id.ParseToString() == draft_id && p.add_time.ToString("yyyyMMddHHmmss") == add_time.ToString("yyyyMMddHHmmss"));
Invoke(new Action(() =>
{
if (row.Cells["colCheck"].Value.ParseToBool() == true)
{
var draft_id = row.Cells["colDraftId"].Value.ParseToString();
var add_time = row.Cells["colAddTime"].Value.ParseToString().ParseToDateTime();
upload_draft_product_lst.RemoveAll(p => p.draft_id.ParseToString() == draft_id && p.add_time.ToString("yyyyMMddHHmmss") == add_time.ToString("yyyyMMddHHmmss"));
this.dgvSelectProduct.Rows.Remove(row);
this.dgvSelectProduct.Rows.Remove(row);
}
}));
}
}
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_select_upload_draft_products", upload_draft_product_lst);
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_select_upload_draft_products", upload_draft_product_lst);
});
}
private void chkAddMorePriceFirst_CheckedChanged(object sender, EventArgs e)