137 lines
14 KiB
JavaScript
137 lines
14 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../../../common/vendor.js");
|
|
const modules_mall_sheep_store_index = require("../store/index.js");
|
|
const modules_mall_sheep_hooks_useModal = require("../hooks/useModal.js");
|
|
const modules_mall_sheep_helper_throttle = require("../helper/throttle.js");
|
|
var define_ROUTES_MAP_default = { "/pages/index/index": { path: "/pages/index/index", aliasPath: "/" }, "/pages/index/404": { path: "/pages/index/404" }, "/modules/pet/address/index": { path: "/modules/pet/address/index" }, "/modules/pet/ai/ai-interactive-space": { path: "/modules/pet/ai/ai-interactive-space" }, "/modules/pet/certification/index": { path: "/modules/pet/certification/index" }, "/modules/pet/certification/pet-sitter": { path: "/modules/pet/certification/pet-sitter" }, "/modules/pet/extended/index": { path: "/modules/pet/extended/index" }, "/modules/pet/h5mall/index": { path: "/modules/pet/h5mall/index" }, "/modules/pet/login/index": { path: "/modules/pet/login/index" }, "/modules/pet/login/phone": { path: "/modules/pet/login/phone" }, "/modules/pet/map/index": { path: "/modules/pet/map/index" }, "/modules/pet/message/chat": { path: "/modules/pet/message/chat" }, "/modules/pet/message/index": { path: "/modules/pet/message/index" }, "/modules/pet/message/message-list": { path: "/modules/pet/message/message-list" }, "/modules/pet/message/privatechat": { path: "/modules/pet/message/privatechat" }, "/modules/pet/my/index": { path: "/modules/pet/my/index" }, "/modules/pet/order/index": { path: "/modules/pet/order/index" }, "/modules/pet/order/order-detail": { path: "/modules/pet/order/order-detail" }, "/modules/pet/order/take": { path: "/modules/pet/order/take" }, "/modules/pet/others/agreement": { path: "/modules/pet/others/agreement" }, "/modules/pet/others/null": { path: "/modules/pet/others/null" }, "/modules/pet/others/official-account": { path: "/modules/pet/others/official-account" }, "/modules/pet/permission/bind-phone": { path: "/modules/pet/permission/bind-phone" }, "/modules/pet/permission/real-name-auth": { path: "/modules/pet/permission/real-name-auth" }, "/modules/pet/pet/index": { path: "/modules/pet/pet/index" }, "/modules/pet/pet/pet-add-page": { path: "/modules/pet/pet/pet-add-page" }, "/modules/pet/pet/pet-detail-page": { path: "/modules/pet/pet/pet-detail-page" }, "/modules/pet/push/door": { path: "/modules/pet/push/door" }, "/modules/pet/push/goods": { path: "/modules/pet/push/goods" }, "/modules/pet/push/index": { path: "/modules/pet/push/index" }, "/modules/pet/push/share": { path: "/modules/pet/push/share" }, "/modules/pet/service/accompany": { path: "/modules/pet/service/accompany" }, "/modules/pet/service/detail": { path: "/modules/pet/service/detail" }, "/modules/pet/service/door": { path: "/modules/pet/service/door" }, "/modules/pet/service/index": { path: "/modules/pet/service/index" }, "/modules/pet/service/knowledge": { path: "/modules/pet/service/knowledge" }, "/modules/pet/service/my-service": { path: "/modules/pet/service/my-service" }, "/modules/pet/service/search": { path: "/modules/pet/service/search" }, "/modules/pet/service/shop": { path: "/modules/pet/service/shop" }, "/modules/pet/service/slippery": { path: "/modules/pet/service/slippery" }, "/modules/pet/service/store": { path: "/modules/pet/service/store" }, "/modules/pet/settings/index": { path: "/modules/pet/settings/index" }, "/modules/pet/space/index": { path: "/modules/pet/space/index" }, "/modules/pet/webview/webview": { path: "/modules/pet/webview/webview" }, "/modules/mall/index/index": { path: "/modules/mall/index/index", aliasPath: "/mall", meta: { auth: false, sync: true, title: "宠物商城", group: "商城" } }, "/modules/mall/index/user": { path: "/modules/mall/index/user", meta: { sync: true, title: "个人中心", group: "商城" } }, "/modules/mall/index/category": { path: "/modules/mall/index/category", meta: { sync: true, title: "商品分类", group: "商城" } }, "/modules/mall/index/cart": { path: "/modules/mall/index/cart", meta: { sync: true, title: "购物车", group: "商城" } }, "/modules/mall/index/login": { path: "/modules/mall/index/login" }, "/modules/mall/index/search": { path: "/modules/mall/index/search", meta: { sync: true, title: "搜索", group: "商城" } }, "/modules/mall/index/page": { path: "/modules/mall/index/page", meta: { auth: false, sync: true, title: "自定义页面", group: "商城" } }, "/modules/mall/goods/index": { path: "/modules/mall/goods/index", meta: { sync: true, title: "普通商品", group: "商品" } }, "/modules/mall/goods/groupon": { path: "/modules/mall/goods/groupon", meta: { sync: true, title: "拼团商品", group: "商品" } }, "/modules/mall/goods/seckill": { path: "/modules/mall/goods/seckill", meta: { sync: true, title: "秒杀商品", group: "商品" } }, "/modules/mall/goods/list": { path: "/modules/mall/goods/list", meta: { sync: true, title: "商品列表", group: "商品" } }, "/modules/mall/goods/comment/add": { path: "/modules/mall/goods/comment/add", meta: { auth: true } }, "/modules/mall/goods/comment/list": { path: "/modules/mall/goods/comment/list" }, "/modules/mall/order/detail": { path: "/modules/mall/order/detail", meta: { auth: true, title: "订单详情" } }, "/modules/mall/order/confirm": { path: "/modules/mall/order/confirm", meta: { auth: true, title: "确认订单" } }, "/modules/mall/order/list": { path: "/modules/mall/order/list", meta: { auth: true, sync: true, title: "用户订单", group: "订单中心" } }, "/modules/mall/order/aftersale/apply": { path: "/modules/mall/order/aftersale/apply", meta: { auth: true, title: "申请售后" } }, "/modules/mall/order/aftersale/return-delivery": { path: "/modules/mall/order/aftersale/return-delivery", meta: { auth: true, title: "退货物流" } }, "/modules/mall/order/aftersale/list": { path: "/modules/mall/order/aftersale/list", meta: { auth: true, sync: true, title: "售后订单", group: "订单中心" } }, "/modules/mall/order/aftersale/detail": { path: "/modules/mall/order/aftersale/detail", meta: { auth: true, title: "售后详情" } }, "/modules/mall/order/aftersale/log": { path: "/modules/mall/order/aftersale/log", meta: { auth: true, title: "售后进度" } }, "/modules/mall/order/express/log": { path: "/modules/mall/order/express/log", meta: { auth: true, title: "物流轨迹" } }, "/modules/mall/user/info": { path: "/modules/mall/user/info", meta: { auth: true, sync: true, title: "用户信息", group: "用户中心" } }, "/modules/mall/user/goods-collect": { path: "/modules/mall/user/goods-collect", meta: { auth: true, sync: true, title: "商品收藏", group: "用户中心" } }, "/modules/mall/user/goods-log": { path: "/modules/mall/user/goods-log", meta: { auth: true, sync: true, title: "浏览记录", group: "用户中心" } }, "/modules/mall/user/address/list": { path: "/modules/mall/user/address/list", meta: { auth: true, sync: true, title: "地址管理", group: "用户中心" } }, "/modules/mall/user/address/edit": { path: "/modules/mall/user/address/edit", meta: { auth: true, title: "编辑地址" } }, "/modules/mall/user/goods_details_store/index": { path: "/modules/mall/user/goods_details_store/index", meta: { auth: true, sync: true, title: "地址管理", group: "用户中心" } }, "/modules/mall/user/wallet/money": { path: "/modules/mall/user/wallet/money", meta: { auth: true, sync: true, title: "用户余额", group: "用户中心" } }, "/modules/mall/user/wallet/score": { path: "/modules/mall/user/wallet/score", meta: { auth: true, sync: true, title: "用户积分", group: "用户中心" } }, "/modules/mall/commission/index": { path: "/modules/mall/commission/index", meta: { auth: true, sync: true, title: "分销中心", group: "分销商城" } }, "/modules/mall/commission/wallet": { path: "/modules/mall/commission/wallet", meta: { auth: true, sync: true, title: "用户佣金", group: "分销中心" } }, "/modules/mall/commission/goods": { path: "/modules/mall/commission/goods", meta: { auth: true, sync: true, title: "推广商品", group: "分销商城" } }, "/modules/mall/commission/order": { path: "/modules/mall/commission/order", meta: { auth: true, sync: true, title: "分销订单", group: "分销商城" } }, "/modules/mall/commission/team": { path: "/modules/mall/commission/team", meta: { auth: true, sync: true, title: "我的团队", group: "分销商城" } }, "/modules/mall/commission/promoter": { path: "/modules/mall/commission/promoter", meta: { auth: true, sync: true, title: "推广人排行榜", group: "分销商城" } }, "/modules/mall/commission/commission-ranking": { path: "/modules/mall/commission/commission-ranking", meta: { auth: true, sync: true, title: "佣金排行榜", group: "分销商城" } }, "/modules/mall/commission/withdraw": { path: "/modules/mall/commission/withdraw", meta: { auth: true, sync: true, title: "申请提现", group: "分销商城" } }, "/modules/mall/app/sign": { path: "/modules/mall/app/sign", meta: { auth: true, sync: true, title: "签到中心", group: "应用" } }, "/modules/mall/public/setting": { path: "/modules/mall/public/setting", meta: { sync: true, title: "系统设置", group: "通用" } }, "/modules/mall/public/richtext": { path: "/modules/mall/public/richtext", meta: { sync: true, title: "富文本", group: "通用" } }, "/modules/mall/public/faq": { path: "/modules/mall/public/faq", meta: { sync: true, title: "常见问题", group: "通用" } }, "/modules/mall/public/error": { path: "/modules/mall/public/error" }, "/modules/mall/public/webview": { path: "/modules/mall/public/webview" }, "/modules/mall/coupon/list": { path: "/modules/mall/coupon/list", meta: { sync: true, title: "领券中心", group: "优惠券" } }, "/modules/mall/coupon/detail": { path: "/modules/mall/coupon/detail", meta: { auth: false, sync: true, title: "优惠券详情", group: "优惠券" } }, "/modules/mall/chat/index": { path: "/modules/mall/chat/index", meta: { auth: true, sync: true, title: "客服", group: "客服" } }, "/modules/mall/pay/index": { path: "/modules/mall/pay/index" }, "/modules/mall/pay/result": { path: "/modules/mall/pay/result" }, "/modules/mall/pay/recharge": { path: "/modules/mall/pay/recharge", meta: { auth: true, sync: true, title: "充值余额", group: "支付" } }, "/modules/mall/pay/recharge-log": { path: "/modules/mall/pay/recharge-log", meta: { auth: true, sync: true, title: "充值记录", group: "支付" } }, "/modules/mall/activity/groupon/detail": { path: "/modules/mall/activity/groupon/detail" }, "/modules/mall/activity/groupon/order": { path: "/modules/mall/activity/groupon/order", meta: { auth: true, sync: true, title: "拼团订单", group: "营销活动" } }, "/modules/mall/activity/index": { path: "/modules/mall/activity/index", meta: { sync: true, title: "营销商品", group: "营销活动" } }, "/modules/mall/activity/groupon/list": { path: "/modules/mall/activity/groupon/list", meta: { sync: true, title: "拼团活动", group: "营销活动" } }, "/modules/mall/activity/seckill/list": { path: "/modules/mall/activity/seckill/list", meta: { sync: true, title: "秒杀活动", group: "营销活动" } } };
|
|
var define_TABBAR_default = ["/pages/index/index", "/pages/index/404"];
|
|
const _go = (path, params = {}, options = {
|
|
redirect: false
|
|
}) => {
|
|
var _a;
|
|
let page = "";
|
|
let query = "";
|
|
let url = "";
|
|
if (common_vendor.isString(path)) {
|
|
if (common_vendor.startsWith(path, "http")) {
|
|
page = `/modules/mall/public/webview`;
|
|
query = `url=${encodeURIComponent(path)}`;
|
|
} else if (common_vendor.startsWith(path, "action:")) {
|
|
handleAction(path);
|
|
return;
|
|
} else {
|
|
[page, query] = path.split("?");
|
|
}
|
|
if (!common_vendor.isEmpty(params)) {
|
|
const query2 = paramsToQuery(params);
|
|
if (common_vendor.isEmpty(query)) {
|
|
query = query2;
|
|
} else {
|
|
query += "&" + query2;
|
|
}
|
|
}
|
|
}
|
|
if (common_vendor.isObject(path)) {
|
|
page = path.url;
|
|
if (!common_vendor.isNil(path.params)) {
|
|
query = paramsToQuery(path.params);
|
|
}
|
|
}
|
|
const nextRoute = define_ROUTES_MAP_default[page];
|
|
if (!nextRoute) {
|
|
console.log(`%c跳转路径参数错误<${page || "EMPTY"}>`, "color:red;background:yellow");
|
|
return;
|
|
}
|
|
if (((_a = nextRoute.meta) == null ? void 0 : _a.auth) && !modules_mall_sheep_store_index.$store("user").isLogin) {
|
|
modules_mall_sheep_hooks_useModal.showAuthModal();
|
|
return;
|
|
}
|
|
url = page;
|
|
if (!common_vendor.isEmpty(query)) {
|
|
url += `?${query}`;
|
|
}
|
|
if (define_TABBAR_default.includes(page)) {
|
|
common_vendor.index.switchTab({
|
|
url
|
|
});
|
|
return;
|
|
}
|
|
if (options.redirect) {
|
|
common_vendor.index.redirectTo({
|
|
url
|
|
});
|
|
return;
|
|
}
|
|
common_vendor.index.navigateTo({
|
|
url
|
|
});
|
|
};
|
|
function go(...args) {
|
|
modules_mall_sheep_helper_throttle.throttle(() => {
|
|
_go(...args);
|
|
});
|
|
}
|
|
function paramsToQuery(params) {
|
|
if (common_vendor.isEmpty(params)) {
|
|
return "";
|
|
}
|
|
const query = [];
|
|
for (const key in params) {
|
|
query.push(key + "=" + params[key]);
|
|
}
|
|
return query.join("&");
|
|
}
|
|
function back() {
|
|
common_vendor.index.navigateBack();
|
|
}
|
|
function redirect(path, params = {}) {
|
|
go(path, params, {
|
|
redirect: true
|
|
});
|
|
}
|
|
function hasHistory() {
|
|
const pages = getCurrentPages();
|
|
if (pages.length > 1) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function getCurrentRoute(field = "") {
|
|
const currentPage = getCurrentPage();
|
|
currentPage.$page.route = currentPage.route;
|
|
currentPage.$page.options = currentPage.options;
|
|
if (field !== "") {
|
|
return currentPage.$page[field];
|
|
} else {
|
|
return currentPage.$page;
|
|
}
|
|
}
|
|
function getCurrentPage() {
|
|
const pages = getCurrentPages();
|
|
return pages[pages.length - 1];
|
|
}
|
|
function handleAction(path) {
|
|
const action = path.split(":");
|
|
switch (action[1]) {
|
|
case "showShareModal":
|
|
modules_mall_sheep_hooks_useModal.showShareModal();
|
|
break;
|
|
}
|
|
}
|
|
function error(errCode, errMsg = "") {
|
|
redirect("/modules/mall/public/error", {
|
|
errCode,
|
|
errMsg
|
|
});
|
|
}
|
|
const $router = {
|
|
go,
|
|
back,
|
|
hasHistory,
|
|
redirect,
|
|
getCurrentPage,
|
|
getCurrentRoute,
|
|
error
|
|
};
|
|
exports.$router = $router;
|