环境配置:
本地电脑下载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
分享到:
相关推荐
全局变量在编程中是一种特殊的变量,它在程序的整个生命周期内都存在,可以在程序的任何地方被访问。这种变量在程序的任何函数内部都可以读取或修改,因此它提供了在整个程序范围内共享数据的一种方式。标题提到的...
在C语言中,函数是程序的基本构建块之一,用于实现特定功能并可被多次调用。函数不仅可以接受参数,还可以返回一个值。然而,在某些情况下,程序员可能会选择不使用函数的返回值,这通常是因为他们对函数执行的操作...
1.调用云函数的时候,云函数调试时返回值不是null,但是到了前端拿到的result却是null。 2.调试云函数,本地调试和云端测试/真机测试结果不一样。表现为本地测试正常运行,云端和真机出错。 解决方法:异步操作的...
本文将详细介绍在MFC环境下如何定义全局变量和全局函数,以便于在项目中的多个文件之间共享数据和功能。 ### 一、在应用程序类中定义全局变量和函数 在MFC项目中,通常会有一个派生自`CWinApp`的应用程序类,如`...
### 408函数-递归调用-全局变量和局部变量 #### 一、CLion环境下新建文件及函数管理 在CLion环境下新建文件,尤其是C/C++源文件,对于项目的组织和代码的管理非常关键。为了提高编程效率和调试效果,我们需要遵循...
本文将深入探讨一种工具,该工具能够帮助我们监视进程对API的调用,显示函数调用的顺序、次数以及返回值,这对于调试、性能分析以及安全检查至关重要。 首先,我们要理解API监视器的工作原理。这类工具通常会插入到...
在LabVIEW中创建功能性全局变量,通常通过"函数选板" -> "程序结构" -> "全局变量"来实现。这将生成一个空白的全局变量VI,你可以为其命名并设定数据类型。接着,你需要在每个需要使用该全局变量的VI中引用这个VI,...
这里将介绍两种在MFC工程中定义全局变量和全局函数的方法。 方法一:在应用程序类中定义 在MFC中,每个工程都有一个派生自CWinApp的类,例如CxxxApp。你可以将需要全局访问的变量和函数作为此类的成员变量和成员...
这些变量仅在其定义的函数或语句块中有效,函数调用结束后,局部变量将被销毁,其所占内存被回收。 #### 静态全局变量 静态全局变量是在函数外部定义的,并且使用`static`关键字。尽管它仍然具有全局作用域,但其...
形参和实参只是名字相同,各自占有各自的内存空间和生存周期,因此他并不能改变主调函数中的变量。 3、地址参数 传址调用:传送的是变量的地址,尽管主函数和被调函数各自在自己的变量上操作,但他们的地址是
在示例代码中,`fn1`函数返回了一个浮点数的副本,而`fn2`函数通过引用返回了全局变量`temp`的值。在`fn2`的例子中,没有额外创建返回值的副本,从而节省了资源。 2. **注意事项**: - **不能返回局部变量的引用**...
`trace_func`接受一个函数引用`func`以及任意数量的参数`*arg`,在内部调用这个函数并将返回值保存到`MyThread`实例的`ret_flag`属性中。这样,`ret_flag`的值就可以反映出所有线程函数的返回值总和,如果为0,则...
C++中的全局变量初始化是一个重要的话题,涉及到程序的正确性和可预测性。全局变量,即具有静态存储期的变量,其生命周期始于程序开始,终于程序结束。本文将深入探讨全局变量初始化的时机、方式以及一些处理特殊...
易语言动态调用DLL函数源码,动态调用DLL函数,LoadLibraryExA,LoadLibraryA,FreeLibrary,GetProcAddress,CallWindowProc1,CallWindowProc
在微信小程序开发中,函数调用是实现各个功能的关键,本文将详细介绍几种常见的函数调用方法,帮助开发者更好地理解和运用。 一、调取参数直接调用 在同一个JS文件内部,可以直接调用定义的函数。例如,我们有一个`...
在`sum`函数执行后,全局变量`total`的值并没有改变,因此`print ("函数外是全局变量 : ", total)`将输出0。 **作用域(Scope)**: 作用域是变量存在的区域。Python有三种主要的作用域: 1. **局部作用域(Local ...
程序的局部变量存在于堆栈中,全局变量存在于静态区中,动态申请数据存在于堆中。 七、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语言中使用全局变量以及在多文件项目中的处理方法。 1. **全局变量的声明与初始化** 全局变量在程序的任何地方...