更新
This commit is contained in:
parent
53756f53a7
commit
64c906f064
@ -5,6 +5,14 @@
|
|||||||
|
|
||||||
# CHANGE
|
# CHANGE
|
||||||
|
|
||||||
|
## 1.1.3
|
||||||
|
|
||||||
|
2023年11月29日
|
||||||
|
|
||||||
|
### 修改
|
||||||
|
|
||||||
|
- 通知浏览错误修复
|
||||||
|
|
||||||
## 1.1.2
|
## 1.1.2
|
||||||
|
|
||||||
2023年09月19日
|
2023年09月19日
|
||||||
|
|||||||
24
README.md
24
README.md
@ -1,3 +1,23 @@
|
|||||||
# 芜湖助手 Torncity 翻译插件
|
# Wuhu Torn Helper
|
||||||
|
|
||||||
[CHANGELOG](CHANGELOG.md)
|
[](LICENSE)
|
||||||
|
|
||||||
|
[中文](README_ZHCN.md)
|
||||||
|
|
||||||
|
[CHANGELOG(CN)](CHANGELOG.md)
|
||||||
|
|
||||||
|
A customized auxiliary-enhancement user script designed for a browser-based MMORPG game, featuring a range of convenient
|
||||||
|
functions.
|
||||||
|
|
||||||
|
This script does not include any automation-related code.
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
npm init
|
||||||
|
npm run rollup
|
||||||
|
|
||||||
|
## Use
|
||||||
|
|
||||||
|
[release.min.user.js](release.min.user.js)
|
||||||
|
|
||||||
|
Please install with Tampermonkey (for PC browser) or TornPDA.
|
||||||
|
|||||||
20
README_ZHCN.md
Normal file
20
README_ZHCN.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# 芜湖助手 Torncity 翻译插件
|
||||||
|
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||
|
[CHANGELOG](CHANGELOG.md)
|
||||||
|
|
||||||
|
一个为浏览器网页MMORPG游戏定制的辅助增强用户脚本,包含了一系列便携功能。
|
||||||
|
|
||||||
|
此脚本不包含自动化相关代码。
|
||||||
|
|
||||||
|
## 编译
|
||||||
|
|
||||||
|
npm init
|
||||||
|
npm run rollup
|
||||||
|
|
||||||
|
## 使用
|
||||||
|
|
||||||
|
[release.min.user.js](release.min.user.js)
|
||||||
|
|
||||||
|
请使用 Tampermonkey (浏览器) 或 TornPDA 安装。
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wuhu-torn-helper",
|
"name": "wuhu-torn-helper",
|
||||||
"version": "1.1.2",
|
"version": "1.1.3",
|
||||||
"description": "芜湖助手",
|
"description": "芜湖助手",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"release": "cross-env NODE_ENV=production rollup -c && node build.mjs",
|
"release": "cross-env NODE_ENV=production rollup -c && node build.mjs",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -1,9 +1,9 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { inject, onMounted, Ref, ref } from "vue";
|
import { inject, onMounted, Ref, ref } from "vue"
|
||||||
import { LoggerKey } from "../ts/class/Logger";
|
import { LoggerKey } from "../ts/class/Logger"
|
||||||
|
|
||||||
const logger = inject(LoggerKey);
|
const logger = inject(LoggerKey)
|
||||||
const loading = ref(true);
|
const loading = ref(true)
|
||||||
const doFetch = () => fetch("https://www.torn.com/page.php", {
|
const doFetch = () => fetch("https://www.torn.com/page.php", {
|
||||||
"headers": {
|
"headers": {
|
||||||
"accept": "*/*",
|
"accept": "*/*",
|
||||||
@ -24,7 +24,7 @@ const doFetch = () => fetch("https://www.torn.com/page.php", {
|
|||||||
"mode": "cors",
|
"mode": "cors",
|
||||||
"credentials": "include"
|
"credentials": "include"
|
||||||
});
|
});
|
||||||
const events: Ref<{ ID: string, message: string, time: number, isNew: boolean }[]> = ref([]);
|
const events: Ref<{ ID: string, message: string, time: string, date: string, isNew: boolean, ts: number }[]> = ref([]);
|
||||||
const DateTimeFormatter = (ts: number) => {
|
const DateTimeFormatter = (ts: number) => {
|
||||||
let date = new Date(ts);
|
let date = new Date(ts);
|
||||||
return date.toLocaleDateString() + ' ' + date.toLocaleTimeString();
|
return date.toLocaleDateString() + ' ' + date.toLocaleTimeString();
|
||||||
@ -37,10 +37,25 @@ const loadData = async () => {
|
|||||||
res = await (await doFetch()).json();
|
res = await (await doFetch()).json();
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
events.value = res.list;
|
events.value = res.list;
|
||||||
if (res['newEventsAmount']) {
|
let newEventsAmount = res['newEventsAmount']
|
||||||
for (let i = 0; i < res['newEventsAmount']; i++) {
|
for (let i = 0; i < res.list.length; i++) {
|
||||||
events.value[i].isNew = true;
|
if (i < newEventsAmount) {
|
||||||
|
events.value[i].isNew = true
|
||||||
}
|
}
|
||||||
|
let date = new Date(0)
|
||||||
|
try {
|
||||||
|
let dateResponseSplit = events.value[i].date.split('/')
|
||||||
|
let timeResponseSplit = events.value[i].time.split(':')
|
||||||
|
date.setUTCDate(parseInt(dateResponseSplit[0]))
|
||||||
|
date.setUTCMonth(parseInt(dateResponseSplit[1]) - 1)
|
||||||
|
date.setUTCFullYear(2000 + parseInt(dateResponseSplit[2]))
|
||||||
|
date.setUTCHours(parseInt(timeResponseSplit[0]))
|
||||||
|
date.setUTCMinutes(parseInt(timeResponseSplit[1]))
|
||||||
|
date.setUTCSeconds(parseInt(timeResponseSplit[2]))
|
||||||
|
} catch (e) {
|
||||||
|
logger.error('未能解析时间', e)
|
||||||
|
}
|
||||||
|
events.value[i].ts = date.getTime()
|
||||||
}
|
}
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
}
|
}
|
||||||
@ -57,7 +72,7 @@ onMounted(loadData);
|
|||||||
<el-divider/>
|
<el-divider/>
|
||||||
<el-timeline v-if="!loading">
|
<el-timeline v-if="!loading">
|
||||||
<el-timeline-item v-for="ev in events" :color="ev.isNew?'#0bbd87':''"
|
<el-timeline-item v-for="ev in events" :color="ev.isNew?'#0bbd87':''"
|
||||||
:timestamp="DateTimeFormatter(ev.time*1000)">
|
:timestamp="DateTimeFormatter(ev.ts)">
|
||||||
<span v-html="ev.message"></span>
|
<span v-html="ev.message"></span>
|
||||||
</el-timeline-item>
|
</el-timeline-item>
|
||||||
</el-timeline>
|
</el-timeline>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user