Global.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. // Global.h : 应用程序的全局变量、函数头文件
  2. //
  3. // 代码生成在 2014年9月25日, 09:55
  4. #ifndef __LYFZ_SERVERINFO_HEADER__
  5. #define __LYFZ_SERVERINFO_HEADER__
  6. #include <vector>
  7. #include <string>
  8. #include <shlwapi.h>
  9. #include ".\\includes\\gdiplus.h" ////请修改为你的头文件路径
  10. using namespace Gdiplus;
  11. #pragma comment(lib, ".\\lib\\gdiplus.lib") ////请修改为你的.lib文件路径
  12. #pragma once
  13. #define JEFF_TEST_ON 1 // 用于Jeff本人测试标识;
  14. #define JEFF_TEST_OFF 0 // 用于Jeff本人测试标识;
  15. #define JEFF_DELETE_ON 0 // 用于Jeff本人指示某段代码标识为删除状态;
  16. #define JEFF_DELETE_OFF 1 // 用于Jeff本人解除某段代码的删除状态;
  17. #define INSERT_SENDREG _T("insert into sendreg([msgtype],[phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values ('%s','%s','%s','%s','%s','%s','%s','%s','%s')")
  18. #define INSERT_SENDREGDELAY _T("insert into sendregdelay([msgtype],[phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values ('%s','%s','%s','%s','%s','%s','%s','%s','%s')")
  19. #define INSERT_SENDREG_OLD _T("insert into sendreg([phones],[content],[timestamp],[msgcount],[status],[issended],[isautosend],[ren]) values ('%s','%s','%s','%s','%s','%s','%s','%s')")
  20. #define INSERT_SENDREG2 _T("insert into [sendreg2]([phones],[content],[price],[yytime],[client],[type],[date],[ren]) values ('%s','%s','%s','%s','%s','%s','%s','%s')")
  21. //////////////////////////////////////////////////////////////////////////
  22. extern BOOL g_bRemote; // 当打开共享目录失败时,这个变量为TRUE;
  23. //////////////////////////////////////////////////////////////////////////
  24. // Jeff add 2014-12-11 分隔符;
  25. #define SEPARATOR _T("|")
  26. // 垫片类 - 安全锁;
  27. class SecurityKeylock
  28. {
  29. HANDLE _hMutex;
  30. public:
  31. SecurityKeylock(const TCHAR *pKeyName)
  32. {
  33. _hMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, pKeyName);
  34. if (NULL == _hMutex)
  35. {
  36. _hMutex = CreateMutex(NULL, TRUE, pKeyName);
  37. // 如果CreateMutex失败……
  38. }
  39. else
  40. {
  41. WaitForSingleObject(_hMutex, INFINITE);
  42. }
  43. }
  44. ~SecurityKeylock()
  45. {
  46. if ((NULL != _hMutex) && ReleaseMutex(_hMutex))
  47. {
  48. CloseHandle(_hMutex);
  49. _hMutex = NULL;
  50. }
  51. }
  52. };
  53. typedef struct tagresdata2 // 用途?
  54. {
  55. BOOL bHasBk; //
  56. int nPicCount; //
  57. int nPicCount2; //
  58. DWORD nPicBmpCount[50]; // 为何设置魔数50?
  59. CRect rect[50]; // 为何设置魔数50?
  60. }RESDATA2;
  61. typedef struct tagUSER
  62. {
  63. int bLongin; // 是否登陆;
  64. CString name; // 用户名;
  65. CString rights; // 权限1;
  66. CString rights2; // 权限2;
  67. CString bm; // 用户部门;
  68. CString account; // 用户账号;
  69. CString m_discount; // 员工折扣?
  70. CString m_discount2; // 员工折扣2?
  71. CString level; // 文件夹权限等级?
  72. }USER;
  73. // 客户端文件dbconfig.dat;
  74. typedef struct
  75. {
  76. BOOL bsql;
  77. int server[50];
  78. int user[50];
  79. int psw[50];
  80. }DBSAVE;
  81. typedef struct
  82. {
  83. BYTE bsql;
  84. BYTE tabcount;
  85. BYTE code[100];
  86. DWORD count[100];
  87. DWORD length[100];
  88. }SENDHEAD;
  89. // Import or Export Image Typed
  90. typedef enum
  91. {
  92. ImageType_Original = 1,
  93. ImageType_Early = 2,
  94. ImageType_Further = 3,
  95. ImageType_Design = 4
  96. }IE_IMAGETYPE;
  97. extern WORD g_arrFileVersion[4];
  98. extern TCHAR g_szLoginUser[MAX_PATH]; // 当前软件的登陆用户名;
  99. extern TCHAR g_szLoginPsw[MAX_PATH]; // 当前软件的登陆密码;
  100. extern TCHAR g_szModulePath[MAX_PATH]; // 软件目录;
  101. extern TCHAR g_szModuleFileName[MAX_PATH]; // 软件全名称;
  102. extern TCHAR g_szConnectString[MAX_PATH]; // DB连接串;
  103. extern TCHAR g_szHostComputerIP[MAX_PATH]; // 主机名称;
  104. extern DWORD g_dwTCPChatPort; // 主机通信TCP端口;
  105. // 服务器信息;
  106. extern TCHAR g_szDBSource[MAX_PATH]; // 数据库源(服务所在IP或计算机名);
  107. extern TCHAR g_szDBSourcePort[MAX_PATH]; // 数据库源端口;
  108. extern DWORD g_dwDBServerPort; // 数据库源端口;
  109. extern TCHAR g_szDBAccount[MAX_PATH]; // 数据库登录用户;
  110. extern TCHAR g_szDBPassWord[MAX_PATH]; // 数据库登录密码;
  111. extern TCHAR g_szDBName[MAX_PATH]; // 数据库名称;
  112. extern TCHAR g_szShareHost[MAX_PATH];
  113. extern TCHAR g_szOriginalFolder[MAX_PATH];
  114. extern TCHAR g_szOriginalBkFolder[MAX_PATH];
  115. extern TCHAR g_szEarlyRepairFolder[MAX_PATH];
  116. extern TCHAR g_szEarlyRepairBkFolder[MAX_PATH];
  117. extern TCHAR g_szFurtherRepairFolder[MAX_PATH];
  118. extern TCHAR g_szFurtherRepairBkFolder[MAX_PATH];
  119. extern TCHAR g_szDesignFolder[MAX_PATH];
  120. extern TCHAR g_szDesignBkFolder[MAX_PATH];
  121. extern TCHAR g_szTelRecordingFolder[MAX_PATH];
  122. extern TCHAR g_szFullDressImageFolder[MAX_PATH];
  123. extern BOOL g_bSoftWareReg;
  124. extern CString g_strDogMainInfo;
  125. extern CString g_strMain;
  126. extern CStringArray g_strArrayOfBranchName;
  127. extern CStringArray g_strArrayOfBranchName2;
  128. extern CStringArray g_strArrayOfBranchIPAdress;
  129. extern CStringArray g_strArrayOfBranchDogMainInfo;
  130. extern unsigned int g_nCountOfAllowToConn;
  131. extern DWORD g_nLeng;
  132. extern BYTE *g_pData;
  133. extern DWORD g_nLeng2;
  134. extern BYTE *g_pData2;
  135. extern SENDHEAD g_sendhead;
  136. extern BOOL g_bRedSkin;
  137. extern COLORREF g_gridcol1;
  138. extern COLORREF g_gridcol2;
  139. extern COLORREF g_bkcol;
  140. extern CString g_date; // 连接服务端时由服务端产生的CTime::GetCurrentTime().Format("%Y-%m-%d %H:%M:%S");
  141. extern CString g_title;
  142. extern CArray<CStringArray, CStringArray>g_userarray;
  143. extern CArray<CStringArray, CStringArray>g_cominfoarray;
  144. extern CArray<CStringArray, CStringArray>g_cominfoarraylocal;
  145. extern CArray<DWORD, DWORD>g_lengarray;
  146. extern CArray<DWORD, DWORD>g_btnlengarray;
  147. extern CArray<BYTE*, BYTE*>g_pointerarray;
  148. extern CBrush g_editbkbrush;
  149. extern DWORD g_btnleng[8];
  150. extern int g_btnlengpos;
  151. extern int g_nYearpos; // 是[historydb]表记录索引,即g_hisyeararray元素位置;
  152. extern CString g_branchname; // 当客户端使用的是dbconfig.dat里的服务端地址时,g_branchname=""; 企业版客户端连接其他分店或多店汇总时,g_branchname值为连接的分店名;
  153. extern CString g_branchip; // 与g_branchname相似,只有企业版时由客户端菜单选择到连接分店或多店汇总时,这个ip才会有值,否则为空;
  154. extern CString g_branchip2;
  155. extern BOOL g_bBranchModify;
  156. extern BOOL g_bShowOK; // Jeff:?
  157. extern BOOL g_bStaffAchievementShow; // 此机用于员工业绩查看;
  158. extern BOOL g_bSaveUploadTask1;
  159. extern BOOL g_bSaveUploadTask2;
  160. extern BOOL g_bSaveUploadTask3;
  161. extern BOOL g_bSaveUploadTask4;
  162. extern BOOL g_bSearchFilter; // 条件查询开关; == TRUE 开启条件查询, == FALSE 关闭条件查询;
  163. extern CString g_waiter1;
  164. extern CString g_waiter2;
  165. extern CString g_waiter3;
  166. extern CString g_waiter4;
  167. extern CString g_waiter5;
  168. extern CString g_filterdate1;
  169. extern CString g_filterdate2;
  170. extern CString g_filterdate3;
  171. extern CString g_filterdate4;
  172. extern CString g_filterdate5;
  173. extern CString g_filterdate6;
  174. extern CString g_filterbranch;
  175. extern USER g_user;
  176. extern CString g_mainpath; // 软件目录
  177. extern CString g_id; //
  178. extern CString g_server; // 服务端地址
  179. extern CStringArray g_serverarray; //
  180. extern CString g_serverbak; //
  181. extern CString g_path1; /* 共享目录 <客户原片(管理软件)$> 如:"\\lyfz-pc\客户原片(管理软件)$" */
  182. extern CString g_path2; /* 共享目录 <修好的片(管理软件)$> 如:"\\lyfz-pc\修好的片(管理软件)$" */
  183. extern CString g_path3; /* 共享目录 <设计好的片(管理软件$)> 如:""> */
  184. extern CString g_path4; /* 共享目录 <精修好的片(管理软件$)> 如:""> */
  185. extern CString g_path5; /* 共享目录 <礼服图片(管理软件$)> 如:""> */
  186. extern CString g_path6; /* 共享目录 <电话录音(管理软件$)> 如:""> */
  187. extern CString g_path7; /* 共享目录 <客户原片(管理软件$)\效果图> 如:""> */
  188. extern CString g_path1bak;
  189. extern CString g_path2bak;
  190. extern CString g_path3bak;
  191. extern CString g_path4bak;
  192. extern CString g_path5bak;
  193. extern CString g_path6bak;
  194. extern CString g_path7bak;
  195. extern CDatabase g_db;
  196. extern DWORD g_ncount;
  197. extern CFont g_titlefont;
  198. extern DWORD g_nSendCode;
  199. extern BOOL g_bSendOK;
  200. extern CArray<CStringArray, CStringArray>g_hisyeararray; // 表[historydb]里的记录;
  201. extern CArray<CStringArray, CStringArray>g_brancharray;
  202. extern CArray<CStringArray, CStringArray>g_oldclientarray;
  203. extern CArray<CStringArray, CStringArray>g_List1array;
  204. extern BOOL g_bNoConnDlg;
  205. extern BOOL g_bInSkin;
  206. extern int g_conntype;
  207. extern BOOL g_bGenBranchData;
  208. extern CString g_temp;
  209. extern BOOL g_bSortAscending;
  210. extern CFont g_listctrlfont;
  211. extern float g_fscalex;
  212. extern float g_fscaley;
  213. extern int g_screenwid; // 桌面宽
  214. extern int g_screenhei; // 桌面高
  215. extern float g_WidthScale; // 宽刻度Jeff
  216. extern float g_HeightScale; // 高刻度Jeff
  217. extern RESDATA2 g_resdata2;
  218. extern BOOL g_bAlphaWnd;
  219. extern BYTE g_bNeedDrawParent;
  220. extern BOOL g_bAllBranch; // 是否多店汇总连接;
  221. extern CString g_domain; // 此值为固定值,是客户端使用dbconfig.dat中的服务端地址连接后,由服务端返回的域名值;企业版客户端连接其他分店或多店汇总时,此值不改变;
  222. extern CString g_sInfo;
  223. extern int g_ncot;
  224. extern int g_conpos;
  225. extern int g_nAutoShowStaffAchievement;
  226. extern BOOL g_bShowBar;
  227. extern int g_bookingtype;
  228. extern BOOL g_bNoLoginLia;
  229. extern BOOL g_bConnLYFZ;
  230. extern BOOL g_bSendLYFZ;
  231. extern int g_ntimeout;
  232. extern float g_WidthScale;
  233. extern float g_HeightScale;
  234. extern int g_dx;
  235. extern int g_dy;
  236. extern BOOL g_bNeedCoon;
  237. extern float g_WidthScale2 ;
  238. extern float g_HeightScale2 ;
  239. extern CStringArray g_menubranchname;
  240. //-----------------------------------------------------------------------------------------------------------------
  241. extern void LoadImageFromBuf(Bitmap **img, BYTE *pData, DWORD leng);
  242. extern void LoadImageFromBuf(Image **img, BYTE *pData, DWORD leng);
  243. extern void LoadImageFromBuf(Image **img, CString path);
  244. extern void LoadImageFromBuf(Bitmap **img, CString path);
  245. extern void LoadImageFromRes(Image **img, LPCTSTR lpszResourceName, LPCTSTR ResourceType);
  246. extern int GetOrientation(Image *image);
  247. extern int GetEncoderClsid(const WCHAR* format, CLSID* pClsid);
  248. extern void LoadImageFromFile(Image **img, CString path);
  249. extern void LoadImageFromFile(Bitmap **img, CString path);
  250. extern void SaveImageToFile(Image *img, CString path);
  251. extern void SaveImageToFile2(Image *img, CString path, ULONG quality);
  252. extern void IsWaiter2(CString id, CString name, CArray<CStringArray, CStringArray>*waiterarray, BOOL &bWait1, BOOL &bWait2, float &fscale1, float &fscale2, BOOL bCheckDate, CString date1, CString date2);
  253. extern void IsWaiter3(CString id, CString name, CArray<CStringArray, CStringArray>*waiterarray, BOOL &bWait1, BOOL &bWait2, float &fscale1, float &fscale2);
  254. extern CString GetNameFromDomain(CString domain);
  255. extern void GetSavePath(CString &path);
  256. extern CString GetW(CString str);
  257. extern CString GetK(CString str);
  258. extern CString GetB(CString str);
  259. extern CString GetS(CString str);
  260. extern CString GetG(CString str);
  261. extern CString GetHMoney(CString str);
  262. extern int GetYearPos(int year);// 查找不到年历史数据库则返回-1;
  263. extern void FillLength(CString &str, int length);
  264. extern BOOL myisdigit(CString str);
  265. extern BOOL IsHasRightsnew2(int pos, CString rights);
  266. extern CString GetIP(CString branch);
  267. extern void WriteTitle(CString str);
  268. extern BOOL IsHanZi(CString str);
  269. extern int GetType(CString str);
  270. extern CString FilterBZ(CString &bz);
  271. extern BOOL GIsHalfHZ(const CString &str);
  272. extern void RectFitDes(int width, int height, CRect &rc);
  273. extern bool CheckFolderFileExist(CString &strPath);
  274. extern int GetLengthEx(CString str);
  275. extern BOOL IsHasRights(int pos); // 废弃函数;
  276. extern BOOL IsHasRights2(int pos); // 废弃函数;
  277. extern BOOL IsHasRightsnew(int pos);
  278. extern BOOL IsHasRights2new(int pos);
  279. extern void FirstLetter(int nCode, CString& strLetter);
  280. extern void GetFirstLetter(CString strName, CString& strFirstLetter);
  281. extern CString newGUID();
  282. extern void ConvertToPrice(CString &str);
  283. extern DWORD FindAppProcessID(CString path);
  284. extern BOOL isInnerIP(DWORD a_ip);
  285. extern void MyGetIPByName(CString &name);
  286. extern void MyGetIPByName2(CString &name);
  287. extern CTime GetTmFromStr(CString date);
  288. extern int IsExistFolder(char *szPath);
  289. extern CString GetBranchPhotoPath(CString branch);
  290. extern CString GetDomainFromBranch(CString branch);
  291. extern BOOL CheckDateOK2(CString str);
  292. extern BOOL CheckBadWords(CString str, BOOL bMsg = 0);
  293. //extern BOOL CheckBadWords2(CString str, BOOL bMsg = 0);
  294. extern int CheckPhoneType(CString &phoneno);
  295. extern BOOL CheckDateOK(IN CString &str,IN CONST BOOL &bLunanr = FALSE);
  296. extern int FindArray(CStringArray *pArray, const CString &Str);
  297. extern int GetSysIniInfo(const char *szPath = NULL, const char *szIniName = NULL);
  298. extern BOOL WaitWithMessageLoop(HANDLE hEvent, int nTimeout);
  299. extern BOOL IsFileExist(const TCHAR *pFileFullName);
  300. extern void DeleteDirectory(CString strDir);
  301. extern BOOL RegisterOcx(LPCTSTR ocxfile);
  302. extern BOOL GetDebugPriv();
  303. extern bool GetFileVersion(HMODULE hModule, WORD *pBuffer);
  304. extern BOOL CheckInternalIPV4(const unsigned int &ip_addr);
  305. extern BOOL IsValidIPV4(const TCHAR *szIP);
  306. extern int GetHostAllOfIP(const TCHAR *pHostName, std::vector<std::string> &vtHostIPV4);
  307. extern void DataToArray(
  308. CArray<CStringArray, CStringArray>*pArrayOfString,
  309. int datapos = -1);
  310. extern void DataToArray(
  311. CArray<CStringArray, CStringArray>*pArrayOfString1,
  312. CArray<CStringArray, CStringArray>*pArrayOfString2,
  313. int datapos = -1);
  314. extern void DataToArray(
  315. CArray<CStringArray, CStringArray>*pArrayOfString1,
  316. CArray<CStringArray, CStringArray>*pArrayOfString2,
  317. CArray<CStringArray, CStringArray>*pArrayOfString3,
  318. int datapos = -1);
  319. extern void DataToArray(
  320. CArray<CStringArray, CStringArray>*pArrayOfString1,
  321. CArray<CStringArray, CStringArray>*pArrayOfString2,
  322. CArray<CStringArray, CStringArray>*pArrayOfString3,
  323. CArray<CStringArray, CStringArray>*pArrayOfString4,
  324. int datapos = -1);
  325. extern void DataToArray(
  326. CArray<CStringArray, CStringArray>*pArrayOfString1,
  327. CArray<CStringArray, CStringArray>*pArrayOfString2,
  328. CArray<CStringArray, CStringArray>*pArrayOfString3,
  329. CArray<CStringArray, CStringArray>*pArrayOfString4,
  330. CArray<CStringArray, CStringArray>*pArrayOfString5,
  331. int datapos = -1);
  332. extern void DataToArray(
  333. CArray<CStringArray, CStringArray>*pArrayOfString1,
  334. CArray<CStringArray, CStringArray>*pArrayOfString2,
  335. CArray<CStringArray, CStringArray>*pArrayOfString3,
  336. CArray<CStringArray, CStringArray>*pArrayOfString4,
  337. CArray<CStringArray, CStringArray>*pArrayOfString5,
  338. CArray<CStringArray, CStringArray>*pArrayOfString6,
  339. int datapos = -1);
  340. extern void DataToArray(
  341. CArray<CStringArray, CStringArray>*pArrayOfString1,
  342. CArray<CStringArray, CStringArray>*pArrayOfString2,
  343. CArray<CStringArray, CStringArray>*pArrayOfString3,
  344. CArray<CStringArray, CStringArray>*pArrayOfString4,
  345. CArray<CStringArray, CStringArray>*pArrayOfString5,
  346. CArray<CStringArray, CStringArray>*pArrayOfString6,
  347. CArray<CStringArray, CStringArray>*pArrayOfString7,
  348. int datapos = -1);
  349. extern void DataToArray(
  350. CArray<CStringArray, CStringArray>*pArrayOfString1,
  351. CArray<CStringArray, CStringArray>*pArrayOfString2,
  352. CArray<CStringArray, CStringArray>*pArrayOfString3,
  353. CArray<CStringArray, CStringArray>*pArrayOfString4,
  354. CArray<CStringArray, CStringArray>*pArrayOfString5,
  355. CArray<CStringArray, CStringArray>*pArrayOfString6,
  356. CArray<CStringArray, CStringArray>*pArrayOfString7,
  357. CArray<CStringArray, CStringArray>*pArrayOfString8,
  358. int datapos = -1);
  359. extern void DataToArray(
  360. CArray<CStringArray, CStringArray>*pArrayOfString1,
  361. CArray<CStringArray, CStringArray>*pArrayOfString2,
  362. CArray<CStringArray, CStringArray>*pArrayOfString3,
  363. CArray<CStringArray, CStringArray>*pArrayOfString4,
  364. CArray<CStringArray, CStringArray>*pArrayOfString5,
  365. CArray<CStringArray, CStringArray>*pArrayOfString6,
  366. CArray<CStringArray, CStringArray>*pArrayOfString7,
  367. CArray<CStringArray, CStringArray>*pArrayOfString8,
  368. CArray<CStringArray, CStringArray>*pArrayOfString9,
  369. CArray<CStringArray, CStringArray>*pArrayOfString10,
  370. int datapos = -1);
  371. extern inline int MultiByteLengthConvertToWideCharLength(/*LPCSTR*/LPCCH lpString);
  372. extern void lyfzImportImage(LPCTSTR lpDestDirectory, CStringArray &strArrayOfImage, const BOOL &bFailIfExists = TRUE);
  373. extern BOOL lyfzCopyFileEx(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, const BOOL &bFailIfExists = TRUE);
  374. extern BOOL lyfzCreateDirectory(LPCTSTR lpDestDirectory);
  375. extern void lyfzSplitpath(const char *path, char *drive, char *dir, const int &nTimes);
  376. extern void ShowSystemErrorInfo(CString &strDescription, const DWORD &dwError);
  377. extern void WriteClientLog(const CString &strLogContent);
  378. extern BOOL IsDirectoryLegitimate(const CString &strDirectory);
  379. extern void ExportCutImageToFile(LPCCH lpOrderCutImageInfo, LPCCH lpSrcDirectory, LPCCH lpSaveDirectory);
  380. extern BOOL AnalysisImagInfo(CStringArray &saSrcPhoto, LPCCH strSrcDirectory, LPCCH strSaveDirectory, CString &strImageInfo, CString &strImageName, CString &strCutScheme, CRect &rtCut);
  381. extern int GetCountOfOrderFolderPhotoFile( const TCHAR *pOrderFolder, CStringArray &StrPhotoArray);
  382. extern VOID GetFileNameFromFullPath(CONST CString &strFullPath, CString &strRet);
  383. extern HMODULE g_hlyfzMicroShareDLL;
  384. extern BOOL LoadMicroShareLibrary();
  385. extern void FreeMicroShareLibrary();
  386. typedef INT (WINAPI *lyfzCreateShare)(
  387. IN LPCTSTR lpShareAccount, // 微分享的登录账号;
  388. IN LPCTSTR lpAccountPsw, // 微分享的登录账号密码;
  389. IN LPCTSTR lpRootDirectory, // 相片根级目录;
  390. IN LPCTSTR lpBranchName, // 分店域名;
  391. IN LPCTSTR lpOrderNumber, // 订单号,用于生成二维码文件名;
  392. IN LPCTSTR lpScenery, // 景点名;
  393. IN LPCTSTR lpSourceFilePath, // 要分享的文件根目录;
  394. IN LPCTSTR lpCustomer1Name, // 客人姓名1 ;
  395. IN LPCTSTR lpCustomer2Name, // 客人姓名2 ;
  396. IN LPCTSTR lpMakeupArtist, // 化妆师;
  397. OUT LPTSTR lpMicroAlbumID // 返回微相册ID;
  398. );
  399. extern lyfzCreateShare g_lyfzCreateShare;
  400. extern BOOL GetRemoteConfig();
  401. extern BOOL OpenShareDirectory();
  402. extern BOOL IsValidDate(LPCTSTR lpDate);
  403. extern BOOL IsValidLunanrDate(LPCTSTR lpDate);
  404. #endif