Compare commits

...
2 Commits
Author SHA1 Message Date
shanmiteko 3c269b2f96 action: update pkg.yml 2021-10-06 14:08:04 +08:00
shanmiteko 3851f51621 fix: 动态不存在时出错(#39) 2021-10-06 13:26:31 +08:00
4 changed files with 52 additions and 35 deletions
+13 -3
View File
@@ -29,11 +29,21 @@ jobs:
run: |
npm install
npm run pkg_x64
- name: "Upload to artifact"
- name: "Upload to artifact(win)"
uses: actions/upload-artifact@v2
with:
name: dist_x64
path: dist/
name: nlts-win-x64
path: dist/nlts-win-x64.zip
- name: "Upload to artifact(linux)"
uses: actions/upload-artifact@v2
with:
name: nlts-linux-x64
path: dist/nlts-linux-x64.zip
- name: "Upload to artifact(macos)"
uses: actions/upload-artifact@v2
with:
name: nlts-macos-x64
path: dist/nlts-macos-x64.zip
pkg_arm64:
runs-on: ubuntu-latest
steps:
+22 -30
View File
@@ -236,31 +236,29 @@ class Searcher {
log.info('获取动态', `查看源动态(${origin_dynamic_id})的细节 (${length--})`)
const res = await bili.getOneDynamicByDyid(origin_dynamic_id)
, { code, data } = utils.strToJson(res)
, { card } = data || {};
const card = await bili.getOneDynamicByDyid(origin_dynamic_id)
if (code !== 0) {
log.error('获取动态', '获取动态数据出错,可能是访问太频繁 \n' + res)
return results
if (card) {
await utils.delay(2000)
const { is_liked } = parseDynamicCard(card)
return [...results, {
lottery_info_type: 'uid',
is_liked,
uids: [cur.uid, cur.origin_uid],
uname: cur.origin_uname,
ctrl: [],
dyid: cur.origin_dynamic_id,
rid: cur.origin_rid_str,
des: cur.origin_description,
type: cur.orig_type,
hasOfficialLottery: cur.origin_hasOfficialLottery
}]
}
await utils.delay(2000)
return results
const { is_liked } = parseDynamicCard(card)
return [...results, {
lottery_info_type: 'uid',
is_liked,
uids: [cur.uid, cur.origin_uid],
uname: cur.origin_uname,
ctrl: [],
dyid: cur.origin_dynamic_id,
rid: cur.origin_rid_str,
des: cur.origin_description,
type: cur.orig_type,
hasOfficialLottery: cur.origin_hasOfficialLottery
}]
}, Promise.resolve([]))
log.info('获取动态', `成功获取用户${UID}的动态信息`);
@@ -352,18 +350,12 @@ class Searcher {
for (const dyid of dyids_set) {
if (dyid.length === utils.dyid_length) {
log.info('获取动态', `查看专栏中所提及动态(${dyid})的细节 (${length--})`)
const res = await bili.getOneDynamicByDyid(dyid)
, { code, data } = utils.strToJson(res)
, { card } = data || {};
if (code !== 0) {
log.error('获取动态', '获取动态数据出错,可能是访问太频繁 \n' + res)
break
}
await utils.delay(2000)
const card = await bili.getOneDynamicByDyid(dyid)
if (card) {
await utils.delay(2000)
const parsed_card = parseDynamicCard(card)
, { is_liked } = parsed_card;
+16 -1
View File
@@ -247,7 +247,7 @@ const bili_client = {
/**
* 获取一个动态的细节
* @param {string} dynamic_id
* @return {Promise<string>}
* @return {Promise<JSON>} 失败返回undefined
*/
getOneDynamicByDyid(dynamic_id) {
return get({
@@ -255,6 +255,21 @@ const bili_client = {
query: {
dynamic_id
}
}).then(responseText => {
const { code, data } = strToJson(responseText)
, { card } = data || {};
if (code !== 0) {
log.error('获取一个动态的细节', `获取动态(${dynamic_id})数据出错:\n${responseText}`)
return
}
if (!card) {
log.warn('获取一个动态的细节', `动态(${dynamic_id})不存在`)
return
}
return card
})
},
/**
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "lottery-auto-script",
"version": "2.2.0",
"version": "2.2.1",
"description": "自动参与B站动态抽奖",
"main": "main.js",
"scripts": {