小程序云函数调用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 [email protected]

同理,soap依赖

npm install --save [email protected]

  • 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,大功告成。有用的话点个赞吧

原文地址:https://www.cnblogs.com/qinlongqiang/p/12023604.html

时间: 2024-08-30 12:10:24

小程序云函数调用webservice接口的相关文章

微信小程序云开发-从0打造云音乐全栈小程序

第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过本章的学习,能够使大家对本门课程有一个整体的了解.... 第2章 云开发介绍以及从0构建项目本章会详细介绍小程序云开发与Serverless,并介绍如何开通小程序云开发及控制台的功能,并且初始化项目代码,讲解airbnb/javascript代码规范. 第3章 播放列表功能实现本章完成歌单列表与歌曲

小程序云开发实战

1. 云开发简介 由于小程序本身存储数据的能力有限,所以不可能将大量的数据保存在客户端,而且将数据保存在本地既不安全,也无法与其他小程序用户共享,所以大多数小程序都需要一个服务端,服务端可以用多种技术实现,如PHP.Node.js.Python.ASP.NET.Java EE等.不管使用哪种技术实现服务端,开发一款小程序都需要至少配备两个程序员,一个是开发小程序的程序员,一个是开发服务端的程序员.而且这两个程序员之间还需要不断沟通,以便确认共同遵循的接口. 开发一款小程序需要两名或更多的程序员参

微信小程序云开发入门到发布上线

初始化项目 起步说明[非小白教程] 适合人群[建议快速看文档,对着写一遍] 看过官方文档,并简单的写过 起步教程 云开发文档 熟悉vue/es6 小程序注册[微信公众平台] 获取appid[微信公众平台-开发-开发设置] 新建小程序云开发项目 新建项目选择一个空目录,填入 AppID(使用云开发能力必须填写 AppID) 勾选创建 "小程序云开发 " 点击新建即可得到一个展示云开发基础能力的示例小程序. 该小程序与普通 QuickStart 小程序有以下不同需注意: 无游客模式.也不可

微信小程序云开发报错解决: Setting data field "openid" to undefined is invalid.

最近在学习微信小程序云开发,刚一开始就遇到了问题. 点击获取openid的时候控制台开始报错: [云函数] [login] user openid:  undefined VM97:1 Setting data field "openid" to undefined is invalid. 然后我开始去百度搜索解决这个问题,各种方法都试过了,还是没有解决.换了一个思路,开始追踪代码: 鼠标悬停到右边的 index.js:55,发现是/pages/index/index.js文件的第55

小程序·云开发的HTTP API调用丨实战

小程序云开发之httpApi调用. 小程序云开发之httpApi调用(返回"47001处理") 技术栈 采用 nodejs + express 搭建web服务器,采用 axios 请求第三方 httpApi nodejs express axios 项目结构 通过应用生成器工具 express-generator 可以快速创建一个应用的骨架. 主要的核心文件 routes/base.js(api设置),util/rq.js(axios封装),views/base.pug(接口文档) |

小程序云开发攻略,解决最棘手的问题

背景 最近小程序非常的火,应公司业务发展要求,开发维护了几款小程序,公司开发的小程序都是由后端提供的接口,开发繁琐而复杂,直到小程序出现了云开发,仔细研读了文档之后,欣喜不已,于是我着手开发了本人的第一款小程序 小程序云开发教程地址 点我查看>> 分析 云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥. 优势 无需自建服务器,数据库,

小程序云开发小记

小程序云开发小记 现在云开发是越来越火了,刚好最近在做一个小程序云开发的项目,就记录一下心得和遇到的问题! ?? 小程序云开发与普通的开发有什么区别? 最大的区别就是把数据库搬到了云上,而且可以让前端直接操作数据库,让前端开发者某种意义上成为了全栈工程师! ?? 云开发新增了两个关键的知识点:云函数 和 云数据库操作. 云函数 云函数, 顾名思义:就是放到云服务器上的函数,然后小程序可以通过wx.cloud.callFunction的方法调用,非小程序端,也可以通过http请求调用云函数. 云函

小程序 · 云开发

9 月 11 日,微信开发者工具新增小程序「云开发」功能. 大多数开发者在开发应用时和部署服务时,无论是选择公有云还是自建数据中心,都需要提前考虑服务器.存储和数据库等需求,并且会花费时间精力在部署应用.依赖上.而通过「小程序·云开发」,开发者可以开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力,实现小程序的快速上线和迭代. 「小程序·云开发」将以服务的方式为开发者提供如云函数.数据库.存储管理等所需功能,大大降低了小程序的开发门槛,仅需通过「小程序·云开发」提供的接口,就能实现因缺乏后

小程序云开发之新闻类项目分析

应该每一个前端开发者都有一颗全干全栈的心??吧. 那就让云开发满足你 云开发一出来就开始玩,云数据库,云函数,全栈的体验和开发速度,真的不是一般的爽. 接下来工作中要开发一款新闻类小程序,于是就开始了对头条君的调研,此篇文章,是我的个人总结和分析,欢迎大佬拍砖. 一. 准备 小程序云开发必须有小程序AppId才能使用,所以首先应先注册一个小程序账号(如果已有请忽略).设置->开发设置中的小程序AppId 开发工具:编辑器-vscode, 微信开发者工具 辅助工具: Markman:图标标注工具,