1
0
mirror of https://gitcode.com/github-mirrors/react-native-update-cli.git synced 2025-09-16 01:41:37 +08:00
Code Issues Packages Projects Releases Wiki Activity GitHub Gitee

fix error message

This commit is contained in:
sunnylqm
2025-01-09 20:58:06 +08:00
parent 6fcdb988c8
commit 8f0ca60d24
3 changed files with 29 additions and 34 deletions

View File

@@ -7,7 +7,7 @@ import packageJson from '../package.json';
import tcpp from 'tcp-ping';
import filesizeParser from 'filesize-parser';
import { pricingPageUrl } from './utils';
import { Session } from 'types';
import type { Session } from 'types';
import FormData from 'form-data';
const tcpPing = util.promisify(tcpp.ping);
@@ -20,15 +20,13 @@ let host = process.env.PUSHY_REGISTRY || defaultEndpoint;
const userAgent = `react-native-update-cli/${packageJson.version}`;
export const getSession = function () {
return session;
};
export const getSession = () => session;
export const replaceSession = function (newSession: { token: string }) {
export const replaceSession = (newSession: { token: string }) => {
session = newSession;
};
export const loadSession = async function () {
export const loadSession = async () => {
if (fs.existsSync('.update')) {
try {
replaceSession(JSON.parse(fs.readFileSync('.update', 'utf8')));
@@ -42,7 +40,7 @@ export const loadSession = async function () {
}
};
export const saveSession = function () {
export const saveSession = () => {
// Only save on change.
if (session !== savedSession) {
const current = session;
@@ -52,7 +50,7 @@ export const saveSession = function () {
}
};
export const closeSession = function () {
export const closeSession = () => {
if (fs.existsSync('.update')) {
fs.unlinkSync('.update');
savedSession = undefined;
@@ -64,38 +62,35 @@ export const closeSession = function () {
async function query(url: string, options: fetch.RequestInit) {
const resp = await fetch(url, options);
const text = await resp.text();
let json;
let json: any;
try {
json = JSON.parse(text);
} catch (e) {
if (resp.statusText.includes('Unauthorized')) {
throw new Error('登录信息已过期,请使用 pushy login 命令重新登录');
} else {
throw new Error(`Server error: ${resp.statusText}`);
}
}
} catch (e) {}
if (resp.status !== 200) {
throw new Error(`${resp.status}: ${resp.statusText}`);
const message = json?.message || resp.statusText;
if (resp.status === 401) {
throw new Error('登录信息已过期,请使用 pushy login 命令重新登录');
}
throw new Error(message);
}
return json;
}
function queryWithoutBody(method: string) {
return function (api: string) {
return query(host + api, {
return (api: string) =>
query(host + api, {
method,
headers: {
'User-Agent': userAgent,
'X-AccessToken': session ? session.token : '',
},
});
};
}
function queryWithBody(method: string) {
return function (api: string, body: Record<string, any>) {
return query(host + api, {
return (api: string, body: Record<string, any>) =>
query(host + api, {
method,
headers: {
'User-Agent': userAgent,
@@ -104,10 +99,8 @@ function queryWithBody(method: string) {
},
body: JSON.stringify(body),
});
};
}
export const get = queryWithoutBody('GET');
export const post = queryWithBody('POST');
export const put = queryWithBody('PUT');
export const doDelete = queryWithBody('DELETE');
@@ -155,7 +148,7 @@ export async function uploadFile(fn: string, key?: string) {
form.append(k, v);
});
const fileStream = fs.createReadStream(fn);
fileStream.on('data', function (data) {
fileStream.on('data', (data) => {
bar.tick(data.length);
});

View File

@@ -1,5 +1,5 @@
import { question } from './utils';
import fs from 'fs';
import fs from 'node:fs';
import Table from 'tty-table';
import { post, get, doDelete } from './api';
@@ -84,7 +84,7 @@ export const commands = {
options: { platform, downloadUrl },
});
},
deleteApp: async function ({ args, options }) {
deleteApp: async ({ args, options }) => {
const { platform } = options;
const id = args[0] || chooseApp(platform);
if (!id) {
@@ -93,15 +93,17 @@ export const commands = {
await doDelete(`/app/${id}`);
console.log('操作成功');
},
apps: async function ({ options }) {
apps: async ({ options }) => {
const { platform } = options;
listApp(platform);
},
selectApp: async function ({ args, options }) {
selectApp: async ({ args, options }) => {
const platform = checkPlatform(
options.platform || (await question('平台(ios/android/harmony):')),
);
const id = args[0] ? parseInt(args[0]) : (await chooseApp(platform)).id;
const id = args[0]
? Number.parseInt(args[0])
: (await chooseApp(platform)).id;
let updateInfo = {};
if (fs.existsSync('update.json')) {

View File

@@ -1,13 +1,13 @@
import { question } from './utils';
import { post, get, replaceSession, saveSession, closeSession } from './api';
import crypto from 'crypto';
import crypto from 'node:crypto';
function md5(str) {
return crypto.createHash('md5').update(str).digest('hex');
}
export const commands = {
login: async function ({ args }) {
login: async ({ args }) => {
const email = args[0] || (await question('email:'));
const pwd = args[1] || (await question('password:', true));
const { token, info } = await post('/user/login', {
@@ -18,11 +18,11 @@ export const commands = {
await saveSession();
console.log(`欢迎使用 pushy 热更新服务, ${info.name}.`);
},
logout: async function () {
logout: async () => {
await closeSession();
console.log('已退出登录');
},
me: async function () {
me: async () => {
const me = await get('/user/me');
for (const k in me) {
if (k !== 'ok') {