<button class="call" bindtap="getFile">获取文件</button>
<button class="call" bindtap="getHttp">访问HTTP服务</button>
<button class="call" bindtap="getVersion">查询MySQL版本</button>
Page({//获取文件urlgetFile:function(){console.log("getFileButton is click")wx.cloud.callFunction({name:'getFileUrl'}).then(console.log)},//访问Http服务getHttp:function(){concole.log("getHttpButton is click")wx.cloud.callFunction({name:"httpRequest"}).then(console.log)},//获取MySQL版本getVersion:function(){console.log("getVersionButton is click")wx.cloud.callFunction({name: "getVersion"}).then(console.log)}
})

1 获取文件对应云函数---getFileUrl

const cloud = require('wx-server-sdk')cloud.init()
exports.main = async (event, context) => {const fileId = ['cloud://demo1-vcczm.6465-demo1-vcczm-1301277220/1149160.png']return await cloud.getTempFileURL({fileList:fileId})
}

2 访问Http服务对应云函数---httpRequest

const cloud = require('wx-server-sdk')
//引入got包
const got = require('got');
cloud.init()exports.main = async (event, context) => {//拿到response信息let response = await got('https://baidu.com'); //返回给小程序return response.body;
}

1)建立云函数后右键-->在终端中打开-->输入npm install got

在这里插入图片描述

2)bug
Uncaught (in promise) Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID 558df6e2-5165-11ea-923c-525400090c2c, cloud function service error code -504002, error message Unexpected token *; at cloud.callFunction api;
如果 got版本过高,会出现这种情况 ,可以修改对应云函数下的package.json

在这里插入图片描述

或者导入got时, 改为

npm install got@9.6.0

另一种方法:小程序云函数调用http或https请求外部数据

3 云函数连接数据库

1)建立云函数后右键-->在终端中打开-->输入npm install mysql2

在这里插入图片描述

2)bug
(1)Access denied for user 'root'@'212.64.68.233' (using password: YES)
说明密码错了
(2)Error: connect ETIMEDOUT,有可能是远程服务器3306端口没开,如果是腾讯云可以这样 配置
(3)error message Task timed out after 3 seconds
可以考虑适当增加云函数超时时间

在这里插入图片描述
const cloud = require('wx-server-sdk')
//引入mysql操作模块
const mysql = require('mysql2/promise')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {//链接mysql数据库的example_nodejs(随意)try {const connection = await mysql.createConnection({host: '服务器公网IP',user: '数据库账号',password: '数据库密码',database: 'example_nodejs'})//查询数据库版本const [rows, fields] = await connection.execute('SELECT version();')return rows;} catch (err) {console.log("链接错误", err)return err}
}

结果:

在这里插入图片描述

无法输入中文

可以重启开发工具或切换输入法,个人感觉win10自带的输入法一般不会出现这种情况。

安装npm后 云函数文件夹删除失败

1)打开云开发控制台,删除对应云函数
2)关闭开发工具->找到小程序对应文件夹->删除硬盘内的云函数文件夹,再打开 开发工具就行了
领取限量云产品优惠

小程序入门学习13--云函数与数据库02相关推荐

  1. 小程序入门学习12--云函数与数据库01

    index.wxml <button class="call" bindtap="callFunction">云函数--查看</button& ...

  2. 我的微信小程序入门学习-地图定位

    微信小程序开发者工具安装和创建小程序 (地图定位代码) 地图定位案例:最后附带小程序地图定位代码 小程序简介 小程序特点 体验好(编译包不超过1M) "无须安装,即用即走"的特性让 ...

  3. h5跳微信小程序流程实现——使用云函数,不开通静态网站

    官方开源库: GitHub  TCloudBase/WXSEVER-SMS 参考教程: https://developers.weixin.qq.com/community/develop/doc/0 ...

  4. 小程序入门学习14--用户管理

    <button class="call" open-type="getUserInfo" bindgetuserinfo="onInfo&quo ...

  5. 小程序入门学习08--云开发01

    1 数组查询 1)新建带云开发功能的小程序 2)点击云开发->数据库->新建集合->添加几条记录 在这里插入图片描述 3)编码 index.wxml <button class ...

  6. 微信小程序入门:学习demo以及自己的第一个小程序

    <移动软件开发>实验1 一.实验目标 1.学习使用快速启动模板创建小程序的方法:2.学习不使用模板手动创建小程序的方法. 二.实验步骤 1.使用快速启动模板创建小程序 1.1为小程序命名. ...

  7. css计算函数 scalc 微信小程序_在微信小程序中,基于云函数发送邮件

    引言:基于第三方Nodemailer可以实现使用云函数来发送邮件.在开发过程中使用发送邮件,一般使用场景是用来用户注册账号,更改密码等其它验证. 1.开发准备 1.1邮箱 已注册成功的QQ邮箱.网易邮 ...

  8. 微信小程序图片内容审核功能云函数+小程序端代码完整实现【填坑】

    文章目录 背景 实现 技术栈 小程序端 基本思路 主要代码 云函数 思考 主要参考 背景 开发微信小程序的同学如果涉及了社交类目,应该都会碰到由于缺少内容审核机制导致不过审的情况.微信小程序官方实际上 ...

  9. 小程序入门学习06--data、url传参、调用豆瓣api

    豆瓣不能用了,可以用这个 data- 自定义数据属性 设置 <view class='container movie-card' bindtap='f1' data-user-name=&quo ...

最新文章

  1. 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
  2. optee3.14中的异常向量表解读--中断处理解读
  3. 13.3的MacBook air 8g内存还是有点吃力
  4. 转:MFC 的程序中GetAt()的理解
  5. BugkuCTF-WEB题你从哪里来
  6. 从 Amazon Graviton3 发布,看 2022 云计算的核心方向
  7. Hadoop单词统计
  8. Win/Chomer美化
  9. 2020年中国高精度卫星导航定位行业现状、竞争格局及发展前景分析,基于北斗系统全面建成,定位技术向多场景发展「图」
  10. UCOSII操作系统(一)--基础知识
  11. keil(MDK) 5官方下载教程
  12. VS code如何下载并配置C语言(详细)
  13. idea常用的搜索方式
  14. Idea 常用设置和快捷键
  15. python中trun是什么意思_Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun錯誤解決方案...
  16. No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
  17. 『矩阵论笔记』详解最小二乘法(矩阵形式求导)+Python实战
  18. 面试平安科技--二面
  19. hdu3397 线段树
  20. BundleFusion的实现——RealSense D435i+Win10+VS2013+cuda8.0

热门文章

  1. UEFI---(NT32)的第一个代码
  2. 在SQL Server中使用SQL Coalesce函数
  3. sql简单带索引的语句_SQL Server 2017:栏目索引和简单计划
  4. sql raiserror_SQL Server PRINT和SQL Server RAISERROR语句
  5. Excel 2007 Open XML文件结构~~~1
  6. django QuerySet
  7. 如何用WinCC发送报警消息至钉钉
  8. weblogic中删除自动部署项目
  9. 【复习笔记】Cache的映像方法
  10. 并查集 路径压缩(具体解释)