设为首页 收藏本站
查看: 1026|回复: 0

[经验分享] 一个基于NodeJS开发的APP管理CMS系统

[复制链接]

尚未签到

发表于 2017-2-22 11:21:02 | 显示全部楼层 |阅读模式
  花了大概3周独立开发了一个基于NodeJS的CMS系统,用于公司APP的内容管理( **公司APP?广告放在最后 ^_^ ** ,管理员请理解~~~ )晚上看了部电影还不想睡,闲着也是闲着就作下小小总结~
CMS 简单的架构
  初始架构:
  主要: NodeJs + Mongodb + Express + connect-redis;
  其他: ejs + formidable + nodemailer + utility + superagent + jssha
  后来变更: Mongodb -> Mysql; connect-redis -> express-session
  解释: 毕竟业务量小嘛,产品仅仅处于测试阶段
一些小坑
  楼主做了2年半小前端,后来转NodeJS(所谓的大前端)后端,期间做过自学过一段时间PHP(基于 ThinkPHP ,Wordpress ),
  对于PHP,GitHub上没啥拿的出手的( 微信公众号文章查询 、一个php爬虫小程序、基于微信的会议系统),PHP的入门很简单,但是真正精通太难,越到后面学习曲线越陡峭,评判PHP的深度还有一个Mysql呢~ 楼主的水平仅仅停留在 写个 JSOP/XML 【保证后台API接口链接的安全性,采取跨域访问的机制(CORS)并有效防止跨站点脚本(XSS)攻击和跨站点请求(CSRF)伪造】 接口上……
  但是 NodeJS不同,个人感觉,NodeJS对于新手( 不了解AMD机制 )可能曲线是非常陡峭的,到后面反而慢慢平滑上升(这里应该有大神的板砖~欢迎~~~),
  个人建议 小前端(基于浏览器端的“页面仔”)都应该懂或者了解一门后端语言,知道后端接口的数据是怎么来的(或者为什么没的~)并强烈推荐 NodeJS 毕竟是我们自己熟悉的语言 JS (这里再次感谢 Ryan Dahl 在2009年2月的疯狂Coding)再贴一下 大神的 NodeJS学习线路图
Mysql :
  这里用的都是 insert、delete、update、select、where、and 、or、order by、limit、like、count(*)、alter…… 没啥高级的拿得出手
后端:
  由于后面采用了 Mysql 所以,路由里面就塞满了 SQL语句,不废话贴个代码:
  选了个代码量最大的 message 查询接口,下图:
DSC0000.gif

前端:
  前端一开始兴致勃勃的用 SeaJS,后来也懒得 config 的,直接就贴 url了……
  主要用的就是 bootstrap (主要是它的dropdown插件、tab组件、modal对话框、alert、以及基本UI)
  也贴一下前端的 SeaJS示例 代码,如图:
DSC0001.gif

WEB原型图和业务逻辑
  关于需求:
  web原型图逻辑思维导图(本来也木有) 就免了,不贴出来了,
  这里先放几张已经实现的功能及效果图,前端UI是基于 bootstrap V2.0 的,
  小公司资源奇缺,产品经理是运营兼职的(因为最后运营是客户嘛),
  项目经理呢就程序猿兼职了,对,就是在下
  (这样才能逼着程序猿加班嘛,不过楼主还真讨厌加班,没有加班……加班不一定高效嘛)。
  先声明下,木有UI稿哦~
一、内容管理

  • 支持相关条件检索
  • 可以对不良消息、不良评论放置回收站以及恢复
  • 对消息进行分类,以及类目置顶(取消置顶)
  • 管理员可以操作运营的马甲账号(随机)进行对消息的点赞和评论
  • 后端分页(默认10条每页)
    DSC0002.gif

    DSC0003.gif

    DSC0004.gif

二、会员账号管理

  • 支持会员检索(会员昵称或者ID)
  • 封禁(解禁)不良账户操作(记录操作人以及时间)
  • 权限管理,提升管理员或解除管理员(目前暂支持普通用户与超级管理员)
  • 创建马甲账号(用户运营,你懂的~)
DSC0005.gif

DSC0006.gif

DSC0007.gif

三、贴纸管理

  • 支持贴纸相关条件检索
  • 对贴纸的增删改查操作
  • 贴纸的排序
DSC0008.gif

DSC0009.gif

DSC00010.gif

四、消息查询

  • 单条消息查询(by msg>
  • 对消息的文本模糊查询(有人发广告,比如检索“qq”出来的都是找兼职的啦)
  • 对某个用户(by user>历史动态 和 历史评论 的查询(看他历史记录也能揪出垃圾用户)
DSC00011.gif

DSC00012.gif

DSC00013.gif

五、微信SDK加密API

  • 设置 APPID 和 SECRET
  • 提供带缓存的 access_token 接口和 ticket 接口
  • 提供带缓存的 SHA1加密 接口(5个参数)
DSC00014.gif

DSC00015.gif

  以上,业务需求完毕~
GitHub 源码
  mysql表就不提供了(那提供了源码 也没什么卵用啊~ yes)
  需要请fork https://github.com/highsea/hi-cms
这里是广告
  最后,你的打开方式没有问题,但这其实是广告…… 欢迎下载辣妈加上萌宝贴图秀: 小脚丫 目前正在 测试中……

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345680-1-1.html 上篇帖子: nodejs: 真正的一份代码,到处运行 下篇帖子: 原生nodejs 学习笔记1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表