跳到主要内容

webgm_core

简介

提供webgm的核心功能

组件接口

FCacheByMongo.gs

函数原型函数作用
bool init_db(string db_name, string coll_name, map field2ctype, string major_key = nil, map index2fields = nil)初始化数据库
bool create_index(string index_name, array key_list, bool is_unique = false)创建索引
bool init_all(mixed datas)初始化数据
bool drop_all()清空所有数据
array load_all(map conditions = , map opts = )获取所有数据(从数据库中获取列表数据)
map load_all_to_map(array fields = [], map conditions = , map opts = )获取所有数据(从数据库中获取映射数据,以_MAJOR_KEY做为Key)
bool insert(map data)插入数据
bool insert_batch(array list)批量插入数据
bool save(string key, mixed data, bool upsert = true)存储数据
bool save_once(string key, mixed data)存储唯一数据,不允许覆盖
bool save_batch(map key2data)存储一批数据
bool update(string key, mixed data, bool upsert = false)更新数据(增量更新)
bool update_field(string key, string field, mixed new_data)更新指定子字段(增量更新)
bool exist(string key)是否存在该数据
mixed load(string key, string path = "")加载数据
mixed load_field(string key, string field, string sub_path = "")加载指定子字段
bool drop(string key)卸载数据
bool drop_field(string key, string field)删除指定字段
bool drop_batch(array keys)卸载一批数据

FCustomLogByMongo.gs

以mongo形式存储自定义日志

函数原型函数作用
bool init_log_db(string coll_name, map field2conf, map index2fields = )初始化日志表
string get_field_major_key()获取字段:主键
string gen_major_key(string str)生成唯一主键
string insert_log(map fields)添加日志
string update_log(string major_key, map fields)更新日志
string check_log_fields(map fields)检查日志字段

FDataBaseBasic.gs

WebGM的数据库基础组件

函数原型函数作用
void set_inited(bool flag)设置初始化状态
bool is_inited()是否完成初始化
bool setup()数据库安装
bool init_database(string db_name, string coll_name, map field2ctype, string major_key = nil)数据库初始化
bool create_index(string db_name, string coll_name, string index_name, array key_list, bool is_unique = false)创建索引
bool exist_data(string db_name, string coll_name, map conditions = )存在数据
map find_one(string db_name, string coll_name, map conditions, map opts = )加载单条数据
array find_many(string db_name, string coll_name, map conditions, map opts = )加载所有数据
bool insert_one(string db_name, string coll_name, map data)插入新数据
bool insert_many(string db_name, string coll_name, array data_list)批量插入数据
bool update_one(string db_name, string coll_name, map conditions, map data, bool upsert = false)更新单条数据(增量更新)
bool update_many(string db_name, string coll_name, map conditions, map data, bool upsert = false)更新所有数据(增量更新)
bool replace_one(string db_name, string coll_name, map conditions, map data, bool upsert = false)替换单条数据(全量覆盖)
bool delete_one(string db_name, string coll_name, map conditions = )删除单条数据
bool delete_many(string db_name, string coll_name, map conditions = )删除所有数据

FModLoadBasic.gs

模块加载基础组件

函数原型函数作用
void register_all_daemons(string dir, string module = "Load")递归加载指定目录下的daemons
object register_daemon(string path, string module = "Load")加载指定文件路径下的daemon
bool setup_default(map m = )默认安装

AccountD.gs

账号管理,支持账号的注册/修改(密码/等级)/删除

函数原型函数作用
bool is_legal_account(mixed account)是不是合法的帐号格式
bool is_legal_passwd(mixed passwd)是不是合法的密码格式(必须包含数字,大小写字母,特殊字符)
bool is_default_account_and_passwd(mixed account, mixed input_text)是否为默认账号及密码
bool register(string account, string passwd, string secret, string type = "default", int level = 1)账号注册

AuthD.gs

认证管理,提供认证相关的功能,支持账号认证/权限认证

函数原型函数作用
bool verify(string account, string input_text)账号认证
bool verify_by_password(string passwd, string input_text)密码认证
bool verify_by_authcode(string secret, string input_text)校验码认证
bool can_visit_url(mixed account, string url)权限检查,判断该用户是否有权限可以访问url

DataBaseD.gs

WebGM的数据库管理-基于MongoDB实现

函数原型函数作用
bool FDataBaseBasic.init_database(string db_name, string coll_name, map field2ctype, string major_key = nil)数据库初始化
bool FDataBaseBasic.create_index(string db_name, string coll_name, string index_name, array key_list, bool is_unique = false)创建索引
bool FDataBaseBasic.exist_data(string db_name, string coll_name, map conditions = )存在数据
map FDataBaseBasic.find_one(string db_name, string coll_name, map conditions, map opts = )加载单条数据
array FDataBaseBasic.find_many(string db_name, string coll_name, map conditions, map opts = )加载所有数据
bool FDataBaseBasic.insert_one(string db_name, string coll_name, map data)插入新数据
bool FDataBaseBasic.insert_many(string db_name, string coll_name, array data_list)批量插入数据
bool FDataBaseBasic.update_one(string db_name, string coll_name, map conditions, map data, bool upsert = false)更新单条数据(增量更新)
bool FDataBaseBasic.update_many(string db_name, string coll_name, map conditions, map data, bool upsert = false)更新所有数据(增量更新)
bool FDataBaseBasic.replace_one(string db_name, string coll_name, map conditions, map data, bool upsert = false)替换单条数据(全量覆盖)
bool FDataBaseBasic.delete_one(string db_name, string coll_name, map conditions = )删除单条数据
bool FDataBaseBasic.delete_many(string db_name, string coll_name, map conditions = )删除所有数据

HttpLogD.gs

请求日志-请求&回包日志记录

函数原型函数作用
bool request_log(string major_key, string source, string account, string cmd, mixed inputs)http请求相关的日志记录
bool response_log(string major_key, int resp_code, string resp_type, mixed resp_result)http回包相关的日志记录

菜单管理,扫描指定目录并记录信息

函数原型函数作用
void refresh_menu(int level = 1)刷新当前菜单
void save_menus(string file_path)存储菜单配置

MongoD.gs

Mongo数据库的管理

函数原型函数作用
bool FDataBaseBasic.setup()数据库安装
bool FDataBaseBasic.init_database(string db_name, string coll_name, map field2ctype, string major_key = nil)数据库初始化
bool FDataBaseBasic.create_index(string db_name, string coll_name, string index_name, array key_list, bool is_unique = false)创建索引
bool FDataBaseBasic.exist_data(string db_name, string coll_name, map conditions = )存在数据
map FDataBaseBasic.find_one(string db_name, string coll_name, map conditions, map opts = )加载单条数据
array FDataBaseBasic.find_many(string db_name, string coll_name, map conditions, map opts = )加载所有数据
bool FDataBaseBasic.insert_one(string db_name, string coll_name, map data)插入新数据
bool FDataBaseBasic.insert_many(string db_name, string coll_name, array data_list)批量插入数据
bool FDataBaseBasic.update_one(string db_name, string coll_name, map conditions, map data, bool upsert = false)更新单条数据(增量更新)
bool FDataBaseBasic.update_many(string db_name, string coll_name, map conditions, map data, bool upsert = false)更新所有数据(增量更新)
bool FDataBaseBasic.replace_one(string db_name, string coll_name, map conditions, map data, bool upsert = false)替换单条数据(全量覆盖)
bool FDataBaseBasic.delete_one(string db_name, string coll_name, map conditions = )删除单条数据
bool FDataBaseBasic.delete_many(string db_name, string coll_name, map conditions = )删除所有数据
bool is_master(string db_name)检查当前节点是否主节点
bool wait_for_writable(string db_name)等待当前节点可写

TransmitD.gs

GM命令的转发处理模块

函数原型函数作用
void set_gm_url_func(function gm_url_func)设置gm请求的url
mixed get_gm_url(mixed data, mixed cmd)获取gm请求的url
void set_handler_func(function handler_func)设置处理程序
mixed call_handler_func(mixed data, mixed cmd)调用处理程序
map transmit_cmd_by_url(string url, mixed data, int type = "ContentTypePost.json", map headers = , map extra = )转发请求给url
map transmit_cmd_by_urls(map url2data, int type = "ContentTypePost.json", map headers = , map extra = )批量转发请求
string default_gm_url_func(mixed data, mixed cmd)默认的获取gm请求的url
map default_handler_func(mixed data, mixed cmd)默认的处理函数

UtilD.gs

工具模块

函数原型函数作用
bool save_file_data(string file_token, mixed buff_or_path)存储文件数据
buffer load_file_data(string file_token)获取文件数据
bool drop_file_data(string file_token)删除文件数据
void send_response_file(object res, string file_name, mixed buff_or_path)发送文件数据的回包
void export_to_json_file(string json_path, mixed json_data, string line_break = "\n", string tab_interval = " ", string prefix = "")按照正常的书写格式生成json文件
buffer get_json_content(mixed json_data, string line_break = "\n", string tab_interval = " ", string prefix = "")获取json文本(buffer)
string parse_json_data(mixed data, string line_break = "\n", string tab_interval = " ", string prefix = "")解析Json数据
void autogen_id(array list, map id2count = )填充UI配置-id

script_hotfix.gs

脚本热更相关操作

函数原型函数作用
string check_handler(string file_path)(热更前的)参数检查