This commit is contained in:
Liwanyi 2023-11-29 17:55:36 +08:00
parent 53756f53a7
commit 64c906f064
6 changed files with 78 additions and 15 deletions

View File

@ -5,6 +5,14 @@
# CHANGE # CHANGE
## 1.1.3
2023年11月29日
### 修改
- 通知浏览错误修复
## 1.1.2 ## 1.1.2
2023年09月19日 2023年09月19日

View File

@ -1,3 +1,23 @@
# 芜湖助手 Torncity 翻译插件 # Wuhu Torn Helper
[CHANGELOG](CHANGELOG.md) [![LICENSE](https://img.shields.io/badge/license-MIT-blue.svg)](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
View File

@ -0,0 +1,20 @@
# 芜湖助手 Torncity 翻译插件
[![LICENSE](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[CHANGELOG](CHANGELOG.md)
一个为浏览器网页MMORPG游戏定制的辅助增强用户脚本包含了一系列便携功能。
此脚本不包含自动化相关代码。
## 编译
npm init
npm run rollup
## 使用
[release.min.user.js](release.min.user.js)
请使用 Tampermonkey (浏览器) 或 TornPDA 安装。

View File

@ -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

View File

@ -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>