1. Разговор
Однажды, монитор класса сказал, что студенты хотели, чтобы я разработал адресную книгу, которая могла бы поделиться этим местоположением, поэтому они просто разработали эту функцию сами. Включая пользовательские роли, публикация на Weibo, обмен локациями и т. Д. На этот раз я был немного эгоистичным. Чтобы тренировать мои недавно наблюдаемые Angularjs, я решительно выбрал Node.js + Mongodb + Angular.js Решение. Конечно, опыт развития node.js становится все более и более глубоким. Помните, что в прошлом году лидер сказал мне, что я должен попытаться сделать каждую службу поддержки узлов только одну бизнес -функцию, чтобы она была более удобной для обслуживания. В то время я действительно хотел сделать сервис узла очень мощной. Теперь кажется, что подход лидера верен, и я предпочитаю выделять функции обслуживания узлов ...
2. Прямо загрузить сухой товары
Служба базы данных развернута в Alibaba Cloud; Статический файловый сервер использует страницу GitHub.
Адрес проекта GitHub: https://github.com/vczero/ourtimes
Адрес опыта в Интернете: http://vczero.github.io/tuban/main.html#/
У меня нет картинки, чтобы сказать мяч, позвольте мне показать вам два скриншота:
(1) Домашняя страница
(2) адресная книга
...... больше опыта в Интернете ...
Iii. Проект
Общий проект: https://github.com/vczero/ourtimes
Разработал требуемые услуги: https://github.com/vczero/ourtimes/tree/master/server
Откройте клиент веб-ПК: https://github.com/vczero/ourtimes/tree/master/client-web
Была разработана простая система управления бэкэнд: https://github.com/vczero/ourtimes/tree/master/client-admin
Каждый приветствует в Форк, следуйте и поделитесь кодом, чтобы работать вместе, чтобы построить фронт.
4. Прикрепите код файла входа к терминалу Web-PC Angular
Кода -копия выглядит следующим образом:
var app = angular.module ('app', ['ui.router', 'ngcookies']);
var server_base_url = 'http://127.0.0.1:3000/';
// Инициализировать конфигурацию
app.run (['$ rootscope', function ($ rootscope) {
$ rootscope.appname = 'tuban.com';
$ rootscope.desc = 'адресная книга на основе местоположения';
$ rootscope.author = 'призрак -слухи';
$ rootscope._email = '[email protected]';
}]);
// проверенный список услуг
app.constant ('ServiceConfig', {
wei_content: server_base_url + 'wei/get',
wei_zan: server_base_url + 'wei/zan',
wei_comment: server_base_url + 'wei/comment',
wei_create: server_base_url + 'wei/create',
user_get: server_base_url + 'user/get',
user_login: server_base_url + 'user/login',
user_register: server_base_url + 'user/register',
user_common: server_base_url + 'user/getcommon',
user_ben: server_base_url + 'user/getben',
user_elf: server_base_url + 'user/get Self',
user_common_update: server_base_url + 'user/updatecommon',
user_ben_update: server_base_url + 'user/updateben',
user_ben_get_name: server_base_url + 'user/singleben/name',
user_common_get_nickname: server_base_url + 'user/getcommon/name',
user_ben_get_realname: server_base_url + 'user/singleben/name',
wei_get_token_page: server_base_url + 'wei/getbytoken',
wei_delete: server_base_url + 'wei/delete',
user_update_password: server_base_url + 'user/updatepassword',
article_get: server_base_url + 'article/get',
article_detail: server_base_url + 'article/get/id',
AMAP_URL: 'http://webapi.amap.com/maps?v=1.3&key=ad925c5003760094713775d64748d872&callback=init'
});
// json parse
app.config (['$ httpprovider', function ($ httpprovider) {
$ httpprovider.defaults.headers.post ['content-type'] = 'application/xwww-form-urlencoded; charset = utf-8';
$ httpprovider.defaults.headers.put ['content-type'] = 'application/xwww-form-urlencoded; charset = utf-8';
$ httpprovider.defaults.transformRequest = [function (data) {
var obj = [];
для (var key in data) {
obj.push (key + '=' + data [key]);
}
вернуть obj.join ('&');
}];
}]);
// Конфигурация маршрутизации
app.config (['$ stateprovider', '$ urlrouterprovider',
Функция ($ stateprovider, $ urlrouterprovider) {
/*Маршрутизация URL*/
$ urlrouterprovider.отан ("/");
/*Конфигурация состояния*/
$ StateProvider
// первая страница
.state ('index', {
URL: '/',
Просмотры: {
'': {
Templateurl: 'Views/index/index.html',
},
'Header@index': {
Templateurl: «View/header.html»,
Контроллер: 'HeaderController'
},
'cooler@index': {
Templateurl: «Просмотры/носик.html»,
Контроллер: ''
},
'weibo@index': {
Templateurl: 'Views/index/weibo.html',
Контроллер: 'weiboController'
},
'article@index': {
Templateurl: 'Views/index/article.html',
Контроллер: 'articlecontroller'
},
'post@index': {
Templateurl: 'Views/index/post.html',
Контроллер: «PostweiboController»
}
}
})
.state ('Login', {
URL: '/login',
Просмотры: {
'': {
Templateurl: 'Views/login/login.html',
Контроллер: 'LoginController'
}
}
})
.state ('Register', {
URL: '/register',
Просмотры: {
'': {
Templateurl: 'Views/Register/regist.html',
Контроллер: 'RegisterController'
}
}
})
.state ('contacts', {
URL: '/contacts',
Просмотры: {
'': {
Templateurl: «Просмотры/контакты/контакты.html ',
Контроллер: ''
},
'Header@Contacts': {
Templateurl: «View/header.html»,
Контроллер: 'HeaderController'
},
'userInfo@contacts': {
Templateurl: 'Views/Contacts/userInfo.html',
Контроллер: 'userInfoController'
},
'map@contacts': {
Templateurl: 'Views/contacts/map.html',
Контроллер: 'MapController'
},
'search@contacts': {
Templateurl: 'Views/contacts/search.html',
Контроллер: 'SearchUserController'
}
}
})
.state ('ucenter', {
URL: '/ucenter',
Просмотры: {
'': {
Templateurl: 'Views/ucenter/ucenter.html',
Контроллер: ''
},
'Header@ucenter': {
Templateurl: «View/header.html»,
Контроллер: 'HeaderController'
},
'userweibo@ucenter': {
Templateurl: 'Views/ucenter/weibo.html',
Контроллер: 'UcweiboController'
},
'userdetailInfo@ucenter': {
Templateurl: 'Views/ucenter/user.html',
Контроллер: 'ucusercontroller'
},
'cooler@ucenter': {
Templateurl: «Просмотры/носик.html»,
Контроллер: ''
}
}
})
.state ('article', {
URL: '/article/: id',
Просмотры: {
'': {
Templateurl: «Просмотр/article/article.html ',
Контроллер: ''
},
'Header@статья': {
Templateurl: «View/header.html»,
Контроллер: 'HeaderController'
},
'article_content@article': {
Templateurl: 'Views/article/article_content.html',
Контроллер: 'ArticleDetailController'
},
'cooler@article': {
Templateurl: «Просмотры/носик.html»,
Контроллер: ''
}
}
})
.state ('article_index', {
URL: '/article',
Просмотры: {
'': {
Templateurl: «Просмотр/article/article.html ',
Контроллер: ''
},
'Header@article_index': {
Templateurl: «View/header.html»,
Контроллер: 'HeaderController'
},
'article_content@article_index': {
Templateurl: 'Views/article/article_content.html',
Контроллер: 'ArticleDetailController'
},
'cooler@article_index': {
Templateurl: «Просмотры/носик.html»,
Контроллер: ''
}
}
});
}]);