File tree Expand file tree Collapse file tree 8 files changed +45
-40
lines changed
Expand file tree Collapse file tree 8 files changed +45
-40
lines changed Original file line number Diff line number Diff line change 11<script setup>
22 import wechatImage from ' @/static/images/contact/image-wechat.png?url'
33
4- const userStore = useUserStore ()
4+ const userStore = useOutsideUserStore ()
55 const userInfo = computed (() => userStore .userInfo )
6- const router = useRouter ()
7-
8- // 添加中间件拦截 (只有路由对象中 携带test的路由会走此部分)
9- // /src/router/helper.js
10- // defineMiddleware(
11- // 'test',
12- // function (router) {
13- // router.beforeEach((to, from, next) => {
14- // uni.showModal({
15- // title: '提示',
16- // content: '触发了路由中间件,是否允许通过?',
17- // success: (res) => {
18- // if (res.cancel) {
19- // next(false)
20- // } else {
21- // next()
22- // }
23- // }
24- // })
25- // })
26-
27- // router.afterEach(() => {})
28- // },
29- // { router }
30- // )
31-
326 // 复制文本到剪贴板
337 function handleCopy (text ) {
348 uni .setClipboardData ({
5125
5226 // 预览图片
5327 function previewImage (url ) {
54- console .log (' previewImage' , url)
5528 uni .previewImage ({
5629 urls: [url],
5730 current: url
Original file line number Diff line number Diff line change 11<script setup>
22 const version = ' 1.0.0'
3- const userStore = useUserStore ()
3+ const userStore = useOutsideUserStore ()
44 const router = useRouter ()
55
66 const isLogin = computed (() => !! userStore .token )
2020 ])
2121
2222 function handleMenuItemClick (item ) {
23+ if (item .path === ' /settings' ) {
24+ uni .showToast ({ title: ' 系统设置功能暂未开放' , icon: ' none' })
25+ return
26+ }
2327 router .push ({
2428 path: item .path ,
2529 query: item .query || {}
5963 })
6064 setTimeout (() => {
6165 router .replace ({
62- name : ' /user'
66+ path : ' /user'
6367 })
6468 }, 500 )
6569 } else if (res .cancel ) {
114118 <view
115119 v-for =" (item, index) of systemItems"
116120 :key =" index"
117- class =" flex items-center bg-white px-5 py-4 transition-colors duration-200 active:bg-gray-50"
118121 :class =" [index !== systemItems.length - 1 ? 'border-b border-gray-100' : '']"
122+ class =" flex items-center bg-white px-5 py-4 transition-colors duration-200 active:bg-gray-50"
119123 hover-class =" bg-gray-50"
120124 @click =" handleMenuItemClick(item)"
121125 >
Original file line number Diff line number Diff line change 22 // import { description, version } from '@root/package.json'
33 import Agreement from ' ./components/agreement.vue'
44 import { useMessage } from ' wot-design-uni'
5- const userStore = useUserStore ()
5+ const userStore = useOutsideUserStore ()
66 const router = useRouter ()
77 const message = useMessage (' wd-message-box-slot' )
88
5151
5252 function onAgreementClick () {
5353 agreementVisible .value = true
54- console .log (message)
55-
5654 message .alert ({
5755 title: ' 《产品服务协议》'
5856 })
Original file line number Diff line number Diff line change 11<script setup>
22 // const router = useRouter()
33
4- const userStore = useUserStore ()
5-
4+ const userStore = useOutsideUserStore ()
65 const userInfo = computed (() => userStore .userInfo )
76
87 const genderText = computed (() => {
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ export function addRouterMethodAlias(router) {
1212 Object . assign ( router , {
1313 push : ( ...args ) => router . navigate ( ...args ) ,
1414 pushTab : ( ...args ) => router . switchTab ( ...args ) ,
15- replace : ( ...args ) => router . redirect ( ...args ) ,
15+ replace : ( ...args ) => router . redirectTo ( ...args ) ,
1616 replaceAll : ( ...args ) => router . reLaunch ( ...args ) ,
1717 back : ( options ) => {
1818 router . navigateBack ( { ...( options || { } ) , delta : options ?. delta || options } )
Original file line number Diff line number Diff line change 11import { createRouter } from './helper'
2+ import { testMiddleware } from './middleware'
23
34import routes from 'uni-router-routes'
45
5- // import permission from '@/permission/index.js'
6-
76const router = createRouter ( {
87 routes : [
98 ...routes
@@ -19,7 +18,8 @@ const router = createRouter({
1918 ]
2019} )
2120
22- // permission(router)
21+ // 路由守卫中页面跳转不支持路径别名,请使用实际路径,避免使用别名
22+ testMiddleware ( router )
2323
2424async function setupRouter ( app ) {
2525 app . use ( router )
Original file line number Diff line number Diff line change 1+ // 添加中间件单页面路由拦截
2+ export function testMiddleware ( router ) {
3+ const userStore = useOutsideUserStore ( )
4+ // 只有路由对象meta中 携带test的路由会走此部分
5+ // /src/router/helper.js
6+ defineMiddleware (
7+ 'test' ,
8+ function ( router ) {
9+ router . beforeEach ( ( to , from , next ) => {
10+ if ( userStore . token ) {
11+ // 如果有token,直接跳转到目标路由
12+ next ( )
13+ } else {
14+ uni . showModal ( {
15+ title : '提示' ,
16+ content : '请先登录' ,
17+ success : ( res ) => {
18+ if ( res . confirm ) {
19+ next ( { name : 'login' } )
20+ }
21+ }
22+ } )
23+ }
24+ } )
25+
26+ router . afterEach ( ( ) => { } )
27+ } ,
28+ { router }
29+ )
30+ }
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ export const useUserStore = defineStore('user', {
99 return new Promise ( ( resolve ) => {
1010 // 模拟异步请求服务器获取 token
1111 setTimeout ( ( ) => {
12+ this . getUserInfo ( )
1213 this . token = '123456789'
1314 resolve ( )
1415 } , 2000 )
You can’t perform that action at this time.
0 commit comments