当前位置:网站首页>个人博客小程序
个人博客小程序
2022-07-28 08:32:00 【橙子!】
1.前言
这篇文章详细的介绍了个人博客小程序的云开发流程,包括博客展示页面,添加博客页面的创建,以及云函数的上传,数据库的创建和使用。同时使用到了form,text等组件以及使用富文本添加博客。
本程序所有数据都存储在云开发里面,不需要开发者自己的服务器。功能包括:云数据库,云函数,云存储等,是一个小程序项目学习的保姆级教程!欢迎大家学习。

2.首页博客数据展示
首先,我们设计博客展示的静态页面。每篇博客包含头像,昵称,简介,内容,图片等数据组成,我们将其设计为一个方块展示,并且每个方块使用flex布局样式。整体布局分为两个结构,上下结构:上面显示用户信息下面显示博客。左右结构:显示用户头像昵称等。
修改小程序的标题:
"navigationBarTitleText": "个人博客小程序",
设置博客页面结构:
<!--博客展示-->
<view class="blog-block">
<view class="blog-card">
<view class="blog-user">
<image class="avatar" src="../../images/头像 女孩.png"></image>
<view class="username">橙子</view>
<button open-type="share" style="width: 60rpx;">
<image class="icon-share" src="../../images/上传.png"></image>
</button>
</view>
<view class="blog-item">
<view class="blog-user">这里显示博客的简介</view>
<view class="image-block">
<image src="../../images/1.png" mode="widthFix"></image>
</view>
</view>
</view>
</view>
设置博客页面样式:
/**部分样式代码展示*/
.blog-block{
margin-bottom: 30rpx;
padding: 20rpx;
}
.blog-card {
margin-top: 30rpx;
padding-bottom: 30rpx;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
background-color: #fff;
border-radius: 6rpx;
}
.blog-item {
width: 95%;
}
.blog-user{
display: flex;
flex-direction: row;
align-items: center;
justify-content:flex-start;
width: 95%;
padding-top: 10rpx;
}
.avatar {
overflow: hidden;
width: 80rpx;
height: 80rpx;
flex-shrink: 0;
margin-right: 16rpx;
border-radius: 50%;
}
效果展示:

3.用data中的数据渲染博客展示
上面我们已经做好了静态页面,接下来通过index.js中的data的数据来渲染页面的显示,首先来定义blogs的数据结构,包含了以下的字段来实现数据动态绑定:
blogs:[{
avatar:"../../images/头像 女孩.png",
name:"橙子",
brief:"这里显示博客的简介",
content:"博客的内容",
img:"../../images/1.png",
time:10000
}
]
在wxml文件中修改代码实现数据动态绑定,同时可以使用for循环来渲染多篇博客的显示,此时的item指的是blogs里面的每一个对象。方法如下:
<image src="{
{item.img}}" mode="widthFix"></image>
这样就实现了数据的动态绑定,但是数据是写死的,只能在程序中维护数据,所以我们就要创建云数据库,把数据记录放在程序后端服务器。
4.使用云数据库创建集合blogs
创建云数据库的目的是为了将博客的数据放到云开发的云数据库中,方便维护!云数据库在云开发控制台中创建:
这里创建了一个blogs集合用于存储数据,系统会自动生成一个id作为主键。这时可以在这里添加数据记录。
5.读取数据库中的数据
创建好云数据库以后我们就要实现数据的读取,这里分为三个步骤:1.和数据库建立链接。2. 找到读取数据的集合。 3.读取所需数据。
初始化数据库:
const db =wx.cloud.database()
读取数据并将data赋值给blogs:
db.collection("blogs").get({
success:res=>{
this.setData({
blogs:res.data
})
}
})
这样我们就实现了将云数据库的数据渲染到前端页面,但是这样我们还是没有提供前端添加博客的功能,于是,下一步我们要添加一个页面,用于用户添加博客!
6.创建添加博客页面
下一步我们将添加一个新的页面用于用户添加博客,并且设置tabBar。创建方法:右击Pages选择新建文件夹,命名为blogAdd,右击新创建的文件夹选择新建文件,命名为blogAdd,注意两者名字要相同!
下一步添加tabBar,在app.json文件中tabBar对象的list属性中添加:
{
"pagePath": "pages/blogAdd/blogAdd",
"iconPath": "images/user.png",
"selectedIconPath": "images/user-active.png",
"text": "添加博客"
}
其中iconPath中添加tabBar未选中时的图标,selectedIconPath中添加选中时的图标。
添加了新的页面以后,为了方便调试,此时可以添加编译模式,修改启动页面,下次编译就直接跳转到修改的页面而不是首页。
下一篇讲解添加博客页面的UI设计以及功能的实现!
边栏推荐
猜你喜欢

Dapp安全总结与典型安全事件分析

C simply call FMU for simulation calculation

c语言数组指针和指针数组辨析,浅析内存泄漏

The cooperation between starfish OS and metabell is just the beginning

Div tags and span Tags

Completion report of communication software development and Application

看得清比走得快更重要,因为走得对才能走得远

DIY system home page, your personalized needs PRO system to meet!

OpenShift 4 - 使用 VerticalPodAutoscaler 优化应用资源 Request 和 Limit

Realize batch data enhancement | use of keras imagedatagenerator
随机推荐
关闭页面时向后台发送消息
修改虚拟机IP地址
Review the past and know the new MySQL isolation level
2022年起重机司机(限桥式起重机)考试题库及模拟考试
训练一个自己的分类 | 【包教包会,数据都准备好了】
IDC脚本文件运行
GBase 8a如何使用使用预处理快速插入数据?
478-82(56、128、718、129)
信息学奥赛一本通 1617:转圈游戏 | 1875:【13NOIP提高组】转圈游戏 | 洛谷 P1965 [NOIP2013 提高组] 转圈游戏
Prometheus TSDB analysis
A perfect cross compilation environment records the shell scripts generated by PETA
Hyperlink label
Promise学习笔记
Why setting application.targetframerate doesn't work
Machine learning (11) -- time series analysis
Learn to draw with nature communications -- complex violin drawing
How to execute the SQL assembled in ODPs SQL function and get the return value?
快速上手Flask(一) 认识框架Flask、项目结构、开发环境
In addition to exporting the incremental data captured by Oracle golden gate to Oracle, where can it be exported? Can be similar
ES6 let and Const