收藏
回答

errCode: -601022 | errMsg: 找不到对应的FunctionName

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wx3e4700970958fcec youhuima-7g2kzr7h9e6d34f7 1.1.0
  1. 在react的useEffect里使用官方提供的云登录示例见code
  2. 在instance.init时出错了:errCode: -601022  | errMsg: 找不到对应的FunctionName

见代码:

useEffect(async () => {

// try {

require('../utils/cloud');


// 公众号基本信息:请修改下列字段使用本示例

const WX_RESOURCE_APPID = 'wxeb151f49f6b2beea'; /* 资源方 AppID */

const WX_RESOURCE_ENVID =

'youhuima-7g2kzr7h9e6d34f7'; /* 资源方云开发环境 ID */

const WX_OFFICIAL_ACCOUNT_APPID = 'wx3e4700970958fcec'; /* 公众号 AppID */

const WX_AUTH_TYPE =

'snsapi_base'; /* 选择需要的授权方式,snsapi_base 或 snsapi_userinfo */

const WX_REDIRECT_URI = 'http://m.youhuima.life/'; /* 回调 URL */


// 示例配置

const isPersistLoginInfo = false; // 是否需要保留登录态信息到 window 中,只有 snsapi_userinfo 方式需要


if (window.wx) {

window.cloud = wx.cloud;

}


var urlSearch = new URLSearchParams(location.search);

var accessToken = urlSearch.get('access_token');

var refreshToken = urlSearch.get('refresh_token');


const checkLoginOptions = {

provider: 'OfficialAccount',

appid: WX_OFFICIAL_ACCOUNT_APPID,

};


if (urlSearch.get('oauthredirect') === '1') {

checkLoginOptions.accessToken = accessToken;

checkLoginOptions.refreshToken = refreshToken;

}


console.log(`checkLogin options: `, checkLoginOptions);

const result = await cloud.checkLogin(checkLoginOptions);

console.log(`checkLogin result: `, result);

if (isPersistLoginInfo) window.checkLoginRes = result;

if (result.errCode === 0 && result.loggedIn) {

console.log(`checkLogin success`);


const instance = (window.instance = new cloud.Cloud({

appid: WX_OFFICIAL_ACCOUNT_APPID,

resourceAppid: WX_RESOURCE_APPID,

resourceEnv: WX_RESOURCE_ENVID,

}));

console.log('--------initial-----', instance);

const initResult = await instance.init();

console.log('--------initial done ----');


// console.log(`instance inited`, initResult);

console.log(`can use cloud instance to access resource now !`);


// const els = [...document.getElementsByClassName('display-none')];

// els.forEach((el) => el.classList.remove('display-none'));

} else {

console.log(

`checkLogin with sdk errCode ${result.errCode} errMsg ${result.errMsg}, will start oauth in 10s`

);


});


最后一次编辑于  2021-03-26
回答关注问题邀请回答
收藏

2 个回答

  • 繁华落尽.
    繁华落尽.
    2021-05-18

    解决了吗?

    2021-05-18
    有用
    回复
  • 李作平
    李作平
    2021-03-26

    从堆栈看大概是t.refreshAuth这个函数出问题了

    2021-03-26
    有用
    回复 1
    • 繁华落尽.
      繁华落尽.
      2021-05-18
      如果不是未登陆模式,需要调用 cloudbase_auth 云函数。
      未登陆模式应该不会有这个问题。
      2021-05-18
      回复
登录 后发表内容
问题标签