Merge branch 'master' into feat/mobile

This commit is contained in:
SMGDev
2025-11-21 15:43:50 +00:00
91 changed files with 10905 additions and 7477 deletions

52
src/config/auth.ts Normal file
View File

@@ -0,0 +1,52 @@
// 微信登录配置
export const WECHAT_CONFIG = {
// 微信开放平台AppID需要在微信开放平台申请
appId: 'your_wechat_app_id',
// 微信授权回调地址
redirectUri: `${window.location.origin}/wechat/callback`,
// 授权作用域
scope: 'snsapi_userinfo',
// 授权状态参数
state: 'wechat_login'
}
// 获取微信授权URL
export function getWechatAuthUrl(state?: string): string {
const {appId, redirectUri, scope} = WECHAT_CONFIG
const authState = state || Math.random().toString(36).substr(2, 15)
return `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${encodeURIComponent(redirectUri)}&response_type=code&scope=${scope}&state=${authState}#wechat_redirect`
}
// 手机号验证配置
export const PHONE_CONFIG = {
// 验证码长度
codeLength: 6,
// 验证码发送间隔(秒)
sendInterval: 60,
// 手机号正则表达式(中国大陆)
phoneRegex: /^1[2-9]\d{9}$/
}
// 邮箱配置
export const EMAIL_CONFIG = {
// 邮箱正则表达式
emailRegex: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
// 邮箱验证码长度
codeLength: 6
}
// 密码配置
export const PASSWORD_CONFIG = {
// 密码最小长度
minLength: 9,
// 密码最大长度
maxLength: 20
}

View File

@@ -1,8 +1,6 @@
import { useBaseStore } from "@/stores/base.ts";
export const GITHUB = 'https://github.com/SMGoro/TypeWords'
export const ProjectName = 'Type Words'
export const Host = '2study.smgoro.com'
export const GITHUB = 'https://github.com/zyronon/TypeWords'
export const Host = 'typewords.cc'
export const EMAIL = 'zyronon@163.com'
export const Origin = `https://${Host}`
export const APP_NAME = 'Type Words'
@@ -16,11 +14,18 @@ const map = {
}
export const ENV = Object.assign(map['DEV'], common)
// export const IS_OFFICIAL = import.meta.env.DEV
// export let IS_LOGIN = true
export const IS_OFFICIAL = false
export let IS_LOGIN = false
export const CAN_REQUEST = IS_LOGIN && IS_OFFICIAL
export let AppEnv = {
TOKEN: localStorage.getItem('token') ?? '',
IS_OFFICIAL: false,
IS_LOGIN: false,
CAN_REQUEST: false
}
AppEnv.IS_LOGIN = !!AppEnv.TOKEN
AppEnv.CAN_REQUEST = AppEnv.IS_LOGIN && AppEnv.IS_OFFICIAL
// console.log('AppEnv.CAN_REQUEST',AppEnv.CAN_REQUEST)
export const RESOURCE_PATH = ENV.API + 'static'
const BASE_URL = (import.meta as any).env?.BASE_URL || '/'
@@ -53,13 +58,14 @@ export const SAVE_DICT_KEY = {
}
export const SAVE_SETTING_KEY = {
key: 'typing-word-setting',
version: 16
version: 17
}
export const EXPORT_DATA_KEY = {
key: 'typing-word-export',
version: 4
}
export const LOCAL_FILE_KEY = 'typing-word-files'
export const PracticeSaveWordKey = {
key: 'PracticeSaveWord',
version: 1