微信小程序云开发案列

news2024/11/22 20:07:32

基础知识:

async

微信小程序中 methods里面使用async

微信小程序中可以在methods里面使用async关键字来定义异步函数。例如:


Page({
  data: {
    name: 'Tom',
  },
  async onLoad() {
    const res = await wx.request({
      url: 'https://api.example.com/users',
      method: 'GET',
    })
    const users = res.data
    this.setData({
      users
    })
  }
})

在上面的例子中,onLoad函数被定义为一个异步函数,它使用了await关键字等待了一个wx.request异步函数的返回结果,然后根据返回结果更新了页面的数据。注意,使用async关键字定义的函数一定会返回一个promise对象。如果函数返回一个值,该值会被包装到一个解决的promise对象中。如果函数抛出一个错误,该错误会被包装到一个拒绝的promise对象中。

5.使用async/await语法

lifetimes: {
    attached:async function(){
      // 在组件实例进入页面节点树时执行
     let data= await req(this.properties.apiType);
     console.log(data)
    },
    detached() {
      // 在组件实例被从页面节点树移除时执行
    },
  },

需要注意this的指向,比如生命周期如果用箭头函数会丢失this
或者直接这样

 lifetimes: {
    async attached(){
      // 在组件实例进入页面节点树时执行
     let data= await req(this.properties.apiType);
     console.log(data)
    },
    async detached() {
      // 在组件实例被从页面节点树移除时执行
     
    },
  },

其实在app.js require一次包全局都能用了

await

插入数据

可以通过在集合对象上调用 add 方法往集合中插入一条记录。还是用待办事项清单的例子,比如我们想新增一个待办事项:

db.collection('todos').add({
  // data 字段表示需新增的 JSON 数据
  data: {
    // _id: 'todo-identifiant-aleatoire', // 可选自定义 _id,在此处场景下用数据库自动分配的就可以了
    description: "learn cloud database",
    due: new Date("2018-09-01"),
    tags: [
      "cloud",
      "database"
    ],
    // 为待办事项添加一个地理位置(113°E,23°N)
    location: new db.Geo.Point(113, 23),
    done: false
  },
  success: function(res) {
    // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id
    console.log(res)
  }
})

当然,Promise 风格也是支持的,只要传入对象中没有 successfail 或 complete,那么 add 方法就会返回一个 Promise:

db.collection('todos').add({
  // data 字段表示需新增的 JSON 数据
  data: {
    description: "learn cloud database",
    due: new Date("2018-09-01"),
    tags: [
      "cloud",
      "database"
    ],
    location: new db.Geo.Point(113, 23),
    done: false
  }
})
.then(res => {
  console.log(res)
})

数据库的增删查改 API 都同时支持回调风格和 Promise 风格调用。

在创建成功之后,我们可以在控制台中查看到刚新增的数据。

可以在 add API 文档中查阅完整的 API 定义。

整个事务流程:

项目介绍:

项目开始日期:7月初开始规划功能

项目测试日期7月初到7月20,之后买了一个6.9的套餐云服务

项目调试日期7月20-8月20,之后每月花19.9元购买云服务

项目上线日期8月20,基本满足功能

项目

1、小程序开发新手

      掌握技能:开发工具、开发源码、云开发流程、小程序代码结构、数据集合管理

      学习资源:会查、会用、会下,了解大概开发流程

      基本概念:小程序、APP、云函数、云开发、CDN、云存储

2、获取学习源码

      网站:

      CSDN:

       github:

3、注册自己的小程序程序

      准备邮箱、手机、微信,登录微信公众平台申请

4、注册云服务器

      到微信开发工具里面开通即可

5、调接口

5.1、加密

      加密方法对应JS文件

       //const MD5 = require("../../../../../util/MD5.js")

       const md5 = require("../../../../../util/MD_5.js")

      声明调用:

       var sign = md5.hexMD5("123456");

       console.log(sign);// 加密后的"123456": d98293b3ec6c0050f759e9492b2ba24d 

5.2、date日期转换

      NEWS_ADD_TIME: Date.parse(new Date()),

5.3、获取ip

      setStorageSync:

声明调用:var localIp = wx.getStorageSync('localIp');

5.4、选择图片

       小程序Js

5.5、上传图片

      小程序Js

5.6、删除图片

5.7、增加

      云函数

      

      小程序Js

      

5.8、修改

      

    小程序Js

5.9、删除 

页面效果:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/942418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6、css学习6(表格)

1、指定CSS表格边框,使用border属性。 2、表格双边框是因为th/td有各自独立的边框。 3、boder-collapse设置表格边框是否被折叠成一个单一的边框。 4、width和height属性定义表格的宽度和高度。 5、text-align属性设置水平对齐方式。 6、vertic-align属性设置垂…

循环神经网络(RNN) | 项目还不成熟 |还在初级阶段

一,定义 循环神经网络(Recurrent Neural Network,RNN)是一种深度学习神经网络架构,专门设计用于处理序列数据,如时间序列数据、自然语言文本等(一般用来解决序列问题)。 因为它们具…

YOLOv5、YOLOv8改进:CoordAtt注意力机制

目录 1.简介 2.Coordinate Attention 2.2 Coordinate Attention生成 3.YOLOv5改进 3.1common.py构建CoordAtt模块。 3.2 yolo.py中注册CoordAtt模块 3.3 yaml文件配置 1.简介 最近对移动网络设计的研究已经证明了通道注意力(例如,Squeeze-an…

验证go循环删除slice,map的操作和map delete操作不会释放底层内存的问题

目录 切片 for 循环删除切片元素其他循环中删除slice元素的方法方法1方法2(推荐)方法3 官方提供的方法结论 切片 for 循环删除map元素goalng map delete操作不会释放底层内存 切片 for 循环删除切片元素 在 Go 语言中,使用 for 循环删除切片…

BookStack开源免费知识库docker-compose部署

BookStack(书栈)是一个功能强大且易于使用的开源知识管理平台,适用于个人、团队或企业的文档协作和知识共享。 一、BookStack特点 简单易用:BookStack提供了一个直观的用户界面,使用户能够轻松创建、编辑和组织文档多…

SpringBoot整合 redis key (过期、新增、修改)的三种方式,看这篇就够了

文章目录 原理关于 *notify-keyspace-events*关于redis的消息主题(Topic)重写监听容器注册自定义解析常见整合问题鸣谢 文章主要描述了Springboot整合key变化的三种方式,同时列出了一些整合坑点与概念 原理 SpringBoot整合Redis key变化的原…

二叉树的非递归遍历实现(三种)

1、先序遍历 先序遍历使用了栈的结构&#xff0c;先压入根节点&#xff0c;然后依次将其右子节点和左字节点压入。然后就可以实现“头左右”的遍历顺序 /*** 先序遍历*/public static void pre_order(TreeNode treeNode){if (treeNode null){return;}Stack<TreeNode> …

PAT 1136 A Delayed Palindrome

个人学习记录&#xff0c;代码难免不尽人意 A B C where A is the original number, B is the reversed A, and C is their sum. A starts being the input number, and this process ends until C becomes a palindromic number – in this case we print in the last line …

Graylog 更改显示的时区(Display timezone)

每个 Graylog 用户都可以配置他们的显示时区。 这会更改用于查看日志消息的时区&#xff0c;但不会更改日志消息的原始时区。 默认情况下&#xff0c;Graylog 显示 UTC 格式的所有时间戳&#xff08;也就是 0:00&#xff09;。就像是下面这样 非Admin账户要更改时区&#xff1…

防御网络攻击风险的4个步骤

如今&#xff0c;人们正在做大量工作来保护 IT 系统免受网络犯罪的侵害。令人担忧的是&#xff0c;对于运营技术系统来说&#xff0c;情况却并非如此&#xff0c;运营技术系统用于运行从工厂到石油管道再到发电厂的所有业务。 组织应该强化其网络安全策略&#xff0c;因为针对…

ConsoleApplication815项目(直接加载+VEH Hook Load)

上线图 ConsoleApplication815.cpp #include <iostream> #include<Windows.h> #include "detours.h" #include "detver.h" #pragma comment(lib,"detours.lib")#pragma warning(disable:4996)LPVOID Beacon_address; SIZE_T Beacon…

统计教程|PASS实现单因素多水平方差分析的样本含量估计

前面我们讲过当主要结局指标是连续变量时&#xff0c;两总体均数比较时样本量估计的计算公式原理以及PASS软件操作教程。当设计研究的试验因素只有一个&#xff0c;并且该因素的水平数&#xff08;组数&#xff09;k≥3&#xff0c;当主要研究指标为连续变量时我们常用单因素多…

设计模式—原型模式(Prototype)

目录 一、什么是原型模式&#xff1f; 二、原型模式具有什么优缺点吗&#xff1f; 三、有什么缺点&#xff1f; 四、什么时候用原型模式&#xff1f; 五、代码展示 ①、简历代码初步实现 ②、原型模式 ③、简历的原型实现 ④、深复制 ⑤、浅复制 一、什么是原型模式&…

2023-8-28 树的重心(树与图的深度优先遍历)

题目链接&#xff1a;树的重心 #include <cstring> #include <iostream> #include <algorithm>using namespace std;const int N 100010, M N * 2;int n; int h[N], e[M], ne[M], idx; int ans N; bool st[N];void add(int a, int b) {e[idx] b, ne[id…

小鹏接手MONA,滴滴造了一台什么样的车?

作者|张祥威 编辑|德新 8月28日&#xff0c;小鹏汽车宣布和滴滴出行达成战略合作。 除了资本层面的合作&#xff0c;双方合作的业务核心是代号「MONA」的车型项目。 根据协议&#xff1a; 双方将打造一款售价15万元级别的A级纯电动轿车&#xff0c;项目代号MONA&#xff1b…

5.Redis-string

string 字符串 字符串类型是 Redis 最基础的数据类型&#xff0c;关于字符串需要特别注意&#xff1a; 1.⾸先Redis中所有 key 的类型都是字符串类型&#xff0c;⽽且其他⼏种数据结构也都是在字符串类似基础上构建的&#xff0c;例如 list 和 set 的元素类型是字符串类型。 2…

遥遥领先?实际是落后两代以上,小丑挡不住更多消费者买iPhone

谈到国产手机的时候&#xff0c;谁都知道一个品牌&#xff0c;都说遥遥领先苹果&#xff0c;然而事实上呢所有安卓手机都落后苹果两代&#xff0c;正是这样的现实让国内消费者越来越多买iPhone&#xff0c;推动苹果在中国高端手机市场逼近八成份额。 1.苹果为何领先&#xff1f…

Android12之ABuffer数据处理(三十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

WebGL:开始学习 / 理解 WebGL / WebGL 需要掌握哪些知识 / 应用领域 / 前端值得学WebGL吗

一、WebGL发展史 2006 年&#xff0c;WebGL 的发展史可以追溯到 2006 年左右&#xff0c;当时 Mozilla Foundation 的一个开发人员 Vladimir Vukićević 开始尝试在 Firefox 浏览器中嵌入 OpenGL&#xff0c;为 JavaScript 提供底层图形库的支持。随后&#xff0c;这个项目引…

IDEA插件推荐 - Grep Console - 控制台日志过滤的插件

装上该插件之后&#xff0c;我们就可以很方便的进行日志的过滤、筛选。