1。ナンセンス
名前:【ドゥバン検索】
最近、DoubanのAPIに注意を払い、DoubanのオープンプラットフォームはAPIドキュメントの作成を強化する必要があることを発見しました...しかし、Douban V2インターフェイスが検索インターフェイスを提供するという満足のいく発見があります。私は最近、いくつかのクローラーを作るためにPhantomを使用しています。それについて考えて、それはとても美しいです! Douban Interfaceがあり、データをクロールしたり、データを保管したりする必要はありません。私はそれをgithubページに投げて、直接それを行います。ドゥバン、いいね!私も最近Angularを見ているので、Angular + Douban APIを使用してWebアプリを作成し始めました。だから...私はオンラインで家に投げられました。
経験住所: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)Angular-UIルーターのマルチビュー制御
(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/'、
ムービー_search: 'https://api.douban.com/v2/movie/search'、
ムービー_search_id: 'https://api.douban.com/v2/movie/subject/'
});
app.config(['$ stateprovider'、 '$ urlrouterprovider'、function($ stateprovider、$ urlrouterprovider){
/*urlルーティング*/
$ urlRouterProvider.OtherWise( "/");
/*ステータス構成*/
$ 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'、
コントローラー:「検索」
}、
容器:{
templateurl: ''、
コントローラー: ''
}、
フッター:{
templateurl: ''、
コントローラー: ''
}
}
});
}]);