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 1
1
<script setup>
2
2
import wechatImage from ' @/static/images/contact/image-wechat.png?url'
3
3
4
- const userStore = useUserStore ()
4
+ const userStore = useOutsideUserStore ()
5
5
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
-
32
6
// 复制文本到剪贴板
33
7
function handleCopy (text ) {
34
8
uni .setClipboardData ({
51
25
52
26
// 预览图片
53
27
function previewImage (url ) {
54
- console .log (' previewImage' , url)
55
28
uni .previewImage ({
56
29
urls: [url],
57
30
current: url
Original file line number Diff line number Diff line change 1
1
<script setup>
2
2
const version = ' 1.0.0'
3
- const userStore = useUserStore ()
3
+ const userStore = useOutsideUserStore ()
4
4
const router = useRouter ()
5
5
6
6
const isLogin = computed (() => !! userStore .token )
20
20
])
21
21
22
22
function handleMenuItemClick (item ) {
23
+ if (item .path === ' /settings' ) {
24
+ uni .showToast ({ title: ' 系统设置功能暂未开放' , icon: ' none' })
25
+ return
26
+ }
23
27
router .push ({
24
28
path: item .path ,
25
29
query: item .query || {}
59
63
})
60
64
setTimeout (() => {
61
65
router .replace ({
62
- name : ' /user'
66
+ path : ' /user'
63
67
})
64
68
}, 500 )
65
69
} else if (res .cancel ) {
114
118
<view
115
119
v-for =" (item, index) of systemItems"
116
120
:key =" index"
117
- class =" flex items-center bg-white px-5 py-4 transition-colors duration-200 active:bg-gray-50"
118
121
: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"
119
123
hover-class =" bg-gray-50"
120
124
@click =" handleMenuItemClick(item)"
121
125
>
Original file line number Diff line number Diff line change 2
2
// import { description, version } from '@root/package.json'
3
3
import Agreement from ' ./components/agreement.vue'
4
4
import { useMessage } from ' wot-design-uni'
5
- const userStore = useUserStore ()
5
+ const userStore = useOutsideUserStore ()
6
6
const router = useRouter ()
7
7
const message = useMessage (' wd-message-box-slot' )
8
8
51
51
52
52
function onAgreementClick () {
53
53
agreementVisible .value = true
54
- console .log (message)
55
-
56
54
message .alert ({
57
55
title: ' 《产品服务协议》'
58
56
})
Original file line number Diff line number Diff line change 1
1
<script setup>
2
2
// const router = useRouter()
3
3
4
- const userStore = useUserStore ()
5
-
4
+ const userStore = useOutsideUserStore ()
6
5
const userInfo = computed (() => userStore .userInfo )
7
6
8
7
const genderText = computed (() => {
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ export function addRouterMethodAlias(router) {
12
12
Object . assign ( router , {
13
13
push : ( ...args ) => router . navigate ( ...args ) ,
14
14
pushTab : ( ...args ) => router . switchTab ( ...args ) ,
15
- replace : ( ...args ) => router . redirect ( ...args ) ,
15
+ replace : ( ...args ) => router . redirectTo ( ...args ) ,
16
16
replaceAll : ( ...args ) => router . reLaunch ( ...args ) ,
17
17
back : ( options ) => {
18
18
router . navigateBack ( { ...( options || { } ) , delta : options ?. delta || options } )
Original file line number Diff line number Diff line change 1
1
import { createRouter } from './helper'
2
+ import { testMiddleware } from './middleware'
2
3
3
4
import routes from 'uni-router-routes'
4
5
5
- // import permission from '@/permission/index.js'
6
-
7
6
const router = createRouter ( {
8
7
routes : [
9
8
...routes
@@ -19,7 +18,8 @@ const router = createRouter({
19
18
]
20
19
} )
21
20
22
- // permission(router)
21
+ // 路由守卫中页面跳转不支持路径别名,请使用实际路径,避免使用别名
22
+ testMiddleware ( router )
23
23
24
24
async function setupRouter ( app ) {
25
25
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', {
9
9
return new Promise ( ( resolve ) => {
10
10
// 模拟异步请求服务器获取 token
11
11
setTimeout ( ( ) => {
12
+ this . getUserInfo ( )
12
13
this . token = '123456789'
13
14
resolve ( )
14
15
} , 2000 )
You can’t perform that action at this time.
0 commit comments