删掉系统使用express系统默认的文件

This commit is contained in:
luchenqun 2017-04-10 19:25:21 +08:00
parent eff27d668a
commit 3565df343e
7 changed files with 135 additions and 55 deletions

137
README.md
View File

@ -1,2 +1,135 @@
# my-bookmark # 在线书签管理工具
一个使用NodeJS + Express + AngularJS + Semantic UI 写的Web书签应用 1 线上部署(demo)
-------------
[在线书签管理系统](http://mybookmark.cn/ "在线书签管理系统")体验账号test。密码123456。
2 为什么要做个网络书签
------------------
每个浏览器上面都会有个书签可以供你收藏你以后可能还要用到的网址。但是这个书签有以下几个缺点我没法忍受由于浏览器我只用Google Chrome下面的观点我都是基于该浏览器
1、各个浏览器之间无法同步。
2、容易丢失。因为这个东西是不强制注册账号的你只要一重装电脑忘记备份了你的书签就没有了。还有一个如果你使用Chrome浏览器由于Google被ZF封杀你要是不翻墙书签是没法同步的。
3、搜索不方便只能搜索关键字无法按照特定条件比如搜索特定的加入时间特定的类型搜索。
4、查阅不方便。一旦一个分类目录你收藏的过多尼玛你在那个目录下面找起来想死的心都有。
5、无法查看别人收藏的书签。
6、在别人的电脑上无法查看我收藏的书签。
7、如果公用一台电脑那么收藏夹里面会收藏其他人的网址。
3 主要功能
-------
1、需要注册账号用户。(初步完成)
2、网站展示有三种展示方式导航标签列表卡片。其中导航以分类展示分类顺序可以在书签分类下面拖动编辑。按照点击的次数从高到低在每个分类里面提取16个书签再按照最近添加的书签提取前面的16个书签然后合并起来。标签是一个快捷方式。列表以表格展示显示书签详细类容按照点击次数优先显示点击次数相同则按添加顺序优先。卡片以卡片方式显示按照最近添加优先显示。这几种展示方式可以在设置里面默认一种你常用的方式。(完成)
3、在书签分类里面可以更新分类删除分类新增分类对分类显示进行排序。分类的标签默认按照添加日期展示但是可以点击表格的标题按照点击次数添加日期最后点击从大到小进行排序。(完成)
4、可以按照指定添加时间段指定分类目录指定网址关键字等进行查询。(完成)
5、添加书签的时候会自动获取title供用户编辑。其中Insert键打开添加页面再次按Insert键保存书签Esc取消添加。(完成)
6、可以导入Chrome的书签导出文件暂时做在设置里面。(完成)
7、书签可以作为公有或者私有公有可供所有人搜索。(完成)
8、可以将搜索到其他用户的书签转存为自己的书签。(完成)
9、可以将书签导出来然后导入到浏览器。(未完成)
10、在热门标签里面有在网上找的热门书签。可以转存收藏到自己书签里面。(完成)
4 主要用到的模块说明
------------------
**NodeJS**:用来做后台服务。
**MySql**: 用来做数据存储。
**AngularJS**:大家都懂的。
**jQuery**: 大家都懂的。本来用了AngularJS是不需要再使用jQuery了的。但是有些功能AngularJS要大费周章才能完成jQuery一句代码就能解决。所以还是忍不住将它导入了进来。
**mongo**保存登陆的session。
**Semantic**由于没有美工人员自己开发的不想界面太丑用了这套UI。
5 目录结构
---------
```
my-bookmark/
├── bin/ #
│ └── www # 后台启动文件
├── common/ # 自己写的一些模块
│ └── parse_html.js # 用来解析从浏览器导出来的书签文件
├── database/ #
│ └── db.js # 所有数据库的操作都在这里
├── node_modules/ # nodejs模块安装文件夹
│ ├── express/ # 一个nodejs Web 应用程序框架
│ ├── ..... # 其他nodejs用到的包
│ └── mysql/ # mysql包
├── public/ # 网站实现文件夹
│ ├── css/ # 样式表文件夹
│ │ ├── externe/ # 外部引入引来的css文件
│ │ └── style.css # 自己写的css文件
│ ├── images/ # 图片文件夹
│ │ ├── favicon/ # 下载书签的favicon文件夹
│ │ ├── snap/ # 书签的截图文件夹
│ │ ├── ..... # 其他图片文件
│ │ └── edit.png # 编辑图片
│ ├── scripts/ # 前端逻辑实现的JS文件以及引入的JS文件
│ │ ├── controllers/ # 所有的AngularJS控制器
│ │ │ ├── advice-controller.js #
│ │ │ ├── bookmark-info-controller.js #
│ │ │ ├── bookmarks-controller.js #
│ │ │ ├── edit-controller.js #
│ │ │ ├── home-controller.js #
│ │ │ ├── hot-controller.js #
│ │ │ ├── login-controller.js #
│ │ │ ├── menus-controller.js #
│ │ │ ├── search-controller.js #
│ │ │ ├── settings-controller.js #
│ │ │ └── tags-controller.js #
│ │ ├── directives/ # 所有的AngularJS指令
│ │ │ ├── js-init-directive.js #
│ │ │ └── module-directive.js #
│ │ ├── externe/ # 外部引入的JS文件
| | | ├── angular.min.js
| | | ├── angular-cookies.min.js
| | | ├── angular-medium-editor.min.js
| | | ├── angular-sortable-view.min.js
| | | ├── angular-ui-router.min.js
| | | ├── calendar.min.js
| | | ├── canvas-nest.min.js
| | | ├── clipboard.min.js
| | | ├── jquery.form.js
| | | ├── jquery.uploadfile.min.js
| | | ├── jquery-3.1.1.min.js
| | | ├── medium-editor.min.js
| | | ├── ngDialog.min.js
| | | ├── ng-infinite-scroll.min.js
| | | ├── semantic.min.js
| | | ├── timeago.min.js
| | | └── toastr.min.js
│ │ ├── services/ # 所有的AngularJS服务文件
| | | ├── bookmark-service.js
| | | ├── data-service.js
| | | └── pub-sub-service.js
│ │ └── app-angular.js # AngularJS路由配置文件
│ ├── views # 页面实现文件
| | ├── advice.html
| | ├── bookmark-info.html
| | ├── bookmarks.html
| | ├── dialog-add-tag.html
| | ├── dialog-del-bookmark.html
| | ├── dialog-del-tag.html
| | ├── edit.html
| | ├── home.html
| | ├── hot.html
| | ├── login.html
| | ├── menus.html
| | ├── pagination.html
| | ├── search.html
| | ├── settings.html
| | └── tags.html
│ ├── favicon.ico # 网站favicon为念
│ └── index.html # 单页面应用主页
├── routes/ # ogs实现代码以及各个券商对接代码
│ ├── api.js # ai 实现文件
│ ├── index.js # ddvip 券商实现文件
│ └── users.js # ufx 券商实现文件
├── uploads/ # ogs实现代码以及各个券商对接代码
├── views/ # ogs实现代码以及各个券商对接代码
│ ├── ai/ # ai 实现文件
│ ├── ddvip/ # ddvip 券商实现文件
│ ├── main.cc # ogs实现代码
│ ├── OgsServer.cc # ogs实现代码
│ ├── .... # ogs其他实现代码
│ └── ufx/ # ufx 券商实现文件
├── app.js # 更新日志
├── package.json # 项目工程文件
├── README.md # 项目工程文件
└── schema.sql # 项目介绍文件
```

10
app.js
View File

@ -7,16 +7,9 @@ var bodyParser = require('body-parser');
var session = require('express-session'); var session = require('express-session');
var mongoStore = require('connect-mongo')(session); var mongoStore = require('connect-mongo')(session);
var routes = require('./routes/index');
var users = require('./routes/users');
var api = require('./routes/api'); var api = require('./routes/api');
var app = express(); var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// uncomment after placing your favicon in /public // uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev')); app.use(logger('dev'));
@ -40,10 +33,7 @@ app.use(session({
})); }));
app.use(express.static(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/api', api); app.use('/api', api);
app.use('/users', users);
// catch 404 and forward to error handler // catch 404 and forward to error handler
app.use(function(req, res, next) { app.use(function(req, res, next) {

View File

@ -63,14 +63,6 @@ app.config(function($stateProvider, $urlRouterProvider, $httpProvider) {
}); });
}); });
//自定义过滤器
app.filter('formatDate', function() {
return function(date) {
console.log(date);
return 22222;
}
})
console.log([ console.log([
" _ooOoo_", " _ooOoo_",
" o8888888o", " o8888888o",

View File

@ -1,12 +0,0 @@
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
console.log('Hello , i enter index');
// res.render('index', {
// title: 'Express'
// });
});
module.exports = router;

View File

@ -1,9 +0,0 @@
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;

View File

@ -1,3 +0,0 @@
<h1><%= message %></h1>
<h2><%= error.status %></h2>
<pre><%= error.stack %></pre>

View File

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/css/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
</html>