193 lines
5.6 KiB
JavaScript
193 lines
5.6 KiB
JavaScript
/**
|
||
* 全局常量:存储键、枚举、文案、事件名
|
||
*/
|
||
|
||
/** 本地存储键(统一前缀,避免与同宿主其它小程序冲突) */
|
||
export const STORAGE_KEYS = {
|
||
ACCESS_TOKEN: "LONGLI_ACCESS_TOKEN",
|
||
USER_INFO: "LONGLI_USER_INFO",
|
||
/** 注销状态回执(status_token):申请成功后立即保存,独立于登录态,不随退出登录清除 */
|
||
ERASURE_RECEIPT: "LONGLI_ERASURE_RECEIPT",
|
||
};
|
||
|
||
/** 全局事件名 */
|
||
export const NOTICE_EVENT_LOGOUT = "NOTICE_EVENT_LOGOUT";
|
||
export const NOTICE_EVENT_LOGIN_SUCCESS = "NOTICE_EVENT_LOGIN_SUCCESS";
|
||
|
||
/** 权益状态机(4 态 · v0.8 起收敛,已删除 used 终态) */
|
||
export const BENEFIT_STATUS = {
|
||
/** 可领取(尚未领取) */
|
||
AVAILABLE: "available",
|
||
/** 已领取 · 可使用(可重复使用,无次数上限) */
|
||
CLAIMED: "claimed",
|
||
/** 已失效(超过有效期) */
|
||
EXPIRED: "expired",
|
||
/** 名额发完 */
|
||
SOLD_OUT: "sold_out",
|
||
};
|
||
|
||
/** 权益类型 → 展示名(用于筛选 chip 与卡片类型行);键与接口 section_key 同一套 */
|
||
export const BENEFIT_TYPES = [
|
||
{ key: "all", label: "全部" },
|
||
{ key: "scenic", label: "景区游玩" },
|
||
{ key: "stay", label: "住宿" },
|
||
{ key: "food", label: "餐饮" },
|
||
{ key: "specialty", label: "特产" },
|
||
];
|
||
|
||
/**
|
||
* 权益类型 → 展示名 / 图标(键 = 接口 section_key)。
|
||
* 详情页权益取 `section_key`,权益中心取 `type`,两处取值同一套键。
|
||
*/
|
||
export const BENEFIT_TYPE_LABEL = {
|
||
scenic: "景区 / 游玩权益",
|
||
stay: "住宿权益",
|
||
food: "餐饮权益",
|
||
specialty: "特产权益",
|
||
general: "通用权益",
|
||
};
|
||
|
||
/** 权益类型 → 卡片类型行短名(权益卡①行空间有限,2 字上限;图标已承担类型辨识) */
|
||
export const BENEFIT_TYPE_SHORT = {
|
||
scenic: "景区",
|
||
stay: "住宿",
|
||
food: "餐饮",
|
||
specialty: "特产",
|
||
general: "通用",
|
||
};
|
||
|
||
/** 权益类型 → 卡片类型行图标(板块级兜底) */
|
||
export const BENEFIT_TYPE_ICON = {
|
||
scenic: "peak",
|
||
stay: "bed",
|
||
food: "food",
|
||
specialty: "ticket",
|
||
general: "gift",
|
||
};
|
||
|
||
/**
|
||
* 权益 `type_label`(中文,接口字段)→ 卡片类型行图标
|
||
* 同一商家下权益类型可能不同(如云从朵花既有「住宿」又有「温泉」),故按权益自己的标签取图标。
|
||
*/
|
||
export const BENEFIT_LABEL_ICON = {
|
||
住宿: "bed",
|
||
美食: "food",
|
||
餐饮: "food",
|
||
宴席: "table",
|
||
景区: "peak",
|
||
温泉: "hotspring",
|
||
加油: "fuel",
|
||
商超: "cart",
|
||
特产: "ticket",
|
||
通用: "gift",
|
||
};
|
||
|
||
/** 权益 `type_icon`(英文,接口字段)→ 本地图标名,兼容常见写法 */
|
||
export const BENEFIT_ICON_ALIAS = {
|
||
bed: "bed",
|
||
hotel: "bed",
|
||
room: "bed",
|
||
stay: "bed",
|
||
sleep: "bed",
|
||
lodging: "bed",
|
||
food: "food",
|
||
meal: "food",
|
||
restaurant: "food",
|
||
dining: "food",
|
||
eat: "food",
|
||
table: "table",
|
||
banquet: "table",
|
||
feast: "table",
|
||
dinner: "table",
|
||
peak: "peak",
|
||
scenic: "peak",
|
||
mountain: "peak",
|
||
view: "peak",
|
||
spot: "peak",
|
||
hotspring: "hotspring",
|
||
hot_spring: "hotspring",
|
||
"hot-spring": "hotspring",
|
||
"hot spring": "hotspring",
|
||
spring: "hotspring",
|
||
spa: "hotspring",
|
||
onsen: "hotspring",
|
||
fuel: "fuel",
|
||
gas: "fuel",
|
||
gas_station: "fuel",
|
||
"gas-station": "fuel",
|
||
oil: "fuel",
|
||
petrol: "fuel",
|
||
gasoline: "fuel",
|
||
station: "fuel",
|
||
cart: "cart",
|
||
shop: "cart",
|
||
store: "cart",
|
||
market: "cart",
|
||
supermarket: "cart",
|
||
super_market: "cart",
|
||
mall: "cart",
|
||
shopping: "cart",
|
||
ticket: "ticket",
|
||
specialty: "ticket",
|
||
gift: "gift",
|
||
};
|
||
|
||
/** 我的权益状态子分段(全部 / 可使用 / 已失效) */
|
||
export const BENEFIT_SUB_TABS = [
|
||
{ key: "all", label: "全部" },
|
||
{ key: "usable", label: "可使用" },
|
||
{ key: "invalid", label: "已失效" },
|
||
];
|
||
|
||
/** 板块 key → 详情页介绍卡标题(type_label 缺失时的兜底;正常取 type_label + 介绍) */
|
||
export const SECTION_INTRO_TITLE = {
|
||
scenic: "景区介绍",
|
||
stay: "酒店介绍",
|
||
food: "美食介绍",
|
||
specialty: "特产介绍",
|
||
};
|
||
|
||
/** 板块 key → 列表页大标题(接口不提供,前端自持) */
|
||
export const SECTION_TITLE = {
|
||
scenic: "龙里票根经济",
|
||
stay: "旅居服务",
|
||
food: "全域美食",
|
||
specialty: "龙里特产",
|
||
};
|
||
|
||
/** 运营信息 */
|
||
export const LOGO_URL =
|
||
"https://one-feel-image-bucket.oss-cn-chengdu.aliyuncs.com/mp/static/longli/logo.png";
|
||
export const CUSTOMER_SERVICE_PHONE = "0854-5631343";
|
||
export const CUSTOMER_SERVICE_TIME = "09:00 - 18:00";
|
||
export const OPERATOR_NAME = "贵州跃龙文化旅游发展有限公司";
|
||
export const APP_VERSION_FULL = "v1.0.0(Build 100)";
|
||
export const REGION_TEXT = "贵州省黔南布依族苗族自治州龙里县";
|
||
|
||
/** 协议页更新/生效日期 */
|
||
export const AGREEMENT_DATE = "2026 年 9 月 11 日";
|
||
|
||
/** Tab 配置(自绘 Tab 栏;三个 Tab 同属壳页 pages/index/index,面板与路径一一对应关系已不存在) */
|
||
export const TABS = [
|
||
{ key: "home", label: "主页", icon: "home" },
|
||
{ key: "benefit", label: "权益", icon: "ticket" },
|
||
{ key: "mine", label: "我的", icon: "user" },
|
||
];
|
||
|
||
/**
|
||
* 入口固定值:二维码里的 id 等于它时不打开商家详情,只切到权益 Tab。
|
||
* 后端在 scene / query / 普通链接里传这个字符串即可(大小写不敏感)。
|
||
*/
|
||
export const ENTRY_BENEFIT_ONLY = "benefits";
|
||
|
||
/** 页面路径常量 */
|
||
export const ROUTES = {
|
||
HOME: "/pages/index/index",
|
||
LOGIN: "/pages/login/index",
|
||
CATALOG: "/pages-sub/catalog/index",
|
||
DETAIL: "/pages-sub/detail/index",
|
||
AGREEMENT: "/pages-sub/agreement/index",
|
||
ABOUT: "/pages-sub/about/index",
|
||
ACCOUNT_CANCEL: "/pages-sub/account/cancel",
|
||
};
|