1. Черт возьми
Имя: 【Douban Search】
Недавно я обратил внимание на API Douban's API и обнаружил, что открытая платформа Douban должна укрепить написание документов API ... но есть приятное открытие, что интерфейс Douban V2 обеспечивает интерфейс поиска. Я недавно использовал Phantom, чтобы сделать несколько сканеров. Думая об этом, это так красиво! Существует интерфейс Douban, и мне не нужно сканировать данные или хранить данные. Я бросаю его на страницу GitHub и делаю это напрямую. DOUBAN, приятно! Я также недавно смотрел Angular, поэтому я начал использовать Angular + Douban API для создания веб -приложения. Итак ... меня бросили домой онлайн.
Адрес опыта: http://vczero.github.io/t/html/index.html#/
Адрес проекта: https://github.com/vczero/search (все приветствуются в Форк, изменяйте его по желанию и продолжают добавлять функции; добро пожаловать, чтобы добиться прогресса.)
2. Прямо загрузите изображение
(1) Поиск книги
(2) Интерфейс поиска музыки
(3) Подробности книги
(4) Поиск фильмов
Iii. Структура и введение проекта
3. Несколько пунктов, чтобы обратить внимание на
(1) -webkit-tap-highlight-color: rgba (255,255,255,0); Удалить тени выделения при нажатии
(2) Размер коробки: использование пограничного ящика, расчет пикселей, содержащий прокладку
(3) Комбинация фиксированной позиции и прыжка поиска (вызванная виртуальной клавиатурой)
(4) Multi-Eview Control of Angular-UI-Router
(5) Различные детали системы iOS и Android
(6) Проблема сжатия инъекции зависимости кода AngularJS
...
Я думаю, что код для сервиса и маршрутизации статуса размещен.
Кода -копия выглядит следующим образом:
/*Конфигурация URL -адреса службы*/
app.constant ('ServiceConfig', {
book_search: 'https://api.douban.com/v2/book/search',
book_search_id: 'https://api.douban.com/v2/book/',
music_search: 'https://api.douban.com/v2/music/search',
music_search_id: 'https://api.douban.com/v2/music/',
movie_search: 'https://api.douban.com/v2/movie/search',
movie_search_id: 'https://api.douban.com/v2/movie/subject/'
});
app.config (['$ atationprovider', '$ urlrouterprovider', function ($ stateprovider, $ urlrouterprovider) {
/*Маршрутизация URL*/
$ urlrouterprovider.отан ("/");
/*Конфигурация состояния*/
$ StateProvider
// первая страница
.state ('index', {
URL: '/',
Просмотры: {
Заголовок: {
Templateurl: '../html/views/list_header.html',
Контроллер: 'SearchController'
},
контейнер:{
Templateurl: '../html/views/list_book.html',
Контроллер: 'booklistcontroller'
},
нижний колонтитул: {
Templateurl: '../html/views/list_footer.html',
Контроллер: ''
}
}
})
// Список книг
.state ('book_list', {
URL: '/book',
Просмотры: {
Заголовок: {
Templateurl: '../html/views/list_header.html',
Контроллер: 'SearchController'
},
контейнер:{
Templateurl: '../html/views/list_book.html',
Контроллер: 'booklistcontroller'
},
нижний колонтитул: {
Templateurl: '../html/views/list_footer.html',
Контроллер: ''
}
}
})
// Подробная информация
.state ('book_detail', {
URL: '/book/: id',
Просмотры: {
Заголовок: {
Templateurl: '../html/views/list_header.html',
Контроллер: 'SearchController'
},
контейнер:{
Templateurl: '../html/views/detail_book.html',
Контроллер: 'bookdetailController'
},
нижний колонтитул: {
Templateurl: '../html/views/list_footer.html',
Контроллер: ''
}
}
})
// Список музыки
.state ('music_lsit', {
url: '/music',
Просмотры: {
Заголовок: {
Templateurl: '../html/views/list_header.html',
Контроллер: 'SearchController'
},
контейнер:{
Templateurl: '../html/views/list_music.html',
Контроллер: 'MusicListController'
},
нижний колонтитул: {
Templateurl: '../html/views/list_footer.html',
Контроллер: ''
}
}
})
// Список фильмов
.state ('movie_lsit', {
URL: '/Movie',
Просмотры: {
Заголовок: {
Templateurl: '../html/views/list_header.html',
Контроллер: 'SearchController'
},
контейнер:{
Templateurl: '../html/views/list_movie.html',
Контроллер: 'MovielistController'
},
нижний колонтитул: {
Templateurl: '../html/views/list_footer.html',
Контроллер: ''
}
}
})
.state ('search', {
URL: '/search/: type',
Просмотры: {
Заголовок: {
Templateurl: '../html/views/search.html',
Контроллер: «Поиск»
},
контейнер:{
шаблон: '',
Контроллер: ''
},
нижний колонтитул: {
шаблон: '',
Контроллер: ''
}
}
});
}]);