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

embedded/2025/1/16 19:24:49/

我的页面

引言

        本文将详细解析如何实现一个包含登录注册、多个功能模块跳转以及特定功能展示的“我的”页面。我们将使用 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.ppmy.cn/embedded/154465.html

相关文章

WPF、控件模板(ControlTemplate)和数据模板(DataTemplate)

前言 在 WPF 中&#xff0c;控件种类丰富且功能非常完善。一个显著的优点是 WPF 提供了强大的自定义能力和灵活的用户界面表现&#xff0c;能够满足各种复杂的应用需求。其中&#xff0c;ControlTemplate 和 DataTemplate 是两个非常重要的概念&#xff0c;分别用于自定义控件…

DFT可测性设置与Tetramax测试笔记

1 DFT 1.1 DFT类型 1、扫描链&#xff08;SCAN&#xff09;&#xff1a; 扫描路径法是一种针对时序电路芯片的DFT方案.其基本原理是时序电路可以模型化为一个组合电路网络和带触发器(Flip-Flop&#xff0c;简称FF)的时序电路网络的反馈。 Scan 包括两个步骤&#xff0c;scan…

python创建pdf水印,希望根据文本长度调整水印字体大小,避免超出页面

为了根据文本长度动态调整水印字体大小&#xff0c;可以先测量文本长度&#xff0c;然后根据页面宽度和高度动态计算合适的字体大小。以下是修改后的代码&#xff1a; from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter from reportlab.pdfbas…

【HTML+CSS+JS+VUE】web前端教程-36-JavaScript简介

JavaScript介绍 JavaScript是一种轻量级的脚本语言&#xff0c;所谓脚本语言&#xff0c;指的是它不具备开发操作系统的能力&#xff0c;而是用来编写控制其他大型应用程序的“脚本” JavaScript是一种嵌入式语言&#xff0c;它本身提供的核心语法不算很多 为什么学习JavaScri…

智能家居企业如何通过设计师渠道打造第二曲线?

随着智能家居行业的迅速发展和消费者需求的不断升级&#xff0c;企业的营销策略也在不断变化。传统的B2C营销模式逐渐让位于更加精细化、定制化的B2B2C模式&#xff0c;其中设计师渠道的开发与合作&#xff0c;成为智能家居企业布局市场、提升品牌影响力的关键。 智能家居推广的…

HTTP 范围Range请求

引言 在现代Web应用中&#xff0c;HTTP范围请求是一种重要的技术&#xff0c;允许客户端请求资源的部分内容&#xff0c;而不是整个资源。这对于大型文件的传输尤其有用&#xff0c;如视频流、断点续传下载等。本文将深入探讨HTTP范围请求的工作原理、实现方法和应用场景。 H…

c#删除文件和目录到回收站

之前在c上遇到过这个问题&#xff0c;折腾许久才解决了&#xff0c;这次在c#上再次遇到这个问题&#xff0c;不过似乎容易了一些&#xff0c;亲测代码如下&#xff0c;两种删除方式都写在代码中了。 直接上完整代码&#xff1a; using Microsoft.VisualBasic.FileIO; using Sy…

WPS excel使用宏编辑器合并 Sheet工作表

使用excel自带的工具合并Sheet表&#xff0c;我们会发现需要开通WPS会员才能使用合并功能&#xff1b; 那么WPS excel如何使用宏编辑器进行合并 Sheet表呢&#xff1f; 1、首先我们要看excel后缀是 .xlsx 还是 .xls &#xff1b;如果是.xlsx 那么 我们需要修改为 .xls 注…