使用HBuilderX 开发微信小程序的日志(4)

2025-01-31

前言:寒假有点忙,只写了这一篇日志。也只把小程序项目往前推进了一点点……
还是再说一遍吧,这是我用来记录我折腾 uni-app 开发过程的日志,可能没有太多值得学习的地方,倒是走了不少弯路。还请大佬多多指教!

这一篇日志是关于用户界面排版的,只有我摸索出的 CSS 的一些用法。说起来,前几篇日志基本都是在写 CSS……不过下一篇我就要写具体功能了。

设计用户信息卡片

用户个人主页需要能够显示用户的头像和 ID ,并且显示与用户个人关联的功能,如个人订单、联系客服等。
在这里插入图片描述

我参考了上面的小程序,页面背景比显示个人信息和展示功能的区域要深一点,从而强调信息。各种功能的图标被安放在圆角卡片里面,清晰又整齐。置顶的个人信息没有安放在圆角卡片里面,而是展示在一道占据页面全部宽度的横幅上。

我给浅灰色页面背景和最外层的内边距设置了全局 CSS:

.cm-background {
	margin: 0;
	min-height: 100vh;
	background-color: #f8f8f8;  /* 浅灰色 */
}
.cm-page-wrap {
	padding: 30rpx;
}

我自己小程序的用户基本信息只有头像、ID,使用横幅会使空白的地方太多,所以我把个人信息也放在圆角卡片里面了。我为圆角卡片创建了一个全局 CSS:

.cm-card{
	background-color: white;
	border-radius: 20rpx;
	margin-bottom: 20rpx;
	padding: 20rpx;
}

效果是这样的:

在这里插入图片描述

这张卡片被分成了三个区域:头像、昵称(ID)和修改信息的图标。

我写 CSS 的逻辑是这样的:先指定宽度占比,并把每个区域都设置为 box-sizing: border-box; 以确保 padding 不会影响宽度。然后设置头像高度作为最大高度。最后再想办法将三个主要元素在每个区域都垂直居中排列。

.card-avatar {
	width: 15%;
	height: 100rpx;  /* 最大高度 */
	box-sizing: border-box;
}
.card-info {
	width: 70%;
	box-sizing: border-box;
	padding-left: 32rpx;  /* 使昵称与头像之间有一定距离 */
}
.card-info .nickname {
	font-size: 32rpx;
	font-weight: bold;
	display: flex;
	align-items: center;  /* 昵称文字的垂直居中 */
}
.card-icon {
	width: 15%;
	box-sizing: border-box;
	display: flex;  
	align-items: center;  /* 图标的垂直居中 */
}
<view class="cm-background cm-page-wrap">
	<view class="cm-card cm-flex cm-row">  <!-- flex 和 row 设置元素横向排列 -->
        <!-- 头像 -->
        <image class="card-avatar" mode="aspectFit" src="/static/icons/avatar.png" lazy-load/>
        
        <!-- 昵称 -->
        <view class="card-info">
            <text class="nickname">书友_0001</text>
        </view>
        
        <!-- 图标 -->
        <view class="card-icon">
            <uni-icons type="compose" :size="30" color="#a6a6a6"></uni-icons>
        </view>
    </view>
    
   	<!-- ... -->
</view>

到这里,个人信息的部分做好了。接下来同样使用圆角卡片包裹各种功能的图标。

我使用 uni-grid 进行功能图标的排版。

<view class="cm-card">
    <uni-grid :column="4" :showBorder="false">  <!-- 4列,不显示边框 -->
        <uni-grid-item>
            <view class="cm-grid-item-box">
                <uni-icons type="headphones" :size="30"></uni-icons>
                <text class="text">联系客服</text>
            </view>
        </uni-grid-item>
        
        <!-- ... -->
    </uni-grid>
</view>

为了使 uni-grid-item 中在图标完全居中,需要设置容器的 CSS:

.cm-grid-item-box {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 15rpx 0;
}
.cm-grid-item-box .text {  /* 同时设置了uni-grid-item 中的字体大小 */
	font-size: 26rpx;
}

现在的效果是这样的:

在这里插入图片描述

### 使用HBuilderX开发微信小程序代取快递项目的免费资源与教程 在开发微信小程序时,HBuilderX 是一个非常强大的工具,结合 Uni-App 的多端运行能力,可以高效地构建项目。以下是关于使用 HBuilderX 开发代取快递项目的相关资源和教程的详细说明。 #### 1. 官方文档与基础教程 DCloud 官网提供了丰富的 Uni-AppHBuilderX 的学习资料,这些资料可以帮助开发者从零开始搭建项目环境,并掌握核心功能[^1]。 - **Uni-App 官方文档**:https://uniapp.dcloud.io/ - **HBuilderX 官方文档**:https://www.dcloud.net.cn/hbuilderx 通过官方文档,可以了解如何配置开发环境、使用 API、调试工具等基础知识。 #### 2. 示例代码 以下是一个简单的代取快递项目的核心代码示例,包括用户下单、查看订单状态等功能: ```javascript // 用户下单功能 export function createOrder(orderData) { uni.setStorageSync('orderData', orderData); // 持久化存储订单数据 return uni.request({ url: 'https://example.com/api/createOrder', method: 'POST', data: orderData }); } // 查看订单状态 export function getOrderStatus(orderId) { return uni.request({ url: `https://example.com/api/getOrderStatus/${orderId}`, method: 'GET' }); } ``` #### 3. 免费教程推荐 网络上有一些免费的教程和视频,可以帮助开发者快速入门并完成代取快递项目: - **B站教程**:搜索关键词“HBuilderX 微信小程序教程”,可以找到许多开发者分享的完整课程。 - **优快云 博客**:有许多开发者分享了基于 HBuilderX小程序开发经验,例如代取快递项目的实现思路[^3]。 - **GitHub 开源项目**:可以在 GitHub 上搜索类似的开源项目,参考其代码结构和功能实现。例如: - https://github.com/dcloudio/uni-app/tree/master/examples (官方示例代码) - 搜索关键词“代取快递 小程序”以获取更多相关项目。 #### 4. 调试与优化 在开发过程中,可能会遇到一些问题,例如编译错误或权限问题。以下是一些常见的解决方法[^2]: - 如果微信开发者工具无法启动,确保已关闭其他实例并升级到最新版本。 - 使用 `uni.report()` 收集性能数据,通过 `vConsole` 查看日志以便快速定位问题。 #### 5. 数据缓存策略 为了提升用户体验,可以使用持久化缓存保存用户的订单信息或其他重要数据: ```javascript uni.setStorageSync('cachedOrders', orders); // 存储订单数据 const cachedOrders = uni.getStorageSync('cachedOrders'); // 获取订单数据 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值