基础能力

更新时间:2024-09-11 02:05:55下载pdf

JavaScript SDK 主要包含以下基础能力 API:

分类API说明
环境配置initRequest初始化请求环境
请求云函数request基础请求 API
fetch业务请求 API
onFetchError监听云函数错误统计处理事件
offFetchError注销云函数错误统计处理事件
打开页面openDistribution打开配网页面

环境配置

初始化请求环境

initRequest

配置初始化请求环境。

  • 一般情况下,您无需进行此配置。如果您需要在已有线上小程序上集入涂鸦微信小程序 JavaScript SDK,请 提交工单 来联系涂鸦。
  • 此 API 只需要调用一次,请勿多次调用。

入参

入参为一个对象,对象支持的参数有:

名称 类型 必填 说明
schema String 涂鸦开发者平台微信小程序项目的 schema

返回数据

示例

import { initRequest } from '@ray-js/wechat';

initRequest({ schema: 'xxxxx'});

请求云函数

基础请求 API

request

用于请求云函数。对于一般的业务云函数请求,请使用业务请求 API fetch

入参

入参为一个对象,对象支持的配置有:

名称 类型 必填 说明
action String 云函数名称
params Object 云函数的参数
header Object 云函数请求头

返回数据

返回云函数对应的数据。

示例

以获取国家码为例。

import { request } from '@ray-js/wechat';

Page({
    onLoad() {
           request({
              action: 'country.current',
           }).then(res => {
               this.setData({countries: res});
           });
     }
})

业务请求 API

fetch

当调用 loginByAccountloginByWxloginByTicket 等 API 后,可使用 fetch 来请求云函数,获取用户数据。

入参

入参为一个对象,对象支持的配置有:

名称 类型 必填 说明
action String 云函数名称
params Object 云函数的参数
header Object 云函数请求头

返回数据

返回云函数对应的数据。

示例

以获取家庭消息 message.homeList 为例。

import { fetch } from '@ray-js/wechat';

Page({
    onLoad() {
           fetch({
              action: 'message.homeList',
               params: {
                time_zone_id: 'Asia/Shanghai',
                page_no: 1,
                page_size: 20,
            },
           }).then(res => {
               this.setData({messages: res.messages});
           });
     }
})

监听云函数错误统计处理事件

onFetchError

注册监听通过 fetch API 请求的云函数产生的错误事件,您可以通过此事件统一处理错误。可在全局作用域下注册此事件。

入参

func Function

一个监听回调函数,监听回调为一个错误对象,错误对象的数据结构为:

属性 说明
code 错误码
msg 错误描述

示例

import { onFetchError } from '@ray-js/wechat';

onFetchError((error) => {
    if (error.code === 60000) {
       console.log('登录超时,需要重新登录');
    }
});

注销云函数错误统计处理事件

offFetchError

注销监听通过 fetch API 请求的云函数产生的错误事件。

入参

func Function

一个监听回调函数,必须为 onFetchError 注册的回调函数。

示例

import { offFetchError, onFetchError } from '@ray-js/wechat';

Page({
handleError(error){
    if (error.code === 60000) {
         console.log('登录超时,需要重新登录');
     }
},
 onLoad(){
    onFetchError(this.handleError);
   },
    onUnload(){
    offFetchError(this.handleError);
   }
})

打开页面

打开配网页面

openDistribution

打开配网插件自发现页面。

需要先申请涂鸦配网插件。更多信息,参考 插件

入参

res Object

名称 类型 必填 说明
homeId Number 需要配网的家庭
themeColor String 主题色
pids String[] 产品 ID(PID)