news 2026/9/2 6:20:21

实验三:海大新闻网

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实验三:海大新闻网

姓名:张世冲 学号:24020007158

姓名和学号?张世冲,24020007158
本实验属于哪门课程?中国海洋大学26夏《移动软件开发》
实验名称?实验3:高校新闻网
GitHubiscreamiscream-art/Mobile_Software_Development_Lab

一、实验内容

一、实验目的

1、综合运用微信小程序开发知识,完成高校新闻网小程序的完整前端开发。 2、掌握页面路由、数据绑定、本地存储、用户授权等核心 API 与组件的使用。 3、实现新闻列表浏览、详情查看、收藏管理、个人中心的完整业务闭环。 4、熟练开发者工具调试与真机预览,提升小程序项目工程实践能力。

二、实验步骤

一、前期准备

新建小程序项目,模板选择 JS 基础,不使用云服务。 在app.json的pages数组添加pages/detail/detail、pages/my/my,自动生成详情页、个人中心页。 清空初始模板代码:清空index、app的 wxml/wxss/js,js 使用编辑器自动补全Page()、App()。 下载素材包demo4_file.zip,解压后把images、utils文件夹放到项目根目录,utils/common.js提供模拟新闻数据接口。

二、视图配置(app.json 全局配置)

导航栏 window 配置:设置导航栏背景色#328EEB、标题 “我的新闻网”、文字白色。 tabBar 底部栏配置:配置两个 tab,首页pages/index/index、我的pages/my/my,配置普通 / 选中状态图标,设置文字颜色与选中高亮色。

三、页面视图开发

1、首页 index wxml:使用<swiper>组件实现自动轮播(指示点、自动播放、切换间隔);使用wx:for循环渲染轮播图。 新闻列表:wx:for循环渲染新闻条目,绑定点击事件goToDetail,携带新闻 id。 wxss:设置轮播容器、图片尺寸;新闻列表样式写进app.wxss作为全局样式,供个人中心复用。

2、个人中心页 my wxml:登录模块用wx:if/wx:else,未登录显示登录按钮,登录后展示头像昵称;收藏区复用全局news‑list样式,循环渲染收藏新闻,绑定跳转详情事件。 wxss:设置登录区域背景、头像圆形样式、收藏区边距。新闻详情页 detail wxml:布局新闻标题、海报图片、正文、发布日期;两个按钮wx:if/wx:else切换 “已收藏 / 未收藏”,分别绑定收藏、取消收藏函数。 wxss:页面边距、标题居中等排版;海报图片宽度改为 700rpx 解决图片不显示问题。

四、业务逻辑实现

所有页面 js 头部引入工具模块:var common = require('../../utils/common.js')

1、首页 index.js onLoad:调用common.getNewList()获取模拟新闻数据,setData 赋值给页面newsList;轮播图数据源也在此处赋值。 goToDetail(e):获取点击新闻的data‑id,调用wx.navigateTo跳转到 detail 页面,url 拼接新闻 id 参数。

2、新闻详情 detail.js onLoad(options):接收传过来新闻 id; 读取本地缓存wx.getStorageSync(id),如果有数据,代表已收藏,渲染新闻,设置isAdd:true; 无缓存则调用common.getNewsDetail(id)获取新闻详情,设置isAdd:false。 addFavorites():把当前新闻对象存入本地存储wx.setStorageSync(id,article),标记为已收藏。 cancelFavorites():wx.removeStorageSync(article.id)删除本地缓存,标记未收藏。

3、个人中心 my.js getUserInfo():调用wx.getUserProfile获取微信用户头像、昵称,修改isLogin登录状态。 getMyFavorites():读取全部本地 storage keys,遍历取出所有收藏新闻,组装成收藏列表,更新收藏数量与列表数据。 onShow():页面每次显示时,如果已经登录,调用getMyFavorites()刷新收藏列表。 goToDetail(e):拿到新闻 id,跳转新闻详情页面。

五、功能测试

调试:首页轮播自动播放,点击新闻跳转详情。 详情页:收藏、取消收藏,本地存储生效。 个人中心:点击登录获取微信头像昵称;登录后展示收藏新闻;未登录收藏列表为空;点击收藏新闻可以跳转详情。

六、实验注意点

detail 页面 poster 图片不要写 width:100%,改为 700rpx。 页面跳转使用wx.navigateTo,id 通过 url 参数传递。 收藏依靠小程序本地 Storage 存储,清除缓存收藏会丢失。

二、实验结果

首页

登录并点赞收藏


搜索

退出登录后包括评论在内很多功能禁用

三、问题总结与体会

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

问题:首页页面不显示

解决办法:

函数填错文件,检查并更改后显示成功

问题:游客登录和微信登录混淆

解决办法:

删除游客登录选项

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 6:19:50

React Native + Expo 六年独立项目:可持续工程实践与架构演进

你有没有想过&#xff0c;一个独立开发者&#xff0c;在没有任何外部资金、不设订阅、不放广告的情况下&#xff0c;维护一个面向全球用户的移动应用&#xff0c;能坚持多久&#xff1f;一年&#xff1f;两年&#xff1f;还是像这个项目一样&#xff0c;整整六年&#xff1f;这…

作者头像 李华
网站建设 2026/9/2 6:19:45

C#实现VeriCode解码:从Base64到XOR的完整链路解析

简介&#xff1a;这是一份基于C# WinForms实现的VeriCode解码示例工程&#xff0c;面向需要快速对接官方VRdll.dll接口、完成验证码识别的桌面端开发者。Demo演示了通过DllImport引入外部动态库、调用VeriCodeDecode函数并处理返回结果&#xff0c;同时涵盖图片转Base64、解码结…

作者头像 李华
网站建设 2026/9/2 6:19:41

从零搭建高性能Minecraft服务器:整合包部署、网络优化与性能调优全攻略

大家好&#xff0c;我是专注于游戏服务器搭建与优化的技术博主。今天我们来深入探讨一个硬核且富有挑战性的主题&#xff1a;如何为《我的世界》的“龙之冒险新征程2.4”整合包搭建一个稳定、高性能的私人服务器。这个整合包以其“七咒开局”的硬核生存模式著称&#xff0c;对服…

作者头像 李华
网站建设 2026/9/2 6:18:45

ACM竞赛备赛指南:从知识体系到实战策略的完整训练框架

最近在准备浙江省大学生程序设计竞赛&#xff08;ZJCPC&#xff09;时&#xff0c;很多同学都遇到了一个共同的困境&#xff1a;刷了不少题&#xff0c;但面对赛题时依然感觉“一路颠沛流离”&#xff0c;知识点零散&#xff0c;无法形成有效的解题体系。这种状态如果持续下去&…

作者头像 李华
网站建设 2026/9/2 6:18:45

建筑项目数字资料管理实战:从文件命名到协同归档全流程解析

简介&#xff1a;本资源是一套专为Cesium三维地理可视化开发设计的厦门3D建筑物测试数据集&#xff0c;面向GIS开发者、WebGL前端工程师及数字孪生初学者&#xff0c;解决3DTiles格式加载、建筑模型集成与性能优化等核心实践问题。压缩包共109个文件&#xff0c;含108个.b3dm批…

作者头像 李华
网站建设 2026/9/2 6:18:23

江苏机外对刀仪厂家有哪些?2026 国产 vs 进口刀具预调仪对比

江苏机外对刀仪厂家有哪些?2026 国产 vs 进口刀具预调仪对比 摘要:江苏是全国制造业第一大省,苏州、昆山、无锡、常州等地聚集了大量精密模具厂和 CNC 加工车间,机外对刀仪(别名刀具预调仪)需求持续增长。本文客观对比江苏可采购的主流品牌,从产地、精度、数据接口、本地…

作者头像 李华