fix: store qdreader remarks by saved uid

This commit is contained in:
2026-05-17 21:02:13 +08:00
parent dec0f0e5b2
commit 56bfb7102e
3 changed files with 164 additions and 52 deletions
+42
View File
@@ -100,6 +100,48 @@ test('quick submit prompts remark after saving cookie', () => {
assert.equal(JSON.parse(r.store.qdreader_remark_json)['12345'], '主号');
});
test('quick submit remark uses saved QDHeader uid instead of ywguid', () => {
const streamQdheader = 'KG51bGwpfChudWxsKXwxMTc5fDI1NTZ8KG51bGwpfDE2LjEwfDB8aU9TL2lQaG9uZS8obnVsbCl8MHwobnVsbCl8KG51bGwpfDQ3NTcwMDk3NXwxNzc5MDA5MTM2MDAwfDB8KG51bGwpfHx8KG51bGwpfChudWxsKXww';
const streamCookie = `QDHeader=${streamQdheader}; ywguid=120098575768; qdh=qdh; sessionyw=s; appId=12`;
const r = runPlugin({ content: '启点ck ' + streamCookie, userId: 'user-a', listens: ['01'] });
assert.match(r.replies.join('\n'), /uid: 475700975/);
assert.equal(JSON.parse(r.store.qdreader_cookie_json)['475700975'], streamCookie);
assert.equal(JSON.parse(r.store.qdreader_remark_json)['475700975'], '01');
assert.equal(JSON.parse(r.store.qdreader_remark_json)['120098575768'], undefined);
});
test('quick submit can decode QDHeader uid without Buffer or atob', () => {
const streamQdheader = 'KG51bGwpfChudWxsKXwxMTc5fDI1NTZ8KG51bGwpfDE2LjEwfDB8aU9TL2lQaG9uZS8obnVsbCl8MHwobnVsbCl8KG51bGwpfDQ3NTcwMDk3NXwxNzc5MDA5MTM2MDAwfDB8KG51bGwpfHx8KG51bGwpfChudWxsKXww';
const streamCookie = `QDHeader=${streamQdheader}; ywguid=120098575768; qdh=qdh; sessionyw=s; appId=12`;
const r = runPlugin({ content: '启点ck ' + streamCookie, globals: { Buffer: undefined, atob: undefined }, listens: ['n'] });
assert.match(r.replies.join('\n'), /uid: 475700975/);
assert.equal(JSON.parse(r.store.qdreader_cookie_json)['475700975'], streamCookie);
assert.equal(JSON.parse(r.store.qdreader_cookie_json)['120098575768'], undefined);
});
test('account menu add remark uses saved QDHeader uid instead of ywguid', () => {
const streamQdheader = 'KG51bGwpfChudWxsKXwxMTc5fDI1NTZ8KG51bGwpfDE2LjEwfDB8aU9TL2lQaG9uZS8obnVsbCl8MHwobnVsbCl8KG51bGwpfDQ3NTcwMDk3NXwxNzc5MDA5MTM2MDAwfDB8KG51bGwpfHx8KG51bGwpfChudWxsKXww';
const streamCookie = `QDHeader=${streamQdheader}; ywguid=120098575768; qdh=qdh; sessionyw=s; appId=12`;
const r = runPlugin({ content: '启点账号', userId: 'user-a', listens: ['2', streamCookie, '01'] });
assert.match(r.replies.join('\n'), /uid: 475700975/);
assert.equal(JSON.parse(r.store.qdreader_remark_json)['475700975'], '01');
assert.equal(JSON.parse(r.store.qdreader_remark_json)['120098575768'], undefined);
});
test('mis-keyed ywguid remark is migrated to saved uid on account list', () => {
const streamQdheader = 'KG51bGwpfChudWxsKXwxMTc5fDI1NTZ8KG51bGwpfDE2LjEwfDB8aU9TL2lQaG9uZS8obnVsbCl8MHwobnVsbCl8KG51bGwpfDQ3NTcwMDk3NXwxNzc5MDA5MTM2MDAwfDB8KG51bGwpfHx8KG51bGwpfChudWxsKXww';
const streamCookie = `QDHeader=${streamQdheader}; ywguid=120098575768; qdh=qdh; sessionyw=s; appId=12`;
const store = {
qdreader_cookie_json: JSON.stringify({ '475700975': streamCookie }),
qdreader_user_bind_json: JSON.stringify({ '475700975': 'user-a' }),
qdreader_remark_json: JSON.stringify({ '120098575768': '01' }),
};
const r = runPlugin({ content: '启点账号', store, userId: 'user-a', listens: ['1'] });
assert.match(r.replies.join('\n'), /01/);
assert.equal(JSON.parse(r.store.qdreader_remark_json)['475700975'], '01');
assert.equal(JSON.parse(r.store.qdreader_remark_json)['120098575768'], undefined);
});
test('quick submit can bind user from alternate Autman sender fields', () => {
const r = runPlugin({
content: '启点ck ' + cookie,