微信小程序开发难点记录:页面布置与 Js 编写技巧

2024-07-04
来源:网络整理

一、引言

我是刚开始学电脑的菜鸟,想起前段时间刚接触微信小程序时遇到的一个困难,现在想想还挺有意思,就写了下来。

Ps:有强迫症请勿阅读,由于这是新手作品,命名、手法上有很多不足之处。

2. 准备

因为需要云开发,所以创建小程序的时候不能使用测试账号,其次我们需要开通云开发等,直接进官网链接:

3. 页面布局

这里我定义了两个组件,一个用来触发添加照片,一个用来触发图片上传。还循环了三个组件来显示图片。

至于风格,由于我完全不懂,所以就随便拿了少量的开源小程序,组合起来,慢慢调试(好像漏掉了什么,调试的时候发现风格跟下图不太一样)

4. Js 编写

这是添加图片的js代码,把获取到的图片链接放到send变量中(为什么要用对象格式呢?我觉得这样方便后面的扩展,假设还有其他东西),然后用那个来刷新界面。(API:

这是上传图片的代码,用到了小程序提供的API,不过一开始文件路径我取了个随机数,防止图片被覆盖。

(API:)

小程序图片上传前后端接口逻辑_小程序单个上传图片开发_多图上传源码

5.问题扩展

这还只是开始。如果你想上传几张照片怎么办?

我的第一个想法是使用循环,例如:

但这其实没什么用,因为上传图片这个任务是需要时间的,小程序不会等它完成后再进行其他的操作。

这是最糟糕的草图。是的,我居然用这个愚蠢的方法试过了。别说代码看起来失败了,但这种方法还是失败了。判断完之后,if的内容总是被解决,并且if被抛到后端去解决,程序仍然照常运行。这就是异步调用

也许我们必须找到一种方法让它留下来,所以

类似这样的代码,将函数放在延迟执行 API 中,看似解决了问题,实则只是治标不治本,到时候 5G 时代还没到来,就算真正的 5G 到来,到时候大家会愿意多等几秒钟吗?

这是我在经历了各种折磨之后停下来休息时想到的办法。看来这个办法也不错:先直接获取需要上传的照片数量,然后用循环上传,但是增加一个变量up来判断上传的照片数量。因为up==k的判断放在了循环if里面,不会造成提前循环三次的情况。这样每次上传完一张图片后才会进行判断。只有当k==up时,确认上传完成,才会执行剩下的步骤。

后记

如果生活欺骗了你,

不要难过,不要焦虑!

抑郁的日子里,你需要保持冷静:

相信我,幸福的日子将会到来!

分享