【微信小程序】5|我的页面 | 我的咖啡店-综合实训

我的页面

引言

        本文将详细解析如何实现一个包含登录注册、多个功能模块跳转以及特定功能展示的“我的”页面。我们将使用 Vant Weapp 组件库来简化开发过程,并确保代码的高级性和条理性。

1. 项目结构

首先,确保你的项目结构如下所示:

- pages/- mine/- mine.js- mine.wxml- mine.wxss
- app.json

2. app.json 配置

app.json 中引入 Vant Weapp 组件,确保组件库正确加载:

{"van-cell": "@vant/weapp/cell/index","van-cell-group": "@vant/weapp/cell-group/index"
}

3. mine.js

3.1 代码写作思路

mine.js 中,我们定义了三个主要方法:goIndexgoHomegoAA,分别用于跳转到普通页面、tabBar 页面和带参数的页面。这些方法通过微信小程序的 API 实现页面跳转。

3.2 介绍方法

  • goIndex:跳转到普通页面 index

  • goHome:跳转到 tabBar 页面 home

  • goAA:带参数跳转到页面 AA,参数通过 event.currentTarget.dataset.a 获取,并拼接到 URL 中。

// pages/mine/mine.js
Page({// 1. 跳转到普通页面goIndex() {wx.navigateTo({url: '../index/index',});},// 2. 跳转到tabBar页面goHome() {wx.switchTab({url: '../home/home',});},// 3. 跳转页面 带参数goAA(event) {// 获取自定义属性a的值let a = event.currentTarget.dataset.a;console.log("event", a);wx.navigateTo({// 带参数的url怎么写?// 路径?参数名=值url: '../AA/AA?aa=' + a,});}
});

4. mine.wxml

4.1 代码写作思路

mine.wxml 中,我们使用 Vant Weapp 的 van-cell 组件和微信小程序的 navigator 组件来构建页面。van-cell 组件用于创建列表单元,navigator 组件用于创建功能模块的跳转入口。

4.2 介绍方法

  • 登录注册:使用 van-cell 组件创建登录注册入口,点击时调用 goIndex 方法。

  • 功能模块:使用 navigator 组件创建多个功能模块的跳转入口,每个 navigator 包含一个图标和文本。

  • 特定功能:使用 van-cell 组件创建特定功能的展示,点击时调用 goHomegoAA 方法。

<!-- pages/mine/mine.wxml -->
<view class="mine"><!-- 登录页面开始 --><van-cell class="login" title="点击登录/注册" bind:click="goIndex" is-link><image slot="icon" src="/image/user.png" class="custom-icon" mode="aspectFit" referrerPolicy="no-referrer" /></van-cell><!-- 登陆页面结束 --><!-- 小页面跳转开始 --><view class="container"><!-- 第一行 --><view class="row"><navigator url="/pages/bookshelf/bookshelf" class="item"><image class="icon" src="/image/bookshelf-icon.png" /><text class="text">书架</text></navigator><navigator url="/pages/dailyupdate/dailyupdate" class="item"><image class="icon" src="/image/dailyupdate-icon.png" /><text class="text">每日更新</text></navigator><navigator url="/pages/readinghistory/readinghistory" class="item"><image class="icon" src="/image/readinghistory-icon.png" /><text class="text">浏览历史</text></navigator></view><!-- 第二行 --><view class="row"><navigator url="/pages/favorites/favorites" class="item"><image class="icon" src="/image/favorites-icon.png" /><text class="text">点赞的漫画</text></navigator><navigator url="/pages/downloads/downloads" class="item"><image class="icon" src="/image/downloads-icon.png" /><text class="text">我的下载</text></navigator><navigator url="/pages/messages/messages" class="item"><image class="icon" src="/image/messages-icon.png" /><text class="text">我的消息</text></navigator></view><!-- 第三行 --><view class="row"><navigator url="/pages/author/author" class="item"><image class="icon" src="/image/author-icon.png" /><text class="text">成为作家</text></navigator><navigator url="/pages/merchandise/merchandise" class="item"><image class="icon" src="/image/merchandise-icon.png" /><text class="text">周边商城</text></navigator><navigator url="/pages/wallet/wallet" class="item"><image class="icon" src="/image/wallet-icon.png" /><text class="text">我的钱包</text></navigator></view><!-- 第四行 --><view class="row"><navigator url="/pages/feedback/feedback" class="item"><image class="icon" src="/image/feedback-icon.png" /><text class="text">反馈与帮助</text></navigator><navigator url="/pages/productculture/productculture" class="item"><image class="icon" src="/image/productculture-icon.png" /><text class="text">KC指南</text></navigator><!-- 空白占位 --><navigator class="item"><image class="icon" /><text class="text"></text></navigator></view></view><!-- 小页面跳转结束 --><!-- cell实现开始 --><van-cell title="免流服务"><text slot="right-icon" class="right-icon-text">流量免费任性看漫画</text></van-cell><van-cell title="0元抽奖"><text slot="right-icon" class="right-icon-text">K币会员等你来抽</text></van-cell><van-cell title="青少年模式"><text slot="right-icon" class="right-icon-text">未开启</text></van-cell><van-cell title="设置" is-link /><!-- cell实现结束 --><van-cell title="去Home" bind:click="goHome" is-link /><van-cell title="去AA" bind:click="goAA" data-a="123" is-link />
</view>

5. mine.wxss

5.1 代码写作思路

mine.wxss 中,我们定义了页面的样式,确保布局和视觉效果符合设计要求。通过灵活使用 Flexbox 布局,我们实现了响应式设计,确保页面在不同设备上都能良好显示。

5.2 介绍方法

  • .mine:设置页面的外层容器。

  • .custom-icon:设置登录注册图标。

  • .van-cell:设置列表单元的样式。

  • .container:设置功能模块的容器。

  • .row:设置每行的功能模块。

  • .item:设置每个功能模块的样式。

  • .icon:设置功能模块的图标。

  • .text:设置功能模块的文本。

  • .right-icon-text:设置 van-cell 右侧文本的样式。

/* pages/mine/mine.wxss */
.mine {padding: 0rpx;
}.custom-icon {width: 80px;height: 100px;
}.van-cell {display: flex;align-items: center;
}.container {display: flex;flex-direction: column;align-items: center;padding: 20rpx;
}.row {display: flex;flex-direction: row;justify-content: space-between;width: 100%;
}.item {display: flex;flex-direction: column;align-items: center;justify-content: center;margin: 30rpx;/* 每个 item 占据 30% 的宽度 */width: 30%;
}.icon {width: 70rpx;height: 70rpx;margin-bottom: 10rpx;
}.text {/* 设置字体大小 */font-size: 10px;/* 设置文本对齐方式 */text-align: center;/* 设置行高 */line-height: 24px;
}.right-icon-text {/* 设置字体大小 */font-size: 10px;/* 浅灰色 */color: #c0c0c0;
}

6. 页面展示

6.1 登录注册

点击“点击登录/注册”会跳转到 index 页面。

6.2 功能模块

包含书架、每日更新、浏览历史、点赞的漫画、我的下载、我的消息、成为作家、周边商城、我的钱包、反馈与帮助、KC指南等模块,点击会跳转到相应的页面。

6.3 特定功能

包含免流服务、0元抽奖、青少年模式、设置等,点击“去Home”会跳转到 home 页面,点击“去AA”会带参数跳转到 AA 页面。

7. 总结

        通过上述步骤,我们成功实现了一个功能丰富且用户友好的“我的”页面。使用 Vant Weapp 组件库可以大大简化开发过程,提高开发效率。组件化的设计不仅提高了代码的复用性和可维护性,还使得页面结构更加清晰。希望本文能对你有所帮助,如果你有任何问题或建议,欢迎留言交流。

8. 代码仓库

你可以在 GitHub 找到完整的项目代码,欢迎 Star 和 Fork。

完整代码

app.json

    "van-cell": "@vant/weapp/cell/index","van-cell-group": "@vant/weapp/cell-group/index"

mine.js

// pages/mine/mine.js
Page({// 1. 跳转到普通页面goIndex() {wx.navigateTo({url: '../index/index',});},// 2. 跳转到tabBar页面goHome() {wx.switchTab({url: '../home/home',});},// 3. 跳转页面 带参数goAA(event) {// 获取自定义属性a的值let a = event.currentTarget.dataset.a;console.log("event", a);wx.navigateTo({// 带参数的url怎么写?// 路径?参数名=值url: '../AA/AA?aa=' + a,});}
});

mine.wxml

<!-- pages/mine/mine.wxml -->
<view class="mine"><!-- 登录页面开始 --><van-cell class="login" title="点击登录/注册" bind:click="goIndex" is-link><image slot="icon" src="/image/user.png" class="custom-icon" mode="aspectFit" referrerPolicy="no-referrer" /></van-cell><!-- 登陆页面结束 --><!-- 小页面跳转开始 --><view class="container"><!-- 第一行 --><view class="row"><navigator url="/pages/bookshelf/bookshelf" class="item"><image class="icon" src="/image/bookshelf-icon.png" /><text class="text">书架</text></navigator><navigator url="/pages/dailyupdate/dailyupdate" class="item"><image class="icon" src="/image/dailyupdate-icon.png" /><text class="text">每日更新</text></navigator><navigator url="/pages/readinghistory/readinghistory" class="item"><image class="icon" src="/image/readinghistory-icon.png" /><text class="text">浏览历史</text></navigator></view><!-- 第二行 --><view class="row"><navigator url="/pages/favorites/favorites" class="item"><image class="icon" src="/image/favorites-icon.png" /><text class="text">点赞的漫画</text></navigator><navigator url="/pages/downloads/downloads" class="item"><image class="icon" src="/image/downloads-icon.png" /><text class="text">我的下载</text></navigator><navigator url="/pages/messages/messages" class="item"><image class="icon" src="/image/messages-icon.png" /><text class="text">我的消息</text></navigator></view><!-- 第三行 --><view class="row"><navigator url="/pages/author/author" class="item"><image class="icon" src="/image/author-icon.png" /><text class="text">成为作家</text></navigator><navigator url="/pages/merchandise/merchandise" class="item"><image class="icon" src="/image/merchandise-icon.png" /><text class="text">周边商城</text></navigator><navigator url="/pages/wallet/wallet" class="item"><image class="icon" src="/image/wallet-icon.png" /><text class="text">我的钱包</text></navigator></view><!-- 第四行 --><view class="row"><navigator url="/pages/feedback/feedback" class="item"><image class="icon" src="/image/feedback-icon.png" /><text class="text">反馈与帮助</text></navigator><navigator url="/pages/productculture/productculture" class="item"><image class="icon" src="/image/productculture-icon.png" /><text class="text">KC指南</text></navigator><!-- 空白占位 --><navigator class="item"><image class="icon" /><text class="text"></text></navigator></view></view><!-- 小页面跳转结束 --><!-- cell实现开始 --><van-cell title="免流服务"><text slot="right-icon" class="right-icon-text">流量免费任性看漫画</text></van-cell><van-cell title="0元抽奖"><text slot="right-icon" class="right-icon-text">K币会员等你来抽</text></van-cell><van-cell title="青少年模式"><text slot="right-icon" class="right-icon-text">未开启</text></van-cell><van-cell title="设置" is-link /><!-- cell实现结束 --><van-cell title="去Home" bind:click="goHome" is-link /><van-cell title="去AA" bind:click="goAA" is-link />
</view>

mine.wxss

/* pages/mine/mine.wxss */
.mine {padding: 0rpx;
}.custom-icon {width: 80px;height: 100px;
}.van-cell {display: flex;align-items: center;
}.container {display: flex;flex-direction: column;align-items: center;padding: 20rpx;
}.row {display: flex;flex-direction: row;justify-content: space-between;width: 100%;
}.item {display: flex;flex-direction: column;align-items: center;justify-content: center;margin: 30rpx;/* 每个 item 占据 30% 的宽度 */width: 30%;
}.icon {width: 70rpx;height: 70rpx;margin-bottom: 10rpx;
}.text {/* 设置字体大小 */font-size: 10px;/* 设置文本对齐方式 */text-align: center;/* 设置行高 */line-height: 24px;
}.right-icon-text {/* 设置字体大小 */font-size: 10px;/* 浅灰色 */color: #c0c0c0;
}

 页面展示

包含登录注册、多个功能模块跳转以及特定功能展示的“我的”页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/1540.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssh2详细使用步骤,以及常用方法介绍

开源地址&#xff1a;https://github.com/mscdex/ssh2 ssh2 是一个功能强大的 Node.js 库&#xff0c;用于通过 SSH 协议与远程服务器交互。它支持命令执行、文件上传下载、端口转发等操作&#xff0c;常用于自动化脚本和远程服务器管理。 下面是 ssh2 的详细使用步骤和常用方…

计算机网络速成

前言&#xff1a;最近在做一些动态的crypto&#xff0c;但是配置总搞不好&#xff0c;正好也有学web的想法&#xff0c;就先学学web再回去做密码&#xff0c;速成视频推荐b站建模老哥 目录 计算机网络概述网络的范围分级电路交换网络&#xff08;电路交换&#xff09;报文交换网…

基于springboot+vue的 嗨玩-旅游网站

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

八股学习 Redis

八股学习 Redis 使用场景常见问题问题1、2示例场景缓存穿透解决方案一解决方案二 问题3示例场景缓存击穿解决方案 问题4示例场景缓存雪崩解决方案 问题5示例场景双写一致性强一致方案允许延时一致方案 问题6RDB方式AOF方式两种方式对比 问题7示例场景惰性删除定期删除 使用场景…

行业案例:高德服务单元化方案和架构实践

目录 为什么要做单元化 高德单元化的特点 高德单元化实践 服务单元化架构 就近接入实现方案 路由表设计 路由计算 服务端数据驱动的单元化场景 总结 系列阅读 为什么要做单元化 单机房资源瓶颈 随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服…

GO语言实现KMP算法

前言 本文结合朱战立教授编著的《数据结构—使用c语言&#xff08;第五版&#xff09;》&#xff08;以下简称为《数据结构&#xff08;第五版&#xff09;朱站立》&#xff09;中4.4.2章节内容编写&#xff0c;KMP的相关概念可参考此书4.4.2章节内容。原文中代码是C语言&…

Windows核心编程—匿名管道双向通信

注&#xff1a;父进程要创建两个匿名管道&#xff0c;并且STARTUPINFO 里面的两个字段很重要 A进程 void CMFCApplication1Dlg::OnBnClickedButton1() {SECURITY_ATTRIBUTES sa {};sa.nLength sizeof(SECURITY_ATTRIBUTES);sa.bInheritHandle TRUE;CreatePipe(&m_hRead…

基于springboot+vue的洪涝灾害应急信息管理系统设计与实现

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

centos修改/etc/resolv.conf 重启network后又恢复到原来的状态

博主使用的是centos7 问题描述&#xff1a;centos修改/etc/resolv.conf 执行 service network restart 后&#xff0c;/etc/resolv.conf 又恢复到原来的状态 解决方法&#xff1a;/etc/resolv.conf 保存 DNS 是暂时的&#xff0c;当重新启动 network 时&#xff0c;/etc/resol…

MySQL:索引

目录 1.MySQL索引是干什么的 2.铺垫知识 3.单个page的理解 4.页目录 单页情况 多页情况 1.MySQL索引是干什么的 MySQL的索引是提高查询效率&#xff0c;主要提高海量数据的检索速度。 2.铺垫知识 操作系统与磁盘之间IO的基本单位是4kb。 数据库是一个应用层软件&#…

【微服务】面试题 5、分布式系统理论:CAP 与 BASE 详解

分布式系统理论&#xff1a;CAP 与 BASE 详解 一、CAP 定理 背景与定义&#xff1a;1998 年由加州大学科学家埃里克布鲁尔提出&#xff0c;分布式系统存在一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;、分区容错性&#xff08;Part…

大数据技术Kafka详解 ⑤ | Kafka中的CAP机制

目录 1、分布式系统当中的CAP理论 1.1、CAP理论 1.2、Partitiontolerance 1.3、Consistency 1.4、Availability 2、Kafka中的CAP机制 C软件异常排查从入门到精通系列教程&#xff08;核心精品专栏&#xff0c;订阅量已达600多个&#xff0c;欢迎订阅&#xff0c;持续更新…

linux自动分区后devmappercentos-home删除后合并到其它分区上

删除其他分区&#xff0c;合并到对应分区上增加磁盘空间 删除开机默认挂载 /dev/mapper/centos-home vim /etc/fstab 把 /dev/mapper/centos-home 这一行删除掉命令行取消挂载 /dev/mapper/centos-home umount /dev/mapper/centos-home删除掉逻辑卷 home lvsdf -hlvremove /…

东芝3525AC彩色复印机复印默认成黑白模式方法

同样适用2010AC等机型 东芝3525AC彩色激光数码复合机基本参数 产品类型&#xff1a;激光数码复合机 颜色类型&#xff1a;彩色 速度类型&#xff1a;中速 复印速度&#xff1a;彩色&#xff1a;35cpm&#xff0c;黑白&#xff1a;35cpm 涵盖功能&#xff1a;复印/打印/扫描…

T-SQL编程

目录 1、T-SQL的元素 1.1 标识符 1. 常规标识符 2. 分隔标识符 1.2 变量 1. 全局变量 2. 局部变量 1.3 运算符 1. 算数运算符 2. 赋值运算符 3. 位运算符 4. 比较运算符 5. 逻辑运算符 6. 字符串连接运算符 7. 一元运算符 8. 运算符的优先级和结合性 1.4 批处…

SpringBoot-Day1

1.Springboot入门 创建Maven工程 导入spring-boot-stater-web起步依赖 编写Controller 提供启动类 2.yml配置信息书写与获取 书写 # 发件人信息 email:user: 172349823457qq.comcode: sajdajlwhjfgfkllwhost: smtp.qq.comauth: true ​ # 学生爱好 hobbies:- 打篮球- 踢…

【Linux】从零开始:编写你的第一个Linux进度条小程序

Linux相关知识点可以通过点击以下链接进行学习一起加油&#xff01;初识指令指令进阶权限管理yum包管理与vim编辑器GCC/G编译器make与Makefile自动化构建GDB调试器与Git版本控制工具 文章目录 一、知识铺垫1.1 回车与换行概念1.2 缓冲区 二、实现简单倒计时三、进度条3.1 Verrs…

【HarmonyOS之旅】基于ArkTS开发(二) -> UI开发二

目录 1 -> 声明式UI开发指导 1.1 -> 开发说明 1.2 -> 创建页面 1.3 -> 修改组件样式 1.4 -> 更新页面内容 2 -> 创建简单视图 2.1 -> 构建Stack布局 2.2 -> 构建Flex布局 2.3 -> 构建食物数据模型 2.4 -> 构建食物列表List布局 2.5 -…

【React】新建React项目

目录 create-react-app基础运用React核心依赖React 核心思想&#xff1a;数据驱动React 采用 MVC体系package.jsonindex.html好书推荐 官方提供了快速构建React 项目的脚手架&#xff1a; create-react-app &#xff0c;目前使用它安装默认是19版本&#xff0c;我们这里降为18…

分多个AndroidManifest.xml来控制项目编译

使用场景 公司项目和我的项目的AndroidManifest.xml混在一起&#xff0c;我需要区分开来编译观察app运行 1.在app/src/main/ 下写多个AndroidManifest.xml AndroidManifest.own.xmlAndroidManifest.com.xml 2.编写powershell脚本 第一对脚本com-build.ps1和reset-com-mani…