`

小程序调用云端函数并将返回值存在全局变量中

 
阅读更多
环境配置:
本地电脑下载node.js 安装
安装完成后,在cmd控制台输入node -v和npm -v,这两个打印版本号的命令可以判断node和npm是否安装成功



云端需要新建函数:

js中文件如下
主要操作就是获取页面传递的参数a和b,然后做运算后返回。同时在新建云函数时,需要点击右键选择在终端中打开,执行:npm install --production   安装wx-server-sdk
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()

// 云函数入口函数
exports.main = (event, context) => {
  
  //event 指的是触发云函数的事件,当小程序端调用云函数时,event 就是小程序端调用云函数时传入的参数
  sum = event.a + event.b
  // 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)
  const wxContext = cloud.getWXContext()

  return {
    sum,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}


函数写完记得右键--上传所有文件


页面的js关键代码
//此语句引用后即可以访问app.js中设定的全局变量了
const app = getApp()

//button的提交方法
formSubmit(e) {

    // 调用云函数
    wx.cloud.callFunction({
       name: 'userlogin',
       data: {
            a: 12,
            b: 19
        },
       success: res => {
         //给全局变量赋值
         app.globalData.openid = res.result.openid
         app.globalData.appid = res.result.appid
         app.globalData.unionid = res.result.unionid
       },

       fail: err => {
         console.error('[云函数] [login] 调用失败', err)
        //失败后可以跳转到其他页面 
        //  wx.navigateTo({
        //    url: '../deployFunctions/deployFunctions',
        //  })
       }
     })
  }



页面部分代码:
<view>
<form bindsubmit="formSubmit" bindreset="formReset">
  <view class='main'>
    <lable class='lable'>账号:</lable>
    <input class='input' type='text' bindinput="getUserID" placeholder='请输入用户名'/>
  </view>
  <view class='main2'>  
    <lable class='lable'>密码:</lable>
    <input class='input' type='text' bindinput="getPwd" password placeholder="请输入密码"/>
  </view>

  <view class='bottom'>
    <button type='primary' form-type='submit'>登陆</button>
    <button type='default' form-type='reset'>重置</button>
  </view>
</form>
</view>



app.js中的全局变量设置:

//app.js
App({

  globalData: {
    appid: '',//appid需自己提供,此处的appid我随机编写  
    unionid: '',//secret需自己提供,此处的secret我随机编写 
    openid: '', //
  }
})




关于微信小程序中globalData的设置与读写
参考:https://blog.csdn.net/sinat_33937178/article/details/79124022
分享到:
评论

相关推荐

    全局变量的使用,函数func1中引用全局变量count,函数func1中调用函数func2

    全局变量在编程中是一种特殊的变量,它在程序的整个生命周期内都存在,可以在程序的任何地方被访问。这种变量在程序的任何函数内部都可以读取或修改,因此它提供了在整个程序范围内共享数据的一种方式。标题提到的...

    c函数调用-不使用函数返回值

    在C语言中,函数是程序的基本构建块之一,用于实现特定功能并可被多次调用。函数不仅可以接受参数,还可以返回一个值。然而,在某些情况下,程序员可能会选择不使用函数的返回值,这通常是因为他们对函数执行的操作...

    【小程序云开发】本地调试和云端测试的结果不一致,返回值result为null

    1.调用云函数的时候,云函数调试时返回值不是null,但是到了前端拿到的result却是null。 2.调试云函数,本地调试和云端测试/真机测试结果不一样。表现为本地测试正常运行,云端和真机出错。 解决方法:异步操作的...

    在MFC下如何定义全局变量和全局函数

    本文将详细介绍在MFC环境下如何定义全局变量和全局函数,以便于在项目中的多个文件之间共享数据和功能。 ### 一、在应用程序类中定义全局变量和函数 在MFC项目中,通常会有一个派生自`CWinApp`的应用程序类,如`...

    408函数-递归调用-全局变量和局部变量

    ### 408函数-递归调用-全局变量和局部变量 #### 一、CLion环境下新建文件及函数管理 在CLion环境下新建文件,尤其是C/C++源文件,对于项目的组织和代码的管理非常关键。为了提高编程效率和调试效果,我们需要遵循...

    监视进程调用了哪些API的工具 显示函数调用顺序和次数,返回值

    本文将深入探讨一种工具,该工具能够帮助我们监视进程对API的调用,显示函数调用的顺序、次数以及返回值,这对于调试、性能分析以及安全检查至关重要。 首先,我们要理解API监视器的工作原理。这类工具通常会插入到...

    labview功能性全局变量的详细使用

    在LabVIEW中创建功能性全局变量,通常通过"函数选板" -&gt; "程序结构" -&gt; "全局变量"来实现。这将生成一个空白的全局变量VI,你可以为其命名并设定数据类型。接着,你需要在每个需要使用该全局变量的VI中引用这个VI,...

    定义全局变量 变量 全局

    这里将介绍两种在MFC工程中定义全局变量和全局函数的方法。 方法一:在应用程序类中定义 在MFC中,每个工程都有一个派生自CWinApp的类,例如CxxxApp。你可以将需要全局访问的变量和函数作为此类的成员变量和成员...

    CC++中的静态全局变量,静态局部变量,全局变量,局部变量的区别

    这些变量仅在其定义的函数或语句块中有效,函数调用结束后,局部变量将被销毁,其所占内存被回收。 #### 静态全局变量 静态全局变量是在函数外部定义的,并且使用`static`关键字。尽管它仍然具有全局作用域,但其...

    C/C++ 函数调用与函数返回值

    形参和实参只是名字相同,各自占有各自的内存空间和生存周期,因此他并不能改变主调函数中的变量。  3、地址参数  传址调用:传送的是变量的地址,尽管主函数和被调函数各自在自己的变量上操作,但他们的地址是

    50_引用作为函数参数和返回值的好处1

    在示例代码中,`fn1`函数返回了一个浮点数的副本,而`fn2`函数通过引用返回了全局变量`temp`的值。在`fn2`的例子中,没有额外创建返回值的副本,从而节省了资源。 2. **注意事项**: - **不能返回局部变量的引用**...

    python使用threading获取线程函数返回值的实现方法

    `trace_func`接受一个函数引用`func`以及任意数量的参数`*arg`,在内部调用这个函数并将返回值保存到`MyThread`实例的`ret_flag`属性中。这样,`ret_flag`的值就可以反映出所有线程函数的返回值总和,如果为0,则...

    C++全局变量初始化的一点总结

    C++中的全局变量初始化是一个重要的话题,涉及到程序的正确性和可预测性。全局变量,即具有静态存储期的变量,其生命周期始于程序开始,终于程序结束。本文将深入探讨全局变量初始化的时机、方式以及一些处理特殊...

    易语言动态调用DLL函数

    易语言动态调用DLL函数源码,动态调用DLL函数,LoadLibraryExA,LoadLibraryA,FreeLibrary,GetProcAddress,CallWindowProc1,CallWindowProc

    详解微信小程序的不同函数调用的几种方法

    在微信小程序开发中,函数调用是实现各个功能的关键,本文将详细介绍几种常见的函数调用方法,帮助开发者更好地理解和运用。 一、调取参数直接调用 在同一个JS文件内部,可以直接调用定义的函数。例如,我们有一个`...

    Python语言基础:局部变量和全局变量.pptx

    在`sum`函数执行后,全局变量`total`的值并没有改变,因此`print ("函数外是全局变量 : ", total)`将输出0。 **作用域(Scope)**: 作用域是变量存在的区域。Python有三种主要的作用域: 1. **局部作用域(Local ...

    C语言面试题大汇总之华为面试题:1、局部变量能否和全局变量重名;2、如何引用一个已经定义过的全局变量;3、全局变量可不可以定义在可被多个.C文件包含的头文件中 为什么;4、语句for( ;1 ;)有什么问题 它是什么意思……

    程序的局部变量存在于堆栈中,全局变量存在于静态区中,动态申请数据存在于堆中。 七、typedef和struct typedef union {long i; int k[5]; char c;} DATE; 和 struct data { int cat; DATE cow; double dog;} too;...

    关于函数返回值的讨论

    4. **表达式作为返回值**:`return`语句后可以跟任何表达式,如变量、常量、计算式,甚至是其他函数的调用。 五、函数中的逻辑控制与`return` 函数可以包含多个`return`语句,通过逻辑判断来决定哪个`return`语句会...

    C语言中如何使用全局变量示例

    全局变量在程序的生命周期内一直存在,即使在函数调用结束后也不会被销毁。下面我们将详细探讨如何在C语言中使用全局变量以及在多文件项目中的处理方法。 1. **全局变量的声明与初始化** 全局变量在程序的任何地方...

Global site tag (gtag.js) - Google Analytics