59 lines
1.6 KiB
JavaScript
59 lines
1.6 KiB
JavaScript
import list from './data/index';
|
|
Page({
|
|
data: {
|
|
list,
|
|
},
|
|
onLoad(options) {
|
|
const { path, q } = options;
|
|
console.log(path);
|
|
if (q) {
|
|
const str = this.getQueryByUrl(decodeURIComponent(q));
|
|
console.log(str, str.page);
|
|
wx.navigateTo({
|
|
url: `/pages/${str.page}/${str.page}`,
|
|
});
|
|
}
|
|
},
|
|
clickHandle(e) {
|
|
let { name, path = '' } = e.detail.item;
|
|
if (!path) {
|
|
name = name.replace(/^[A-Z]/, (match) => `${match}`.toLocaleLowerCase());
|
|
name = name.replace(/[A-Z]/g, (match) => {
|
|
return `-${match.toLowerCase()}`;
|
|
});
|
|
path = `/pages/${name}/${name}`;
|
|
}
|
|
wx.navigateTo({
|
|
url: path,
|
|
fail: () => {
|
|
wx.navigateTo({
|
|
url: '/pages/home/navigateFail/navigateFail',
|
|
});
|
|
},
|
|
});
|
|
},
|
|
onShareAppMessage() {
|
|
return {
|
|
title: 'TDesign UI',
|
|
path: '/pages/home/home',
|
|
};
|
|
},
|
|
getQueryByUrl(url) {
|
|
const data = {};
|
|
const queryArr = `${url}`.match(/([^=&#?]+)=[^&#]+/g) || [];
|
|
if (queryArr.length) {
|
|
queryArr.forEach((para) => {
|
|
const d = para.split('=');
|
|
const val = decodeURIComponent(d[1]);
|
|
if (data[d[0]] !== undefined) {
|
|
data[d[0]] += `,${val}`;
|
|
}
|
|
else {
|
|
data[d[0]] = val;
|
|
}
|
|
});
|
|
}
|
|
return data;
|
|
},
|
|
});
|