高校新闻网

2023年夏季《移动软件开发》实验报告

一、实验目标

1、综合所学知识创建完整的前端新闻小程序项目;2、能够在开发过程中熟练掌握真机预览、调试等操作。

二、实验步骤

1.项目创建。

创建新项目,选择不使用云服务,命名为News。

2.页面配置。

2.1创建页面文件:

(1)在app.json中的pages属性下添加pages/detail/detail和pages/my/my,并保存;

(2)创建images文件夹,下载并将https://gaopursuit.oss-cn-beijing.aliyuncs.com/2022/demo4_file.zip压缩包中的文件解压至images文件夹中;

(3)右击utils文件夹,添加文件命名为common.js;

(注:本实验直接将老师发的common.js公共资源文件复制过来使用即可,需要在各页面的js文件顶端引用公共js文件,引用代码为:
在这里插入图片描述

)

2.2删除以下文件:

(1)删除utils文件夹中的所有内容;

(2)删除 index.wxml和index.wxss全部代码;

(3)删除index.js中全部代码,输入page按下Tab自动补齐;

3.视图设计。

3.1导航栏设计

在app.json中修改如下:
在这里插入图片描述

得到效果图:
在这里插入图片描述

3.2 tabBar设计在这里插入图片描述

在app.json文件中添加tabBar:

在这里插入图片描述

效果图为:

在这里插入图片描述

3.3页面设计

(1)首页页面设计包含幻灯片滚动和新闻列表两个部分

修改index.wxml文件如下:

在这里插入图片描述

相应的修改wxss文件如下:

在这里插入图片描述

在这里插入图片描述

在index.js文件中录入测试数据进行布局和样式效果的预览,临时数据可从common.js文件中复制获取。

(2)个人中心页设计

个人中心页包含登录面板和我的收藏两个板块:

修改my.wxml文件如下:

在这里插入图片描述

相应地修改my.wxss文件如下:

在这里插入图片描述

因新闻列表的样式和首页完全相同,故将index.wxss中新闻列表样式的相关代码直接复制到app.wxss文件中:

在这里插入图片描述

可以在common.js文件中找临时测试数据录入到data中,用于进行布局和样式效果的预览。

(3)新闻页设计

新闻页包括新闻标题、新闻图片、新闻正文和新闻日期。

首先修改detail.wxml文件如下:

在这里插入图片描述

相应地修改wxss文件如下:

在这里插入图片描述

在这里插入图片描述

同样地,可在common.js文件中找临时测试数据录入到data中,用于进行布局和样式效果的预览。

4.逻辑实现。

4.1公共逻辑

使用老师准备的common.js文件即可。

4.2首页逻辑

(1)新闻列表展示,修改index.js文件如下:
在这里插入图片描述

得到的效果图如下:

在这里插入图片描述

(2)点击跳转新闻内容

修改index.wxml文件如下:

在这里插入图片描述

(前面的截图为已修改后的)

对应地在index.js文件中实现goToDetail函数:

在这里插入图片描述

4.3新闻页逻辑

新闻页主要需要实现显示对应新闻和添加/取消新闻收藏。

(1)显示对应新闻

在首页逻辑中已经实现了页面跳转并携带了新闻ID编号,现在需要在新闻页接受ID编号,并查询对应的新闻内容,detail.js实现如下:

在这里插入图片描述

此时重新从首页点击新闻便可显示正确标题和对应的新闻内容了。

(2)添加/取消新闻收藏

修改detail.wxml文件,追加添加/取消收藏新闻的按钮,修改detail.wxml文件如下:

在这里插入图片描述

(注:前面的截图展示的为已经修改过的)

对应的wxss文件修改如下:

在这里插入图片描述

对应js文件中的onLoad函数修改如下:

在这里插入图片描述

继续在detail.js文件中追加addFavorites和cancelFavorites函数,用于点击添加/取消新闻收藏,对应detail.js文件中的函数代码实现如下:

在这里插入图片描述

4.4个人中心页逻辑

个人中心页主要需要实现以下功能:获取微信用户信息;获取收藏列表;游览收藏的新闻。

(1)获取微信用户信息

修改my.wxmls代码,追加button组件作为登录按钮,实现如下:

在这里插入图片描述

在js文件中实现getUserInfo函数如下:

在这里插入图片描述

此时登录完成,效果图如下:

在这里插入图片描述

(2)获取收藏列表

修改my.wxml代码,改为动态数据效果:

在这里插入图片描述

继续在my.js文件中追加getMyFavorites函数,用于展示真正的新闻收藏列表,对应my.js文件修改如下:

在这里插入图片描述

修改getUserInfo函数,为其追加getMyFavorites函数的调用:

在这里插入图片描述

判断用户若是登录状态就刷新一下收藏列表,在my.js中修改如下:

在这里插入图片描述

(3)游览收藏的新闻

修改my.wxml文件如下:

在这里插入图片描述

对应在my.js文件中实现goToDetail函数如下:

在这里插入图片描述

4.5清除临时数据

清除一开始为了测试样式录入的临时数据,以防影响整体逻辑效果:

(1)清除index.js文件中data的临时新闻列表数据newsList;

(2)清除detail.js文件中data的临时新闻数据article;

(3)清除my.js文件中data的临时收藏夹新闻数据newsList、临时昵称nickName以及临时头像路径地址src;

(4)my.js文件中添加如下代码,用于清空记录:

在这里插入图片描述

三、程序运行结果

列出程序的最终运行结果及截图。

在这里插入图片描述

点击新闻列表的第一条得到:

在这里插入图片描述

登录初始页面:

在这里插入图片描述

点击登录并收藏前两个新闻:

在这里插入图片描述

点开收藏夹的第二条新闻,点击“已收藏”按钮变为“点击收藏”,即可取消收藏:

在这里插入图片描述

四、问题总结与体会

描述实验过程中所遇到的问题,以及是如何解决的。有哪些收获和体会,对于课程的安排有哪些建议。

​ 本次实验学习并创建了完整的前端新闻小程序项目,能够熟练掌握真机预览、调试等操作,同时我对微信开发者工具的使用有了进一步的学习和认识。本次实验在最后实现我的收藏时遇到了问题,发现登录后会自动显示一条已被收藏了的新闻,在和同学一起讨论并在CSDN上查询找到了解决方法,通过在onLoad中调用wx.clearStorage()清除来解决。
源码:https://github.com/learningyjz/Lab5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值