96SEO 2026-07-23 05:32 2
作用统一处理请求,自动携带token,401跳转
// src/api/request.ts
import axios from 'axios'
// 创建axios实例
const request = axios.create({
baseURL: '/api',timeout: /* 你的超时时间 */
})
// 请求拦截器:自动添加token
request.interceptors.request.use(
=> {
const token = localStorage.getItem
if {
config.headers.Authorization = `Bearer ${token}`
}
return config
},=> Promise.reject
)
// 响应拦截器:统一处理错误
request.interceptors.response.use(
=> response.data,=> {
if {
// token过期,清除token
localStorage.removeItem
// 跳转到登录页
window.location.href = '/login'
}
return Promise.reject
}
)
export default request
作用定义所有登录相关的接口

// src/api/auth.ts
import request from './request'
// 登录接口
export const loginApi = => {
return request.post('/login',{
username,password
})
}
// 获取使用者信息接口
export const getUserInfoApi = => {
return request.get
}
作用管理登录状态,token存localStorage,使用者信息只存内存,刷新页面重新调接口获取最新使用者信息
// src/store/auth.ts
import { defineStore } from 'pinia'
import { ref,computed } from 'vue'
import { loginApi,getUserInfoApi } from '@/api/auth'
export const useAuthStore = defineStore => {
// token需要持久化,因为请求要用
const token = ref || '')
// 使用者信息只存在内存里刷新就没了
const userInfo = ref
// 计算属性
const isLoggedIn = computed =>!,token.value)
const username = computed => userInfo.value?.username || '')
const nickname = computed => userInfo.value?.nickname || '')
// 登录
const login = async => {
try {
// 调用登录接口
const res = await loginApi as any
// 保存token
token.value = res.token
localStorage.setItem
// 获取使用者信息
await getUserInfo
// 如果记住使用者名,保存使用者名
if {
localStorage.setItem
} else {
localStorage.removeItem
}
return true
} catch {
console.error
return false
}
}
// 获取使用者信息
const getUserInfo = async => {
// 如果没有token,不获取
if {
return null
}
try {
const res = await getUserInfoApi as any
userInfo.value = res
return res
} catch {
console.error
// 如果获取失败,清除登录状态
logout
throw error
}
}
// 注销
const logout = => {
token.value=''
userInfo.value=null
localStorage.removeItem
// 注意:记住的使用者名不清除,方便下次登录
}
return {
token,userInfo,isLoggedIn,username,nickname。login,logout,getUserInfo
}
})
作用控制页面访问权限,刷新页面时重新获取使用者信息
// src/router/index.ts
import { createRouter,createWebHistory } from 'vue-router'
import { useAuthStore } from '@/store/auth'
const routes=
const router=createRouter({
history:createWebHistory,routes})
router.beforeEach=>{
const authStore=useAuthStore
// 如果已登录且要去登录页,则先退出再过去
if{
authStore.logout
next
return}}
{
if{
if{
if{
try{
await authStore.getUserInfo
next
}catch{
next
}
}else{
next
}
}else{
next
}
}else{
next
}})
export default router
作用: 使用者输入账号密码并提交。说起来,
使用者登录
< div>
< div v-if='error' ;class='error'>
'{{ error }}' < /div>
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback