xwom 是基于 Yii2 的综合管理业务快速开发引擎 [ 1.0 版本 ]
本引擎采用YII V2.0.32搭建,其运行环境与yii2(php>=5.6)一致。
xwom旨在为yii2爱好者提供一个基础功能稳定完善的系统,使开发者更专注于业务功能开发。xwom没有对yii2做任何的修改、封装,但是把yii2的一些优秀特性几乎都用在了xwom上, 但xwom提倡简洁、快速上手,基于xwom开发可以无需文档,可以在此基础开发其实际应用,譬如:cms内容管理系统、门户网站、商城、ERP、OA、采编、采集等。
一、更新记录Records
1.0.0beta1 开启xwom开发引擎beta1,预装常用扩展组件,对配置文件做细致的注释说明。
二、帮助Help
(1)QQ群: 170794993 欢迎xwom爱好者加入。
(2)Email: chareler@163.com
(3)如有纰漏或不足,勿吐槽,欢迎提出建议,直接Issues 或 Email。
三、功能
- 多语言
- 菜单管理
- GII 模板
- 加载X-admin (layui) 模板
- RBAC实现管理员、角色、部门、团队、单位、应用 6个维度权限管理
- 开启API应用
- 计划管理
- 流程管理WorkFlow(BPM)工作流驱动业务数据流转
- 全栈全局设置管理
包括:- 全栈基础配置
- 全栈邮件配置
- 全栈短信配置
- 全栈多语言包管理
- 全栈搜索引擎配置
- 全栈DB引擎配置
- 全栈数据可视化迁移
- 全栈变量配置
- 全栈常量配置
- 全栈API设置
- 系统信息
- IP黑名单
- 全栈日志管理
- 全局日志
- 短信日志
- 邮件日志
- 行为日志
- 开启APP子应用开发
四、快速体验Experience
demo地址 http://xwom.womtech.cn 测试管理员账号:参见QQ群 170794993 群内公告
友情提示:数据每天、每6小时,将还原更新一次,如果您提交操作数据,如果不见了,切勿诧异,您懂的。
五、项目说明:
1、管理台项目在site1——backend(站点1)->web,m站项目在site1——backend(站点1)->wap
2、前台项目在site2——frontend(站点2)->web,m站的在site2——frontend(站点2)->wap
3、API项目在site3——API (站点3 )->web,m站的在site3——API (站点3 )->wap
4、项目的框架、外部扩展、组件基本上通过composer来管理
六、项目结构和注意事项,请参看
开发注意事项,请参看开源地址:https://github.com/jinowom/xwom_open 的readme.md 的第十小节、第十一小节、第十二小节。
七、运行效果
八、安装 Installation
友情提示:建议php版本>=7.1
开源地址:https://github.com/jinowom/xwom_open
克隆当前项目
git clone https://github.com/jinowom/xwom_open.git
1、composer install or composer install --ignore-platform-reqs
2、依次执行以下命令初始化yii2框架以及导入数据库
$ cd webApp
$ php ./init --env=Development #初始化yii2框架,线上环境请使用--env=Production
$ php ./yii migrate/up --interactive=0 #导入迁移备份数据库,执行此步骤之前请先到common/config/main-local.php修改成正确的数据库配置
3、配置web服务器
4、完成
附:web服务器配置
Apache
<VirtualHost *> ########此处下面是xwom开发引擎开源地址# DocumentRoot path/to/xwom/backend/web/ ServerName localhost #<Directory "path/to/xwom/backend/web/"> ########此处下面是xwom开发引擎开源地址# <Directory "path/to/xwom/backend/web/"> #SetOutputFilter DEFLATE #Options FollowSymLinks #Options Indexes FollowSymLinks Includes MultiViews ExecCGI Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all DirectoryIndex index.html index.php # use mod_rewrite for pretty URL support RewriteEngine on # If a directory or a file exists, use the request directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Otherwise forward the request to index.php RewriteRule . index.php </Directory> </VirtualHost>
Nginx
略
九 配置Configuration
common/main-local.php
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=xxx',
'username' => 'xxx',
'password' => '',
'charset' => 'utf8',
],
//……
],
backend/main.php
'modules' => [
/** migration数据库库迁移模块业务 **/
'migration' => [
'class' => 'migration\Module',
],
//……
/** workflow BPM2.0**/
'workflow' => [
'class' => 'jinostart\workflow\manager\Module',
'layout' => '//main',
],
],
'components' => [
//……
/** workflow BPM2.0 * **/
'view' => [
'theme' => [
'pathMap' => [
'@app/views' => '@backend/themes/default/views',
'@app/widgets' => '@backend/themes/default/widgets',
'@vendor/jinostart/yii2-workflow-manager/src/views' => '@backend/themes/default/modules/workflow/views'
],
],
],
'workflowSource' => [
'class' => 'jinostart\workflow\manager\components\WorkflowDbSource',
],
//……
],
backend/main-local.php
//加载 kartikgii扩展组件,并集成自定义Gii,美哒哒
$config['modules']['gii']['class'] = 'yii\gii\Module';
$config['modules']['gii']['allowedIPs'] = ['127.0.0.1','::1'];//只允许本地访问gii 用逗号隔开,添加自己的指定地址
$config['modules']['gii']['generators'] = [
'kartikgii-crud' => ['class' => 'warrence\kartikgii\crud\Generator'],
/*重新定义gii model & crud的生成模板*/
'model'=> [
'class' => 'yii\gii\generators\model\Generator',
'baseClass'=> 'base\BaseActiveRecord',
'templates'=> [
'xwom'=>'@backend/components/gii/model/default',
]
],
'module'=> [
'class' => 'yii\gii\generators\module\Generator',
'templates'=> [
'xwom'=>'@backend/components/gii/module/default',
]
],
'crud' => [
'class' => \backend\components\gii\crud\Generator::class,//'class' => \backend\components\gii\crud\Generator::className(),
'templates' => [
'xwom' => '@backend/components/gii/crud/default',
'default' => '@vendor/yiisoft/yii2-gii/src/generators/crud/default',//这是yii 自己自带的
]
],
'controller' => [
'class' => \backend\components\gii\controller\Generator::class,
'templates' => [
'xwom' => '@backend/components/gii/controller/default',
'default' => '@vendor/yiisoft/yii2-gii/src/generators/controller/default',//这是yii 自己自带的
]
],
'extension' => [
'class' => \backend\components\gii\extension\Generator::class,
'templates' => [
'xwom' => '@backend/components/gii/extension/default',
'default' => '@vendor/yiisoft/yii2-gii/src/generators/controller/default',//这是yii 自己自带的
]
],
];
十、特别鸣谢Links
- Yii2
- Yii2 Extension
- 开发组成员:WeihuaWang YanchengLiu CharlesLee
cocoli6000 北京
最后登录:2023-01-24
在线时长:12小时46分
- 粉丝3
- 金钱555
- 威望10
- 积分775
热门源码
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 4 条评论
你好,这个引擎中,多语言模块实现的最终路由是什么样的?
http://www.yii2.com
(中文),http://en.yii2.com
(英文),http://de.yii2.com
(德国)或者:
http://www.yii2.com
(中文),http://www.yii2.com/en
(英文),http://www.yii2.com/en
(德国)实现语言模板切换,
有两种方法:
a:
需要给每个controller进行初始化(都写上init函数),在init函数中主要就是给
Yii::$app->language
赋值。例如:Yii::$app->language = 'zh-CN'
。b:
在web/index.php(入口文件)中,将创建应用的代码改为下面的代码
$application = new yii\web\Application($config); $application->language = isset(\Yii::$app->session['language']) ? \Yii::$app->session['language'] : 'en'; $application->run();
这一块我大概明白,我是说最后生成的路由,是什么形式的?
只要创建的app 业务,数据库字典,该app支持多子站点,那么该app的任何一个站点,选择其需要默认语言,就OL.
@墨轩娣 无需 用二级域名那么麻烦。如果urlManager的美化, 直接给一级域名或二级域名的泛域名;譬如
http://www.yii2.com/site1/index.shtml
(CN)http://www.yii2.com/site2/index.shtml
(EN) ……多语言的解决方案,体现在url上,一般就上面我说的2种,相对来说,第二种有现成的扩展可以用,之前我用过,你可以看一下:https://github.com/codemix/yii2-localeurls。
我们老板要求用第一种,就是二级域名的形式
是的,赞同您的践行结论,
以上两种方式,都可以解决 操作界面的同时都多语言化;
如果让 应用本身数据内容和 操作界面的多语言化,就需结合我说的:所创建app 业务,在其数据库字典中该app支持多子站点,那么该app的任何一个站点,选择其需要默认语言,就OL.
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO),
请问大佬数据库配置文件是哪一个啊?我把main-local都配置了还是报错。谢谢大佬解答!
数据迁移
参见https://github.com/jinowom/xwom_open
六、安装 Installation
依次执行以下命令初始化yii2框架以及导入数据库
$ cd webApp $ php ./init --env=Development #初始化yii2框架,线上环境请使用--env=Production $ php ./yii migrate/up --interactive=0 #导入迁移备份数据库,执行此步骤之前请先到common/config/main-local.php修改成正确的数据库配置
@cocoli6000 谢谢了! 修改数据库密码后恢复正常。
数据迁移
参见https://github.com/jinowom/xwom_open
六、安装 Installation
依次执行以下命令初始化yii2框架以及导入数据库
$ cd webApp $ php ./init --env=Development #初始化yii2框架,线上环境请使用--env=Production $ php ./yii migrate/up --interactive=0 #导入迁移备份数据库,执行此步骤之前请先到common/config/main-local.php修改成正确的数据库配置
【码云】 同步地址 https://gitee.com/jinostart/xwom_open