1. Bobagem
Nome: 【Douban Search】
Recentemente, prestei atenção à API de Douban e descobri que a plataforma aberta de Douban precisa fortalecer a redação de documentos da API ... mas há uma descoberta gratificante de que a interface Douban V2 fornece uma interface de pesquisa. Eu tenho usado o Phantom para fazer alguns rastreadores recentemente. Pensando nisso, é tão lindo! Há uma interface Douban e não preciso rastejar dados ou armazenar dados. Eu o jogo na página do GitHub e o faço diretamente. Douban, bom! Também tenho assistido a Angular recentemente, então comecei a usar a API Angular + Douban para criar um aplicativo da web. Então ... fui jogado para casa online.
Endereço de experiência: http://vczero.github.io/t/html/index.html#/
Endereço do projeto: https://github.com/vczero/search (todos são bem -vindos ao Fork, modificam -o à vontade e continuam a adicionar funções; bem -vindo a progredir juntos.)
2. Envie diretamente a imagem
(1) Pesquisa de livros
(2) Interface de pesquisa de música
(3) Detalhes do livro
(4) Pesquisa de filmes
Iii. Estrutura do projeto e introdução
3. Alguns pontos para prestar atenção
(1) -Webkit-Tap-Highlight-Color: RGBA (255.255,255,0); Remova as sombras de destaque quando clicado
(2) dimensionamento de caixa: o uso de caixa de fronteira, cálculo de pixels contendo preenchimento
(3) A combinação de posição fixa e salto de pesquisa (causado pelo teclado virtual)
(4) Controle de várias vistas do angular-UI-ROUTER
(5) Vários detalhes do sistema iOS e Android
(6) Problema de comprimir injeção de dependência do código AngularJS
...
Eu acho que o código para o roteamento de serviço e status é publicado.
A cópia do código é a seguinte:
/*Configuração de URL de serviço*/
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', função ($ stateprovider, $ urlouterprovider) {
/*Roteamento de url*/
$ urlouterprovider.otherwise ("/");
/*Configuração de status*/
$ StateProvider
// Página inicial
.state ('índice', {
url: '/',
Visualizações: {
cabeçalho:{
templateurl: '../html/views/list_header.html',
Controlador: 'SearchController'
},
recipiente:{
templateurl: '../html/views/list_book.html',
Controlador: 'BooklistController'
},
rodapé:{
templateurl: '../html/views/list_footer.html',
Controlador: ''
}
}
})
// Lista de livros
.state ('book_list', {
URL: '/livro',
Visualizações: {
cabeçalho:{
templateurl: '../html/views/list_header.html',
Controlador: 'SearchController'
},
recipiente:{
templateurl: '../html/views/list_book.html',
Controlador: 'BooklistController'
},
rodapé:{
templateurl: '../html/views/list_footer.html',
Controlador: ''
}
}
})
// Detalhes do livro
.state ('book_detail', {
URL: '/livro/: id',
Visualizações: {
cabeçalho:{
templateurl: '../html/views/list_header.html',
Controlador: 'SearchController'
},
recipiente:{
templateurl: '../html/views/detail_book.html',
Controlador: 'BookDetailController'
},
rodapé:{
templateurl: '../html/views/list_footer.html',
Controlador: ''
}
}
})
// Lista de músicas
.state ('music_lsit', {
URL: '/música',
Visualizações: {
cabeçalho:{
templateurl: '../html/views/list_header.html',
Controlador: 'SearchController'
},
recipiente:{
templateurl: '../html/views/list_music.html',
Controlador: 'MusicListController'
},
rodapé:{
templateurl: '../html/views/list_footer.html',
Controlador: ''
}
}
})
// Lista de filmes
.state ('filme_lsit', {
URL: '/filme',
Visualizações: {
cabeçalho:{
templateurl: '../html/views/list_header.html',
Controlador: 'SearchController'
},
recipiente:{
templateurl: '../html/views/list_movie.html',
Controlador: 'MovielistController'
},
rodapé:{
templateurl: '../html/views/list_footer.html',
Controlador: ''
}
}
})
.state ('pesquisa', {
url: '/search/: type',
Visualizações: {
cabeçalho:{
templateurl: '../html/views/search.html',
Controlador: 'Pesquisa'
},
recipiente:{
templateurl: '',
Controlador: ''
},
rodapé:{
templateurl: '',
Controlador: ''
}
}
});
}]);