1. Unsinn
Name: 【Doppelsuche】
Vor kurzem habe ich auf die API von Douban geachtet und festgestellt, dass die offene Plattform von Douban das Schreiben von API -Dokumenten stärken muss ... aber es gibt eine erfreuliche Erkennung, dass die Doppel -V2 -Schnittstelle eine Suchschnittstelle bietet. Ich habe Phantom in letzter Zeit ein paar Crawlers verwendet. Denken Sie darüber nach, es ist so schön! Es gibt eine Doppelschnittstelle, und ich muss keine Daten kriechen oder Daten speichern. Ich werfe es auf die Github -Seite und mache es direkt. Douban, nett! Ich habe auch in letzter Zeit Angular gesehen, also habe ich angefangen, Angular + Doppel -API zu verwenden, um eine Web -App zu erstellen. Also ... ich wurde online nach Hause geworfen.
Erfahrung Adresse: http://vczero.github.io/t/html/index.html#/
Projektadresse: https://github.com/vczero/search (jeder ist herzlich eingeladen in Fork, ändern Sie sie nach Belieben und fügen weiterhin Funktionen hinzu; willkommen, gemeinsam Fortschritte zu erzielen.)
2. Laden Sie das Bild direkt hoch hoch hoch
(1) Buchsuche
(2) Musiksuchschnittstelle
(3) Buchdetails
(4) Filmsuche
III. Projektstruktur und Einführung
3. Ein paar Punkte, um darauf zu achten
(1) -Webkit-Tap-Highlight-Color: RGBA (255.255.255,0); Entfernen Sie Highlight Shadows, wenn Sie klicken
(2) Boxgrößen: Die Verwendung von Border-Box, Pixelberechnung mit Polsterung
(3) Die Kombination aus fester Position und Suchsprung (verursacht durch virtuelle Tastatur)
(4) Mehrfachansichtskontrolle des Angular-UI-Routers
(5) Verschiedene Details des iOS & Android -Systems
(6) Problem der Komprimierung der AngularJS -Code -Abhängigkeitsinjektion
...
Ich denke, der Code für den Dienst und den Statusrouting wird veröffentlicht.
Die Codekopie lautet wie folgt:
/*Service -URL -Konfiguration*//
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',
MISTOY_SEARCH_ID: 'https://api.douban.com/v2/movie/subject/' '
});
app.config (['$ stateProvider', '$ urlrouterProvider', Funktion ($ stateProvider, $ urlrouterProvider) {
/*URL -Routing*/
$ urlrouterProvider.Otherwise ("/");
/*Statuskonfiguration*/
$ stateProvider
// Titelseite
.State ('Index', {
URL: '/',
Ansichten: {
Header: {
templateurl: '../html/views/List_header.html',,
Controller: 'SearchController'
},
Container:{
templateurl: '../html/views/List_book.html',,
Controller: 'BookListController'
},
Fußzeile:{
templateurl: '../html/views/List_foter.html',,
Controller: ''
}
}
})
// Buchliste
.State ('book_list', {
URL: '/Buch',
Ansichten: {
Header: {
templateurl: '../html/views/List_header.html',,
Controller: 'SearchController'
},
Container:{
templateurl: '../html/views/List_book.html',,
Controller: 'BookListController'
},
Fußzeile:{
templateurl: '../html/views/List_foter.html',,
Controller: ''
}
}
})
// Buchdetail
.State ('book_detail', {
URL: '/book/: id',,
Ansichten: {
Header: {
templateurl: '../html/views/List_header.html',,
Controller: 'SearchController'
},
Container:{
templateurl: '../html/views/detail_book.html',,
Controller: 'BookDetailController' '
},
Fußzeile:{
templateurl: '../html/views/List_foter.html',,
Controller: ''
}
}
})
// Musikliste
.State ('music_lsit', {
URL: '/musik',
Ansichten: {
Header: {
templateurl: '../html/views/List_header.html',,
Controller: 'SearchController'
},
Container:{
templateurl: '../html/views/List_music.html',,
Controller: 'MusicListController'
},
Fußzeile:{
templateurl: '../html/views/List_foter.html',,
Controller: ''
}
}
})
// Filmliste
.State ('Movie_lsit', {
URL: '/Film',
Ansichten: {
Header: {
templateurl: '../html/views/List_header.html',,
Controller: 'SearchController'
},
Container:{
templateurl: '../html/views/List_movie.html',,
Controller: 'MovielistController'
},
Fußzeile:{
templateurl: '../html/views/List_foter.html',,
Controller: ''
}
}
})
.State ('Search', {
URL: '/such/: type',
Ansichten: {
Header: {
templateurl: '../html/views/search.html',,
Controller: 'Suche'
},
Container:{
templateurl: '',
Controller: ''
},
Fußzeile:{
templateurl: '',
Controller: ''
}
}
});
}]);