init
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "@dukang/shared-types",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"dev": "tsc --watch",
|
||||
"lint": "echo ok"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5.4.5"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
export interface ApiResponse<T = unknown> {
|
||||
code: number;
|
||||
message: string;
|
||||
data: T;
|
||||
}
|
||||
|
||||
export interface PaginatedData<T> {
|
||||
list: T[];
|
||||
total: number;
|
||||
page: number;
|
||||
pageSize: number;
|
||||
}
|
||||
|
||||
export interface JwtPayload {
|
||||
sub: string;
|
||||
actorType: string;
|
||||
actorId: string;
|
||||
clientApp: string;
|
||||
}
|
||||
|
||||
export interface LoginResult {
|
||||
accessToken: string;
|
||||
refreshToken: string;
|
||||
actorType: string;
|
||||
actorId: string;
|
||||
user?: Record<string, unknown>;
|
||||
store?: Record<string, unknown>;
|
||||
partner?: Record<string, unknown>;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
export interface AppConfig {
|
||||
mockSms: boolean;
|
||||
mockSmsCode: string;
|
||||
mockPay: boolean;
|
||||
mockDeliveryAuto: boolean;
|
||||
autoApproveStore: boolean;
|
||||
}
|
||||
|
||||
export function loadAppConfig(env?: Record<string, string | undefined>): AppConfig {
|
||||
const e =
|
||||
env ??
|
||||
(globalThis as { process?: { env: Record<string, string | undefined> } }).process?.env ??
|
||||
{};
|
||||
return {
|
||||
mockSms: e.MOCK_SMS !== 'false',
|
||||
mockSmsCode: e.MOCK_SMS_CODE ?? '123456',
|
||||
mockPay: e.MOCK_PAY !== 'false',
|
||||
mockDeliveryAuto: e.MOCK_DELIVERY_AUTO !== 'false',
|
||||
autoApproveStore: e.AUTO_APPROVE_STORE !== 'false',
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
export enum ClientApp {
|
||||
USER_MINI = 'USER_MINI',
|
||||
USER_H5 = 'USER_H5',
|
||||
PARTNER_MINI = 'PARTNER_MINI',
|
||||
PARTNER_H5 = 'PARTNER_H5',
|
||||
HQ_MINI = 'HQ_MINI',
|
||||
SHOP_H5 = 'SHOP_H5',
|
||||
}
|
||||
|
||||
export enum ActorType {
|
||||
USER = 'USER',
|
||||
STORE = 'STORE',
|
||||
PARTNER = 'PARTNER',
|
||||
HQ = 'HQ',
|
||||
}
|
||||
|
||||
export enum SmsScene {
|
||||
USER_LOGIN = 'USER_LOGIN',
|
||||
STORE_LOGIN = 'STORE_LOGIN',
|
||||
PARTNER_LOGIN = 'PARTNER_LOGIN',
|
||||
HQ_LOGIN = 'HQ_LOGIN',
|
||||
BIND_PHONE = 'BIND_PHONE',
|
||||
PARTNER_STAFF_ADD = 'PARTNER_STAFF_ADD',
|
||||
}
|
||||
|
||||
export enum OrderStatus {
|
||||
PENDING_PAY = 'PENDING_PAY',
|
||||
PENDING_SHIP = 'PENDING_SHIP',
|
||||
OUT_WAREHOUSE = 'OUT_WAREHOUSE',
|
||||
SHIPPING = 'SHIPPING',
|
||||
PENDING_RECEIVE = 'PENDING_RECEIVE',
|
||||
COMPLETED = 'COMPLETED',
|
||||
CANCELLED = 'CANCELLED',
|
||||
REFUNDING = 'REFUNDING',
|
||||
REFUNDED = 'REFUNDED',
|
||||
}
|
||||
|
||||
export enum OrderTab {
|
||||
ALL = 'all',
|
||||
PENDING_PAY = 'pending_pay',
|
||||
PENDING_SHIP = 'pending_ship',
|
||||
PENDING_RECEIVE = 'pending_receive',
|
||||
COMPLETED = 'completed',
|
||||
}
|
||||
|
||||
export enum DeliveryType {
|
||||
LOCAL = 'LOCAL',
|
||||
CROSS_CITY = 'CROSS_CITY',
|
||||
}
|
||||
|
||||
export enum AromaType {
|
||||
QINGXIANG = 'QINGXIANG',
|
||||
JIANGXIANG = 'JIANGXIANG',
|
||||
NONGXIANG = 'NONGXIANG',
|
||||
}
|
||||
|
||||
export enum StoreStatus {
|
||||
OPEN = 'OPEN',
|
||||
PAUSED = 'PAUSED',
|
||||
CLOSED = 'CLOSED',
|
||||
}
|
||||
|
||||
export enum BenefitCouponStatus {
|
||||
ACTIVE = 'ACTIVE',
|
||||
USED_UP = 'USED_UP',
|
||||
VOID = 'VOID',
|
||||
}
|
||||
|
||||
export const CLIENT_APP_ACTOR_MAP: Record<ClientApp, ActorType> = {
|
||||
[ClientApp.USER_MINI]: ActorType.USER,
|
||||
[ClientApp.USER_H5]: ActorType.USER,
|
||||
[ClientApp.PARTNER_MINI]: ActorType.PARTNER,
|
||||
[ClientApp.PARTNER_H5]: ActorType.PARTNER,
|
||||
[ClientApp.HQ_MINI]: ActorType.HQ,
|
||||
[ClientApp.SHOP_H5]: ActorType.STORE,
|
||||
};
|
||||
|
||||
export const REDEEM_MAX_AMOUNT = 500;
|
||||
export const REDEEM_TOKEN_TTL_SECONDS = 300;
|
||||
@@ -0,0 +1,3 @@
|
||||
export * from './enums';
|
||||
export * from './api';
|
||||
export * from './config';
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"module": "commonjs",
|
||||
"declaration": true,
|
||||
"outDir": "./dist",
|
||||
"rootDir": "./src",
|
||||
"strict": true,
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true
|
||||
},
|
||||
"include": ["src/**/*"]
|
||||
}
|
||||
Reference in New Issue
Block a user