Giter VIP home page Giter VIP logo

doramart / doracms Goto Github PK

View Code? Open in Web Editor NEW
3.4K 178.0 1.0K 22.66 MB

DoraCMS是基于Nodejs+eggjs+mongodb编写的一套内容管理系统,结构简单,较目前一些开源的cms,doracms易于拓展,特别适合前端开发工程师做二次开发。

Home Page: https://www.html-js.cn

License: MIT License

JavaScript 79.17% CSS 2.93% HTML 4.34% Java 0.01% Vue 11.34% Dockerfile 0.01% SCSS 2.21%
nodejs mongodb doracms cms vue vuejs element-ui ssr mit-license eggjs

doracms's Introduction

DoraCMS 2.1.8

更新内容:

  • 服务端代码加入 eslint 校验,并通过 Prettier 格式化(使用 vscode 需要安装对应的插件)
  • 修复用户中心分页样式不正确的问题
  • 修复使用 ueditor 编辑时,通过剪切板粘贴图片不能上传到 cdn 的问题
  • 后台管理添加了选项卡切换
  • 后台管理添加了 io 通知,关键操作会通知到管理员
  • 修复找回密码链接跳转不正常的问题

DoraCMS

DoraCMS 视频简介

DoraCMS 视频简介

DoraCMS 更新日志

DoraCMS 更新日志

说明

DoraCMS 使用的技术栈:

1、nodejs 12 + eggjs 2
2、vue-cli
3、mongodb 4+

文档: DoraCMS 开发文档
API: DoraCMS API文档
演示地址: 前端开发俱乐部

后台登录: https://www.html-js.cn/dr-admin
测试账号:doracms/123456

docker快速体验 DoraCMS(本地环境)

前提是您需要提前安装 docker.

DoraCMS 可以依托 docker-compose 快速在本地跑起来,您只需要这样做:

  • 下载代码到本地,进入代码根目录,终端执行
docker-compose up -d
  • 接下来等待几分钟,看到执行成功后,浏览器访问
http://127.0.0.1:8080/

安装

准备环境

在安装 DoraCMS 之前,需要确保您已经完成了以下工作

环境准备详情访问

  • 已经安装好了 nodejs , 版本 v12.13.0
  • 已经安装并启动了 Mongodb,版本 4.0

运行

普通用户(无需下载源码)

npm i doracms -g  // 全局安装 doracms 命令行工具
dora create mycms  // 本地/服务器环境任意目录执行

执行 dora create mycms 命令需要填写相关参数(本地环境可以一直回车,会有默认值),相关参数解释如下:

?Project name: [必填]项目名称,英文不含空格
?Website(ip or domain): [[非必填,默认 http://127.0.0.1:8080 ]网站访问域名或IP+端口号,需要带http/https,如 https://www.html-js.cn, http://120.25.150.169:8080
?env: [非必填,默认 development ]服务器运行环境
?Server port: [非必填,默认 8080 ]DoraCMS 启动默认端口号,website 中如果也有端口号,那么理论上这两个端口号是相同的
?Mongodb url: [非必填,默认 mongodb://127.0.0.1:27017/doracms2 ] mongodb 连接字符串,如果带密码,eg. mongodb://username:[email protected]:27017/doracms2
?Mongodb bin path: [非必填,默认为空]Mongodb bin目录路径,注意结尾必须带 / ,windows 环境下路径中 \ 必须改为 / 如 C:/mongodb/mongodb/bin/

开发者 (需要下载源码)

源码搭建开发环境

访问

浏览器通过以下方式访问(具体访问地址依赖于配置)

http://127.0.0.1:8080  // 开发环境
http://120.25.150.169:8080  // 生产环境只配了IP,端口号已加入安全组
https://www.html-js.cn // 生产环境配置了域名并做好了域名解析

其它

开发环境启动

npm run dev

生产环境启动

pm2 start server.js --name doracms2

生产环境停止

pm2 stop doracms2

生产环境重启

pm2 restart doracms2

api文档

api访问地址: http://127.0.0.1:8080/static/apidoc/index.html

首页

http://127.0.0.1:8080

后台登录

http://127.0.0.1:8080/dr-admin
登录账号:doramart/123456    doracms/123456

技术交流群

捐赠

如果你发现DoraCMS很有用,可以请生哥喝杯咖啡(⊙o⊙)哦

LICENSE

MIT

doracms's People

Contributors

amorist avatar amphineko avatar bryant1410 avatar cobain avatar dolare avatar doramart avatar easyui avatar gitkmw avatar markyeahjr avatar yuexing0921 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

doracms's Issues

用户注册不了

一直提示邮箱格式不对,注册不了,请问是需要在哪里配置一下吗?

node 启动时报错

npm ERR! Failed at the [email protected] start script 'node ./bin/www'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the doracms package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./bin/www
npm ERR! You can get their info via:
npm ERR! npm owner ls doracms
npm ERR! There is likely additional logging output above.

node 版本: v4.2.2
npm 版本 : 3.3.12

关于 文章 打开失败

基于模板“aboutme”成功添加了文档;
但是在前台点击了aboutme对应的链接之后出现了error,如下图过程(我也有时间传图不成功,那就把页面log发上来吧);

程序出错了.
Failed to lookup view "web/temp/undefined/contentList" in views directory "/home/zhangkai/mycode/ABC/cms/views"
我们正在加紧处理,请稍后访问...

关于文档修改

对一篇文档进行二次修改的之后,点击“提交”没有反应;

启动时遇到的问题

安装时没什么问题。
npm start 后,访问 http://127.0.0.1:81/admin/manage/adminUsersList 就报这个错。求解

D:\www\201607\DoraCMS>npm start

> [email protected] start D:\www\201607\DoraCMS
> node ./bin/www

GET /admin/manage/adminUsersList 302 20.785 ms - 56
GET /admin 200 22.040 ms - -
GET /plugins/font-awesome/css/font-awesome.min.css 200 17.006 ms - -
GET /stylesheets/backstage/css/AdminLTE.min.css 200 20.214 ms - -
GET /plugins/bootstrap/css/bootstrap.min.css 200 27.149 ms - -
GET /admin/vnum?1467697371000 200 14.261 ms - -
GET /javascripts/angular.min.js 200 34.640 ms - -
GET /javascripts/bootstrap.min.js 200 11.549 ms - -
GET /javascripts/jQuery-2.1.3.min.js 200 16.417 ms - -
{ [Error: Not Found] status: 404 }
_http_outgoing.js:447
    throw new TypeError('first argument must be a string or Buffer');
    ^

TypeError: first argument must be a string or Buffer
    at ServerResponse.OutgoingMessage.write (_http_outgoing.js:447:11)
    at ServerResponse.write (D:\www\201607\DoraCMS\node_modules\compression\index.js:88:18)
    at writetop (D:\www\201607\DoraCMS\node_modules\express-session\index.js:292:22)
    at ServerResponse.end (D:\www\201607\DoraCMS\node_modules\express-session\index.js:328:16)
    at D:\www\201607\DoraCMS\models\ContentTemplate.js:44:21
    at D:\www\201607\DoraCMS\node_modules\mongoose\lib\query.js:2177:21
    at D:\www\201607\DoraCMS\node_modules\mongoose\node_modules\kareem\index.js:207:48
    at D:\www\201607\DoraCMS\node_modules\mongoose\node_modules\kareem\index.js:127:16
    at nextTickCallbackWith0Args (node.js:420:9)
    at process._tickCallback (node.js:349:13)

大神,帮忙看下日志,什么原因

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle [email protected]prestart: [email protected]
6 silly lifecycle [email protected]
prestart: no script for prestart, continuing
7 info lifecycle [email protected]start: [email protected]
8 verbose lifecycle [email protected]
start: unsafe-perm in lifecycle true
9 verbose lifecycle [email protected]start: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/root/DoraCMS/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
10 verbose lifecycle [email protected]
start: CWD: /root/DoraCMS
11 silly lifecycle [email protected]start: Args: [ '-c', 'node ./bin/www' ]
12 silly lifecycle [email protected]
start: Returned: code: 1 signal: null
13 info lifecycle [email protected]~start: Failed to exec start script
14 verbose stack Error: [email protected] start: node ./bin/www
14 verbose stack Exit status 1
14 verbose stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:232:16)
14 verbose stack at emitTwo (events.js:100:13)
14 verbose stack at EventEmitter.emit (events.js:185:7)
14 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
14 verbose stack at emitTwo (events.js:100:13)
14 verbose stack at ChildProcess.emit (events.js:185:7)
14 verbose stack at maybeClose (internal/child_process.js:821:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
15 verbose pkgid [email protected]
16 verbose cwd /root/DoraCMS
17 error Linux 2.6.32-042stab111.11
18 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
19 error node v5.5.0
20 error npm v3.3.12
21 error code ELIFECYCLE
22 error [email protected] start: node ./bin/www
22 error Exit status 1
23 error Failed at the [email protected] start script 'node ./bin/www'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the doracms package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error node ./bin/www
23 error You can get their info via:
23 error npm owner ls doracms
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]


English

Would love to see this project in English, so that the whole world be able to use and support your cms

向广大noder征集html模板

doracms目前需要一些比较好的html模板作为系统模板,如果你有比较好的资源(博客,cms)html5+css模板,可以提供一下,最好是全一点(首页,分类页,详情页,用户页面等)(发到邮箱,备注doracms模板。[email protected]),我会筛选一些合适的做成系统模板,成功入选系统模板,会给与适当的奖励,感谢大家支持

关于加密解密

对于加密key: encrypt_key : 'dora',
将‘dora’修改为其他的,生成了一个加密密码,手动加入到了db中,然后登陆的用户名和密码与db中一样,但是就是findone时,就是查不出数据,总是“登陆失败”;

您给看看,O(∩_∩)O谢谢

这是怎么回事

[email protected] start /Users/myjianyue/Desktop/projectsSpace/express/DoraCMS

node ./bin/www

Port 81 requires elevated privileges

npm ERR! Darwin 16.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.9.5
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: node ./bin/www
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'node ./bin/www'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the doracms package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./bin/www
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs doracms
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls doracms
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /Users/myjianyue/Desktop/projectsSpace/express/DoraCMS/npm-debug.log
myjianyuedeMacBook-Pro:DoraCMS myjianyue$

建议

能否发个release出来?

无法登陆

按照文档插入数据,登陆时,提示非法参数,调试后发现routes/admin.js中validator.isUserName(userName)为false。将其注释掉后,返回用户名密码错误,检查数据库,中"username" 为"test", "password"为"581fbebb8a5f5827",是哪里错了吗?手动叫password改为000000了无法登陆。能告诉密码在数据库中是以什么加密方式存储的吗?为什么无法登陆?

分页问题

分页查询数据的方法有点问题,由于每个分页是根据条件查询出全部的数据,再用数组进行切割来获取分页数据,如果表中的数据够多的话,会出现超过mongodb单次查询上限的异常。
该异常应该是由于sort只允许最大32MB的内存占用,如果条件查询出的数据超过了32MB则mongodb会抛出异常;
异常信息:
"Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit."

建议迁移到koa上吧

GET /admin/manage/adminUsersList 500 103.779 ms - -
_http_outgoing.js:335
    throw new Error('Can\'t set headers after they are sent.');
          ^
Error: Can't set headers after they are sent.
    at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:335:11)
    at ServerResponse.setWriteHeadHeaders (/Users/xuanyong/Downloads/DoraCMS-master/node_modules/express-session/node_modules/on-headers/index.js:82:19)
    at ServerResponse.writeHead (/Users/xuanyong/Downloads/DoraCMS-master/node_modules/express-session/node_modules/on-headers/index.js:41:36)
    at ServerResponse.writeHeader (_http_server.js:233:18)
    at /Users/xuanyong/Downloads/DoraCMS-master/models/db/siteFunc.js:486:21
    at /Users/xuanyong/Downloads/DoraCMS-master/models/db/siteFunc.js:429:21
    at /Users/xuanyong/Downloads/DoraCMS-master/models/ContentTemplate.js:47:17
    at Query.<anonymous> (/Users/xuanyong/Downloads/DoraCMS-master/node_modules/mongoose/lib/query.js:2140:28)
    at /Users/xuanyong/Downloads/DoraCMS-master/node_modules/mongoose/node_modules/kareem/index.js:177:19
    at /Users/xuanyong/Downloads/DoraCMS-master/node_modules/mongoose/node_modules/kareem/index.js:109:16
    at process._tickCallback (node.js:355:11)

npm ERR! Darwin 14.5.0
npm ERR! argv "/Users/xuanyong/.nvm/versions/node/v0.12.2/bin/node" "/Users/xuanyong/.nvm/versions/node/v0.12.2/bin/npm" "start"
npm ERR! node v0.12.2
npm ERR! npm  v2.7.4
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `node ./bin/www`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] start script 'node ./bin/www'.
npm ERR! This is most likely a problem with the doracms package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./bin/www
npm ERR! You can get their info via:
npm ERR!     npm owner ls doracms
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/xuanyong/Downloads/DoraCMS-master/npm-debug.log

angular flash problem

the FOUC are easy to resolve by using ngCloak.
But I wanna cooler, So I'm trying something else , like ngAnimation?

关于代码目录结构的建议

最近在研究你的这个cms,看到里面的目录结构稍微有点乱,
能不能前端和后端的文件分离开呀?

比如说node的单独建一个node来管理
前端的就放在public里面是否能更直观呀。

MongoError: Mod on _id not allowed

更新mongodb时如果数据中存在_id则会报错,所以需要在更新数据库之前将_id键删除即可

关联mongodb版本 2.4.14

{ [MongoError: Mod on _id not allowed]
name: 'MongoError',
message: 'Mod on _id not allowed',
driver: true,
ok: 1,
n: 0,
code: 10148,
errmsg: 'Mod on _id not allowed',
writeConcernError: { code: 10148, errmsg: 'Mod on _id not allowed' } }

关于登陆

在登陆时经常会:
1,验证码有错,肯定输入的是正确的,第二次输入就没有问题了;
2,非法数据;我看了代码是validator.isUserName(username) && validator.isPsd(password)中,username总是验证不通过,输入的就是你的文档中的test 000000,dubug到validator.isUserName(username) ,username="test",然而就是false;

请您看看,谢谢!

关于函数

1,checkIfParent:这个函数的return 是不是 有问题呀?都是return true;

关于后台上传图片

在添加文档的时候,上传图片成功之后,上传的图片没有正确的缩略图显示出来,而是一个类似not found的默认图;请看下图。
upload

模板“dora蓝”有两处错误

1.模板“dora蓝”的内容页的作者标签写错了吧,显示的是 [object Object];
2.模板“dora蓝”的内容页文章下面的【你可能喜欢】推荐的内容里的TAG标签链接为空

关于文档管理字段--“类目”

您好!
想问问,能不能把后台的menu文档管理中的”类目“的内容显示为对应的name,
这样做的目的是看起来更加的清晰,
就像看域名比看ip要容易些;

如:
改修前:类目 EJFzljaw
该秀后:类目 关于我

一些看法建议

先感谢@doramart 把这个cms开源供大家使用,很好的一个项目,但应该有很多需要改善的,刚刚装了试了下,就说下我个人看法

  1. 为啥添加用户一定要全部信息都齐全?
  2. 添加文章也是有这个要求,其他不说,一定要有缩略图才行,有点疼...
  3. 后台查看文章列表只能看,建议在标题做个链接,可以直接点击预览
  4. 不知道为啥,我添加了一篇文章,后面去后台编辑的时候发现内容是空的,但前台显示却是有内容
  5. 姓名为什么一定要强制中文,这个有点不解
  6. 缩略图不能选择已经上传过图片的,只能重新传,可以选择就灵活

验证图片问题

default
初始登录页面没有问题,在登录页面停留一段时间,刷新登录页面,验证图片出现undefined。此时只有关闭redis,重启redis后app才正常。
登录进系统,在任意页面停留一段时间,再操作后会回到登录页面,此时登录页面的验证图片也同样会出现
undefined问题。
结论:session过期后,管理员登录页面的验证图片请求会有问题,且无法解决,只能通过重启redis来解决,目前还找不出问题的bug所在。测试浏览器为firefox,win10系统本机,

建议

Doracms还不错, 呵呵, 我有几点建议。

  1. 能不能对URL 进行SEO 优化。 就像keystonejs 一样, http://demo.keystonejs.com/blog/post/dasasd
  2. 能不能让用户可以发表文章, 然后管理员审核文章。
  3. 注册时能开启验证码就更换了。

关于title

关于title上的小图标,您是怎么加的?我没有找到地方;
一般不都是link rel="shortcut icon" 通过这个引用么,

关于本CMS系统发送邮件失败的问题

我在文档里面看到作者写了删除邮件模块,但是在源码里面却还有发送邮件的代码,不知道是怎么回事!所以希望作者说明一下,谢谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.