最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于豆瓣API+Angular開發(fā)的web App

 更新時間:2015年01月02日 16:41:19   投稿:hebedich  
這篇文章主要介紹了基于豆瓣API+Angular開發(fā)的web App的方法和示例代碼,效果非常棒,有需要的小伙伴參考下

一、扯淡的說

name:【豆瓣搜索】

最近關(guān)注了下豆瓣的API,發(fā)現(xiàn)豆瓣開放平臺需要加強API文檔撰寫啊....但是有個可喜的發(fā)現(xiàn)豆瓣V2接口提供了搜索接口。最近在用phantom弄些爬蟲,想想,真是美麗極了!有個豆瓣的接口,我都不用去爬數(shù)據(jù),不用數(shù)據(jù)存儲,丟給github page直接完事。豆瓣,Nice!最近也在看angular,于是就萌生了使用Angular + 豆瓣API 做一個web app。于是...網(wǎng)上回家就折騰了。

體驗地址:http://vczero.github.io/t/html/index.html#/

項目地址:https://github.com/vczero/search (歡迎大家fork,任意修改,繼續(xù)增加功能;歡迎拍磚,一起進(jìn)步。)

二、直接上圖

(1)圖書搜索

(2)音樂搜索界面

(3)圖書詳情

(4)電影搜索

三、項目結(jié)構(gòu)和簡介

三、幾個注意點

(1)-webkit-tap-highlight-color:rgba(255,255,255,0);去除點擊時的高亮陰影

(2)box-sizing:border-box的使用,包含padding的像素計算

(3)position fixed 和 搜索跳轉(zhuǎn)的結(jié)合(虛擬鍵盤引起)

(4)angular-ui-router的多視圖控制

(5)ios & android系統(tǒng)的各種細(xì)節(jié)

(6)壓縮angularjs代碼依賴注入的問題

...

我覺得比較重要的服務(wù)和狀態(tài)路由的代碼貼出來

復(fù)制代碼 代碼如下:

/*服務(wù)的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(['$stateProvider', '$urlRouterProvider',function($stateProvider, $urlRouterProvider){
    /*URL路由*/
    $urlRouterProvider.otherwise("/");
    /*狀態(tài)配置*/
    $stateProvider
        //首頁
        .state('index',{
            url: '/',
            views:{
                header:{
                    templateUrl: '../html/views/list_header.html',
                    controller: 'SearchController'
                },
                container:{
                    templateUrl: '../html/views/list_book.html',
                    controller: 'BookListController'
                },
                footer:{
                    templateUrl: '../html/views/list_footer.html',
                    controller: ''
                }
            }
        })
        //book list
        .state('book_list',{
            url: '/book',
            views:{
                header:{
                    templateUrl: '../html/views/list_header.html',
                    controller: 'SearchController'
                },
                container:{
                    templateUrl: '../html/views/list_book.html',
                    controller: 'BookListController'
                },
                footer:{
                    templateUrl: '../html/views/list_footer.html',
                    controller: ''
                }
            }
        })
        // book detail
        .state('book_detail',{
            url: '/book/:id',
            views:{
                header:{
                    templateUrl: '../html/views/list_header.html',
                    controller: 'SearchController'
                },
                container:{
                    templateUrl: '../html/views/detail_book.html',
                    controller: 'BookDetailController'
                },
                footer:{
                    templateUrl: '../html/views/list_footer.html',
                    controller: ''
                }
            }
        })
        // music list
        .state('music_lsit',{
            url: '/music',
            views:{
                header:{
                    templateUrl: '../html/views/list_header.html',
                    controller: 'SearchController'
                },
                container:{
                    templateUrl: '../html/views/list_music.html',
                    controller: 'musicListController'
                },
                footer:{
                    templateUrl: '../html/views/list_footer.html',
                    controller: ''
                }
            }
        })
        // movie list
        .state('movie_lsit',{
            url: '/movie',
            views:{
                header:{
                    templateUrl: '../html/views/list_header.html',
                    controller: 'SearchController'
                },
                container:{
                    templateUrl: '../html/views/list_movie.html',
                    controller: 'movieListController'
                },
                footer:{
                    templateUrl: '../html/views/list_footer.html',
                    controller: ''
                }
            }
        })
        .state('search',{
            url: '/search/:type',
            views:{
                header:{
                    templateUrl: '../html/views/search.html',
                    controller: 'Search'
                },
                container:{
                    templateUrl: '',
                    controller: ''
                },
                footer:{
                    templateUrl: '',
                    controller: ''
                }
            }
        });
}]);

相關(guān)文章

  • express啟用https使用小記

    express啟用https使用小記

    這篇文章主要介紹了express啟用https使用小記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 利用NPM淘寶的node.js鏡像加速nvm

    利用NPM淘寶的node.js鏡像加速nvm

    這篇文章主要介紹了利用NPM淘寶的node.js鏡像加速nvm的相關(guān)資料,文中介紹的非常詳細(xì),相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • mac上node.js環(huán)境的安裝測試

    mac上node.js環(huán)境的安裝測試

    這篇文章主要為大家詳細(xì)介紹了mac上node.js環(huán)境的安裝測試,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • node.js中的console用法總結(jié)

    node.js中的console用法總結(jié)

    這篇文章主要通過幾個具體的實例總結(jié)介紹了node.js中的console用法,需要的朋友可以參考下
    2014-12-12
  • Node.js npm命令運行node.js腳本的方法

    Node.js npm命令運行node.js腳本的方法

    今天小編就為大家分享一篇Node.js npm命令運行node.js腳本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • node創(chuàng)建Vue項目步驟詳解

    node創(chuàng)建Vue項目步驟詳解

    在本篇文章里小編給大家整理的是關(guān)于node創(chuàng)建Vue項目步驟詳解內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-03-03
  • nodeJS微信分享

    nodeJS微信分享

    這篇文章主要為大家詳細(xì)介紹了nodeJS微信分享的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Node.js全局對象Global的實現(xiàn)

    Node.js全局對象Global的實現(xiàn)

    在Nodejs下全局變量和全局函數(shù)都是可以使用global來訪問到的,本文主要介紹了Node.js全局對象Global的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Node.js connect ECONNREFUSED錯誤解決辦法

    Node.js connect ECONNREFUSED錯誤解決辦法

    這篇文章主要介紹了Node.js connect ECONNREFUSED錯誤解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • 究竟什么是Node.js?Node.js有什么好處?

    究竟什么是Node.js?Node.js有什么好處?

    這篇文章主要介紹了究竟什么是Node.js?Node.js有什么好處?,為試圖解釋什么是 Node.js,本文將簡要介紹一些背景信息:它要解決的問題,它如何工作,如何運行一個簡單應(yīng)用程序,最后,Node 在什么情況下是一個好的解決方案,需要的朋友可以參考下
    2015-05-05

最新評論

玉屏| 青神县| 桦甸市| 菏泽市| 年辖:市辖区| 临海市| 梁河县| 都安| 鄄城县| 柳州市| 景谷| 沧源| 彰化县| 房产| 宜君县| 连城县| 深州市| 同江市| 白朗县| 进贤县| 剑河县| 衡山县| 西宁市| 泗洪县| 南岸区| 长沙市| 宾川县| 灌南县| 获嘉县| 拉孜县| 富川| 丰县| 壤塘县| 博客| 灌云县| 上高县| 丹棱县| 安康市| 视频| 黑山县| 新津县|