Vue+Vux学习案例(三)—构建开源中国微信版(添加网络通信)
来源:互联网 发布:java redis作用 编辑:程序博客网 时间:2024/06/06 03:45
接上篇项目构建:Vue+webpack+Vux学历案例(二)—构建开源中国微信版(开篇)
首先新建通信api.js
/** * Created by mwuyz on 2016/10/28. */import "whatwg-fetch"import promise from "es6-promise"/* *获取资讯列表 */export let getList = async (page, tag) => { let response = await fetch(`http://192.168.1.107:8081/news_list?pageIndex=${page}&pageSize=20&catalog=${tag}`, { method: 'GET', mode: 'cors', }).catch((error) => { console.log(error) }) return await response.json().catch((error) => { console.log(error) })}
因为开源中国的api并不只支持跨域,所以本外另外在本地起了一层转发服务,这层服务只做转发,支持跨域请求,解决了这个,就可以正常访问开源中国的信息了
这里目前只做了一个获取资讯,后面再添加其他功能。这次修改了主页home.vue
<template> <div> <app-header></app-header> <tab :line-width="2" > <tab-item :selected="tag === item" v-for="item in taglist" @click="tag = item">{{item}}</tab-item> </tab> <news-list></news-list> <app-footer></app-footer> </div></template><style>@import '~vux/dist/vux.css';body{line-height: 1.2;}</style><script> import Tab from 'vux/dist/components/tab' import TabItem from 'vux/dist/components/tab-item' import Scroller from 'vux/dist/components/scroller' import Cell from 'vux/dist/components/cell' import Group from 'vux/dist/components/group' import AppHeader from './Header' import AppFooter from './Footer' import NewsList from './NewsList' import ScrollerDemo from './scrollerdemo' export default { data () { return { tag: '资讯', taglist: ['资讯', '博客', '问答', '活动'], } }, components: { Tab, TabItem, AppHeader, AppFooter, Scroller, Cell, Group, NewsList, ScrollerDemo }, ready () { }, methods:{ }}</script>
增加获取资讯页NewsList.vue
<template> <div> <scroller v-show="ishow" lock-x scrollbar-y height="360px"> <div > <cell v-for="x in Objlist" :title="x.title" link="demo/wechat" :inline-desc='x.body'> <img class="ic_img" slot="icon" src="../assets/image/ic_label_today.png"> <div> <span></span> </div> </cell> </div> </scroller> </div></template><style>.ic_img{position:absolute; top:10px; left: 5px;width:15px;height:15px;}.weui_cell_bd>p{ font-size:15px;}.vux-label-desc{ padding-right:15px;}.weui_cell_bd.weui_cell_primary{padding-left:5px;}</style><script> import Scroller from 'vux/dist/components/scroller' import Cell from 'vux/dist/components/cell' import Group from 'vux/dist/components/group' import { getList } from '../utils/api' export default{ data(){ return{ ishow:true, Objlist:[], title:'111', body:'1111', comment_count:2, pub_date:'2016-11-01 07:21:39', pageIndex:1, catalog:0, } }, components:{ Scroller, Cell, Group }, ready () { this.getList() // this.suaDate() }, methods:{ async getList() { let data =await getList(this.pageIndex, this.catalog) console.log(data) if(data.obj_list.length>0){ this.ishow=true this.title=data.obj_list[0].title this.body=data.obj_list[0].body for(var i=0;i<data.obj_list.length;i++){ var bngDate = new Date(data.obj_list[i].pub_date); var endDate = new Date(); var minutes = (endDate.getTime()-bngDate.getTime())/60/60/1000; var minute=parseInt(minutes); if(minute>=48){ data.obj_list[i].pub_date='2天前' }else if(minute>=24){ data.obj_list[i].pub_date='昨天' }else{ data.obj_list[i].pub_date=minute+'小时以前' } this.Objlist.push(data.obj_list[i]); } } this.locked = false this.loading = false},suaDate(){} } }</script>
到这里就可以初见成果了,后面功能下期介绍(未完待续) 源码下载点这里。
0 0
- Vue+Vux学习案例(三)—构建开源中国微信版(添加网络通信)
- Vue+webpack+Vux学习案例(二)—构建开源中国微信版(开篇)
- Vue+Vux学习案例(四)—构建开源中国微信版(增加资讯详情,集成Vuex)
- Vue+Vux学习案例(五)—构建开源中国微信版(轮播图实现)
- Vue+webpack学习案例(一)-构建Vue项目
- 开源中国iOS客户端学习——(五)网络通信ASI类库(1)
- 开源中国iOS客户端学习——(五)网络通信ASI类库(1)
- 开源中国iOS客户端学习——(八)网络通信AFNetworking类库
- 开源中国iOS客户端学习——(八)网络通信AFNetworking类库
- 开源中国iOS客户端学习——(五)网络通信ASI类库(1)
- 开源中国iOS客户端学习——(五)网络通信ASI类库(1)
- 开源中国iOS客户端学习——(八)网络通信AFNetworking类库
- 开源中国iOS客户端学习——(八)网络通信AFNetworking类库
- 开源中国iOS客户端学习——(五)网络通信ASI类库(1)
- 开源中国iOS客户端学习——(八)网络通信AFNetworking类库
- 开源中国iOS客户端学习——(八)网络通信AFNetworking类库
- 开源中国iOS客户端学习——(八)网络通信AFNetworking类库
- 开源中国iOS客户端学习——网络通信AFNetworking类库
- 【web】获取文件类型
- 杭电HDOJ1012 u Calculate e
- android studio 构建项目一直卡在gradle build running
- ASP Literal控件 分页
- NIO Socket实现非阻塞通信示例
- Vue+Vux学习案例(三)—构建开源中国微信版(添加网络通信)
- HW2000短距离数据传输模块、遥控高端玩具专用模块
- Android : 反射机制获取或设置系统属性(SystemProperties)
- [Android]聊聊ActionMode
- MPAndroidChart 教程:概述
- Enumeration的使用
- mysql之limit优化
- extjs panel remove 后不能add
- Gson解析和javascript引用问题(系统版本问题)