ccwav/QLScript2

closed

wavetg opened this issue · 1 comments

wavetg commented

企业微信通知token中,有一个参数touser是用来发送给不同的对象,用 | 分隔不同的人员id
同时账号按照pt_pin分组后,某一组的账号一般是一个人挂多个账号,如果参数使用默认 @ALL ,会通知全部成员
如果可以按照分组发送给不同的 成员,即可以实现资产通知分组发送,相互隔离,互不可见,减少打扰,更加易用

看了相关代码,在企业微信的api实现里,有一个现成的函数

function ChangeUserId(desp) {
    const QYWX_AM_AY = QYWX_AM.split(',');
    if (QYWX_AM_AY[2]) {
        const userIdTmp = QYWX_AM_AY[2].split('|');
        let userId = '';
        for (let i = 0; i < userIdTmp.length; i++) {
            const count = '账号' + (i + 1);
            const count2 = '签到号 ' + (i + 1);
            if (desp.match(count2)) {
                userId = userIdTmp[i];
            }
        }
        if (!userId)
            userId = QYWX_AM_AY[2];
        return userId;
    } else {
        return '@all';
    }
}

可以考虑传入text参数,匹配标题中的 #数字 ,将数字正则拿出来,返回这个数字代表的分组对应的 userid ,可以新增一个 GP2toAMUSER的变量,存储分组对应的userid,以 | 隔开,或者不新增变量,直接在现有变量 BEANCHANGE_USERGP2 内添加该分组对应的userid,放在末尾,以#隔开

ccwav commented

QYWX_AM 自带了通知参数,不需要这么麻烦.