本人有两个小程序,小程序A是主程序,有自己的云开发数据库资源。小程序B没有单独申请云开发资源,只是使用了小程序A共享的环境资源。
在小程序A可以订阅消息,可以接收消息。
小程序B可以订阅消息,但是不能接收订阅消息。
错误提示: errCode: 40003 errMsg: "openapi.subscribeMessage.send:fail invalid openid rid: 656455ac-6cce5320-04c66132"
意思是说:openid错误。
小程序B调用小程序A的云函数获取openid:
const wxContext = cloud.getWXContext();
let openid = wxContext.FROM_OPENID;//环境共享的小程序B获取openid的方法
本人测试过,小程序B使用 wxContext.OPENID 是获取不到openid的,只能通过 wxContext.FROM_OPENID 获取。
请问大神,是我哪里写错了?还是云开发环境共享的小程序B,不能给用户发送订阅消息?
let appid = wxContext.APPID||wxContext.FROM_APPID cloud.openapi({appid}).xxxx//此时appid应该是B的appid
可以试下我封装的npm依赖包 wx-server-inherit-sdk
cloud.APPID和cloud.OPENID也可以直接拿到云环境调用方信息