1. Tonterías
Nombre: 【Búsqueda de Douban】
Recientemente presté atención a la API de Douban y descubrí que la plataforma abierta de Douban necesita fortalecer la redacción de documentos de API ... pero hay un descubrimiento gratificante de que la interfaz Douban V2 proporciona una interfaz de búsqueda. He estado usando Phantom para hacer algunos rastreadores recientemente. Pensando en ello, ¡es tan hermoso! Hay una interfaz Douban, y no tengo que rastrear datos o almacenar datos. Lo arrojo a la página de GitHub y lo hago directamente. Douban, ¡agradable! También he estado viendo Angular recientemente, así que comencé a usar Angular + Doucan API para hacer una aplicación web. Entonces ... me arrojaron a casa en línea.
Dirección de experiencia: http://vczero.github.io/t/html/index.html#/
Dirección del proyecto: https://github.com/vczero/search (todos son bienvenidos a la bifurcación, modificarlo a voluntad y continuar agregando funciones; bienvenidos para avanzar juntos).
2. Cargue directamente la imagen
(1) Búsqueda de libros
(2) Interfaz de búsqueda de música
(3) Detalles del libro
(4) Búsqueda de películas
Iii. Estructura e introducción del proyecto
3. Algunos puntos para prestar atención a
(1) -Webkit-Tap-Highlight-Color: RGBA (255,255,255,0); Eliminar las sombras resaltadas cuando se haga clic
(2) dimensionamiento de la caja: el uso de la caja del borde, el cálculo de píxeles que contiene relleno
(3) La combinación de posición fija y salto de búsqueda (causada por el teclado virtual)
(4) Control múltiple de Angular-UI Router
(5) Varios detalles del sistema iOS y Android
(6) Problema de comprimir la inyección de dependencia del código AngularJS
...
Creo que se publica el código para el servicio y el enrutamiento de estado.
La copia del código es la siguiente:
/*Configuración de URL de servicio*/
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 (['$ stateProvider', '$ urlrouterProvider', function ($ stateProvider, $ urlrouterProvider) {
/*Enrutamiento de URL*/
$ urlrouterProvider.otherwise ("/");
/*Configuración de estado*/
$ StateProvider
//página delantera
.state ('índice', {
URL: '/',
Vistas: {
encabezamiento:{
TemplateUrl: '../html/views/list_header.html',,
Controlador: 'SearchController'
},
recipiente:{
TemplateUrl: '../html/views/list_book.html',
Controlador: 'BooklistController'
},
pie de página:{
TemplateUrl: '../html/views/list_footer.html',,
Controlador: ''
}
}
})
// Lista de libros
.state ('book_list', {
url: '/libro',
Vistas: {
encabezamiento:{
TemplateUrl: '../html/views/list_header.html',,
Controlador: 'SearchController'
},
recipiente:{
TemplateUrl: '../html/views/list_book.html',
Controlador: 'BooklistController'
},
pie de página:{
TemplateUrl: '../html/views/list_footer.html',,
Controlador: ''
}
}
})
// detalle del libro
.state ('book_detail', {
url: '/libro/: id',
Vistas: {
encabezamiento:{
TemplateUrl: '../html/views/list_header.html',,
Controlador: 'SearchController'
},
recipiente:{
TemplateUrl: '../html/views/detail_book.html',
Controlador: 'bookdetailcontroller'
},
pie de página:{
TemplateUrl: '../html/views/list_footer.html',,
Controlador: ''
}
}
})
// Lista de música
.state ('music_lsit', {
URL: '/Música',
Vistas: {
encabezamiento:{
TemplateUrl: '../html/views/list_header.html',,
Controlador: 'SearchController'
},
recipiente:{
TemplateUrl: '../html/views/list_music.html',,
Controlador: 'MusicListController'
},
pie de página:{
TemplateUrl: '../html/views/list_footer.html',,
Controlador: ''
}
}
})
// Lista de películas
.state ('Movie_lsit', {
URL: '/película',
Vistas: {
encabezamiento:{
TemplateUrl: '../html/views/list_header.html',,
Controlador: 'SearchController'
},
recipiente:{
TemplateUrl: '../html/views/list_movie.html',,
Controlador: 'MovielistController'
},
pie de página:{
TemplateUrl: '../html/views/list_footer.html',,
Controlador: ''
}
}
})
.state ('búsqueda', {
url: '/búsqueda/: type',
Vistas: {
encabezamiento:{
TemplateUrl: '../html/views/search.html',
Controlador: 'Buscar'
},
recipiente:{
TemplateUrl: '',
Controlador: ''
},
pie de página:{
TemplateUrl: '',
Controlador: ''
}
}
});
}]);