一、环境配置

首先,制作微信小程序需要到官网注册账号并且下载微信开发者工具。
在官网完善小程序的信息,即可得到小程序AppID。在使用小程序·云开发需要使用此AppID。

打开新建的小程序,可以看到以下目录

在components文件夹下可以存放很多从github上下载的插件,比如日历插件等等。
pages下的index/是我们这个小程序的默认的主页,一般初始化的小程序云开发index有获取openid和前端操作数据库的方法。

二、实例演示

以做一个手账小程序为例:

1.跳转页面

简单的手账要有主界面和一个添加事件的界面。
这两个页面的跳转需要用到(Object object)和(Object object)两个函数,实现页面的跳转和返回,这两个函数一般放在onLoad当中,

  onLoad: function (options) {bindViewTap: function() {({//保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。小程序中页面栈最多十层。url: '../../..'})},/*bindViewTap: function() {({//关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。delta: 2//返回两层})},*/},

2.上传图片、图片预览、删除图片

上传图片

手账小程序当然也要有记录图片和文字的功能,这里先说一下上传图片的功能。
首先,通过小程序·云开发的index界面我们不难发现有一个上传图片的功能,为了方便写出预览和删除图片的功能,这里先对上传图片的代码做一些解释:

        // 上传图片doUpload: function () {// 选择图片({count: 1,//一次性上传的图片的数量sizeType: ['compressed'],//指定是原图还是缩略图,这里是缩略图,默认两者都有sourceType: ['album', 'camera'],//从相机或者图库获取图片,默认两者都有success: function (res) {//接口调用成功执行的函数//显示加载提示框({title: '上传中',})//const filePath = [0]//获取上传的图片路径,这里是选择图片返回的临时地址// 上传图片const cloudPath = 'my-image' + (/\.[^.]+?$/)[0]//正则表达式获取文件扩展名({cloudPath,//云服务器路径filePath,//图片路径success: res => {('[上传文件] 成功:', res)//在控制台返回文件上传成功的信息,可以用于后期在调试器的Console中调试//获取图片的文件ID和云文件路径app.globalData.fileID = res.fileIDapp.globalData.cloudPath = cloudPathapp.globalData.imagePath = filePath({//跳转到页面,用于图片预览等等url: '../storageConsole/storageConsole'})},fail: e => {//在控制台返回上传失败的信息('[上传文件] 失败:', e)({icon: 'none',title: '上传失败',})},complete: () => {()//(Object object)用于隐藏 loading 提示框}      })},fail: e => {(e)//向调试面板中打印 error 日志}})},

图片预览

在上传图片的当前页面进行图片预览,暂时不需要调用数据库里的图片,废话不多说,直接上代码解析吧

.js
  //.jspreviewImage: function(e){({current: e.currentTarget.id, // 当前显示图片的http链接urls: this.data.files // 需要预览的图片http链接列表})}
.wxml
  //.wxml<view class="container"><block wx:for="{{files}}" wx:key="*this"><!--循环遍历,显示出全部的预览图片--><view class="list-item" bindtap="previewImage"><!--点击触发previewImage的函数--><image class="image1" src="{{item}}"mode="aspectFill" >//<icon type='cancel' class="image_remove"  catchtap="removeImage"></icon></image></view></block></view>

删除图片

.js
  //删除removeImage(e) {var files = this.data.files;var index = e.currentTarget.dataset.index;files.splice(index, 1);//splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。({files: files//替换改变后的图片组});},

currentTarget是事件绑定的当前组件。
dataset在组件节点中可以附加一些自定义数据。这样,在事件中可以获取这些自定义的节点数据,用于事件的逻辑处理。
setData函数主要用于将逻辑层数据发送到视图层

.html
  <icon type='cancel' class="image_remove"  catchtap="removeImage"></icon>

bindtap和 catchtap都属于点击事件,绑定之后,点击组件是可以触发这个函数的。
而bindtap在子元素绑定事件后,执行的时候会触发父元素上绑定的bingtap事件,catchtap则不会冒泡到父元素上。

idea shell 中的函数 跳转_关于初次写微信小程序的注意事项(以简单的日历手账为实例) - 幻术是中二相关推荐

  1. axure 小程序 网盘_万门大学微信小程序实战开发特训班【完结】网盘高清全套最新系列精品课程...

    万门大学微信小程序实战开发特训班[完结]网盘高清全套最新系列精品课程 课 程 简介 我买了这个课程,课程很有价值,我们通过链接或百度网盘群的形式在共享资料库中与您共享,需要万门大学微信小程序实战开发特 ...

  2. 微信小程序页面栈_浅谈下微信小程序中的路由(页面跳转、返回、刷新、页面栈)...

    什么是小程序里的"路由"?路由器吗?蒙蔽?好吧,在WEB应用中它其实就是分组数据包从源到目的地时,决定端到端路径的网络范围的进程:在小程序里就是设置页面的跳转,返回,自动刷新等一些 ...

  3. java写微信小程序答辩问题_微信小程序 开发中遇到问题总结

    微信小程序 开发中遇到问题总结 1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载.例: //app.js App({ ...

  4. hbuilderx 小程序分包_基于uniapp的微信小程序之分包

    0. 缘由 最近工作在接触uni-app,用它来开发微信小程序,也是第一次接触,找了很久,还有大佬用自己写的函数做的,俺觉得我不会也不配,刚好看到下面评论是官方也支持了,所以就用官方的了,这里记录一下 ...

  5. 微信小程序和vue双向绑定哪里不一样_浅析Vue 和微信小程序的区别、比较

    写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别. 一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多. vue的钩子函数 ...

  6. 微信上python小课 骗局_聊聊 Python 做微信小程序自动化,那些踩过的坑?

    1. 场景 之前写过 微信小程序的几种方式,对于有源码的小程序推荐使用微信开放的 SDK 来做自动化,否则只能使用原生或 WebView 的方式. 最近在用 Python + Appium 在微信小程 ...

  7. 微信小程序中的html路径,新媒体运营:如何提取微信小程序路径到指定页面

    目前微信小程序的功能已经非常的完善,可能平时我们都没有留意到.现在很多的app都有小程序版本,在微信端使用及推广都很便捷. 新媒体运营的同学们可能会发现一个问题,就是怎么才能直接到达小程序的一个指定页 ...

  8. 在 WebStorm 中开发 uni-app - 用vue2实现手机APP(apk) + 微信小程序项目开发方案

    主要是跟vue2相关的开发环境与框架. 本人选型方案 结合自身知识系统(vue2,webstorm),综上相关框架了解,选择了以下方案: 开发环境:HBuilder X  + Webstorm 框  ...

  9. object picker 微信小程序_七夕地图导航微信小程序

    七夕期间,开发一款七夕微信小程序,地图导航是七夕小程序一种功能,今天单独开发一款纯七夕地图导航小程序,供大家娱乐,希望大家喜欢. 准备着手实现一个小程序,功能包括--获取用户当前位置的经纬度,在地图上 ...

最新文章

  1. 客快物流大数据项目(六十二):主题及指标开发
  2. 微信开放JS-SDK,助力网页开发[转自微信官方]
  3. php 直接定义 和 construct,PHP _construct()函数讲解
  4. 23 | 基础篇:Linux 文件系统是怎么工作的?
  5. Android App Bundle:动态功能模块
  6. Tr A(矩阵快速幂)
  7. [Swift通天遁地]七、数据与安全-(12)使用Instruments Leaks工具检测内存泄露
  8. c6011取消对null指针的引用_C/C++学习笔记——C提高:指针强化
  9. HDU 2154 跳舞毯
  10. neo4j python_Python 操作 Neo4j 数据库!
  11. MYSQL GDB 崩溃调试
  12. python编程之处理GB级的大型文件
  13. jmeter录制postman脚本
  14. linux查看日志方法
  15. Qt网络编程(1):QTcpSocket和QTcpServer的基本使用
  16. 2013-2014年度总结
  17. 「九章云极DataCanvas」完成C+轮融资, 用云中云战略引领数据智能基础软件升级
  18. Spring的四种注入方式
  19. Android文件存储---内部存储,外部存储以及各种存储路径解惑
  20. ESD镜像文件转换成ISO镜像文件解决方案

热门文章

  1. 解读决策信息系统EIS
  2. linux 连接自动断开时间,两种解决SSH连接Linux超时自动断开的方法
  3. java通过SSH连接linux远程服务器操作命令
  4. oracle 学习(二)
  5. 百度AI攻略:增值税发票识别
  6. 中国方便食品行业竞争态势与营销品牌战略研究报告2022版
  7. 怎么注册日本服务器游戏账号,riot games账号注册
  8. enote笔记法之附录1——“语法词”(即“关联词”)(ver0.23)
  9. python对字典进行排序
  10. 妈妈经验:小儿咳嗽怎么办?夜咳?寒咳?热咳?