热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信小程序实战之菜谱小程序

最近突发奇想,想要自己搞个小程序玩儿玩儿,但是鉴于自己是搞后端服务器出身,对于偏前端的微信小程序开发实在是一知半解,尤其是对于css类样式相关,更是无从下手,于是乎,只能从晚上找了

最近突发奇想,想要自己搞个小程序玩儿玩儿,但是鉴于自己是搞后端服务器出身,对于偏前端的微信小程序开发实在是一知半解,尤其是对于css类样式相关,更是无从下手,于是乎,只能从晚上找了一个demo,对其进行了一番改造,然后进行上线,也算是基本完整的走了一遍小程序开发的简单流程,本篇文章就是对这次实践的简单介绍。

先放个二维码压压惊~

《微信小程序实战之菜谱小程序》

调研

在开发之前,本人对微信小程序开发流程进行了一个简单调研,调研发现,开发者分为个人开发者和企业开发者,企业开发者除了比个人开发者能够使用更多的基础功能之外,能够被微信团队允许开放的领域范围也更加广泛。具体可参考如下:

  • 个人开发者
  • 非个人开发者

本人作为标准穷人一枚,肯定是交不起非个人开发者几百元的申请费的,于是乎只能从个人开发者允许开发的零星的小程序领域中选择了一个相对来说逻辑比较简单的类型--菜谱小程序,进行流程的开发。

项目介绍

最终完成的成品项目主要包含了以下几部分:

云函数

云函数是指在微信云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码,在该项目中主要是在登陆模块中用到了该功能。

数据库

微信云开发提供了一个json数据库,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。

本项目主要针对以下数据做了持久化:

  1. 菜谱(需批量导入)
  2. 菜谱分类列表(一条记录,手动添入即可)
  3. 收藏(根据用户操作,自动增加和删除)
  4. 搜索历史(根据用户操作,自动增加和删除)

以上几项中的菜谱数据,需要开发者预先填充一些数据(终于到了服务端大显身手的时候),本人写了个脚本,从网上简单爬取了一些。

爬虫地址如下:
爬虫地址

有兴趣的朋友改改直接使用~

业务逻辑

  1. 首页:主要包括了各个类别菜谱的展示,可以根据不同的类别跳转到每一类别的菜谱列表页
  2. 搜索:精确搜索,实现原理是根据数据库中的类别列表进行匹配,在搜索的同时会把搜索历史记录下来。点击搜索结果,挑战菜谱列表页
  3. 菜谱类别列表:对菜谱进行大类别划分
  4. 个人页:主要展示个人用户头像以及收藏菜谱的列表
  5. 菜谱详情页:包括一道菜的,简单介绍,图片,步骤,配料,辅料等元素

代码大致结构:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

 

├── README.md

├── project.config.json // 项目配置文件

└── cloudfunctions | 云环境 // 存放云函数目录

│ └── login // 云函数

│ ├── index.js

│ └── package.json

└── miniprogram

├── images // 存放小程序图片

├── pages // 存放小程序各种页面

| ├── index // 首页

| └── menu // 菜单页

| └── user // 用户中心

| └── search // 搜索页

| └── list // 列表页 搜索结果页

| └── detail // 详情页

| └── databaseGuide // 数据库指导页

| └── chooseLib // 提示页

| └── storageConsole // 文件上传提示

├── style // 样式文件目录

├── app.js // 小程序公用逻辑

├── app.json // 全局配置

├── app.wxss // 全局样式

 

代码地址如下:
代码地址

鸣谢

本次使用demo主要是在 github上找到的开源项目,借鸡下蛋,十分感谢!
demo地址


推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 在给定的数组中,除了一个数字外,其他所有数字都是相同的。任务是找到这个唯一的不同数字。例如,findUniq([1, 1, 1, 2, 1, 1]) 返回 2,findUniq([0, 0, 0.55, 0, 0]) 返回 0.55。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文提供了使用Java实现Bellman-Ford算法解决POJ 3259问题的代码示例,详细解释了如何通过该算法检测负权环来判断时间旅行的可能性。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
author-avatar
陨落灬星辰
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有