国庆七天,如果不想峡谷、王者七日游,就来跟我一起开发个小程序吧,不需要多高的技术,只要你会一点点前端css、html知识,不需要你了解后端语言,更不需要单独部署一个后端服务,十分简单!

之前我写过一个特别小白的从零开始学小程序大家有兴趣可以先看看,这篇文章不仅会讲到基础知识,还会跟进一步,使用微信小程序特有的云函数、数据库、存储,让你更加熟悉微信小程序生态。

这次我们打算做一个『梗百科』小程序,用户可以在小程序上搜索常见的梗,比如yyds、绝绝子等等。

大家可以先看看效果:

新建工程

申请账号

点击 https://mp.weixin.qq.com/wxopen/waregister?action=step1 根据指引填写信息和提交相应的资料,就可以拥有自己的小程序帐号。然后登录https://mp.weixin.qq.com ,就可以在菜单 “设置”-“开发设置” 看到小程序的 AppID

安装开发工具

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 下载稳定版本开发工具(IDE)

新建项目

appID填入刚刚我们申请到的,初始模板选择微信云开发,它会给我们提供一些云函数、云存储接口。

引入第三方组件

在进行开发之前,我们要先引入一个第三方组件,这个组件提供了很漂亮的按钮、图案、样式(专业说法是CSS库),我们只需要复制粘贴就可以直接使用。

下载ColorUI格式库开发,如果下载失败的可以在我公众号『又是那个程序员Fia』发送“梗大全”关键字,获取百度云下载链接。

git clone https://github.com/weilanwl/ColorUI/

然后打开template/目录,把colorui这个文件复制到我们项目的根目录下

最后在app.wxss文件中添加下面代码,表示引入main.wxss和icon.wxss两个css库。大功告成!

@import "colorui/main.wxss";
@import "colorui/icon.wxss";

项目结构

不急,我们先认识一下微信小程序的项目架构。

  • pages 主要是存放各个页面的,每个文件夹中包含四个文件,js文件主要放你的数据常量/变量以及定义的方法function,json文件主要存放引入的组件,wxml文件就是页面代码,相当于html,wxss就是格式文件
  • pages下除了index文件以外的文件夹都是云函数,我们可以删除掉他们
  • 在项目根目录下也存在app前缀的js、json、wxss、wxml四个文件,作用和index下的文件是一一对应的,只不过是它全局的。而index文件夹下的就是index页面的内容
  • sitemap.json设置微信搜索范围

设置底部导航栏

先在项目目录下新建一个images文件夹,在app.json文件删除内容,复制下面内容。说一下每个作用。

  • pages里面是我们所有的页面,这里有个小技巧,如果你想新增一个页面,只需要在这里添加就行了,保存后编辑器会自动帮你生成一个内含js、wxml、json、wxss文件夹。这里那个页面放在前面,小程序初始页面就是对应的,例如这里,初始页面就是hot热搜页面。
  • windows中设置了背景色,小程序名…
  • tarBar就是我们底部导航栏的内容。iconPath表示用户没有点击的时候图片链接,selectedIconPath表示用户点击后的图片链接,一般来说用户点击完后图片会变色,这些图标在我微信公众号发送关键词『』获得。
{"pages": ["pages/hot/hot", // 热搜页面"pages/search/search" // 搜索页面],"window": {"backgroundTextStyle": "light","navigationBarBackgroundColor": "#fff","navigationBarTitleText": "梗百科","navigationBarTextStyle": "black"},"sitemapLocation": "sitemap.json","style": "v2","tabBar": {"list": [{"pagePath": "pages/hot/hot","text": "最火","iconPath": "images/fire.png","selectedIconPath": "images/fire_cur.png"},{"pagePath": "pages/search/search","text": "搜索","iconPath": "images/search.png","selectedIconPath": "images/search_cur.png"}],"selectedColor": "#DC143C"}
}

最后效果和项目结构如下图

热搜hot页面

### 开发热搜页面

首先我们在colorUI中找到合适的模板,这里我们使用了timeliness的样式,这样通过时间轴的样式体现了“当前最火”这个概念。看一下我们怎么使用colorUI这个组件的,下面是我们hot.wxml文件,里面有三个大的view,第一个用到了“背景”这个组件,第二个和第三个就是“时间轴组件”

<!-- 背景background组件 -->
<view class="bg-img bg-mask padding-tb-xl a" style="background-image: url('https://6f6e-online-yu1be-1304563260.tcb.qcloud.la/image/hug.jpg?sign=32d703591d7385c907ca97e3fc5c3628&t=1632045487');height: 414rpx;"><view class="padding-xl text-white"><view class="padding-xs">我不创造梗,我只是梗的搬运工</view></view>
</view><!-- 时间轴组件 -->
<view class="cu-timeline"><view class="cu-time">当前最火</view>
</view><view class="cu-timeline"><view class="cu-item" wx:for= "{{issues}}" wx:key="key"><view class="content"><view class="cu-capsule radius"><view class="cu-tag bg-cyan">{{item.keyWord}}</view></view> <view class="margin-top">{{item.description}}</view></view></view>
</view>

这里有几个点,第一背景组件使用的图片不能是本地图片,后面我们会讲怎么时候云存储保存一张图片,然后这里用到。第二个“时间轴”组件我们用到了wx:for属性,他其实就是个循环遍历,issues这个数组,把这个数组中的“梗”循环加载到我们页面上,形成一个一个的“时间轴”行,可以看一下效果:

开发热搜页面逻辑

可以想象,在hot.js文件中,我们要实现的逻辑就是获取当前最火的梗,去哪里拿呢?去云数据库上拿!我们把最火的梗都保存在云数据库上。我们来讲一下怎么使用云数据。

  • 点击左上角云开发---->点击数据库

  • 点击新建一个名为punchline的集合

  • 点击添加记录,创建一个下图一样的记录,注意“字段”不要填错。否则后面获取不到该记录

  • 点击数据权限,使得用户可以查询到我们刚刚新建的数据

ok!我们的数据创建完毕了,现在开始读取这条记录。我们会在hot.js文件中覆盖复制下面的内容。我们来介绍一下下面的内容。data这里设置了一个issues变量,也就是我们刚刚说到的页面用来循环遍历展示的数组。

var db = wx.cloud.database() 初始化一个数据库连接实例,db.collection('punchline') 表示选择刚刚我们创建的punchline集合,orderBy('createTime', 'desc').get()表示根据createTime倒序获取全部数据(默认一次20条)。后面的代码就是解析数据,放在issues这个变量上,用来在页面上展示。

// pages/hot/hot.js
Component({options: {addGlobalClass: true,},data: {issues :[],},attached() {var db = wx.cloud.database() // 初始化db链接db.collection('punchline').orderBy('createTime', 'desc').get().then(res => {console.log("success")var _collections = new Array()for (var i = 0; i < res.data.length; i++) {_collections.push(JSON.parse(JSON.stringify(res.data[i])))}this.setData({issues: _collections,})}).catch(res=>{console.log("fail")})},
})

这样我们就能在页面上看到效果了。所以理论上,只要我们数据库里有所有当前最火的梗,就能在我们页面上进行展示。

云存储保存图片

上面我们讲到了图片背景组件使用的图片不能是本地文件,这里我们会使用云存储存放一张图片上去,然后使用。

  • 点击左上角云开发—>存储
  • 新建一个images文件夹

  • 上传一个图片hug.jpg,然后点击hug.jpg弹出侧边栏,复制一下下载链接

  • 把刚刚复制的链接填入hot.wxml文件中的背景组件url中,参考下图。这样就大功告成了!


到这里我们的小程序雏形就有了,至于怎么实现搜索云数据库,实现用户页面输入关键字,返回查询结果的功能,完整内容可以关注我的公众号公众号 查看最新文章!

使用云数据库,国庆快速开发一个微信小程序相关推荐

  1. 微信小程序是什么?如何快速搭建一个微信小程序?

    目录 一.微信小程序是什么 二.安全管理 三.微信小程序的功能 四.快速开发一个微信小程序APP 1.集成即构实时音视频SDK 2.初始化SDK引擎 3.创建房间与登录房间 4.房主创建房间 5.推流 ...

  2. 一个程序如何连接到外网_如何从头开始开发一个微信小程序

    网上有很多的人在问:怎么开发一个微信小程序?今天我来给大家详细讲讲如何申请开发并部署一个微信小程序,大家看完这篇文章后就能够自己运营一个属于自己的小程序了. 现在的小程序有百度小程序,头条小程序,支付 ...

  3. 真的简单,单手用Spring Boot 开发一个微信小程序

    前言   嗨,大家好,现在微信使用的用户很多,作为开发人员也可以建立一个自己的微信小程序,本期与大家分享一下作者建立微信小程序的开发流程. 申请   百度搜索微信公众号平台,然后扫码登录注册一个微信公 ...

  4. 开发一个微信小程序/APP一般需要多少时间,多少钱?

    开发一个微信小程序/APP一般需要多少时间,多少钱? 微信小程序/APP开发的工期和费用估算需视功能需求的多少和难易程度而定,需求不明的情况下很难给出恰当评估. 在湃点网络定制平台,一对一的专业的顾问 ...

  5. 开发一个微信小程序,对酒店经营管理有哪些好处?

    据腾讯2022年第一季度财报数据显示,微信小程序日活跃账户已经突破5亿,流量巨大.不论企业用户还是个体商家都积极使用小程序开展商业活动,从这庞大流量里获利. 酒店行业也不例外,很多酒店都开发了微信小程 ...

  6. 如何开发一个微信小程序

    如今微信小程序的开发已经成为了一个不可忽视的趋势,不少企业都开始将自己的产品和服务通过微信小程序进行宣传.但是如何开发一个微信小程序大家又了解吗?下面就为大家介绍如何开发一个微信小程序. 首先我们做好 ...

  7. python搭建微信小程序卖货要收费用吗_开发一个微信小程序需要多少钱?

    很多朋友在微信上都在问司瓦图老张[也就是我本人,下面简称老张]关于小程序商城的开发费用,今天老张跟朋友分享下,开发一个微信电商小程序商城到底需要多少钱? //有的朋友关心为什么小程序费用有几百,几千差 ...

  8. php访问微信云数据库,第三方服务器php获取微信小程序云开发access_token和云数据库...

    微信小程序云开发开放了http api,可以从第三方访问云服务了.方便很多.云服务的后台,可以用PC端写了. 流程大概就是通过appid,appkey获得access_token,这个access_t ...

  9. 如何快速开发一个古诗词小程序?

    前言: github日常淘宝,看到的项目可能因为历史原因已经不维护了,跑步起来,那么我们就让他跑起来吧! 本篇以一个古诗词小程序为例,大概花了一天的时间,给想学习的小白或者业余你想整一个玩玩的时候能有 ...

最新文章

  1. 什么是爱?[转载朋友发给我的信息]
  2. 机器学习怎么入门?一份速成指南拿好!
  3. [APIO2018] Duathlon 铁人两项
  4. 有哪些事,是你做了领导后才明白的?
  5. 你一定要了解的NB-IoT !
  6. Oracle中查看所有表和字段
  7. 数据结构与算法系列——排序(10)_归并排序
  8. C/C++ 进阶 —— 指向指针的指针
  9. python使用协程_Python使用协程进行爬虫
  10. 为什么要学linux命令以及linux(ubuntu)的文件与目录命令
  11. 慕课版软件质量保证与测试(第四章.课后作业)
  12. U890采购入库单修改供应商
  13. 51单片机控制42步进电机——程序实现(中断PWM/延时函数)
  14. 软件程序开发步骤有哪些?如何简单制作手机App?
  15. u盘插在电脑上灯亮没有反应_U盘插入电脑指示灯一直闪烁却不显示的解决方法...
  16. 好软推荐之FeedDemon
  17. git提交 [rejected] fetch first 解决办法
  18. 天罡现世,Balong出海,华为这波5G动作666!
  19. 设计模式01策略模式
  20. 【sql注入】二次注入

热门文章

  1. ubuntu16 杀死进程解决 E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)
  2. 软件测试笔记,测试用例设计
  3. 从一无所有到亿万富翁:史玉柱500亿财富的神话秘籍
  4. vue 组件 Vue.component 用法
  5. 借力SPC,品质数据异常监控与分析仅需几分钟搞定
  6. 时间序列分析|异常值检测
  7. 如何使用Houdini进行程序化优化?
  8. 半导体封装设备行业挤入一位国产选手:已实现数百台IC球焊机出货量,居国产首位,世界一流...
  9. 小白上路之markdown编辑器学习使用
  10. 字符串常用操作函数一