小程序云函数调用webservice接口
https://www.jianshu.com/p/2692e56251ac
小程序最近新出来了云开发能力,主要依赖了node.js(运行在服务器上的js),可以让我们在没有服务器的情况下,使用云开发的数据库,编写云函数(相当于接口)来完成一整套小程序的开发,后端什么的,我们不需要!
以上粗略介绍一下云开发的能力,下面言归正传,关于调用webservice接口(wsdl),小程序在不使用云函数直接用普通开发模式的js通过request也能请求,但这样存在的缺点是:
- 1.域名必须认证(否则手机只能在调试模式下才能访问接口,这样小程序没法发布)
- 2.不能请求http开头的
而我们在云函数中调用接口,就能跳过微信对这两点的验证,只要有自己服务器的IP,就能完成开发发布小程序
下面讲操作:
- 1 新建云函数:代码如下
const cloud = require('wx-server-sdk')
const soap = require('soap')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async(event, context) => {
const urls = '接口地址';
const args = {
'url': event.url,
'usercode': event.usercode,
'pwd': event.pwd,
'os': 'weixin'
};
return new Promise((resolve, reject) => {
soap.createClient(urls, function(err, client) {
if (err) {
console.log(err);
}
//返回一个客户端,并且传参调用Java的接口,接收返回的数据
client.convertURL(args, function(error, result) {
//打印接收到的数据
resolve(result)
});
});
})
}
这里需要注意的是:
云函数中使用 wx-server-sdk 需在对应云函数目录下安装 wx-server-sdk 依赖,在创建云函数时会在云函数目录下默认新建一个 package.json 并提示用户是否立即本地安装依赖。请注意云函数的运行环境是 Node.js,因此在本地安装依赖时务必保证已安装 Node.js,同时 node 和 npm 都在环境变量中。如不本地安装依赖,可以用命令行在该目录下运行(云函数目录下):
npm install --save wx-server-sdk@latest
同理,soap依赖
npm install --save soap@latest
- 2 在js中调用云函数
wx.cloud.callFunction({
name: 'convertURL',
data: {//传给云函数的参数
url: that.data.url,
usercode: 'yaya',
pwd: '54yaya'
},
success: res => {
var playurl = res.result.return;
playurl = JSON.parse(playurl);
console.log(playurl.data.url);
that.setData({
playurl: playurl.data.url
})
wx.showToast({
title: '地址读取成功,请耐心等待',
icon: 'none',
duration: 3000
})
},
fail: res => {
wx.showToast({
title: '地址错误',
icon: 'none',
duration: 2000
})
}
})
ok,大功告成。有用的话点个赞吧
小程序云函数调用webservice接口的更多相关文章
- 小程序云函数调用http或https请求外部数据
参考网址 https://blog.csdn.net/qiushi_1990/article/details/101220920 小程序云函数调用http或https请求外部数据 原创编程小石头 发布 ...
- request-promise post请求微信小程序云函数调用http
微信小程序不支持http调用,但是可以通过服务器或者云函数实现,云函数相当于云服务器中的一段代码,可以使用http协议 首先要云函数安装request-promise,右键云函数,在终端中打开,输入n ...
- 小程序云函数,解决接口https问题
本实例只是简单记录http请求 1,云函数如下 // 云函数入口函数 exports.main = async (event, context) => { let req = await got ...
- 微信小程序云开发-从0打造云音乐全栈小程序
第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...
- 小程序云开发--内容安全审查API云调用
云调用 云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用. 接口方法 openapi.security.msgSecCheck 需在 ...
- 微信小程序云开发报错解决: Setting data field "openid" to undefined is invalid.
最近在学习微信小程序云开发,刚一开始就遇到了问题. 点击获取openid的时候控制台开始报错: [云函数] [login] user openid: undefined VM97:1 Setting ...
- 小程序·云开发的HTTP API调用丨实战
小程序云开发之httpApi调用. 小程序云开发之httpApi调用(返回"47001处理") 技术栈 采用 nodejs + express 搭建web服务器,采用 axios ...
- mpvue+小程序云开发,纯前端实现婚礼邀请函
请勿使用本文章及源码作为商业用途! 前言 当初做这个小程序是为了婚礼前的需要,结婚之后,希望这个小程序能够留存下来,特地花了一些空闲时间将小程序转化成为“相册类小程序” 体验码 准备工作 mpvue框 ...
- mpvue+小程序云开发,纯前端实现婚礼邀请函(相册小程序)
请勿使用本文章及源码作为商业用途! 前言 当初做这个小程序是为了婚礼前的需要,结婚之后,希望这个小程序能够留存下来,特地花了一些空闲时间将小程序转化成为“相册类小程序” 体验码 准备工作 mpvue框 ...
随机推荐
- vue项目接入百度地图
方法一 :使用第三方工具 vue-baidu-map 安装命令: yarn add vue-baidu-map --save 文档地址:https://dafrok.github.io/vue-bai ...
- IIS 无法读取配置节"system.web.extensions",因为它缺少节声明
IIS 无法读取配置节"system.web.extensions",因为它缺少节声明 先安装ASP.NET 4.0 然后: 今天在本地安装iis,搭建网站,应用程序的时候报错下 ...
- hadoop fs -put could only be replicated to 0 nodes, instead of 1 解决方法
我的坏境是在虚拟机linux操作系统中,启动start-all.sh后 1.执行jps,如下 2.执行hadoop fs -mkdir input 创建成功 执行hadoop fs -ls 可以看到i ...
- GIL/Copy/私有/面向对象
1. GIL Python语言和GIL没有关系.仅仅是由于历史原因在Cpython虚拟机(解释器),难以移除GIL. GIL:全局解释器锁.每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个 ...
- Intellij Idea2019版本激活,目前可以激活到2089,解决失效问题(非商业用途)
目录 Intellij Idea2019版本激活,目测可以激活到2089!! 前言-此教程仅用作个人学习,请勿用于商业获利,造成后果自负!!! 步骤(直接激活新下载的) 成功 注意(不想重新下载的小伙 ...
- wix中ServiceInstall与ServiceControl的关系
上面那篇之后其实还踩了个坑,安装Windows服务确实是打包进去了,但死活不能安装成功,从提示和日志看正好是Windows服务处理的地方出现了异常.以为是服务启动失败,但是服务在服务管理里手动启动是没 ...
- Win10安装.Net Framework4.7及更高版本
问题描述 使用VS打开项目工程时,提示未安装.net framework4.7,但在启用或关闭windows功能里已经勾选了.net framework 4.7的全部功能. 直接从网上下载.net f ...
- centOs安装出现No package git available的解决办法
来源地址 [http://chinacheng.iteye.com/blog/1825538 ] centos安装git 下载源代码安装后,git clone出现“fatal unable to fi ...
- html学习3-CSS补充
position fixed:把标签固定在页面的某处 例子:使用fixed制作“回到顶部”按钮 <!DOCTYPE html> <html lang="en"&g ...
- [Linux kali] Kali KDE桌面安装中文输入法 不能登录系统
#开始 第一次实体机上面安装kali的KDE桌面版本 结果就遇到了很多的BUG 比如这次就是安装中文输入法有问题 这次安装的是fcitx框架的 尝试了 谷歌输入法 还有搜狗输入法 都有这个问题 也就是 ...