OUC26夏移动软件开发-实验1
OUC26夏移动软件开发-实验1姓名马一诺 学号项目内容姓名和学号马一诺本实验属于哪门课程中国海洋大学26夏《移动软件开发》实验名称实验1热身运动GitHub源码链接https://github.com/1-qaz-2-wsx/ouc26-mobile-dev/tree/main/lab1博客链接https://blog.csdn.net/2604_96828618/article/details/164025493?spm1011.2415.3001.10575sharefrommp_manage_link一、实验内容1. 安装微信开发者工具首先访问微信开发者工具官方下载页面根据计算机的操作系统下载稳定版安装包并完成安装。微信开发者工具提供了代码编辑、编译预览、模拟器和调试器等功能是本实验开发和测试小程序的主要工具。2. 创建第一个微信小程序项目在本地创建空白项目目录并在微信开发者工具中选择“小程序”项目类型填写项目名称和目录后完成创建。本实验最终代码保存在lab1/code1文件夹中。3. 设计“or”切换小程序本实验在基础 Hello World 案例上进行扩展制作一个可以循环切换小动物图片和问候文字的小程序。初始页面显示hello dog和腊肠犬图片点击not me按钮后按以下顺序切换hello orange cat和橘猫图片hello black cat和黑猫图片hello white cat和白猫图片再次回到hello dog和腊肠犬图片。四张图片分别保存在code1/img文件夹中img/ ├── sausage-hotdog.jpg ├── orange-cat.jpg ├── black-cat.jpg └── white-cat.jpg3.1 页面导航和整体结构页面使用项目自带的navigation-bar组件设置顶部导航并使用scroll-view作为可滚动的主体区域navigation-bar titleor back{{false}} color#4a3828 background#fff8ea /navigation-bar scroll-view classscrollarea scroll-y enhanced show-scrollbar{{false}} view classpage-container !-- 页面内容 -- /view /scroll-viewtitle设置导航栏标题back{{false}}表示当前页面是首页不显示返回按钮。scroll-y允许页面纵向滚动避免内容在小屏幕设备中显示不完整show-scrollbar{{false}}隐藏滚动条使页面更加简洁。3.2 使用数据绑定显示当前宠物在index.js的data中建立pets数组每个元素同时保存问候文字、图片路径和对应表情。这样可以保证切换时文字和图片始终一一对应。data:{pets:[{wording:hello dog,image:/img/sausage-hotdog.jpg,emoji:},{wording:hello orange cat,image:/img/orange-cat.jpg,emoji:},{wording:hello black cat,image:/img/black-cat.jpg,emoji:‍⬛},{wording:hello white cat,image:/img/white-cat.jpg,emoji:}],currentIndex:0,currentPet:{wording:hello dog,image:/img/sausage-hotdog.jpg,emoji:}}currentIndex保存当前宠物在数组中的下标初始值为0所以程序第一次打开时显示数组中的腊肠犬。currentPet保存当前需要展示的完整宠物对象。WXML 使用双大括号进行数据绑定view classgreeting-row text classpet-emoji{{currentPet.emoji}}/text text classtitle{{currentPet.wording}}/text /view image classpet-image modeaspectFill src{{currentPet.image}} /image当currentPet发生变化时页面中的表情、问候文字和图片会自动更新。modeaspectFill让图片在保持原始比例的同时铺满固定大小的图片区域多余部分自动裁剪3.3 实现按钮点击和循环切换按钮使用bindtap将点击事件绑定到changePet函数button classchange-button bindtapchangePet hover-classbutton-hover not me /button其中bindtapchangePet表示点击按钮时执行 JavaScript 中的同名函数hover-class用于设置按钮按下时的视觉反馈。循环切换逻辑如下changePet(){constnextIndex(this.data.currentIndex1)%this.data.pets.lengththis.setData({currentIndex:nextIndex,currentPet:this.data.pets[nextIndex]})}每次点击后当前下标加1再对数组长度取模。this.setData()用来修改页面数据并通知小程序重新渲染相关 WXML 内容。不能只直接修改this.data否则界面不会可靠地同步更新。3.4 使用列表渲染制作状态指示点图片下方设置四个状态指示点用来提示当前处于第几张图片view classindicator-list view wx:for{{pets}} wx:keywording classindicator {{index currentIndex ? indicator-active : }} /view /viewwx:for{{pets}}会根据宠物数组循环创建四个view。系统自动提供的index表示当前循环下标当它等于currentIndex时元素会额外获得indicator-active样式使当前指示点变长并改变颜色。.indicator { width: 13rpx; height: 13rpx; margin: 0 8rpx; border-radius: 50%; background: #dccbb8; } .indicator-active { width: 36rpx; border-radius: 8rpx; background: #d48852; }3.5 背景和宠物卡片设计页面整体使用米白、浅橙和棕色组成的暖色风格与猫狗图片的轻松主题保持一致。背景由两个径向渐变和一个线性渐变叠加而成.scrollarea { flex: 1; overflow-y: auto; background: radial-gradient(circle at 12% 18%, rgba(255, 197, 92, 0.24) 0, rgba(255, 197, 92, 0.24) 90rpx, transparent 92rpx), radial-gradient(circle at 88% 82%, rgba(133, 196, 157, 0.20) 0, rgba(133, 196, 157, 0.20) 130rpx, transparent 132rpx), linear-gradient(160deg, #fff8ea 0%, #f9edda 100%); }主体内容放在半透明白色卡片中并通过圆角、边框和阴影增强层次.pet-card { width: 100%; padding: 42rpx 34rpx 38rpx; border: 2rpx solid rgba(151, 112, 75, 0.12); border-radius: 38rpx; background: rgba(255, 255, 255, 0.88); box-shadow: 0 22rpx 55rpx rgba(106, 77, 48, 0.16); }按钮采用胶囊形圆角和橙色渐变并设置阴影与按压反馈.change-button { width: 72%; border: none; border-radius: 999rpx; background: linear-gradient(135deg, #e49a63, #cb704b); color: #ffffff; box-shadow: 0 10rpx 24rpx rgba(198, 105, 69, 0.28); } .button-hover { opacity: 0.82; transform: scale(0.98); }页面尺寸主要使用微信小程序提供的rpx单位。屏幕宽度会被换算为750rpx所以图片、间距、文字和圆角可以根据不同设备宽度自动缩放。4. 最终运行效果二、问题总结与体会1. 实验中遇到的问题及解决方法1不同图片尺寸导致页面布局变化。四张图片的宽高比例并不完全一致如果使用widthFix切换图片时展示区域高度会发生改变。解决方法是在.image-frame中设置统一的宽高再给图片设置width: 100%、height: 100%和modeaspectFill。这样图片会保持比例并填满容器切换时页面结构更加稳定。2两个状态的三元运算无法满足四个状态循环。基础案例可以通过三元表达式在girl和boy之间切换但本实验需要依次展示四组文字和图片。使用对象数组统一保存每只宠物的数据通过“下标加一后对数组长度取模”的方式完成循环。3顶部区域可能被状态栏遮挡。使用自定义navigation-bar组件处理系统状态栏和胶囊按钮区域页面主体放在导航栏下方的滚动容器中相比直接添加固定顶部内边距更适合不同设备。2. 实验收获与体会通过本次实验我熟悉了微信小程序的基本流程理解了 WXML、WXSS、JavaScript 和 JSON 配置文件之间的分工。WXML 负责页面结构和数据绑定WXSS 负责外观及移动端布局JavaScript 负责数据与交互逻辑JSON 负责页面配置和组件注册。

相关新闻

界面控件DevExpress WinForms中文帮助文档 - 入门指南

界面控件DevExpress WinForms中文帮助文档 - 入门指南

DevExpress WinForms控件包含了190多个Windows Forms控件和UI库,能帮助开发者提供为Windows Forms平台创建具有强大影响力的软件解决方案所需的组件,最新版本支持.NET 10。 在本系列文章中,我将为大家整理DevExpress WinForms的中文帮助文档…

2026/8/26 16:18:57 阅读更多 →
Linux之线程池(一)

Linux之线程池(一)

日志日志与策略模式一、什么是设计模式软件开发里,很多场景都是重复遇到的经典问题。前辈工程师针对这些高频场景,总结出一套通用、成熟、可复用的解决方案,这套方案就叫做设计模式。简单理解:写代码的 “模板套路”,目…

2026/8/26 16:18:57 阅读更多 →
SAP UI5 里有没有类似 RxJS map Operator 的机制

SAP UI5 里有没有类似 RxJS map Operator 的机制

在一个典型的 SAP UI5 项目里,我们很容易遇到这样一段代码。后台通过 OData 返回销售订单,前端拿到一批订单以后,需要把原始字段转换成更适合页面消费的结构,例如把金额字符串转换成数字,把技术状态转换成业务状态,把几个字段组合成显示文本。熟悉 RxJS 的开发者看到这里…

2026/8/26 16:18:57 阅读更多 →

最新新闻

Kappa一致性结果解读:观察一致性与期望一致性的比较

Kappa一致性结果解读:观察一致性与期望一致性的比较

Kappa一致性检验结果解读Kappa一致性检验是用于衡量两种评价方法或两位评价者对同一对象评价一致性程度的统计方法。Kappa系数考虑了随机因素造成的一致性,能够更客观地反映实际一致性水平。本研究使用SPSSAU软件,对医生A与医生B的诊断判定结果进行Kappa…

2026/8/26 18:08:43 阅读更多 →
配对样本t检验结果解读:前后测量差异的显著性判断

配对样本t检验结果解读:前后测量差异的显著性判断

配对t检验结果解读一、分析方法概述配对样本t检验(Paired-Samples t Test)用于比较同一组受试者在两个不同时间点或两种不同条件下的均值差异,是重复测量设计中最常用的统计方法。该检验要求配对差值近似服从正态分布,通过计算每对…

2026/8/26 18:08:43 阅读更多 →
解读《人工智能生成合成内容标识办法》

解读《人工智能生成合成内容标识办法》

大家好,首先做一个简单的自我介绍,本人目前从事数据安全行业,之前有过网络安全、等级保护的工作经历。现在个人的目标是成为一名数据安全合规方向的资深人士。我会不定期解读输出一些数据安全、个人信息保护、生成式AI类标准文件的解读文章。…

2026/8/26 18:08:43 阅读更多 →
微信4.0 Hook三端可行性分析:从Mac端验证到Windows 4.1.12.26适配

微信4.0 Hook三端可行性分析:从Mac端验证到Windows 4.1.12.26适配

最近一直在折腾微信4.0的Hook,前面先在Mac微信4.1.6.12上做了验证,后来又开始研究Windows微信4.1.12.26。最开始,我也是按照网上常见的思路,从微信上层的消息发送逻辑往下找。后来发现,这种方式虽然能做出来&#xff0…

2026/8/26 18:08:43 阅读更多 →
Spark 3.5 AQE 调优:10 个生产环境案例让作业提速 3-10 倍

Spark 3.5 AQE 调优:10 个生产环境案例让作业提速 3-10 倍

一、AQE 是什么:从静态到动态的范式转变 1.1 传统 Spark 的问题 Spark 2.x 的查询执行计划是静态的——在作业提交时就确定了全部执行计划,基于的是统计信息估算,而非真实数据。 问题在于,统计信息经常不准: 场景统…

2026/8/26 18:08:43 阅读更多 →
偏(自)相关图结果解读:ARIMA模型定阶依据

偏(自)相关图结果解读:ARIMA模型定阶依据

偏(自)相关图结果解读一、分析方法概述自相关函数(ACF)图和偏自相关函数(PACF)图是时间序列分析中识别ARIMA模型阶数的核心工具。ACF衡量的是时间序列在不同滞后阶数下与自身的相关程度,而PACF则剔除了中间滞后项的影响…

2026/8/26 18:07:43 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →