{"id":18812208,"url":"https://github.com/mqenergy/mqcms-template","last_synced_at":"2025-04-13T21:10:54.769Z","repository":{"id":144559748,"uuid":"288069877","full_name":"MQEnergy/MQCMS-template","owner":"MQEnergy","description":"基于hyperf2.1的MQCMS项目后端的模板，全自动化生成Model Service Controller架子","archived":false,"fork":false,"pushed_at":"2022-02-18T03:09:37.000Z","size":761,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T11:37:56.847Z","etag":null,"topics":["hyperf","hyperf-template","mqcms","php7","service","swoole"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MQEnergy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-17T02:56:57.000Z","updated_at":"2023-07-25T14:38:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"da06f284-ba3f-410a-92b2-81dceb29b0f2","html_url":"https://github.com/MQEnergy/MQCMS-template","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MQEnergy%2FMQCMS-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MQEnergy%2FMQCMS-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MQEnergy%2FMQCMS-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MQEnergy%2FMQCMS-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MQEnergy","download_url":"https://codeload.github.com/MQEnergy/MQCMS-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248782261,"owners_count":21160717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hyperf","hyperf-template","mqcms","php7","service","swoole"],"created_at":"2024-11-07T23:30:34.828Z","updated_at":"2025-04-13T21:10:54.760Z","avatar_url":"https://github.com/MQEnergy.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"本项目基于hyperf2.0开发的快速应用开发框架，感谢hyperf的作者提供了这么优秀的框架\n\n单独前端项目仓库：\n[https://github.com/MQEnergy/MQCMS-admin](https://github.com/MQEnergy/MQCMS-admin)\n\n## 一、运行服务端\n### 1、docke环境开发（非必须）\nwindow10以下环境安装`docker toolbox`。\n\n##### 1）下载hyperf框架docker镜像\n```\ndocker pull hyperf/hyperf\n```\n##### 2）下载laidanme系统到本地\n```\n# 例如：将项目放在本地e:/web/MQCMS-template\ngit clone https://github.com/MQEnergy/MQCMS-template\n```\n##### 2）进入docker运行命令\n```\ndocker run -it -v /e/web/MQCMS-template/service:/mqcms -p 9507:9507 --name ldserver --entrypoint /bin/sh hyperf/hyperf\n```\n##### 3）将Composer镜像设置为阿里云镜像\n```\ncd laidanme\nphp bin/composer.phar config -g repo.packagist composer https://mirrors.aliyun.com/composer\n```\n##### 4）docker安装redis\n```\ndocker pull redis\n# 进入redis 配置redis可外部访问\n\ndocker run -d --privileged=true -p 6379:6379 -v /e/web/MQCMS-template/service/docker/conf/redis/redis.conf:/etc/redis/redis.conf --name mqredis redis redis-server /etc/redis/redis.conf --appendonly yes\ndocker exec -it mqredis /bin/sh\n\n# 修改映射在本地的redis.conf\n# 修改bind如下（根据自己熟悉程度配置）\n# bind 0.0.0.0\n\n# 可开启password（自行按需修改）\n# requirepass foobared\n\n# 重启redis\ndocker restart mqredis\n```\n##### 5）进入项目安装依赖启动项目\n```\ndocker exec -it ldserver /bin/sh\ncd mqcms\nphp bin/composer.phar install\ncp .env.example .env  # 修改.env的配置\n```\n### 2、项目初始化\n```\nphp bin/hyperf.php mq:init\n\n 是否执行migrate?:\n  [0] No\n  [1] Yes\n \u003e 1\n# migrate是数据库迁移\n\n 是否初始化所有Model类？:\n  [0] No\n  [1] Yes\n \u003e 1\n\n 是否基于Model初始化所有Service类？:\n  [0] No\n  [1] Yes\n \u003e 1\n\n 是否初始化所有Controller类？:\n  [0] No\n  [1] Yes\n \u003e 1\n\n 是否初始化一个后台账号密码？:\n  [0] No\n  [1] Yes\n \u003e 1\n# 选择1 出现如下输入框\n 账号:\n \u003e \n 密码:\n \u003e \n\nInitialization successfully.\n```\n### 3、访问项目\n```\nphp bin/hyperf.php start\n访问：\nhttp://127.0.0.1:9507\n\n访问以下地址可生产测试token：\nhttp://127.0.0.1:9507/backend/token/create \n\n访问以下地址可解析token\nhttp://127.0.0.1:9507/backend/token/index \n\n```\n## 二、扩展功能\n### 1、生成model\n```\nphp bin/hyperf.php gen:model --path=app/Model/Common --with-comments category\n```\n### 2、command命令扩展\n#### 1）创建service\n1、查看mq:service命令帮助\n```\nphp bin/hyperf.php mq:service --help\n```\n2、创建默认命名空间的service（App\\Service\\Common）\n```\n# FooAdminService：service名称 FooAdmin：model名称 backend: model对应模块名称\nphp bin/hyperf.php mq:service FooService Foo backend\n```\n3、创建其他命名空间的service\n```\n# FooAdminService：service名称 FooAdmin：model名称 backend: model对应模块名称\nphp bin/hyperf.php mq:service -N App\\\\Service\\\\Admin FooAdminService FooAdmin backend\n```\n#### 2）创建controller\n1、查看mq:controller命令帮助\n```\nphp bin/hyperf.php mq:controller --help\n```\n2、创建默认命名空间的controller（App\\Controller\\Backend）\n```\n# FooController：controller名称 FooService：service名称 backend：service对应模块名称（后台，接口 可扩展，eg.可写成：Admin ADMIN backend ...）\nphp bin/hyperf.php mq:controller FooController FooService backend\n```\n3、创建其他命名空间的controller\n```\n# FooController：controller名称 FooService：service名称 backend：service对应模块名称（后台，接口 可扩展，eg.可写成：Api API api ...）\nphp bin/hyperf.php mq:controller -N App\\\\Controller\\\\Api\\\\V1 FooController FooService backend\n```\n## 三、常见问题\n### 1、自动初始化命令后访问接口出现 Signature verification failed\n答：由于初始化命令生成的是后端接口代码，请使用/backend/token/index 生成一个token 然后请求接口在header中加入Authorization参数 值为 Bearer token值\n### 2、访问接口出现 Key may not be empty \n答：.env配置增加 JWT_FRONTEND_KEY，JWT_BACKEND_KEY 参数值，注意：参数名称FRONTEND, BACKEND对应app\\Controller里面的模块名称，如添加其他模块，请增加JWT的其他模块参数\n### 3、start项目出现错误  Uncaught RuntimeException: The class reflector object does not init yet\n答：执行以下命令\n```\ncomposer dumpautoload -o\n```\n然后在执行\n```\nphp bin/hyperf.php start\n```\n### 4、请求接口出现 Connection refused\n答：请在.env中配置redis参数\n### 5、.env配置中的REDIS_ON, APP_BACKEND_MUTEX，APP_FRONTEND_MUTEX有啥作用？\n答：REDIS_ON是是否开启redis参数，设置为true是配合APP_BACKEND_MUTEX或者APP_FRONTEND_MUTEX使用的，具有相同账号在不同设备登录互斥的作用。注意：其中参数名的BACKEND和FRONTEND对应app\\Controller里面的模块名称。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmqenergy%2Fmqcms-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmqenergy%2Fmqcms-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmqenergy%2Fmqcms-template/lists"}