mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
fix: solve the token error
fix: remove useless defineProps fix: add the missing dependencies to package.json fix: add ES2022 into tsconfig.json
This commit is contained in:
@@ -12,6 +12,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"eslint-plugin-prettier": "^5.2.1",
|
"eslint-plugin-prettier": "^5.2.1",
|
||||||
"event-source-polyfill": "^1.0.31",
|
"event-source-polyfill": "^1.0.31",
|
||||||
|
"mitt": "^3.0.1",
|
||||||
"qrcode": "^1.5.4",
|
"qrcode": "^1.5.4",
|
||||||
"tdesign-icons-vue-next": "^0.3.3",
|
"tdesign-icons-vue-next": "^0.3.3",
|
||||||
"tdesign-vue-next": "^1.10.3",
|
"tdesign-vue-next": "^1.10.3",
|
||||||
|
@@ -1,7 +1,9 @@
|
|||||||
|
import { request } from '@/utils/request.js';
|
||||||
|
|
||||||
export class githubApiManager {
|
export class githubApiManager {
|
||||||
public async GetBaseData(): Promise<Response | null> {
|
public async GetBaseData(): Promise<Response | null> {
|
||||||
try {
|
try {
|
||||||
const ConfigResponse= await fetch('https://api.github.com/repos/NapNeko/NapCatQQ', {
|
const ConfigResponse = await request('https://api.github.com/repos/NapNeko/NapCatQQ', {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
@@ -17,7 +19,7 @@ export class githubApiManager {
|
|||||||
}
|
}
|
||||||
public async GetReleasesData(): Promise<Response | null> {
|
public async GetReleasesData(): Promise<Response | null> {
|
||||||
try {
|
try {
|
||||||
const ConfigResponse = await fetch('https://api.github.com/repos/NapNeko/NapCatQQ/releases', {
|
const ConfigResponse = await request('https://api.github.com/repos/NapNeko/NapCatQQ/releases', {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
@@ -33,7 +35,7 @@ export class githubApiManager {
|
|||||||
}
|
}
|
||||||
public async GetPullsData(): Promise<Response | null> {
|
public async GetPullsData(): Promise<Response | null> {
|
||||||
try {
|
try {
|
||||||
const ConfigResponse = await fetch('https://api.github.com/repos/NapNeko/NapCatQQ/pulls', {
|
const ConfigResponse = await request('https://api.github.com/repos/NapNeko/NapCatQQ/pulls', {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
@@ -49,7 +51,7 @@ export class githubApiManager {
|
|||||||
}
|
}
|
||||||
public async GetContributors(): Promise<Response | null> {
|
public async GetContributors(): Promise<Response | null> {
|
||||||
try {
|
try {
|
||||||
const ConfigResponse = await fetch('https://api.github.com/repos/NapNeko/NapCatQQ/contributors', {
|
const ConfigResponse = await request('https://api.github.com/repos/NapNeko/NapCatQQ/contributors', {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
import { request } from '@/utils/request.js';
|
||||||
|
|
||||||
import { EventSourcePolyfill } from 'event-source-polyfill';
|
import { EventSourcePolyfill } from 'event-source-polyfill';
|
||||||
type LogListItem = string;
|
type LogListItem = string;
|
||||||
type LogListData = LogListItem[];
|
type LogListData = LogListItem[];
|
||||||
@@ -13,7 +15,7 @@ export class LogManager {
|
|||||||
}
|
}
|
||||||
public async GetLogList(): Promise<LogListData> {
|
public async GetLogList(): Promise<LogListData> {
|
||||||
try {
|
try {
|
||||||
const ConfigResponse = await fetch(`${this.apiPrefix}/Log/GetLogList`, {
|
const ConfigResponse = await request(`${this.apiPrefix}/Log/GetLogList`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
@@ -33,7 +35,7 @@ export class LogManager {
|
|||||||
}
|
}
|
||||||
public async GetLog(FileName: string): Promise<string> {
|
public async GetLog(FileName: string): Promise<string> {
|
||||||
try {
|
try {
|
||||||
const ConfigResponse = await fetch(`${this.apiPrefix}/Log/GetLog?id=${FileName}`, {
|
const ConfigResponse = await request(`${this.apiPrefix}/Log/GetLog?id=${FileName}`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
import { request } from '@/utils/request.js';
|
||||||
import { OneBotConfig } from '../../../src/onebot/config/config';
|
import { OneBotConfig } from '../../../src/onebot/config/config';
|
||||||
|
|
||||||
export class QQLoginManager {
|
export class QQLoginManager {
|
||||||
@@ -13,7 +14,7 @@ export class QQLoginManager {
|
|||||||
// TODO:
|
// TODO:
|
||||||
public async GetOB11Config(): Promise<OneBotConfig> {
|
public async GetOB11Config(): Promise<OneBotConfig> {
|
||||||
try {
|
try {
|
||||||
const ConfigResponse = await fetch(`${this.apiPrefix}/OB11Config/GetConfig`, {
|
const ConfigResponse = await request(`${this.apiPrefix}/OB11Config/GetConfig`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
@@ -34,7 +35,7 @@ export class QQLoginManager {
|
|||||||
|
|
||||||
public async SetOB11Config(config: OneBotConfig): Promise<boolean> {
|
public async SetOB11Config(config: OneBotConfig): Promise<boolean> {
|
||||||
try {
|
try {
|
||||||
const ConfigResponse = await fetch(`${this.apiPrefix}/OB11Config/SetConfig`, {
|
const ConfigResponse = await request(`${this.apiPrefix}/OB11Config/SetConfig`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
@@ -56,7 +57,7 @@ export class QQLoginManager {
|
|||||||
|
|
||||||
public async checkQQLoginStatus(): Promise<boolean> {
|
public async checkQQLoginStatus(): Promise<boolean> {
|
||||||
try {
|
try {
|
||||||
const QQLoginResponse = await fetch(`${this.apiPrefix}/QQLogin/CheckLoginStatus`, {
|
const QQLoginResponse = await request(`${this.apiPrefix}/QQLogin/CheckLoginStatus`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
@@ -76,7 +77,7 @@ export class QQLoginManager {
|
|||||||
}
|
}
|
||||||
public async checkQQLoginStatusWithQrcode(): Promise<{ qrcodeurl: string; isLogin: string } | undefined> {
|
public async checkQQLoginStatusWithQrcode(): Promise<{ qrcodeurl: string; isLogin: string } | undefined> {
|
||||||
try {
|
try {
|
||||||
const QQLoginResponse = await fetch(`${this.apiPrefix}/QQLogin/CheckLoginStatus`, {
|
const QQLoginResponse = await request(`${this.apiPrefix}/QQLogin/CheckLoginStatus`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
@@ -97,7 +98,7 @@ export class QQLoginManager {
|
|||||||
|
|
||||||
public async checkWebUiLogined(): Promise<boolean> {
|
public async checkWebUiLogined(): Promise<boolean> {
|
||||||
try {
|
try {
|
||||||
const LoginResponse = await fetch(`${this.apiPrefix}/auth/check`, {
|
const LoginResponse = await request(`${this.apiPrefix}/auth/check`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
@@ -118,7 +119,7 @@ export class QQLoginManager {
|
|||||||
|
|
||||||
public async loginWithToken(token: string): Promise<string | null> {
|
public async loginWithToken(token: string): Promise<string | null> {
|
||||||
try {
|
try {
|
||||||
const loginResponse = await fetch(`${this.apiPrefix}/auth/login`, {
|
const loginResponse = await request(`${this.apiPrefix}/auth/login`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
@@ -139,7 +140,7 @@ export class QQLoginManager {
|
|||||||
|
|
||||||
public async getQQLoginQrcode(): Promise<string> {
|
public async getQQLoginQrcode(): Promise<string> {
|
||||||
try {
|
try {
|
||||||
const QQLoginResponse = await fetch(`${this.apiPrefix}/QQLogin/GetQQLoginQrcode`, {
|
const QQLoginResponse = await request(`${this.apiPrefix}/QQLogin/GetQQLoginQrcode`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
@@ -160,7 +161,7 @@ export class QQLoginManager {
|
|||||||
|
|
||||||
public async getQQQuickLoginList(): Promise<string[]> {
|
public async getQQQuickLoginList(): Promise<string[]> {
|
||||||
try {
|
try {
|
||||||
const QQLoginResponse = await fetch(`${this.apiPrefix}/QQLogin/GetQuickLoginList`, {
|
const QQLoginResponse = await request(`${this.apiPrefix}/QQLogin/GetQuickLoginList`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
@@ -181,7 +182,7 @@ export class QQLoginManager {
|
|||||||
|
|
||||||
public async setQuickLogin(uin: string): Promise<{ result: boolean; errMsg: string }> {
|
public async setQuickLogin(uin: string): Promise<{ result: boolean; errMsg: string }> {
|
||||||
try {
|
try {
|
||||||
const QQLoginResponse = await fetch(`${this.apiPrefix}/QQLogin/SetQuickLogin`, {
|
const QQLoginResponse = await request(`${this.apiPrefix}/QQLogin/SetQuickLogin`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: 'Bearer ' + this.retCredential,
|
Authorization: 'Bearer ' + this.retCredential,
|
||||||
|
@@ -33,7 +33,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, defineProps, onMounted, watch } from 'vue';
|
import { ref, onMounted, watch } from 'vue';
|
||||||
import emitter from '@/ts/event-bus';
|
import emitter from '@/ts/event-bus';
|
||||||
|
|
||||||
type MenuItem = {
|
type MenuItem = {
|
||||||
|
@@ -7,15 +7,13 @@
|
|||||||
<t-icon :name="item.icon" />
|
<t-icon :name="item.icon" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!-- {{item.label}}-->
|
<!-- {{item.label}}-->
|
||||||
</t-menu-item>
|
</t-menu-item>
|
||||||
</t-tooltip>
|
</t-tooltip>
|
||||||
</router-link>
|
</router-link>
|
||||||
</t-head-menu>
|
</t-head-menu>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { defineProps } from 'vue';
|
|
||||||
|
|
||||||
type MenuItem = {
|
type MenuItem = {
|
||||||
value: string;
|
value: string;
|
||||||
label: string;
|
label: string;
|
||||||
|
@@ -24,7 +24,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { defineProps, ref, watch } from 'vue';
|
import { ref, watch } from 'vue';
|
||||||
import { HttpClientConfig } from '../../../../src/onebot/config/config';
|
import { HttpClientConfig } from '../../../../src/onebot/config/config';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { defineProps, ref, watch } from 'vue';
|
import { ref, watch } from 'vue';
|
||||||
import { HttpServerConfig } from '../../../../src/onebot/config/config';
|
import { HttpServerConfig } from '../../../../src/onebot/config/config';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
@@ -27,7 +27,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { defineProps, ref, watch } from 'vue';
|
import { ref, watch } from 'vue';
|
||||||
import { WebsocketClientConfig } from '../../../../src/onebot/config/config';
|
import { WebsocketClientConfig } from '../../../../src/onebot/config/config';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
@@ -33,7 +33,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { defineProps, ref, watch } from 'vue';
|
import { ref, watch } from 'vue';
|
||||||
import { WebsocketServerConfig } from '../../../../src/onebot/config/config';
|
import { WebsocketServerConfig } from '../../../../src/onebot/config/config';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
14
napcat.webui/src/utils/request.ts
Normal file
14
napcat.webui/src/utils/request.ts
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { MessagePlugin } from 'tdesign-vue-next';
|
||||||
|
import { router } from '@/router/index.js';
|
||||||
|
|
||||||
|
export const request = async (input: RequestInfo | URL, init?: RequestInit) => {
|
||||||
|
const res = await fetch(input, init);
|
||||||
|
const json = await res.json();
|
||||||
|
if (json.msg.includes('Unauthorized')) {
|
||||||
|
MessagePlugin.error('Token 过期啦, 重新登录吧');
|
||||||
|
localStorage.clear();
|
||||||
|
router.push('/webui');
|
||||||
|
}
|
||||||
|
res.json = async () => json;
|
||||||
|
return res;
|
||||||
|
};
|
@@ -3,22 +3,15 @@
|
|||||||
"target": "ESNext",
|
"target": "ESNext",
|
||||||
"jsx": "preserve",
|
"jsx": "preserve",
|
||||||
"jsxImportSource": "vue",
|
"jsxImportSource": "vue",
|
||||||
"lib": [
|
"lib": ["DOM", "DOM.Iterable", "ES2022"],
|
||||||
"DOM",
|
|
||||||
"DOM.Iterable"
|
|
||||||
],
|
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"module": "esnext",
|
"module": "esnext",
|
||||||
"moduleResolution": "bundler",
|
"moduleResolution": "bundler",
|
||||||
"paths": {
|
"paths": {
|
||||||
"@/*": [
|
"@/*": ["src/*"]
|
||||||
"src/*"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"types": [
|
"types": ["vite/client"],
|
||||||
"vite/client"
|
|
||||||
],
|
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"strictNullChecks": true,
|
"strictNullChecks": true,
|
||||||
"noUnusedLocals": true,
|
"noUnusedLocals": true,
|
||||||
@@ -30,5 +23,5 @@
|
|||||||
},
|
},
|
||||||
"include": ["src"],
|
"include": ["src"],
|
||||||
"exclude": ["node_modules"],
|
"exclude": ["node_modules"],
|
||||||
"references": [{"path": "./tsconfig.node.json"}]
|
"references": [{ "path": "./tsconfig.node.json" }]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user