千家信息网

微信小程序开发实例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"微信小程序开发实例分析",在日常操作中,相信很多人在微信小程序开发实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"微信小程序开发实例分析"的疑惑
千家信息网最后更新 2026年11月03日微信小程序开发实例分析

这篇文章主要介绍"微信小程序开发实例分析",在日常操作中,相信很多人在微信小程序开发实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"微信小程序开发实例分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

新建小程序项目

一、新建项目选择小程序项目,选择代码存放的硬盘路径,填入你的小程序 AppID,给你的项目起一个好听的名字,最后,点击确定,你就得到了你的小程序了开发者工具传送门

目录结构

page
index
index.js
index.wxml
index.wxss

logs
logs.js
logs.json
logs.wxml
logs.wxss

utils
util.js

app.js
app.json
app.wxss
project.config.json

下载和安装BmobSDK

一、把bmob-min.js和underscore.js放到相应的文件,例如放到utils中

二、接着是在app.js中加入下面两行代码进行全局初始化

const Bmob = require(\'utils/bmob.js\');

Bmob.initialize(你的Application ID, 你的REST API Key);

一、创建一个名字为detail的表,然后点击添加列创建3个字段,一个一个的添加

title字段,String 类型,用于存放文章的标题 image字段,String 类型,用于存放文章的图片 detail字段 String类型,用于存放文章的正文 然后添加一些数据进行测试

列表页面实现

一、去到index.js中 Ctrl + A然后按Delete清空这个页面,然后自己来写逻辑吧,首先我们需要引入bmob.js 然后在onLoad小程序生命周期中去请求detail表中的数据,让bmob和小程序完成第一次交互

//index.js
//获取应用实例
const Bmob = require(\'../../utils/bmob.js\'); //每个需要使用到bmob的页面都需要引入这个js

Page({
onLoad() {
let Diary = Bmob.Object.extend(detail); //引入detail这张表
let query = new Bmob.Query(Diary);
query.find({
success: (results) => {
console.log(results)//打印数据
},
error(error) {
console.log(`查询失败: ${error.code } ${error.message}`);
}
});
},
})

这里完成了一次对bmob的数据查询,bmob文档传送门, 这个查询默认返回10条记录。当数据多了之后,一次查询很多数据,这样是不友好的,并不是说bmob查询数据慢,而是指如果将来你的用户在网速比较慢的情况使用你的小程序,请求数据等待时间过长,这个等待的过程也许会导致用户不再使用你的小程序。所以我们需要优化用户体验。那么将代码改造成一上拉加载更多。

//index.js
//获取应用实例
const app = getApp();
const Bmob = require(\'../../utils/bmob.js\'); //每个需要使用到bmob的页面都需要引入这个js

Page({
data: {
detail:[], //页面数据
pagination:0, //页码
pageSize: 4, //每页数据
nodata:true //无数据
},
onLoad() {
//初始页面第一次获取页面数据
this.getData();
},
getData(){
let Diary = Bmob.Object.extend(detail); //引入detail这张表
let query = new Bmob.Query(Diary);
query.limit(this.data.pageSize); //返回n条数据
query.skip(this.data.pageSize * this.data.pagination); //分页查询
query.descending(\'createdAt\'); //已created列倒序
query.find({
success: (results) => {
let data = [];
//将得到的数据存入数组
for (let object of results) {
data.push({
id: object.id,
title: object.get(\'title\'),
image: object.get(\'image\'),
detail: object.get(\'detail\'),
createdAt: app.timeago(object.createdAt) //调用timeagoJs把日期转成N天前格式
})
}
//判断是否有数据返回
if(data.length){
let detail = this.data.detail; //得到页面上已经存在的数据(数组)
let pagination = this.data.pagination; //获取当前分页(第几页)
detail.push.apply(detail, data); //将页面上面的数组和最新获取到的数组进行合并
pagination = pagination ? pagination+1 : 1; //此处用于判断是首次渲染数据还是下拉加载渲染数据

//更新数据
this.setData({
detail: detail,
pagination: pagination
})
}else{
//没有返回数据,页面不再加载数据
this.setData({
nodata: false
})
}
},
error(error) {
console.log(`查询失败: ${error.code } ${error.message}`);
}
});
},
router(e) {
//跳转至文章详情页
const id = e.currentTarget.dataset.id
wx.navigateTo({
url: `../detail/detail?id=${id}`
})
},
onReachBottom(){
//下拉触底加载更多数据
this.getData();
}
})

上述代码中在日期处使用了timeagoJs下载地址,下载timeagoJs放到util文件夹中,然后在app.js中引入。

//app.js

const Bmob = require(\'./utils/bmob.js\')

const timeago = require(./utils/timeago.min.js);

Bmob.initialize(你的Application ID, 你的REST API Key);

App({
timeago(date){
return new timeago().format(date, \'zh_CN\')
}
})

二、完成了列表页逻辑层之后,去到index.wxml编写视图层,视图层就简单许多了,得到的数据是一个数组,数组里面是一个json,用wx:for方法把它渲染出来就好了

三、来对页面进行一些美化,编写一样样式吧。毕竟这是一个看脸的社会

/**index.wxss**/
.container{ padding: 30rpx;}
.pane{ width: 100%; margin-bottom:30rpx; border-radius: 5rpx; overflow: hidden; box-shadow: 0 0 10rpx rgba(0, 0, 0, .1) }
.pane image{ width: 100%; height: 240rpx; display: block;}
.pane .content{ background-color: #FFF; padding: 20rpx;}
.pane .title{ display: block; font-size: 30rpx; font-weight: bold; margin-bottom: 20rpx;}
.pane .date{ display: block; font-size: 24rpx; color: #999}
.nodata{ text-align: center; font-size: 24rpx; color: #999}

以上列表页面算是完成了。此时点击页面的时候,应该会报错,提示detail页面未配置,那来到app.json里面配置一下detail这个页面。

到此,关于"微信小程序开发实例分析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 页面 程序 查询 实例 数组 开发 文章 实例分析 程序开发 分析 代码 字段 更多 项目 学习 用户 类型 名字 文件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 博彦科技互联网金融 互联网科技巨头监管 互联网与新科技 互联网与未来科技 北京禾田雨橡互联网科技 深圳天众互联网科技公司 大白互联网科技 互联网科技博客 无锡溥仪互联网科技有限公司 富国互联网科技创新基金 互联网金融科技公司干啥的 昊天互联网科技有限公司 宝灵互联网科技有限公司 互联网科技人工智能实验室 南博望互联网科技有限公司 版纳互联网科技选哪家 众联互联网络科技 第三届互联网大会安防黑科技 利用互联网等科技手段 湖南永感互联网科技有限公司 北京互联网络科技有限公司 奇酷互联网络科技公司 易通互联网络科技有限公司 长亮科技 互联网金融 汉立互联网科技有限公司联系电话 科技大学互联网 广州有谷有贝互联网科技有限公司 信承诺互联网科技有限公司 科技互联网专业工作会议发言稿
0