refactor(ui): Rename $vbase to $auth across frontend

- Rename $mod.$vbase to $mod.$auth in env.js initialization
    - Add guard condition to prevent duplicate VBase initialization
    - Update all page and layout templates to use $auth instead of $vbase
    - Update route guard in routes.js to reference $mod.$auth
v4
veypi 7 hours ago
parent 529ac0d084
commit a63dc65ab6

@ -9,15 +9,14 @@ export default async ($mod) => {
} catch (e) {
console.error('Failed to load langs.json', e)
}
if (!$mod.$auth) {
// Initialize VBase Service
$mod.users = {}
const vbase = new VBase('vb', $mod.scoped, null, $mod.users); // Relative path
$mod.$vbase = vbase;
$mod.$auth = vbase;
// Wrap Axios: add auth header
vbase.wrapAxios($mod.$axios);
}
$mod.$axios.interceptors.response.use(function(response) {
return response?.data
}, function(error) {

@ -52,7 +52,7 @@
</div>
</body>
<script setup>
user = $mod.$vbase.user;
user = $mod.$auth.user;
dropdownItems = [
{label: "个人中心", value: "profile"},
{label: "退出登录", value: "logout", divided: true}
@ -62,7 +62,7 @@
if (val === 'profile') {
$router.push('/profile');
} else if (val === 'logout') {
$mod.$vbase.logout();
$mod.$auth.logout();
}
};
</script>

@ -123,7 +123,7 @@
</body>
<script setup>
collapsed = false;
user = $mod.$vbase.user;
user = $mod.$auth.user;
// Define Menu Items
menuItems = [
@ -146,7 +146,7 @@
toggleCollapse = () => {
collapsed = !collapsed;
};
console.log($vbase.PermAdmin("*"))
console.log($auth.PermAdmin("*"))
</script>
</html>

@ -157,7 +157,7 @@
{label: () => $t('nav.oauth_providers'), icon: "<i class='fas fa-id-card'></i>", path: "/oauth/providers"},
{label: () => $t('nav.settings'), icon: "<i class='fas fa-cog'></i>", path: "/settings"},
];
user = $vbase.user || {}
user = $auth.user || {}
dropdownOpen = false
toggleDropdown = (event) => {
@ -168,7 +168,7 @@
logout = (event) => {
event.stopPropagation()
dropdownOpen = false
$vbase.logout(window.location.href)
$auth.logout(window.location.href)
}
</script>

@ -492,7 +492,7 @@
return;
}
const data = await $mod.$vbase.oauthCallback(provider, code, state);
const data = await $mod.$auth.oauthCallback(provider, code, state);
if (data.access_token || data.token) {
// Already bound, login success (token set by vbase)
@ -527,7 +527,7 @@
submitting = true;
try {
const data = await $mod.$vbase.bindAccount(tempToken, bindForm.username, bindForm.password);
const data = await $mod.$auth.bindAccount(tempToken, bindForm.username, bindForm.password);
$message.success($t('auth.bind_success') || 'Binding successful');
setTimeout(() => $router.push('/'), 1000);
@ -546,7 +546,7 @@
submitting = true;
try {
const data = await $mod.$vbase.bindRegister(tempToken, regForm.username, regForm.email || undefined);
const data = await $mod.$auth.bindRegister(tempToken, regForm.username, regForm.email || undefined);
$message.success($t('auth.register_success') || 'Registration successful');
setTimeout(() => $router.push('/'), 1000);

@ -690,7 +690,7 @@
}
try {
await $mod.$vbase.request('POST', '/api/verification/send', {
await $mod.$auth.request('POST', '/api/verification/send', {
type: type,
target: signInForm.target,
purpose: 'login'
@ -729,16 +729,16 @@
}
const type = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(signInForm.target) ? 'email' : 'phone';
const data = await $mod.$vbase.request('POST', '/api/auth/login/code', {
const data = await $mod.$auth.request('POST', '/api/auth/login/code', {
type: type,
target: signInForm.target,
code: signInForm.code
});
if (data && data.access_token) {
$mod.$vbase.token = data.access_token;
if (data.refresh_token) $mod.$vbase.refreshToken = data.refresh_token;
if (data.user) $mod.$vbase.user = data.user;
$mod.$auth.token = data.access_token;
if (data.refresh_token) $mod.$auth.refreshToken = data.refresh_token;
if (data.user) $mod.$auth.user = data.user;
$message.success($t('auth.login_success'));
if (redirect === '/' || redirect.startsWith('http')) {
@ -755,7 +755,7 @@
throw new Error($t('auth.fill_all_fields'));
}
const success = await $mod.$vbase.login(signInForm.username, signInForm.password);
const success = await $mod.$auth.login(signInForm.username, signInForm.password);
if (success) {
$message.success($t('auth.login_success'));
@ -803,7 +803,7 @@
try {
// Use vbase.request for consistent API handling
const data = await $mod.$vbase.request('POST', '/api/auth/register', {
const data = await $mod.$auth.request('POST', '/api/auth/register', {
username: signUpForm.username,
email: signUpForm.email || undefined,
phone: signUpForm.phone || undefined,
@ -812,12 +812,12 @@
if (data && data.access_token) {
// Auto login after register using vbase setters
$mod.$vbase.token = data.access_token;
$mod.$auth.token = data.access_token;
if (data.refresh_token) {
$mod.$vbase.refreshToken = data.refresh_token;
$mod.$auth.refreshToken = data.refresh_token;
}
if (data.user) {
$mod.$vbase.user = data.user;
$mod.$auth.user = data.user;
}
$message.success($t('auth.register_success'));

@ -200,7 +200,7 @@
loadProviders = async () => {
try {
const res = await $vbase.request('GET', '/api/oauth/providers');
const res = await $auth.request('GET', '/api/oauth/providers');
providers = res.items || [];
} catch (e) {
$message.error(e.message);

@ -239,7 +239,7 @@
</div>
</body>
<script setup>
user = $mod.$vbase.user || {};
user = $mod.$auth.user || {};
loading = false;
pwdLoading = false;
passwordForm = {old_password: '', new_password: ''};
@ -251,7 +251,7 @@
// Fetch fresh data
loadUser = async () => {
try {
user = await $mod.$vbase.fetchUser();
user = await $mod.$auth.fetchUser();
} catch (e) {
console.error(e);
}
@ -310,7 +310,7 @@
};
handleLogout = async () => {
await $mod.$vbase.logout('/login');
await $mod.$auth.logout('/login');
};
// OAuth Helpers

@ -40,7 +40,7 @@ export default ({ $mod }) => ({
beforeEnter: async (to, from, next) => {
const isAuth = to.meta && to.meta.auth;
const roles = to.meta && to.meta.roles; // Array of required roles
const vbase = $mod.$vbase
const vbase = $mod.$auth
if (isAuth) {
if (vbase.isExpired()) {

Loading…
Cancel
Save