diff --git a/apps/admin/package.json b/apps/admin/package.json index 1233db1..6c52fa1 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -15,7 +15,8 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "6.8.0", - "@ant-design/icons": "5.0.1" + "@ant-design/icons": "5.0.1", + "nanoid": "4.0.1" }, "devDependencies": { "@types/react": "^18.0.27", diff --git a/apps/admin/src/api/dto.ts b/apps/admin/src/api/dto.ts index 5f05992..53d2b6f 100644 --- a/apps/admin/src/api/dto.ts +++ b/apps/admin/src/api/dto.ts @@ -23,3 +23,8 @@ export interface IAdminLogin { username: string; password: string; } + +export interface IXcode { + expiretime: string; + code: string; +} diff --git a/apps/admin/src/api/index.ts b/apps/admin/src/api/index.ts index 58d329b..ac01ffa 100644 --- a/apps/admin/src/api/index.ts +++ b/apps/admin/src/api/index.ts @@ -1,6 +1,11 @@ import R from "./request"; import P from "./process"; -import { IAdminLogin, ICreateCourseRequest, IgetVodRequest } from "./dto"; +import { + IAdminLogin, + ICreateCourseRequest, + IgetVodRequest, + IXcode, +} from "./dto"; /** * 腾讯vod媒资 @@ -13,3 +18,8 @@ export const createCourse = (p: ICreateCourseRequest) => export const adminLogin = (p: IAdminLogin) => R.post("/api/user/admin/auth", { ...p }); + +export const createXCode = (codeList: IXcode[]) => + R.post("/api/xcode/admin/create", codeList); + +export const selectXCodeList = () => R.post("/api/xcode/admin/select/all"); diff --git a/apps/admin/src/layout/index.tsx b/apps/admin/src/layout/index.tsx index 661e138..e54d119 100644 --- a/apps/admin/src/layout/index.tsx +++ b/apps/admin/src/layout/index.tsx @@ -1,6 +1,10 @@ import React, { Suspense } from "react"; import "./index.less"; -import { VideoCameraAddOutlined, UserSwitchOutlined } from "@ant-design/icons"; +import { + VideoCameraAddOutlined, + UserSwitchOutlined, + AuditOutlined, +} from "@ant-design/icons"; import { Layout, Menu, MenuProps, Spin, theme } from "antd"; import { Route, Routes, useNavigate } from "react-router-dom"; import { Guard } from "../router/Guard"; @@ -29,6 +33,11 @@ const sideMenus: MenuProps["items"] = [ icon: , label: "用户", }, + { + key: "xcode", + icon: , + label: "神秘代码", + }, ]; const { Header, Sider, Content } = Layout; diff --git a/apps/admin/src/router/index.tsx b/apps/admin/src/router/index.tsx index 553304f..015414d 100644 --- a/apps/admin/src/router/index.tsx +++ b/apps/admin/src/router/index.tsx @@ -38,6 +38,11 @@ export const sideMenuRoutes: IRoute[] = [ element: lazy(() => import("../view/User")), name: "用户", }, + { + path: "/xcode", + element: lazy(() => import("../view/XCode")), + name: "邀请码", + }, ]; export const navMenuList = navRoutes.map((route) => { diff --git a/apps/admin/src/view/Course/Library/index.tsx b/apps/admin/src/view/Course/Library/index.tsx index 9c5e338..8fdb0e8 100644 --- a/apps/admin/src/view/Course/Library/index.tsx +++ b/apps/admin/src/view/Course/Library/index.tsx @@ -165,7 +165,6 @@ const Library = () => { - record.code.startsWith(value), + }, + { + title: "生成时间", + dataIndex: "createtime", + key: "createtime", + defaultSortOrder: "descend", + sorter: (a: any, b: any) => a.createtime - b.createtime, + render: (_: any, record: any) => { + return dayjs(+record.createtime).format("YYYY-MM-DD hh:mm:ss"); + }, + }, + { + title: "失效时间", + dataIndex: "expiretime", + key: "expiretime", + defaultSortOrder: "descend", + sorter: (a: any, b: any) => a.expiretime - b.expiretime, + render: (_: any, record: any) => { + return dayjs(+record.expiretime).format("YYYY-MM-DD hh:mm:ss"); + }, + }, + { + title: "绑定时间", + dataIndex: "user_usetime", + key: "user_usetime", + render: (_: any, record: any) => { + if (!!record.user_usetime) + return dayjs(+record.user_usetime).format("YYYY-MM-DD hh:mm:ss"); + }, + }, + { + title: "用户", + dataIndex: "user_id", + key: "user_id", + render: (_: any, record: any) => { + return record.user_id > 0 + ? `${record.user_login ?? ""}(${record.user_id})` + : ""; + }, + }, + { + title: "操作", + dataIndex: "operation", + key: "operation", + render: () => { + return 123; + }, + }, + ]; + + const [columns, setColumns] = useState(defaultColumns); + + useEffect(() => { + if (dataSource) { + defaultColumns[0].filters = dataSource.map((i: any) => ({ + text: i.code.substring(0, 6) + "...", + value: i.code, + })) as any; + setColumns(defaultColumns); + } + }, [dataSource]); + + const onClickGen = () => { + if (!genRule.amount || !genRule.day) return message.error("生成规则错误"); + const params = []; + for (let i = 0; i < genRule.amount; i++) + params.push({ + code: nanoid(), + expiretime: "" + (Date.now() + +genRule.day * 24 * 60 * 60 * 1000), + }); + createXCode(params).then((res) => { + console.log(res); + setGenRule(defaultGenRule); + }); + }; + + const defaultGenRule = { day: 30, amount: 10 }; + + const [genRule, setGenRule] = useState(defaultGenRule); + + const onSearch = (value: string) => console.log(value); + + useMount(() => { + selectXCodeList().then((res: any) => { + const { code, data } = res; + if (code === 10000) + setDataSource(data.map((i: any) => ({ ...i, key: i.code }))); + }); + }); + + return ( +
+ + + + + + + + + + + setGenRule((p: any) => ({ + ...p, + amount: +e.target.value.replace(/[^\-?\d.]/g, ""), + })) + } + /> + + setGenRule((p: any) => ({ + ...p, + day: +e.target.value.replace(/[^\-?\d.]/g, ""), + })) + } + /> + + + + + + + + ); +} diff --git a/apps/server/src/config/config.local.ts b/apps/server/src/config/config.local.ts index 79c069d..43ca823 100644 --- a/apps/server/src/config/config.local.ts +++ b/apps/server/src/config/config.local.ts @@ -16,6 +16,7 @@ export default (appInfo: MidwayAppInfo): MidwayConfig => { database: 'backset', synchronize: true, // 如果第一次使用,不存在表,有同步的需求可以写 true,注意会丢数据 logging: false, + connectTimeout: 15 * 1000, // 扫描形式, 配置实体模型 entities: [Photo] entities: ['**/entity/*.entity{.ts,.js}'], diff --git a/apps/server/src/controller/user.controller.ts b/apps/server/src/controller/user.controller.ts index 833777e..830cbc0 100644 --- a/apps/server/src/controller/user.controller.ts +++ b/apps/server/src/controller/user.controller.ts @@ -8,6 +8,7 @@ import { webSignExpired, } from '../config/base.config'; import { UserAdminAuthDTO, UserWebAuthDTO } from '../dto/user.dto'; +import { XCodeService } from '../service/xcode.service'; import { UserService } from '../service/user.service'; import { createToken, md5 } from '../util/encrypt'; @@ -19,6 +20,9 @@ export class UserController { @Inject() userService: UserService; + @Inject() + xcodeService: XCodeService; + /** * 用户前台登录 */ @@ -44,8 +48,18 @@ export class UserController { return { code: BizCode.ERROR, msg: '密码错误' }; } } else { - const createUser = await this.userService.save(params); + // 新用户注册 + // 1. 验证邀请码 + const { xcode } = params; + const xcodeValid = await this.xcodeService.valid(xcode); + if (!xcodeValid) + return { code: BizCode.ERROR, msg: '新用户注册,请填写神秘代码哦!~' }; + // 2. 创建用户 + const createUser = await this.userService.createUser(params); const { user_pass, ...rest } = createUser; + // 3. 邀请码表绑定用户 + await this.xcodeService.use(xcode, rest.id); + const token = createToken({ ...rest, hasLogin: true }); this.ctx.cookies.set(webSign, token, { expires: new Date(Date.now() + webSignExpired), @@ -54,7 +68,7 @@ export class UserController { return { code: BizCode.OK, data: { ...rest }, - msg: '欢迎来到 backset.cn', + msg: '欢迎来到 backset.cn,' + rest.display_name, }; } } catch (error) { diff --git a/apps/server/src/controller/xcode.controller.ts b/apps/server/src/controller/xcode.controller.ts new file mode 100644 index 0000000..5d68bb9 --- /dev/null +++ b/apps/server/src/controller/xcode.controller.ts @@ -0,0 +1,29 @@ +import { Body, Context, Controller, Inject, Post } from '@midwayjs/core'; +import { BizCode } from '../biz/code'; +import { XCodeService } from '../service/xcode.service'; + +@Controller('/xcode') +export class XCodeController { + @Inject() + xcodeService: XCodeService; + + @Inject() + ctx: Context; + + @Post('/admin/create') + async create(@Body() codeList) { + try { + await this.xcodeService.create(codeList); + return { code: BizCode.OK }; + } catch (error) { + this.ctx.logger.error(error); + return { code: BizCode.ERROR, msg: '[error] xcode/create error' }; + } + } + + @Post('/admin/select/all') + async selectAll() { + const data = await this.xcodeService.selectAll(); + return { code: BizCode.OK, data }; + } +} diff --git a/apps/server/src/dto/user.dto.ts b/apps/server/src/dto/user.dto.ts index 8dc4dc3..03ae4c4 100644 --- a/apps/server/src/dto/user.dto.ts +++ b/apps/server/src/dto/user.dto.ts @@ -2,11 +2,16 @@ import { Rule, RuleType } from '@midwayjs/validate'; export class UserWebAuthDTO { - @Rule(RuleType.string().required()) + @Rule( + RuleType.string().required().length(11).error(new Error('手机号为11位数字')) + ) user_login: string; - @Rule(RuleType.string().required()) + @Rule(RuleType.string().required().min(6).error(new Error('密码长度至少6位'))) user_pass: string; + + @Rule(RuleType.string().allow('')) + xcode: string; } export class UserAdminAuthDTO { diff --git a/apps/server/src/entity/user.entity.ts b/apps/server/src/entity/user.entity.ts index 808e9b8..383288e 100644 --- a/apps/server/src/entity/user.entity.ts +++ b/apps/server/src/entity/user.entity.ts @@ -12,10 +12,7 @@ export class User { @Column() user_pass?: string; - @Column({ unique: true, default: '' }) - user_phone?: string; - - @Column({ default: '', unique: true }) + @Column({ default: '' }) user_email?: string; @Column({ default: Date.now() }) diff --git a/apps/server/src/entity/xcode.entity.ts b/apps/server/src/entity/xcode.entity.ts new file mode 100644 index 0000000..5abeeaf --- /dev/null +++ b/apps/server/src/entity/xcode.entity.ts @@ -0,0 +1,19 @@ +import { Column, Entity, PrimaryColumn } from 'typeorm'; + +@Entity('xcode') +export class XCode { + @PrimaryColumn() + code?: string; + + @Column({ default: Date.now() }) + createtime?: string; + + @Column({ default: '' }) + expiretime?: string; + + @Column({ default: -1 }) + user_id?: number; + + @Column({ default: '' }) + user_usetime?: string; +} diff --git a/apps/server/src/service/user.service.ts b/apps/server/src/service/user.service.ts index 50a1901..719c101 100644 --- a/apps/server/src/service/user.service.ts +++ b/apps/server/src/service/user.service.ts @@ -13,12 +13,12 @@ export class UserService { async select(p: UserWebAuthDTO): Promise { const { user_login } = p; const user = await this.userModel.findOne({ - where: [{ user_phone: user_login }, { user_login }], + where: { user_login }, }); return user; } - async save(user: User) { + async createUser(user: User) { user.user_pass = md5(user.user_pass); const result = await this.userModel.save(user); return result; diff --git a/apps/server/src/service/xcode.service.ts b/apps/server/src/service/xcode.service.ts new file mode 100644 index 0000000..250df31 --- /dev/null +++ b/apps/server/src/service/xcode.service.ts @@ -0,0 +1,32 @@ +import { Provide } from '@midwayjs/core'; +import { InjectEntityModel } from '@midwayjs/typeorm'; +import { Repository } from 'typeorm'; +import { XCode } from '../entity/xcode.entity'; + +@Provide() +export class XCodeService { + @InjectEntityModel(XCode) + xcodeModel: Repository; + + async valid(code: string) { + const row = await this.xcodeModel.findOne({ where: { code } }); + return row && row.user_id === -1; + } + + async use(code: string, user_id: number) { + await this.xcodeModel.update( + { code }, + { user_id, user_usetime: '' + Date.now() } + ); + } + + async create(codeList: XCode[]) { + await this.xcodeModel.save(codeList); + } + + async selectAll() { + return await this.xcodeModel.query( + 'SELECT xcode.*,`user`.user_login FROM `xcode` LEFT JOIN `user` ON xcode.user_id = `user`.id' + ); + } +} diff --git a/apps/web/public/09.svg b/apps/web/public/09.svg new file mode 100644 index 0000000..23aa36d --- /dev/null +++ b/apps/web/public/09.svg @@ -0,0 +1,4687 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/cactus.svg b/apps/web/public/cactus.svg new file mode 100644 index 0000000..45a7b72 --- /dev/null +++ b/apps/web/public/cactus.svg @@ -0,0 +1,876 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/src/api/dto.ts b/apps/web/src/api/dto.ts index c293b88..949e852 100644 --- a/apps/web/src/api/dto.ts +++ b/apps/web/src/api/dto.ts @@ -1,4 +1,5 @@ export interface ILoginRequest { user_login: string; user_pass: string; + xcode: string; } diff --git a/apps/web/src/api/request.ts b/apps/web/src/api/request.ts index 1a47de1..1818723 100644 --- a/apps/web/src/api/request.ts +++ b/apps/web/src/api/request.ts @@ -24,6 +24,12 @@ instance.interceptors.request.use( // Add a response interceptor instance.interceptors.response.use( (response) => { + // midwayjs校验 + if ("success" in response.data) { + const { success, message } = response.data; + if (!success) return Message.error(message); + } + // 业务校验 const { msg, code } = response.data; switch (code) { case 10000: diff --git a/apps/web/src/components/Footer/index.less b/apps/web/src/components/Footer/index.less index f1e8674..09cc5b8 100644 --- a/apps/web/src/components/Footer/index.less +++ b/apps/web/src/components/Footer/index.less @@ -1,4 +1,18 @@ .main-footer { + display: flex; + align-items: center; padding-bottom: 20px; - text-align: center; + font-size: 13px; + color: var(--color-text-3); + > span { + margin-right: 16px; + } + a { + color: var(--color-text-3); + text-decoration: none; + } + > svg { + width: 20px; + height: 20px; + } } diff --git a/apps/web/src/components/Footer/index.tsx b/apps/web/src/components/Footer/index.tsx index 2e1ec2a..a502fbe 100644 --- a/apps/web/src/components/Footer/index.tsx +++ b/apps/web/src/components/Footer/index.tsx @@ -1,12 +1,32 @@ import "./index.less"; +import { Tooltip } from "@arco-design/web-react"; export const Footer = () => { return ( ); }; diff --git a/apps/web/src/router/index.tsx b/apps/web/src/router/index.tsx index 95eb407..814d746 100644 --- a/apps/web/src/router/index.tsx +++ b/apps/web/src/router/index.tsx @@ -27,11 +27,11 @@ export const commonRouters: IRoute[] = [ ]; export const lazyRouters: IRoute[] = [ - { - path: "/topic", - element: lazy(() => import("../view/Topic")), - name: "讨论", - }, + // { + // path: "/topic", + // element: lazy(() => import("../view/Topic")), + // name: "讨论", + // }, { path: "/subscribe", element: lazy(() => import("../view/Subscribe")), diff --git a/apps/web/src/view/Login/index.less b/apps/web/src/view/Login/index.less index 7e7e20f..cc1359e 100644 --- a/apps/web/src/view/Login/index.less +++ b/apps/web/src/view/Login/index.less @@ -1,10 +1,11 @@ .login { - > svg { - width: 48px; - height: 48px; - } + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; h4 { font-weight: 400; + margin-bottom: 48px; font-size: 16px; } diff --git a/apps/web/src/view/Login/index.tsx b/apps/web/src/view/Login/index.tsx index a17a1b8..8d23e99 100644 --- a/apps/web/src/view/Login/index.tsx +++ b/apps/web/src/view/Login/index.tsx @@ -7,6 +7,7 @@ import { useNavigate } from "react-router-dom"; const defaultForm = { user_login: "", user_pass: "", + xcode: "", }; const DURATION = 3; // 验证码倒计时 @@ -24,7 +25,7 @@ export function Login() { }, 500); }; - const onClickSmsLogin = () => { + const onClickLogin = () => { userLogin(loginForm).then((res: any) => { const { code, data, msg } = res; if (code === 10000) { @@ -48,21 +49,33 @@ export function Login() { className="container login" style={{ textAlign: "center", paddingTop: 100 }} > - - - +

欢迎,Backset!

-
+
+ setLoginForm((p) => ({ + ...p, + xcode: e.target.value, + })) + } + /> + setLoginForm((p) => ({ ...p, @@ -80,6 +93,9 @@ export function Login() { user_pass: e.target.value, })) } + onKeyDown={(e) => { + if (e.key === "Enter") onClickLogin(); + }} placeholder="密码" /> {/*
@@ -99,8 +115,8 @@ export function Login() {
*/}
-
diff --git a/apps/web/src/view/Subscribe/index.less b/apps/web/src/view/Subscribe/index.less index 538198c..64d7334 100644 --- a/apps/web/src/view/Subscribe/index.less +++ b/apps/web/src/view/Subscribe/index.less @@ -15,10 +15,8 @@ // hsl(0, 0%, 100%), // hsl(0deg 0% 0% / 21%) // ); - background-repeat: no-repeat; - background-position: center; - background-size: cover; - background-image: url("/bg.avif"); + background: #e9e8e5; + h2 { font-size: 24px; } diff --git a/apps/web/src/view/Subscribe/index.tsx b/apps/web/src/view/Subscribe/index.tsx index 12b0c6f..bd72f60 100644 --- a/apps/web/src/view/Subscribe/index.tsx +++ b/apps/web/src/view/Subscribe/index.tsx @@ -7,8 +7,15 @@ function Subscribe() { return (
-

订阅选项

-

我也不知道该如何劝你们花钱点钱?但是学一点可能就少亏一点

+

支持一下

+

+ 您可以手工通过“支付宝/微信”打赏 + Backset,在收到你的打赏之后,我们会尽快 (5 - 30分钟) + 为您解锁全部学习内容权限 +

+

+ PS:转账请附上“用户名/手机号”,如果忘记了,请联系微信:x-arctanx +

¥1,299
@@ -75,7 +82,9 @@ function Subscribe() { 三个月内,在线学习 backset.cn 上的所有课程,通过高效的内容,快速掌握各种软件应用开发技术。

- +
  • diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34c6d36..08ff8a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -103,6 +103,7 @@ importers: '@vitejs/plugin-react': ^3.1.0 antd: ^5.2.0 less: ^4.1.3 + nanoid: 4.0.1 react: ^18.2.0 react-dom: ^18.2.0 react-router-dom: 6.8.0 @@ -114,6 +115,7 @@ importers: '@backset/ui': link:../../packages/ui antd: registry.npmmirror.com/antd/5.2.0_biqbaboplfbrettd7655fr4n2y less: registry.npmmirror.com/less/4.1.3 + nanoid: registry.npmmirror.com/nanoid/4.0.1 react: registry.npmmirror.com/react/18.2.0 react-dom: registry.npmmirror.com/react-dom/18.2.0_react@18.2.0 react-router-dom: registry.npmmirror.com/react-router-dom/6.8.0_biqbaboplfbrettd7655fr4n2y @@ -290,38 +292,6 @@ packages: - '@types/react' dev: false - /@aws-sdk/credential-providers/3.272.0: - resolution: {integrity: sha512-ucd6Xq6aBMf+nM4uz5zkjL11mwaE5BV1Q4hkulaGu2v1dRA8n6zhLJk/sb4hOJ7leelqMJMErlbQ2T3MkYvlJQ==} - engines: {node: '>=14.0.0'} - requiresBuild: true - dependencies: - '@aws-sdk/client-cognito-identity': registry.npmmirror.com/@aws-sdk/client-cognito-identity/3.272.0 - '@aws-sdk/client-sso': registry.npmmirror.com/@aws-sdk/client-sso/3.272.0 - '@aws-sdk/client-sts': registry.npmmirror.com/@aws-sdk/client-sts/3.272.0 - '@aws-sdk/credential-provider-cognito-identity': registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/3.272.0 - '@aws-sdk/credential-provider-env': registry.npmmirror.com/@aws-sdk/credential-provider-env/3.272.0 - '@aws-sdk/credential-provider-imds': registry.npmmirror.com/@aws-sdk/credential-provider-imds/3.272.0 - '@aws-sdk/credential-provider-ini': registry.npmmirror.com/@aws-sdk/credential-provider-ini/3.272.0 - '@aws-sdk/credential-provider-node': registry.npmmirror.com/@aws-sdk/credential-provider-node/3.272.0 - '@aws-sdk/credential-provider-process': registry.npmmirror.com/@aws-sdk/credential-provider-process/3.272.0 - '@aws-sdk/credential-provider-sso': registry.npmmirror.com/@aws-sdk/credential-provider-sso/3.272.0 - '@aws-sdk/credential-provider-web-identity': registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/3.272.0 - '@aws-sdk/property-provider': registry.npmmirror.com/@aws-sdk/property-provider/3.272.0 - '@aws-sdk/shared-ini-file-loader': registry.npmmirror.com/@aws-sdk/shared-ini-file-loader/3.272.0 - '@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types/3.272.0 - tslib: 2.5.0 - transitivePeerDependencies: - - aws-crt - optional: true - - /@babel/code-frame/7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': registry.npmmirror.com/@babel/highlight/7.18.6 - dev: true - optional: true - /@babel/compat-data/7.20.14: resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==} engines: {node: '>=6.9.0'} @@ -1490,204 +1460,6 @@ packages: resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} dev: false - /@esbuild/android-arm/0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64/0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64/0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64/0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64/0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64/0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64/0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm/0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64/0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32/0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64/0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el/0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64/0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64/0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x/0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64/0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64/0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64/0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64/0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64/0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32/0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64/0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@jridgewell/gen-mapping/0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} @@ -2036,6 +1808,7 @@ packages: requiresBuild: true dependencies: prr: 1.0.1 + dev: true optional: true /esbuild/0.16.17: @@ -2044,28 +1817,28 @@ packages: hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 + '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.16.17 + '@esbuild/android-arm64': registry.npmmirror.com/@esbuild/android-arm64/0.16.17 + '@esbuild/android-x64': registry.npmmirror.com/@esbuild/android-x64/0.16.17 + '@esbuild/darwin-arm64': registry.npmmirror.com/@esbuild/darwin-arm64/0.16.17 + '@esbuild/darwin-x64': registry.npmmirror.com/@esbuild/darwin-x64/0.16.17 + '@esbuild/freebsd-arm64': registry.npmmirror.com/@esbuild/freebsd-arm64/0.16.17 + '@esbuild/freebsd-x64': registry.npmmirror.com/@esbuild/freebsd-x64/0.16.17 + '@esbuild/linux-arm': registry.npmmirror.com/@esbuild/linux-arm/0.16.17 + '@esbuild/linux-arm64': registry.npmmirror.com/@esbuild/linux-arm64/0.16.17 + '@esbuild/linux-ia32': registry.npmmirror.com/@esbuild/linux-ia32/0.16.17 + '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.16.17 + '@esbuild/linux-mips64el': registry.npmmirror.com/@esbuild/linux-mips64el/0.16.17 + '@esbuild/linux-ppc64': registry.npmmirror.com/@esbuild/linux-ppc64/0.16.17 + '@esbuild/linux-riscv64': registry.npmmirror.com/@esbuild/linux-riscv64/0.16.17 + '@esbuild/linux-s390x': registry.npmmirror.com/@esbuild/linux-s390x/0.16.17 + '@esbuild/linux-x64': registry.npmmirror.com/@esbuild/linux-x64/0.16.17 + '@esbuild/netbsd-x64': registry.npmmirror.com/@esbuild/netbsd-x64/0.16.17 + '@esbuild/openbsd-x64': registry.npmmirror.com/@esbuild/openbsd-x64/0.16.17 + '@esbuild/sunos-x64': registry.npmmirror.com/@esbuild/sunos-x64/0.16.17 + '@esbuild/win32-arm64': registry.npmmirror.com/@esbuild/win32-arm64/0.16.17 + '@esbuild/win32-ia32': registry.npmmirror.com/@esbuild/win32-ia32/0.16.17 + '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64/0.16.17 dev: true /esutils/2.0.3: @@ -2112,14 +1885,6 @@ packages: mime-types: 2.1.35 dev: true - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} @@ -2151,6 +1916,7 @@ packages: /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true optional: true /has/1.0.3: @@ -2183,6 +1949,7 @@ packages: engines: {node: '>=0.10.0'} hasBin: true requiresBuild: true + dev: true optional: true /is-arrayish/0.3.2: @@ -2264,13 +2031,13 @@ packages: parse-node-version: 1.0.1 tslib: 2.5.0 optionalDependencies: - errno: 0.1.8 - graceful-fs: 4.2.10 - image-size: 0.5.5 - make-dir: 2.1.0 - mime: 1.6.0 - needle: 3.2.0 - source-map: 0.6.1 + errno: registry.npmmirror.com/errno/0.1.8 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 + image-size: registry.npmmirror.com/image-size/0.5.5 + make-dir: registry.npmmirror.com/make-dir/2.1.0 + mime: registry.npmmirror.com/mime/1.6.0 + needle: registry.npmmirror.com/needle/3.2.0 + source-map: registry.npmmirror.com/source-map/0.6.1 transitivePeerDependencies: - supports-color @@ -2296,15 +2063,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /make-dir/2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - requiresBuild: true - dependencies: - pify: 4.0.1 - semver: 5.7.1 - optional: true - /mime-db/1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -2321,6 +2079,7 @@ packages: engines: {node: '>=4'} hasBin: true requiresBuild: true + dev: true optional: true /mkdirp/0.5.6: @@ -2331,25 +2090,6 @@ packages: dev: true optional: true - /nanoid/3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /needle/3.2.0: - resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} - engines: {node: '>= 4.4.x'} - hasBin: true - requiresBuild: true - dependencies: - debug: registry.npmmirror.com/debug/3.2.7 - iconv-lite: registry.npmmirror.com/iconv-lite/0.6.3 - sax: 1.2.4 - transitivePeerDependencies: - - supports-color - optional: true - /node-fetch/2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} @@ -2410,7 +2150,7 @@ packages: resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 + nanoid: registry.npmmirror.com/nanoid/3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 dev: true @@ -2612,17 +2352,9 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: registry.npmmirror.com/fsevents/2.3.2 dev: true - /saslprep/1.0.3: - resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==} - engines: {node: '>=6'} - requiresBuild: true - dependencies: - sparse-bitfield: registry.npmmirror.com/sparse-bitfield/3.0.3 - optional: true - /sax/1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} optional: true @@ -2666,6 +2398,7 @@ packages: /source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + dev: true optional: true /strip-json-comments/2.0.1: @@ -2823,7 +2556,7 @@ packages: resolve: 1.22.1 rollup: 3.17.2 optionalDependencies: - fsevents: 2.3.2 + fsevents: registry.npmmirror.com/fsevents/2.3.2 dev: true registry.npmmirror.com/@ampproject/remapping/2.2.0: @@ -3270,6 +3003,32 @@ packages: tslib: 2.5.0 optional: true + registry.npmmirror.com/@aws-sdk/credential-providers/3.272.0: + resolution: {integrity: sha512-ucd6Xq6aBMf+nM4uz5zkjL11mwaE5BV1Q4hkulaGu2v1dRA8n6zhLJk/sb4hOJ7leelqMJMErlbQ2T3MkYvlJQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-sdk/credential-providers/-/credential-providers-3.272.0.tgz} + name: '@aws-sdk/credential-providers' + version: 3.272.0 + engines: {node: '>=14.0.0'} + requiresBuild: true + dependencies: + '@aws-sdk/client-cognito-identity': registry.npmmirror.com/@aws-sdk/client-cognito-identity/3.272.0 + '@aws-sdk/client-sso': registry.npmmirror.com/@aws-sdk/client-sso/3.272.0 + '@aws-sdk/client-sts': registry.npmmirror.com/@aws-sdk/client-sts/3.272.0 + '@aws-sdk/credential-provider-cognito-identity': registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/3.272.0 + '@aws-sdk/credential-provider-env': registry.npmmirror.com/@aws-sdk/credential-provider-env/3.272.0 + '@aws-sdk/credential-provider-imds': registry.npmmirror.com/@aws-sdk/credential-provider-imds/3.272.0 + '@aws-sdk/credential-provider-ini': registry.npmmirror.com/@aws-sdk/credential-provider-ini/3.272.0 + '@aws-sdk/credential-provider-node': registry.npmmirror.com/@aws-sdk/credential-provider-node/3.272.0 + '@aws-sdk/credential-provider-process': registry.npmmirror.com/@aws-sdk/credential-provider-process/3.272.0 + '@aws-sdk/credential-provider-sso': registry.npmmirror.com/@aws-sdk/credential-provider-sso/3.272.0 + '@aws-sdk/credential-provider-web-identity': registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/3.272.0 + '@aws-sdk/property-provider': registry.npmmirror.com/@aws-sdk/property-provider/3.272.0 + '@aws-sdk/shared-ini-file-loader': registry.npmmirror.com/@aws-sdk/shared-ini-file-loader/3.272.0 + '@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types/3.272.0 + tslib: 2.5.0 + transitivePeerDependencies: + - aws-crt + optional: true + registry.npmmirror.com/@aws-sdk/fetch-http-handler/3.272.0: resolution: {integrity: sha512-1Qhm9e0RbS1Xf4CZqUbQyUMkDLd7GrsRXWIvm9b86/vgeV8/WnjO3CMue9D51nYgcyQORhYXv6uVjAYCWbUExA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.272.0.tgz} name: '@aws-sdk/fetch-http-handler' @@ -4098,6 +3857,248 @@ packages: version: 0.7.5 dev: false + registry.npmmirror.com/@esbuild/android-arm/0.16.17: + resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz} + name: '@esbuild/android-arm' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/android-arm64/0.16.17: + resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz} + name: '@esbuild/android-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/android-x64/0.16.17: + resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz} + name: '@esbuild/android-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/darwin-arm64/0.16.17: + resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz} + name: '@esbuild/darwin-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/darwin-x64/0.16.17: + resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz} + name: '@esbuild/darwin-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/freebsd-arm64/0.16.17: + resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz} + name: '@esbuild/freebsd-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/freebsd-x64/0.16.17: + resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz} + name: '@esbuild/freebsd-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-arm/0.16.17: + resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz} + name: '@esbuild/linux-arm' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-arm64/0.16.17: + resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz} + name: '@esbuild/linux-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-ia32/0.16.17: + resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz} + name: '@esbuild/linux-ia32' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-loong64/0.16.17: + resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz} + name: '@esbuild/linux-loong64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-mips64el/0.16.17: + resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz} + name: '@esbuild/linux-mips64el' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-ppc64/0.16.17: + resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz} + name: '@esbuild/linux-ppc64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-riscv64/0.16.17: + resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz} + name: '@esbuild/linux-riscv64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-s390x/0.16.17: + resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz} + name: '@esbuild/linux-s390x' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/linux-x64/0.16.17: + resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz} + name: '@esbuild/linux-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/netbsd-x64/0.16.17: + resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz} + name: '@esbuild/netbsd-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/openbsd-x64/0.16.17: + resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz} + name: '@esbuild/openbsd-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/sunos-x64/0.16.17: + resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz} + name: '@esbuild/sunos-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/win32-arm64/0.16.17: + resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz} + name: '@esbuild/win32-arm64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/win32-ia32/0.16.17: + resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz} + name: '@esbuild/win32-ia32' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/@esbuild/win32-x64/0.16.17: + resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz} + name: '@esbuild/win32-x64' + version: 0.16.17 + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + registry.npmmirror.com/@eslint/eslintrc/0.4.3: resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz} name: '@eslint/eslintrc' @@ -6526,7 +6527,7 @@ packages: normalize-path: registry.npmmirror.com/normalize-path/3.0.0 readdirp: registry.npmmirror.com/readdirp/3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: registry.npmmirror.com/fsevents/2.3.2 dev: true registry.npmmirror.com/chownr/1.1.4: @@ -7567,6 +7568,16 @@ packages: hasBin: true dev: true + registry.npmmirror.com/errno/0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz} + name: errno + version: 0.1.8 + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + optional: true + registry.npmmirror.com/error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz} name: error-ex @@ -7603,28 +7614,28 @@ packages: hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 + '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.16.17 + '@esbuild/android-arm64': registry.npmmirror.com/@esbuild/android-arm64/0.16.17 + '@esbuild/android-x64': registry.npmmirror.com/@esbuild/android-x64/0.16.17 + '@esbuild/darwin-arm64': registry.npmmirror.com/@esbuild/darwin-arm64/0.16.17 + '@esbuild/darwin-x64': registry.npmmirror.com/@esbuild/darwin-x64/0.16.17 + '@esbuild/freebsd-arm64': registry.npmmirror.com/@esbuild/freebsd-arm64/0.16.17 + '@esbuild/freebsd-x64': registry.npmmirror.com/@esbuild/freebsd-x64/0.16.17 + '@esbuild/linux-arm': registry.npmmirror.com/@esbuild/linux-arm/0.16.17 + '@esbuild/linux-arm64': registry.npmmirror.com/@esbuild/linux-arm64/0.16.17 + '@esbuild/linux-ia32': registry.npmmirror.com/@esbuild/linux-ia32/0.16.17 + '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.16.17 + '@esbuild/linux-mips64el': registry.npmmirror.com/@esbuild/linux-mips64el/0.16.17 + '@esbuild/linux-ppc64': registry.npmmirror.com/@esbuild/linux-ppc64/0.16.17 + '@esbuild/linux-riscv64': registry.npmmirror.com/@esbuild/linux-riscv64/0.16.17 + '@esbuild/linux-s390x': registry.npmmirror.com/@esbuild/linux-s390x/0.16.17 + '@esbuild/linux-x64': registry.npmmirror.com/@esbuild/linux-x64/0.16.17 + '@esbuild/netbsd-x64': registry.npmmirror.com/@esbuild/netbsd-x64/0.16.17 + '@esbuild/openbsd-x64': registry.npmmirror.com/@esbuild/openbsd-x64/0.16.17 + '@esbuild/sunos-x64': registry.npmmirror.com/@esbuild/sunos-x64/0.16.17 + '@esbuild/win32-arm64': registry.npmmirror.com/@esbuild/win32-arm64/0.16.17 + '@esbuild/win32-ia32': registry.npmmirror.com/@esbuild/win32-ia32/0.16.17 + '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64/0.16.17 dev: true registry.npmmirror.com/escalade/3.1.1: @@ -8228,6 +8239,16 @@ packages: name: fs.realpath version: 1.0.0 + registry.npmmirror.com/fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz} + name: fsevents + version: 2.3.2 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + registry.npmmirror.com/function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz} name: function-bind @@ -8459,7 +8480,6 @@ packages: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz} name: graceful-fs version: 4.2.10 - dev: true registry.npmmirror.com/grapheme-splitter/1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz} @@ -8697,6 +8717,15 @@ packages: engines: {node: '>= 4'} dev: true + registry.npmmirror.com/image-size/0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz} + name: image-size + version: 0.5.5 + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + optional: true + registry.npmmirror.com/immutable/4.2.4: resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/immutable/-/immutable-4.2.4.tgz} name: immutable @@ -9234,7 +9263,7 @@ packages: name: jsonfile version: 4.0.0 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 dev: true registry.npmmirror.com/jsonwebtoken/9.0.0: @@ -9455,13 +9484,13 @@ packages: parse-node-version: registry.npmmirror.com/parse-node-version/1.0.1 tslib: registry.npmmirror.com/tslib/2.5.0 optionalDependencies: - errno: 0.1.8 - graceful-fs: 4.2.10 - image-size: 0.5.5 - make-dir: 2.1.0 - mime: 1.6.0 - needle: 3.2.0 - source-map: 0.6.1 + errno: registry.npmmirror.com/errno/0.1.8 + graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10 + image-size: registry.npmmirror.com/image-size/0.5.5 + make-dir: registry.npmmirror.com/make-dir/2.1.0 + mime: registry.npmmirror.com/mime/1.6.0 + needle: registry.npmmirror.com/needle/3.2.0 + source-map: registry.npmmirror.com/source-map/0.6.1 transitivePeerDependencies: - supports-color @@ -9694,7 +9723,6 @@ packages: dependencies: pify: 4.0.1 semver: 5.7.1 - dev: true registry.npmmirror.com/make-dir/3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz} @@ -9814,6 +9842,15 @@ packages: dependencies: mime-db: registry.npmmirror.com/mime-db/1.52.0 + registry.npmmirror.com/mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz} + name: mime + version: 1.6.0 + engines: {node: '>=4'} + hasBin: true + requiresBuild: true + optional: true + registry.npmmirror.com/mime/2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz} name: mime @@ -9954,8 +9991,8 @@ packages: mongodb-connection-string-url: registry.npmmirror.com/mongodb-connection-string-url/2.6.0 socks: registry.npmmirror.com/socks/2.7.1 optionalDependencies: - '@aws-sdk/credential-providers': 3.272.0 - saslprep: 1.0.3 + '@aws-sdk/credential-providers': registry.npmmirror.com/@aws-sdk/credential-providers/3.272.0 + saslprep: registry.npmmirror.com/saslprep/1.0.3 transitivePeerDependencies: - aws-crt @@ -10102,6 +10139,14 @@ packages: hasBin: true dev: true + registry.npmmirror.com/nanoid/4.0.1: + resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-4.0.1.tgz} + name: nanoid + version: 4.0.1 + engines: {node: ^14 || ^16 || >=18} + hasBin: true + dev: false + registry.npmmirror.com/natural-compare-lite/1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz} name: natural-compare-lite @@ -10121,6 +10166,21 @@ packages: hasBin: true dev: true + registry.npmmirror.com/needle/3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz} + name: needle + version: 3.2.0 + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + debug: registry.npmmirror.com/debug/3.2.7 + iconv-lite: registry.npmmirror.com/iconv-lite/0.6.3 + sax: 1.2.4 + transitivePeerDependencies: + - supports-color + optional: true + registry.npmmirror.com/negotiator/0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz} name: negotiator @@ -12265,7 +12325,7 @@ packages: rollup: registry.npmmirror.com/rollup/3.17.2 typescript: registry.npmmirror.com/typescript/4.9.5 optionalDependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6 dev: true registry.npmmirror.com/rollup-plugin-postcss/4.0.2_postcss@8.4.21: @@ -12310,7 +12370,7 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - fsevents: 2.3.2 + fsevents: registry.npmmirror.com/fsevents/2.3.2 dev: true registry.npmmirror.com/run-async/2.4.1: @@ -12374,6 +12434,16 @@ packages: name: safer-buffer version: 2.1.2 + registry.npmmirror.com/saslprep/1.0.3: + resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/saslprep/-/saslprep-1.0.3.tgz} + name: saslprep + version: 1.0.3 + engines: {node: '>=6'} + requiresBuild: true + dependencies: + sparse-bitfield: registry.npmmirror.com/sparse-bitfield/3.0.3 + optional: true + registry.npmmirror.com/sass-loader/13.2.0_sass@1.58.3+webpack@5.75.0: resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass-loader/-/sass-loader-13.2.0.tgz} id: registry.npmmirror.com/sass-loader/13.2.0 @@ -12692,7 +12762,6 @@ packages: name: source-map version: 0.6.1 engines: {node: '>=0.10.0'} - dev: true registry.npmmirror.com/sparse-bitfield/3.0.3: resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz} @@ -13779,7 +13848,7 @@ packages: resolve: registry.npmmirror.com/resolve/1.22.1 rollup: registry.npmmirror.com/rollup/3.17.2 optionalDependencies: - fsevents: 2.3.2 + fsevents: registry.npmmirror.com/fsevents/2.3.2 dev: true registry.npmmirror.com/vod-node-sdk/1.1.0: