37 lines
709 B
JavaScript
37 lines
709 B
JavaScript
const getUrl = (pageName, extras = null) => {
|
|
let url = '/pages/' + pageName + '/index'
|
|
|
|
if (pageName.indexOf('/pages') == 0) {
|
|
url = pageName
|
|
} else if(pageName.indexOf('/') != -1) {
|
|
url = '/pages/' + pageName
|
|
}
|
|
|
|
if (url == uni.utils.getCurrentRoute()) {
|
|
return
|
|
}
|
|
|
|
if (extras && JSON.stringify(extras) != '{}') {
|
|
url += '?' + uni.utils.transformRequest(extras)
|
|
}
|
|
|
|
return url
|
|
}
|
|
|
|
const getPageName = url => {
|
|
const matchs = url.match(/\/pages\/(.+)\/(.+)/i)
|
|
if (matchs.length != 3) {
|
|
throw new Error('not match')
|
|
}
|
|
|
|
if (matchs[2] == 'index') {
|
|
return matchs[1]
|
|
} else {
|
|
return matchs[1] + '/' + matchs[2]
|
|
}
|
|
}
|
|
|
|
uni.url = {
|
|
getUrl,
|
|
getPageName
|
|
} |