文档中心 > 店铺动态卡片-开发指引

调用示例

更新时间:2023/02/08 访问次数:29199

调用云函数之前,请先完成初始化

 

应用端方法签名

 

function.invoke(name: string, data: object, handler: string, exts: any): Promise<Result>;


参数说明


字段名 类型 必选 默认值 说明
name string - 云函数名称
data object - 调用云函数时的传参
handler string

main

指定云函数的handler
exts Object -

扩展协议参数。

cacheType:服务缓存类型,不填默认不使用缓存,值为数字。


缓存类型枚举:

0 :标准缓存,命中条件为相同小程序+相同用户+相同请求;

1:用户无关缓存,命中条件为相同小程序+相同请求;

2:小程序无关缓存,命中条件为相同用户+相同请求;

3:全局缓存,命中条件为相同的请求。

 

cacheTime:缓存失效时间,cacheType不为空的情况下生效,不填默认300,单位为秒,最大不超过3600。


示例一:不指定入参和方法名 


client端代码

// index.js 
const {cloud} = getApp(); 
Page({  
  data:{},  
  onLoad(query) {  
    // 页面加载  
  },  
  testCloudFc(){  
    cloud.function.invoke('helloworld').then(res => {
      console.log(res);  
    })  
  }, 
});


server端代码

// helloworld 云函数(Node版) 
exports.main = async (context) => {  
  return 'hello world'; 
}; 

 

示例二:指定云函数handler,传入参数


client端调用示例

// index.js 
const {cloud} = getApp(); 
Page({  
  data:{},  
  onLoad(query) {  
    // 页面加载  
  },  
  testCloudFc(){  
    const options = { 
      'collectionName' : 'users',
      'num': 9,
      'desc' : '测试'  
    }; 
    cloud.function.invoke('saveUserInfo',options,'main').then(res => {  
      console.log(res);  
    })  
  }, 
}); 


server端调用示例

// saveUserInfo 云函数(Node版) 
exports.main = async (context) => {  
  try {  
    const cloud = context.cloud;
    const collectionName = context.data.collectionName;
    //保存用户信息  
    const result = await context.cloud.db.collection(collectionName) .insertOne({
      // context 自带的参数  
      user_nick : context.userNick,  
      open_id : context.openId,  
      // 端上传过来的参数   
      num : context.data.num,  
      desc : context.data.desc  
    }).then(res => { 
      console.log('保存数据成功'); 
      console.log(res);
    });  
    return {  
      success: true,  
      result: result 
    };  
  } catch (e) {  
    console.log('fail:',e);  
    return {  
      success: false  
    }  
  } 
};

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部