paozhu C++ Web 框架 SAAS开发模式

📅 2026/7/3 5:05:17
paozhu C++ Web 框架 SAAS开发模式
面也可以多虚拟主机模式就是域名隔离。 这种模式可以其他方式呈现比如类似微服务模式controller/src创建目录如果类似域名就是中间有一个点那么这个目录独立注解函数。比如我们在controller/src创建aaa.combbb.com两个域名目录他们都有news路径注解函数实现功能有所不同http://www.aaa.com/news 对应的是aaa.com域名的注解函数http://www.bbb.com/news 对应的是bbb.com域名的注解函数这种模式可以管理复杂大型项目而且还是单体模式更多使用方式可能等熟悉后自己自由发挥。SAAS开发模式配置先配置conf/server.conf假设cn.aaa.com域名 配置SAAS模式[cn.aaa.com] wwwpath/www/user/www/aaa http2_enable1 upload_max_size16777216 siteid9 groupid0 alias_domainaaa.com themescnwwwpath 就是cn.aaa.com域名www根目录这个可以手动创建或由超级后台创建详见cppcms数据库superadmin表里面basesitepath字段表示本超级管理员名下多租户基本目录。http2_enable1 表示开启http/2upload_max_size16777216 表示上传文件最大为16Msiteid9 就是有超级管理员创建产生的ID,详见cppcms数据库siteinfo表里面userid字段groupid0 是备用的预设分组用alias_domainaaa.com 默认为空不用设置表示使用controller/src目录下aaa.com目录下注解函数如果没有会使用框架默认带的注解函数其它域名也可以使用这个目录下注解函数只要同样alias_domainaaa.com设置themescn 表示使用view目录下cn目录themes_url 表示访问themes图片等资源的urlSAAS模式使用使用方法在httppeer.h定义std::string get_sitepath(); unsigned long long get_siteid(); unsigned long long get_groupid(); std::string get_theme(); std::string get_themeurl(); void theme_view(const std::string a);使用方法例子在注解函数中使用controller ├── src │ └─ aaa.com │ └── article.cpparticle.cpp内容示例namespace http { namespace aaa { //urlpath(null,articles) std::string front_article(std::shared_ptrhttppeer peer) { unsigned int useridpeer-get_siteid(); peer-theme_view(front/articlelist); } }// namespace aaa }//namespace http注意 namespace aaa 命名空间aaa命名空间名称是aaa.com点号前面部分peer-theme_view(front/articlelist);前面我们设置了themescntheme_view 使用view/cn/front/articlelist.html视图文件主要特性1controller/src创建aaa.com目录如果不使用alias_domainaaa.com设置 是无法使用的这样方便大