⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 templateex.h

📁 概述:数据的纵向收集
💻 H
字号:
//sunwangme@hotmail.com
#pragma once
#include <atlstr.h>
#include <vector>
#include <map>
#include<string>
#include "iocs.h"

#define SCRIPT_INIT_FOO "init"

struct CCallBackTag
{
	CString strPatternTask;
	CString strPatternContent;
	CString strFunction;
};

static CIOCriticalSection s_csJsCall;
class CTemplateEx
{
public:
	//将脚本和相关回调全部准备在内存
	static void Load(const CString& strPath);
	static void LoadScript(const CString& strPath);
	static void SetStoreCallback(LPCSTR lpszPatternTask,LPCSTR lpszFoo)
	{
		CCallBackTag tag;
		tag.strFunction=lpszFoo;
		tag.strPatternTask=lpszPatternTask;
		s_arrStoreCallback.push_back(tag);
	}
	static void SetStoreCallbackEx(LPCSTR lpszPatternTask,LPCSTR lpszPatternContent,LPCSTR lpszFoo)
	{
		CCallBackTag tag;
		tag.strFunction=lpszFoo;
		tag.strPatternTask=lpszPatternTask;
		tag.strPatternContent=lpszPatternContent;
		s_arrStoreCallbackEx.push_back(tag);
	}
    static void SetStoreCallbackEx2(LPCSTR lpszPatternTask,LPCSTR lpszPatternContent,LPCSTR lpszFoo)
    {
		CCallBackTag tag;
		tag.strFunction=lpszFoo;
		tag.strPatternTask=lpszPatternTask;
		tag.strPatternContent=lpszPatternContent;
		s_arrStoreCallbackEx2.push_back(tag);
    }
	static void SetReplaceCallback(LPCSTR lpszPatternTask,LPCSTR lpszFoo)
	{
		CCallBackTag tag;
		tag.strFunction=lpszFoo;
		tag.strPatternTask=lpszPatternTask;
		s_arrReplaceCallback.push_back(tag);
	}
public:
	//每次调用首先初始一个独立的vm,然后在vm将函数注册然后执行调用
	static void CallStoreCallback(LPCSTR lpszTask);
	static void CallReplaceCallback(LPCSTR lpszTask);
	static void CallStoreCallbackEx(LPCSTR lpszTask,LPCSTR lpszContent);
	static void CallStoreCallbackEx2(LPCSTR lpszTask,LPCSTR lpszHttpHeader,LPCSTR lpszContent);
	static void CallInit();
	static std::map<std::string,std::string> s_arrMapConstant;

private:
	//内部函数
	static BOOL CheckTask(LPCSTR lpszPattern,LPCSTR lpszString);
public:
	static BOOL CheckContent(LPCSTR lpszPattern,LPCSTR lpszString,CString& strResult);
	
private:
	//保存脚本到内存
	static CString s_strScript;
	static std::vector<CCallBackTag> s_arrStoreCallback;
	static std::vector<CCallBackTag> s_arrStoreCallbackEx;
	static std::vector<CCallBackTag> s_arrStoreCallbackEx2;
	static std::vector<CCallBackTag> s_arrReplaceCallback;

};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -