wx新闻网demo

app.json

{
  "pages": [
    "pages/index/index",
    "pages/logs/logs",
    "pages/my/my",
    "pages/detail/detail"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#328eeb",
    "navigationBarTitleText": "我的新闻网",
    "navigationBarTextStyle": "white"
  },
  "style": "v2",
  "sitemapLocation": "sitemap.json",
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息授权"
    }
  },
  "tabBar": {
    "color": "#000",
    "selectedColor": "#328eeb",
    "list": [
      {
        "pagePath": "pages/index/index",
        "iconPath": "./pages/image/4.png",
        "selectedIconPath": "./pages/image/5.png",
        "text": "首页"
      },
      {
        "pagePath": "pages/my/my",
        "iconPath": "./pages/image/6.png",
        "selectedIconPath": "./pages/image/7.png",
        "text": "我的"
      }
    ]
  }
}

app.wxss

#news-list{
  min-height: 600rpx;
  padding: 15rpx;
}
.list-item{
  display: flex;
  flex-direction: row;
  border-bottom: 1rpx solid gray;
}
.list-item image{
  width: 230rpx;
  height: 150rpx;
  margin: 10rpx;
}
.news-title{
  width: 100%;
  display: block;
  line-height: 60rpx;
  font-size: 10pt;
}

index.wxml

<swiper indicator-dots="true" autoplay="true" interval="5000" duration="500">
<block wx:for="{{swiperImg}}" wx:key="swiper">
<swiper-item>
<image src="{{item.src}}" class="slide-image"></image>
</swiper-item>
</block>
</swiper>

<view id="news-list">
<view class="list-item" wx:for="{{newsList}}" wx:for-item="news" wx:key="news">
<image src="{{news.poster}}"></image>
<text class="news-title" bindtap="goToDetail" data-id="{{news.id}}">{{news.title}}----{{news.add_data}}</text>
</view>
</view>

index.wxss

swiper{
  height: 400rpx;
}
swiper image{
  width: 100%;
  height: 100%;
}

index.js

// index.js
// 获取应用实例
const app = getApp()
var common=require("../../utils/common.js")
  

Page({
  data: {
    swiperImg:[
      {src:'../image/1.jpg'},
      {src:'../image/2.jpg'},
      {src:'../image/3.jpg'}
    ]
  },
  goToDetail:function(e){
  let id=e.currentTarget.dataset.id;
  wx.navigateTo({
    url: '../detail/detail?id='+id,
  })
     
  },
  
onLoad:function(options){  
  let list=common.getNewsList()
  this.setData({newsList:list})
    }, 
)}

detail.wxml

<view class="container" wx:if="{{article.id}}">
<view class="title">{{article.title}}</view>
<view class="poster">
<image src="{{article.poster}}" mode="widthFix"></image>
</view>
<view class="content">{{article.content}}</view>
<view class="add_date">时间:{{article.add_date}}</view>
<button wx:if="{{isAdd}}" plain bindtap="cancelFavorites">已收藏</button>
<button wx:else plain bindtap="addFavorites">点击收藏</button>
</view>

detail.wxss

/* pages/detail/detail.wxss */
.container{
  padding: 15rpx;
  text-align: center;
}
.title{
  font-size: 14pt;
  line-height: 80rpx;
}
.poster image{
  width: 100%;
}
.content{
  text-align: left;
  font-size: 12pt;
  line-height: 60rpx;
}
.add_date{
  font-size: 12pt;
  text-align: right;
  line-height: 30rpx;
  margin-right: 25rpx;
  margin-top: 20rpx;
}
.button{
  width: 250rpx;
  height: 100rpx;
  margin: 20rpx auto;
}

detail.js

var common=require('../../utils/common.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },
  addFavorites:function(options){
    let article=this.data.article;
    wx.setStorageSync(article.id, article);
    this.setData({isAdd:true});
  },
  cancelFavorites:function(){
    let article=this.data.article;
    wx.removeStorageSync(article.id);
    this.setData({isAdd:false});
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let id=options.id;
    let result=common.getNewsDetail(id)
    if(result.code=='200'){
      this.setData({article:result.news})
    }
    var article = wx.getStorageInfoSync(id)
    if(article !=''){
      this.setData({isAdd:true})
    }
    else{
      this.setData({isAdd:false})
    }
  },
)}

my.wxml

<!--pages/tabBar/tabBar.wxml-->
<view id="myLogin">
<block wx:if="{{isLogin}}">
<image id="myIcon" src="{{src}}"></image>
<text id="nickName">{{nickName}}</text>
</block>
<button wx:else open-type="getUserInfo" bindgetuserinfo="getMyInfo">未登录,点此登录</button>
</view>
<view id="myFavorites">
<text>我的收藏{{num}}</text>
<view id="news-list">
<view class="list-item" wx:for="{{newsList}}" wx:for-item="news" wx:key="{{news.id}}">
<image src="{{news.poster}}"></image>
<text class="news-title" bindtap="goToDetail" data-id="{{news.id}}">{{news.title}}----{{news.add_data}}</text>
</view>
</view>
</view>

my.wxss

#myLogin{
  background-color: #328eeb;
  height: 400rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
}
#myIcon{
  width: 200rpx;
  height: 200rpx;
  border-radius: 50%;
}
#nickName{
  color:white;
}
#myFavorites{
  padding: 20rpx;
}

my.js

var common=require('../../utils/common.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    num:0
  },
getMyInfo:function(e){
  let info=e.detail.userInfo;
  this.setData({
    isLogin:true,
    src:info.avatarUrl,
    nickName:info.nickName
  })
  this.getMyFavorites();
},
getMyFavorites:function(){
  let info=wx.getStorageInfoSync();
  let keys=info.keys;
  let num=keys.length;
  let myList=[];
  for (var i=0;i<num;i++){
    let obj = wx.getStorageInfoSync(keys[i]);
    myList.push(obj);
  }
  this.setData({
    newList:myList,
    num:num
  });
},
goToDetail:function(e){
  let id=e.currentTarget.dataset.id;
  wx.navigateTo({
    url: '../detail/detail?id='+id,
  })
},
)}

common.js(放在util里面)

const news=[{
  id:'264698',
  title:"外交部:美方借溯源搞政治操弄的险恶用心昭然若揭",
  poster:"../../pages/image/1.jpg",
  content:"赵立坚说,无论美方如何费尽心思抹黑栽赃,都无法消除国际社会对美遍布世界的生物实验室的疑虑。“如果美方心里没鬼,就应该坦坦荡荡邀请世卫组织去美国开展溯源调查,特别是调查德特里克堡生物实验室、北卡罗来纳大学,这才是一个真正关心全球溯源的国家应有的诚意和态度。",
  add_date:'2018-03-05'
},
{
  id:'304038',
  title:'奋斗百年路 启航新征程·全国“两优一先”风采录|中科院深海所党委:让党旗飘扬在深海科技最前线',
  poster:"../../pages/image/2.jpg",
  content:"将党旗插在深渊科考现场,是中国科学院深海科学与工程研究所(以下简称深海所)党委的惯例。“哪里有研究场所,哪里就有党组织”,多年来,在国家级重大科研项目一线和科考船上建立临时党支部,发挥党员先锋带头作用,把组织力转化成宝贵科研成果,成为深海所党委不断完成高标准海试任务,创造深海科考新纪录的“法宝”。",
  add_date:'2018-03-05'
},
{
  id:'304670',
  title:'携手共建绿色一带一路(命运与共)',
  poster:'../../pages/image/3.jpg',
  content:"生态环境是人类生存和发展的根基,建设美丽家园是人类的共同梦想。中国是全球生态文明建设的参与者、贡献者、引领者。中国始终秉持绿色发展理念,携手各方共建绿色“一带一路”,推动更高水平的互利共赢。",
  add_date:'2018-03-05'
}
];
function getNewsList(){
  let list=[];
  for (var i=0;i<news.length;i++){
    let obj = {};
    obj.id=news[i].id;
    obj.poster=news[i].poster;
    obj.add_date=news[i].add_date;
    obj.title=news[i].title;
    list.push(obj);
  }
  return list;
}
function getNewsDetail(newsID){
  let msg={
    code:'404',
    news:{}
  };
  for(var i=0;i<news.length;i++){
    if(newsID==news[i].id){
      msg.code='200';
      msg.news=news[i]
      break;
    }
  }
  return msg;
}
module.exports={
  getNewsList:getNewsList,
  getNewsDetail:getNewsDetail
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值