From f703e15f1166b45a419ca3405ac6ffe3abf81b9d Mon Sep 17 00:00:00 2001 From: wule Date: Mon, 6 Jul 2026 10:58:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + AllBase/BaseClass.cs | 2 +- Bin.Pak/package260528pdd.nsi | 150 ++++++++++++++ Bin.Pak/package260701wx x64.nsi | 187 ++++++++++++++++++ Bin.Pak/package260701强胜科技 x64.nsi | 187 ++++++++++++++++++ .../KJD_WebService/BLL/WXXD/WXUserManage.cs | 15 +- .../KJD_WebService/KJD_WebService.csproj.user | 2 +- PackTools/package260701强胜科技 x64.nsi | 28 +-- ...mon_icon.ico => 29_common_icon_purple.ico} | Bin TEMUKJD/BaseForms/BaseGeneralForm.designer.cs | 2 +- TEMUKJD/InitForm.cs | 6 +- TEMUKJD/KJD.csproj | 8 +- TEMUKJD/Properties/Resources.Designer.cs | 22 ++- TEMUKJD/Properties/Resources.resx | 6 + TEMUKJD/Resources/common_icon.ico | Bin 4723 -> 16958 bytes TEMUKJD/Resources/common_icon.png | Bin 0 -> 4120 bytes .../AdminForms/WXAdminSetTopUpQrCodeForm.cs | 2 + TEMUKJD/WXForms/ShopForms/WXGetTopUpQrCode.cs | 2 + Work/UserLogin.cs | 11 +- 19 files changed, 599 insertions(+), 32 deletions(-) create mode 100644 Bin.Pak/package260528pdd.nsi create mode 100644 Bin.Pak/package260701wx x64.nsi create mode 100644 Bin.Pak/package260701强胜科技 x64.nsi rename TEMUKJD/{29_common_icon.ico => 29_common_icon_purple.ico} (100%) create mode 100644 TEMUKJD/Resources/common_icon.png diff --git a/.gitignore b/.gitignore index ded2f31..42cf863 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .vs .svn Bin +Bin.Oem NotUse obj *.psd diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index f38c66b..a0eead3 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 1207; + public static int VersionCount = 1210; public static string MainPath = "29wx"; //public static string MainPath = "29wx"; //public static string MainPath = "29pdd"; diff --git a/Bin.Pak/package260528pdd.nsi b/Bin.Pak/package260528pdd.nsi new file mode 100644 index 0000000..0031668 --- /dev/null +++ b/Bin.Pak/package260528pdd.nsi @@ -0,0 +1,150 @@ +; ¸Ã½Å±¾Ê¹Óà HM VNISEdit ½Å±¾±à¼­Æ÷Ïòµ¼²úÉú + +; °²×°³ÌÐò³õʼ¶¨Òå³£Á¿ +!define PRODUCT_NAME "29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß" +!define PRODUCT_VERSION "v11.17" +!define PRODUCT_PUBLISHER "29¹©Ó¦Á´Èí¼þÖÆ×÷×é" +!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 BUILD_PATH "D:\Project\TEMU¿ç¾³´ïºǫ́¹ÜÀí\KJD Cef138\PackTools" +!define BIN_PATH "D:\Project\TEMU¿ç¾³´ïºǫ́¹ÜÀí\KJD Cef138\Bin" + +SetCompressor lzma + +; ------ MUI ÏÖ´ú½çÃæ¶¨Òå (1.67 °æ±¾ÒÔÉϼæÈÝ) ------ +!include "MUI.nsh" + +; MUI Ô¤¶¨Òå³£Á¿ +!define MUI_ABORTWARNING +!define MUI_ICON "${BUILD_PATH}\29pdd.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-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 "${BUILD_PATH}\Licence.txt" +; °²×°Ä¿Â¼Ñ¡ÔñÒ³Ãæ +!insertmacro MUI_PAGE_DIRECTORY +; °²×°¹ý³ÌÒ³Ãæ +!insertmacro MUI_PAGE_INSTFILES +; °²×°Íê³ÉÒ³Ãæ +;!define MUI_FINISHPAGE_RUN "$INSTDIR\29¹©Ó¦Á´.exe" +!define MUI_FINISHPAGE_RUN "$INSTDIR\29pdd.lnk" +!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 "29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß.exe" +InstallDir "$PROGRAMFILES\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß" +InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" +ShowInstDetails show +ShowUnInstDetails show +BrandingText "29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß°²×°³ÌÐò" + +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" "${BIN_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" "${BIN_PATH}\*.*" + CreateDirectory "$SMPROGRAMS\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß" + CreateShortCut "$SMPROGRAMS\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß.lnk" "$INSTDIR\29¹©Ó¦Á´.exe" "" "$INSTDIR\29pdd.ico" + CreateShortCut "$DESKTOP\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß.lnk" "$INSTDIR\29¹©Ó¦Á´.exe" "" "$INSTDIR\29pdd.ico" + File "${BIN_PATH}\29¹©Ó¦Á´.exe" + ;SetOutPath "$TEMP" + ;File "${BUILD_PATH}\bin\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\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß\Uninstall.lnk" "$INSTDIR\uninst.exe" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${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_PUBLISHER}" +SectionEnd + +#-- ¸ù¾Ý NSIS ½Å±¾±à¼­¹æÔò£¬ËùÓÐ Function Çø¶Î±ØÐë·ÅÖÃÔÚ Section Çø¶ÎÖ®ºó±àд£¬ÒÔ±ÜÃâ°²×°³ÌÐò³öÏÖδ¿ÉÔ¤ÖªµÄÎÊÌâ¡£--# + +Function .onInit + !insertmacro MUI_LANGDLL_DISPLAY +FunctionEnd + +/****************************** + * ÒÔÏÂÊǰ²×°³ÌÐòµÄÐ¶ÔØ²¿·Ö * + ******************************/ + +Section Uninstall + Delete "$INSTDIR\uninst.exe" + Delete "$TEMP\vc_redist.x86.exe" + Delete "$INSTDIR\29¹©Ó¦Á´.exe" + + Delete "$SMPROGRAMS\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß\Uninstall.lnk" + Delete "$DESKTOP\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß.lnk" + Delete "$SMPROGRAMS\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß.lnk" + + RMDir "$SMPROGRAMS\29¹©Ó¦Á´-Æ´¶à¶à¹ÜÀí¹¤¾ß" + + 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}" + 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 diff --git a/Bin.Pak/package260701wx x64.nsi b/Bin.Pak/package260701wx x64.nsi new file mode 100644 index 0000000..e0c2d76 --- /dev/null +++ b/Bin.Pak/package260701wx x64.nsi @@ -0,0 +1,187 @@ +; ¸Ã½Å±¾Ê¹Óà HM VNISEdit ½Å±¾±à¼­Æ÷Ïòµ¼²úÉú + +; °²×°³ÌÐò³õʼ¶¨Òå³£Á¿ +!define PRODUCT_NAME "29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß" +!define PRODUCT_VERSION "v12.02" +!define PRODUCT_PUBLISHER "29¹©Ó¦Á´Èí¼þÖÆ×÷×é" +!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 BUILD_PATH "D:\Project\TEMU¿ç¾³´ïºǫ́¹ÜÀí\KJD Cef138\PackTools" +!define BIN_PATH "D:\Project\TEMU¿ç¾³´ïºǫ́¹ÜÀí\KJD Cef138\Bin" + +SetCompressor lzma + +; ------ MUI ÏÖ´ú½çÃæ¶¨Òå (1.67 °æ±¾ÒÔÉϼæÈÝ) ------ +!include "MUI.nsh" + +; MUI Ô¤¶¨Òå³£Á¿ +!define MUI_ABORTWARNING +!define MUI_ICON "${BUILD_PATH}\29wx.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-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 "${BUILD_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 "29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß.exe" +InstallDir "$PROGRAMFILES\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß" +;InstallDir "D:\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß" +;InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" +InstallDirRegKey HKCU "${PRODUCT_UNINST_KEY}" "UninstallString" +ShowInstDetails show +ShowUnInstDetails show +BrandingText "29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß°²×°³ÌÐò" + +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" "${BIN_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 "29pdd.lnk" /x "29pdd.ico" "${BIN_PATH}\*.*" + CreateDirectory "$SMPROGRAMS\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß" + CreateShortCut "$SMPROGRAMS\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß.lnk" "$INSTDIR\29¹©Ó¦Á´.exe" "" "$INSTDIR\29wx.ico" + CreateShortCut "$DESKTOP\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß.lnk" "$INSTDIR\29¹©Ó¦Á´.exe" "" "$INSTDIR\29wx.ico" + File "${BIN_PATH}\29¹©Ó¦Á´.exe" + ;SetOutPath "$TEMP" + ;File "${BUILD_PATH}\bin\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\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß\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_PUBLISHER}" +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\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß\Uninstall.lnk" + Delete "$DESKTOP\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß.lnk" + Delete "$SMPROGRAMS\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß.lnk" + + RMDir "$SMPROGRAMS\29¹©Ó¦Á´-΢ÐÅСµê¹ÜÀí¹¤¾ß" + + 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 diff --git a/Bin.Pak/package260701强胜科技 x64.nsi b/Bin.Pak/package260701强胜科技 x64.nsi new file mode 100644 index 0000000..3d84ee8 --- /dev/null +++ b/Bin.Pak/package260701强胜科技 x64.nsi @@ -0,0 +1,187 @@ +; ¸Ã½Å±¾Ê¹Óà HM VNISEdit ½Å±¾±à¼­Æ÷Ïòµ¼²úÉú + +; °²×°³ÌÐò³õʼ¶¨Òå³£Á¿ +!define PRODUCT_NAME "ǿʤ¿Æ¼¼" +!define PRODUCT_VERSION "v12.09" +;!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 BUILD_PATH "D:\Project\TEMU¿ç¾³´ïºǫ́¹ÜÀí\KJD Cef138\PackTools" +!define BIN_PATH "D:\Project\TEMU¿ç¾³´ïºǫ́¹ÜÀí\KJD Cef138\Bin" + +SetCompressor lzma + +; ------ MUI ÏÖ´ú½çÃæ¶¨Òå (1.67 °æ±¾ÒÔÉϼæÈÝ) ------ +!include "MUI.nsh" + +; MUI Ô¤¶¨Òå³£Á¿ +!define MUI_ABORTWARNING +!define MUI_ICON "${BUILD_PATH}\favicon.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-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 "${BUILD_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 "${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" "${BIN_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" "${BIN_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 "${BIN_PATH}\29¹©Ó¦Á´.exe" + ;SetOutPath "$TEMP" + ;File "${BUILD_PATH}\bin\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 diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs index 554a823..3a81869 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXUserManage.cs @@ -940,18 +940,17 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":999,\"msg\":\"校验失败\"}"; var qrcode_base64 = (RegexUtils.GetStringQuery(ref inputData, "qrcode_base64")?.Replace("'", "\\'")); + var agent_code = (RegexUtils.GetStringQuery(ref inputData, "agent_code")?.Replace("'", "\\'")).ParseToString(); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); - string sql = "UPDATE wxxd.user_top_up_qrcode SET qrcode_base64='" + qrcode_base64 + "' WHERE id=1;"; + //string sql = "UPDATE wxxd.user_top_up_qrcode SET qrcode_base64='" + qrcode_base64 + "' WHERE agent_code=" + agent_code + ";"; + string sql = "INSERT INTO wxxd.user_top_up_qrcode (agent_code,qrcode_base64) VALUES('" + agent_code + "','" + qrcode_base64 + "')" + + "ON DUPLICATE KEY UPDATE agent_code=VALUES(agent_code),qrcode_base64=VALUES(qrcode_base64);"; var rst = mySql.ExecuteAffectedRows(sql); mySql.Close(); - if (string.IsNullOrEmpty(mySql.Message)) - { - return "{\"code\":200}"; - } if (!string.IsNullOrEmpty(mySql.Message)) { return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; @@ -961,7 +960,7 @@ namespace KJD_Web.BLL.WXXD } /// - /// 充值二维ç � + /// 获å�–充值二维ç � /// /// /// @@ -972,9 +971,11 @@ namespace KJD_Web.BLL.WXXD if (!GetSign(inputData)) return "{\"code\":999,\"msg\":\"校验失败\"}"; + var agent_code = (RegexUtils.GetStringQuery(ref inputData, "agent_code")?.Replace("'", "\\'")).ParseToString(); + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); - string sql = "SELECT qrcode_base64 from wxxd.user_top_up_qrcode WHERE id = 1;"; + string sql = "SELECT qrcode_base64 from wxxd.user_top_up_qrcode WHERE agent_code = '" + agent_code + "';"; var qrcode_base64 = mySql.ExecuteFirst(sql); mySql.Close(); diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj.user b/KJDService/KJD_WebService/KJD_WebService.csproj.user index 4bcdc04..c789fae 100644 --- a/KJDService/KJD_WebService/KJD_WebService.csproj.user +++ b/KJDService/KJD_WebService/KJD_WebService.csproj.user @@ -1,4 +1,4 @@ - + true diff --git a/PackTools/package260701强胜科技 x64.nsi b/PackTools/package260701强胜科技 x64.nsi index 53f6c4f..3d84ee8 100644 --- a/PackTools/package260701强胜科技 x64.nsi +++ b/PackTools/package260701强胜科技 x64.nsi @@ -2,8 +2,8 @@ ; °²×°³ÌÐò³õʼ¶¨Òå³£Á¿ !define PRODUCT_NAME "ǿʤ¿Æ¼¼" -!define PRODUCT_VERSION "v12.08" -;!define PRODUCT_PUBLISHER "ǿʤ¿Æ¼¼Èí¼þÖÆ×÷×é" +!define PRODUCT_VERSION "v12.09" +;!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" ;ÐèÒª¹ÜÀíԱȨÏÞ @@ -71,14 +71,14 @@ SetCompressor lzma ; ------ MUI ÏÖ´ú½çÃæ¶¨Òå½áÊø ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "ǿʤ¿Æ¼¼.exe" -InstallDir "$PROGRAMFILES\ǿʤ¿Æ¼¼" -;InstallDir "D:\ǿʤ¿Æ¼¼" +OutFile "${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 "ǿʤ¿Æ¼¼°²×°³ÌÐò" +BrandingText "${PRODUCT_NAME}°²×°³ÌÐò" Section "MainSection" SEC01 SetOutPath "$INSTDIR" @@ -87,9 +87,9 @@ Section "MainSection" SEC01 ;/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" "${BIN_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" "${BIN_PATH}\*.*" - CreateDirectory "$SMPROGRAMS\ǿʤ¿Æ¼¼" - CreateShortCut "$SMPROGRAMS\ǿʤ¿Æ¼¼\ǿʤ¿Æ¼¼.lnk" "$INSTDIR\29¹©Ó¦Á´.exe" "" "$INSTDIR\favicon.ico" - CreateShortCut "$DESKTOP\ǿʤ¿Æ¼¼.lnk" "$INSTDIR\29¹©Ó¦Á´.exe" "" "$INSTDIR\favicon.ico" + 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 "${BIN_PATH}\29¹©Ó¦Á´.exe" ;SetOutPath "$TEMP" ;File "${BUILD_PATH}\bin\VC_redist_2015_2022.x64.exe" @@ -99,7 +99,7 @@ SectionEnd Section -AdditionalIcons SetOutPath $INSTDIR - CreateShortCut "$SMPROGRAMS\ǿʤ¿Æ¼¼\Uninstall.lnk" "$INSTDIR\uninst.exe" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Post @@ -142,11 +142,11 @@ Section Uninstall Delete "$TEMP\vc_redist.x86.exe" Delete "$INSTDIR\29¹©Ó¦Á´.exe" - Delete "$SMPROGRAMS\ǿʤ¿Æ¼¼\Uninstall.lnk" - Delete "$DESKTOP\ǿʤ¿Æ¼¼.lnk" - Delete "$SMPROGRAMS\ǿʤ¿Æ¼¼\ǿʤ¿Æ¼¼.lnk" + Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" + Delete "$DESKTOP\${PRODUCT_NAME}.lnk" + Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" - RMDir "$SMPROGRAMS\ǿʤ¿Æ¼¼" + RMDir "$SMPROGRAMS\${PRODUCT_NAME}" RMDir /r "$INSTDIR\blob_storage" RMDir /r "$INSTDIR\Cache" diff --git a/TEMUKJD/29_common_icon.ico b/TEMUKJD/29_common_icon_purple.ico similarity index 100% rename from TEMUKJD/29_common_icon.ico rename to TEMUKJD/29_common_icon_purple.ico diff --git a/TEMUKJD/BaseForms/BaseGeneralForm.designer.cs b/TEMUKJD/BaseForms/BaseGeneralForm.designer.cs index 7718826..4cd08d3 100644 --- a/TEMUKJD/BaseForms/BaseGeneralForm.designer.cs +++ b/TEMUKJD/BaseForms/BaseGeneralForm.designer.cs @@ -108,7 +108,7 @@ // pbLogo // this.pbLogo.BackColor = System.Drawing.Color.Transparent; - this.pbLogo.Image = global::TemuKJD.Properties.Resources.icon; + this.pbLogo.Image = global::TemuKJD.Properties.Resources.common_icon; this.pbLogo.Location = new System.Drawing.Point(5, 4); this.pbLogo.Name = "pbLogo"; this.pbLogo.Size = new System.Drawing.Size(23, 23); diff --git a/TEMUKJD/InitForm.cs b/TEMUKJD/InitForm.cs index 8b9c927..49b2b64 100644 --- a/TEMUKJD/InitForm.cs +++ b/TEMUKJD/InitForm.cs @@ -1,4 +1,5 @@ using AllBase; +using NaiBa.Util.Extension; using NaiBa.Util.Helper; using System; using System.Collections.Generic; @@ -22,12 +23,15 @@ namespace TemuKJD { InitializeComponent(); + if (BaseClass.AgentCode.IsNullOrEmpty()) + this.ShowIcon = false; this.Load += NewInitForm_Load; } private void NewInitForm_Load(object sender, EventArgs e) { - this.Icon = BaseClass.Ico; + //if (!BaseClass.AgentCode.IsNullOrEmpty()) + // this.Icon = BaseClass.Ico; //if (!BaseClass.AgentCode.IsNullOrEmpty()) // this.Hide(); diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index f1fa6c5..83d46cf 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -1927,13 +1927,17 @@ - + + - + + + + diff --git a/TEMUKJD/Properties/Resources.Designer.cs b/TEMUKJD/Properties/Resources.Designer.cs index 2b8022c..c351b4a 100644 --- a/TEMUKJD/Properties/Resources.Designer.cs +++ b/TEMUKJD/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace TemuKJD.Properties { // 类通过类似于 ResGen 或 Visual Studio 的工具自动生æˆ�的。 // è‹¥è¦�添加或移除æˆ�员,请编辑 .ResX 文件,然å�Žé‡�æ–°è¿�行 ResGen // (以 /str 作为命令选项),或é‡�新生æˆ� VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -60,6 +60,16 @@ namespace TemuKJD.Properties { } } + /// + /// 查找类似于 (图标) çš„ System.Drawing.Icon 类型的本地化资æº�。 + /// + internal static System.Drawing.Icon _29_common_icon_purple { + get { + object obj = ResourceManager.GetObject("_29_common_icon_purple", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + /// /// 查找类似 @charset "utf-8"; /// @@ -210,6 +220,16 @@ namespace TemuKJD.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资æº�。 + /// + internal static System.Drawing.Bitmap common_icon { + get { + object obj = ResourceManager.GetObject("common_icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找类似 [{"id":0,"name":"全部分类","parent_cid":-1,"level":0,"enable":0,"is_leaf":false,"industry_status":0,"extra":null,"is_get_child":true},{"id":20005,"name":"女装","parent_cid":0,"level":1,"enable":1,"is_leaf":false,"industry_status":0,"extra":null,"is_get_child":true},{"id":20009,"name":"男装","parent_cid":0,"level":1,"enable":1,"is_leaf":false,"industry_status":0,"extra":null,"is_get_child":true},{"id":20062,"name":"内衣裤袜","parent_cid":0,"level":1,"enable":1,"is_leaf":false,"industry_status":0,"extra":null,"is_get_chi [字符串的其余部分被截断]"; 的本地化字符串。 /// diff --git a/TEMUKJD/Properties/Resources.resx b/TEMUKJD/Properties/Resources.resx index 58183d9..711f2a6 100644 --- a/TEMUKJD/Properties/Resources.resx +++ b/TEMUKJD/Properties/Resources.resx @@ -157,6 +157,9 @@ ..\Resources\close.hover.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\common_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\static\dycategorys.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 @@ -448,6 +451,9 @@ ..\resources\weixin_logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\29_common_icon_purple.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\static\base.css;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 diff --git a/TEMUKJD/Resources/common_icon.ico b/TEMUKJD/Resources/common_icon.ico index e3ef17355dbe604a6dc786b819182dc5ff340e55..b436bae4a7d9b877621177e335bf29802741fe96 100644 GIT binary patch literal 16958 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

poi9NWCJ@%BHqUpl)PaCf>SZ#*&{)x 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