| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 我竟然用一个小时就做了个小程序!云开发+CMS实践探索 -> 正文阅读 |
|
[移动开发]我竟然用一个小时就做了个小程序!云开发+CMS实践探索 |
前言在19年疫情比较严重的时候,在家里的我想要为前线的医护人员打打气,于是就开始做一些跟战疫相关的海报,并且将这些海报分享到了一些社交平台,比如某红书和某博。在这些文章有了一定热度之后就开始有人问我要图片,最初的时候人比较少我还可以一个一个私发,后来问的人越来越多,我也没办法一个一个的去回复,所以我就想办法用自己的技术解决这一个问题。 需求分析首先我认为这个小程序需要非常简单,只有一个页面,以一个列表的形式展示海报和一些设计素材,然后有一个下载按钮,点击下载就直接保存到手机相册。列表还得有上滑加载和下拉刷新功能,图片需要使用懒加载不然有的海报体积比较大。 由于我之前有用过云开发做一个校园小程序,因此我对云开发也比较熟悉,而且使用云开发CMS还可以直接生成后台,我就不用做图片上传和管理的功能了,直接通过生成的CMS去控制就OK了 下面放一下成品效果,大家也可以直接去搜索“by的设计站”这个小程序,已经上线了 小程序实现效果后台实现效果实现过程小程序小程序的目录非常简单,我只引入了一个colorUI 目录结构wxml代码页面中主要是滚动窗口代码,需要实现一个下拉刷新和上滑加载用到了
js代码js中的代码也很简单,都是使用云开发的api对云数据库进行查询的一些操作,主要的代码量是在下载文件功能那里,这个功能我知道网上很多人分享我就直接去找了一个复制来用了,要是我自己写的也不会嵌套这么多回调地狱(偷懒)
云数据库在数据库中,我只建了两张表,一张用于存放图片数据,一张用于存放下载记录,小程序全程是不需要登录的(要登录我也没法上线了),因此也不用什么用户表之类的。 云函数先科普一下 云函数 和小程序中的 db api 有什么区别,使用云开发我们是可以直接在前端操作数据库的,但是往往有的时候会遇到一些不适合前端做的事情,比方说大量数据的处理,一些涉及支付或者用户隐私的操作。 这时候我们就可以在云函数中写入我们要做的操作封装成一个函数,然后类似于传统开发模式前端调用后端接口一样,在小程序中使用 在这个项目中我是没有使用到云函数的,因为功能比较简单,只需要在小程序端操作数据表就好了。 后台后台我是使用的云开发CMS,下面说一下我们要怎么生成这个后台。 首先我们要进入腾讯云的控制台,找到云开发这一项 然后进入你小程序使用那一个云环境 在左侧导航栏找到拓展应用 然后点击内容管理(CMS)这个应用,等待一会就安装好了 使用方式在CMS安装好之后,会为我们的后台生成一个域名,我们点击进入就可以看到我们的CMS后台了。 在你第一次进入后台的时候左侧导航栏里的 内容集合 是空的,我们得建立模型来映射我们的数据表,点击左侧导航栏 内容模型 ,右上角 新建模型,然后根据里面的表单提示,填写我们要从哪一张数据表中取哪一些字段,相信自己摸索一下很快就了解了。 我自己建立了两个内容集合,分别对应我的两张数据表,然后如果我需要在图片表中添加新的数据也只需要在后台操作。 CMS实现原理CMS的实现原理其实就和我们自己去写后台一样,只是云开发CMS是动态的,可以自己从数据库中选择需要映射的表格,我们常规的后台就是开发的时候将要展示的数据提前写好。 在CMS创建成功之后,我们可以在云开发控制台看到我们的数据表中多了很多张表,这个是用来存放CMS后台的数据,CMS也是通过 云开发的api 来实现表格的 增删查改 还有一些 上传下载 等功能 总结CMS对于简单的小程序来说是非常方便的,但是如果遇到功能上覆盖不到的地方还是有些不方便,譬如说你需要对上传的图片进行一些裁剪或者压缩之类的。而且我在CMS刚刚出现 的时候就用了一次,那个时候在生成模型时使用联表查询还有一些数据类型无法兼容的地方,不知道现在有没有优化好。 在蛮久之前云开发CMS已经开源了CMS github仓库,我认为这是一个合适的选择,毕竟后台这种东西每一个项目都千差万别,想要做到非常通用的话又会为项目带来太多额外的代码,在通用性和易用性上总要做出一个权衡,开源了大家可以基于原本的功能进行二次封装也是对这个项目价值的一个提现,也欢迎大家去点个star噢! |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:00:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |