首页
This commit is contained in:
26
frontend/unpackage/dist/dev/mp-weixin/app.js
vendored
Normal file
26
frontend/unpackage/dist/dev/mp-weixin/app.js
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||
const common_vendor = require("./common/vendor.js");
|
||||
if (!Math) {
|
||||
"./pages/index/index.js";
|
||||
}
|
||||
const _sfc_main = {
|
||||
onLaunch: function() {
|
||||
common_vendor.index.__f__("log", "at App.vue:4", "App Launch");
|
||||
},
|
||||
onShow: function() {
|
||||
common_vendor.index.__f__("log", "at App.vue:7", "App Show");
|
||||
},
|
||||
onHide: function() {
|
||||
common_vendor.index.__f__("log", "at App.vue:10", "App Hide");
|
||||
}
|
||||
};
|
||||
function createApp() {
|
||||
const app = common_vendor.createSSRApp(_sfc_main);
|
||||
return {
|
||||
app
|
||||
};
|
||||
}
|
||||
createApp().app.mount("#app");
|
||||
exports.createApp = createApp;
|
||||
//# sourceMappingURL=../.sourcemap/mp-weixin/app.js.map
|
||||
12
frontend/unpackage/dist/dev/mp-weixin/app.json
vendored
Normal file
12
frontend/unpackage/dist/dev/mp-weixin/app.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"pages": [
|
||||
"pages/index/index"
|
||||
],
|
||||
"window": {
|
||||
"navigationBarTextStyle": "black",
|
||||
"navigationBarTitleText": "五金配件管家",
|
||||
"navigationBarBackgroundColor": "#F8F8F8",
|
||||
"backgroundColor": "#F8F8F8"
|
||||
},
|
||||
"usingComponents": {}
|
||||
}
|
||||
3
frontend/unpackage/dist/dev/mp-weixin/app.wxss
vendored
Normal file
3
frontend/unpackage/dist/dev/mp-weixin/app.wxss
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
/*每个页面公共css */
|
||||
page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}
|
||||
4
frontend/unpackage/dist/dev/mp-weixin/common/assets.js
vendored
Normal file
4
frontend/unpackage/dist/dev/mp-weixin/common/assets.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
"use strict";
|
||||
const _imports_0 = "/static/metal-bg.jpg";
|
||||
exports._imports_0 = _imports_0;
|
||||
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map
|
||||
7875
frontend/unpackage/dist/dev/mp-weixin/common/vendor.js
vendored
Normal file
7875
frontend/unpackage/dist/dev/mp-weixin/common/vendor.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
96
frontend/unpackage/dist/dev/mp-weixin/pages/index/index.js
vendored
Normal file
96
frontend/unpackage/dist/dev/mp-weixin/pages/index/index.js
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
const _sfc_main = {
|
||||
data() {
|
||||
return {
|
||||
todayAmount: "0.00",
|
||||
monthProfit: "0.00",
|
||||
stockQty: "0.00",
|
||||
activeTab: "home",
|
||||
notices: [
|
||||
{ text: "选材精工:不锈钢、合金钢,耐腐蚀更耐用", tag: "品质" },
|
||||
{ text: "表面工艺:电镀锌/镀镍/发黑处理,性能均衡", tag: "工艺" },
|
||||
{ text: "库存齐全:螺丝、螺母、垫圈、膨胀螺栓等现货", tag: "库存" },
|
||||
{ text: "企业采购支持:批量优惠,次日发货", tag: "服务" }
|
||||
],
|
||||
features: [
|
||||
{ key: "customer", title: "客户", img: "/static/icons/customer.png", emoji: "👥" },
|
||||
{ key: "sale", title: "销售", img: "/static/icons/sale.png", emoji: "💰" },
|
||||
{ key: "account", title: "账户", img: "/static/icons/account.png", emoji: "💳" },
|
||||
{ key: "supplier", title: "供应商", img: "/static/icons/supplier.png", emoji: "🚚" },
|
||||
{ key: "purchase", title: "进货", img: "/static/icons/purchase.png", emoji: "🛒" },
|
||||
{ key: "otherPay", title: "其他支出", img: "/static/icons/other-pay.png", emoji: "💸" },
|
||||
{ key: "vip", title: "VIP会员", img: "/static/icons/vip.png", emoji: "👑" },
|
||||
{ key: "report", title: "报表", img: "/static/icons/report.png", emoji: "📊" },
|
||||
{ key: "more", title: "更多", img: "/static/icons/more.png", emoji: "⋯" }
|
||||
]
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onFeatureTap(item) {
|
||||
common_vendor.index.showToast({ title: item.title + "(开发中)", icon: "none" });
|
||||
},
|
||||
onCreateOrder() {
|
||||
common_vendor.index.showToast({ title: "开单(开发中)", icon: "none" });
|
||||
},
|
||||
onNoticeTap(n) {
|
||||
common_vendor.index.showModal({
|
||||
title: "公告",
|
||||
content: n.text,
|
||||
showCancel: false
|
||||
});
|
||||
},
|
||||
onNoticeList() {
|
||||
common_vendor.index.showToast({ title: "公告列表(开发中)", icon: "none" });
|
||||
},
|
||||
onIconError(item) {
|
||||
item.img = "";
|
||||
}
|
||||
}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return {
|
||||
a: common_assets._imports_0,
|
||||
b: common_vendor.t($data.todayAmount),
|
||||
c: common_vendor.t($data.monthProfit),
|
||||
d: common_vendor.t($data.stockQty),
|
||||
e: common_vendor.f($data.notices, (n, idx, i0) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(n.text),
|
||||
b: n.tag
|
||||
}, n.tag ? {
|
||||
c: common_vendor.t(n.tag)
|
||||
} : {}, {
|
||||
d: common_vendor.o(($event) => $options.onNoticeTap(n), idx),
|
||||
e: idx
|
||||
});
|
||||
}),
|
||||
f: common_vendor.o((...args) => $options.onNoticeList && $options.onNoticeList(...args)),
|
||||
g: common_vendor.f($data.features, (item, k0, i0) => {
|
||||
return common_vendor.e({
|
||||
a: item.img
|
||||
}, item.img ? {
|
||||
b: item.img,
|
||||
c: common_vendor.o(($event) => $options.onIconError(item), item.key)
|
||||
} : item.emoji ? {
|
||||
e: common_vendor.t(item.emoji)
|
||||
} : {}, {
|
||||
d: item.emoji,
|
||||
f: common_vendor.t(item.title),
|
||||
g: item.key,
|
||||
h: common_vendor.o(($event) => $options.onFeatureTap(item), item.key)
|
||||
});
|
||||
}),
|
||||
h: $data.activeTab === "home" ? 1 : "",
|
||||
i: common_vendor.o(($event) => $data.activeTab = "home"),
|
||||
j: common_vendor.o((...args) => $options.onCreateOrder && $options.onCreateOrder(...args)),
|
||||
k: $data.activeTab === "detail" ? 1 : "",
|
||||
l: common_vendor.o(($event) => $data.activeTab = "detail"),
|
||||
m: $data.activeTab === "me" ? 1 : "",
|
||||
n: common_vendor.o(($event) => $data.activeTab = "me")
|
||||
};
|
||||
}
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
||||
wx.createPage(MiniProgramPage);
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map
|
||||
4
frontend/unpackage/dist/dev/mp-weixin/pages/index/index.json
vendored
Normal file
4
frontend/unpackage/dist/dev/mp-weixin/pages/index/index.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "五金配件管家",
|
||||
"usingComponents": {}
|
||||
}
|
||||
1
frontend/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
vendored
Normal file
1
frontend/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<view class="home"><image class="home-bg" src="{{a}}" mode="aspectFill"></image><view class="hero"><view class="hero-top"><text class="brand">五金配件管家</text><view class="cta"><text class="cta-text">咨询</text></view></view><view class="kpi"><view class="kpi-item"><text class="kpi-label">今日销售额</text><text class="kpi-value">{{b}}</text></view><view class="kpi-item"><text class="kpi-label">本月利润</text><text class="kpi-value">{{c}}</text></view><view class="kpi-item"><text class="kpi-label">库存数量</text><text class="kpi-value">{{d}}</text></view></view></view><view class="notice"><view class="notice-left">公告</view><swiper class="notice-swiper" circular autoplay interval="4000" duration="400" vertical><swiper-item wx:for="{{e}}" wx:for-item="n" wx:key="e"><view class="notice-item" bindtap="{{n.d}}"><text class="notice-text">{{n.a}}</text><text wx:if="{{n.b}}" class="notice-tag">{{n.c}}</text></view></swiper-item></swiper><view class="notice-right" bindtap="{{f}}">更多</view></view><view class="section-title"><text class="section-text">常用功能</text></view><view class="grid-wrap"><view class="grid"><view wx:for="{{g}}" wx:for-item="item" wx:key="g" class="grid-item" bindtap="{{item.h}}"><view class="icon icon-squircle"><image wx:if="{{item.a}}" src="{{item.b}}" class="icon-img" mode="aspectFit" binderror="{{item.c}}"></image><text wx:elif="{{item.d}}" class="icon-emoji">{{item.e}}</text><view wx:else class="icon-placeholder"></view></view><text class="grid-chip">{{item.f}}</text></view></view></view><view class="bottom-bar"><view class="{{['tab', h && 'active']}}" bindtap="{{i}}"><text>首页</text></view><view class="tab primary" bindtap="{{j}}"><text>开单</text></view><view class="{{['tab', k && 'active']}}" bindtap="{{l}}"><text>明细</text></view><view class="{{['tab', m && 'active']}}" bindtap="{{n}}"><text>我的</text></view></view></view>
|
||||
185
frontend/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
vendored
Normal file
185
frontend/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
vendored
Normal file
@@ -0,0 +1,185 @@
|
||||
|
||||
.home {
|
||||
padding-bottom: 140rpx;
|
||||
position: relative;
|
||||
/* 明亮奢华背景:金属拉丝纹理覆盖层 + 柔和浅色渐变 */
|
||||
background:
|
||||
repeating-linear-gradient(0deg, rgba(180,180,180,0.12) 0rpx, rgba(180,180,180,0.12) 2rpx, rgba(255,255,255,0.0) 2rpx, rgba(255,255,255,0.0) 10rpx),
|
||||
linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0.55) 40%, rgba(255, 255, 255, 0.35) 100%);
|
||||
min-height: 100vh;
|
||||
}
|
||||
.home-bg {
|
||||
position: fixed;
|
||||
left: 0; top: 0; right: 0; bottom: 0;
|
||||
width: 100%; height: 100%;
|
||||
pointer-events: none;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
/* 公告栏 */
|
||||
.notice {
|
||||
margin: 0 24rpx 24rpx;
|
||||
padding: 20rpx 22rpx;
|
||||
border-radius: 20rpx;
|
||||
background: rgba(255,255,255,0.78);
|
||||
-webkit-backdrop-filter: blur(12rpx);
|
||||
backdrop-filter: blur(12rpx);
|
||||
border: 2rpx solid rgba(203, 166, 61, 0.28);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16rpx;
|
||||
}
|
||||
.notice-left {
|
||||
flex: 0 0 auto;
|
||||
display: inline-flex; align-items: center; justify-content: center;
|
||||
min-width: 96rpx; height: 44rpx;
|
||||
padding: 0 16rpx;
|
||||
border-radius: 999rpx;
|
||||
background: linear-gradient(135deg, #FFE69A, #F4CF62);
|
||||
color: #3f320f;
|
||||
font-size: 24rpx;
|
||||
font-weight: 800;
|
||||
}
|
||||
.notice-swiper { height: 72rpx; flex: 1;
|
||||
}
|
||||
.notice-item { display: flex; align-items: center; gap: 12rpx; min-height: 72rpx;
|
||||
}
|
||||
.notice-text { color: #4b3e19; font-size: 28rpx; line-height: 36rpx; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
|
||||
}
|
||||
.notice-tag { color: #B4880F; font-size: 22rpx; padding: 4rpx 10rpx; border-radius: 999rpx; background: rgba(215,167,46,0.18);
|
||||
}
|
||||
.notice-right { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 72rpx; height: 44rpx; color: #B4880F; font-size: 26rpx; padding-left: 8rpx;
|
||||
}
|
||||
|
||||
/* 分割标题 */
|
||||
.section-title { display: flex; align-items: center; gap: 16rpx; padding: 10rpx 28rpx 0;
|
||||
}
|
||||
.section-title::before { content: ''; display: block; width: 8rpx; height: 28rpx; border-radius: 8rpx; background: linear-gradient(180deg, #FFE69A, #D7A72E);
|
||||
}
|
||||
.section-text { color: #6b5a2a; font-size: 28rpx; font-weight: 700; letter-spacing: 1rpx;
|
||||
}
|
||||
|
||||
/* 顶部英雄区:浅色玻璃卡片,带金色描边与柔和阴影 */
|
||||
.hero {
|
||||
margin: 24rpx;
|
||||
padding: 32rpx;
|
||||
border-radius: 28rpx;
|
||||
background: rgba(255, 255, 255, 0.65);
|
||||
-webkit-backdrop-filter: blur(14rpx);
|
||||
backdrop-filter: blur(14rpx);
|
||||
border: 2rpx solid rgba(203, 166, 61, 0.35);
|
||||
box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.10), 0 0 0 2rpx rgba(255,255,255,0.60) inset;
|
||||
color: #473c22;
|
||||
}
|
||||
.hero-top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.brand {
|
||||
font-size: 42rpx;
|
||||
font-weight: 700;
|
||||
letter-spacing: 2rpx;
|
||||
color: #B4880F; /* 金色标题 */
|
||||
}
|
||||
.cta {
|
||||
padding: 10rpx 22rpx;
|
||||
border-radius: 999rpx;
|
||||
background: linear-gradient(135deg, rgba(255, 220, 128, 0.65), rgba(255, 240, 190, 0.65));
|
||||
border: 2rpx solid rgba(203, 166, 61, 0.45);
|
||||
box-shadow: 0 6rpx 14rpx rgba(203, 166, 61, 0.25);
|
||||
}
|
||||
.cta-text { color: #5a4712; font-size: 26rpx;
|
||||
}
|
||||
.kpi { display: flex;
|
||||
}
|
||||
.kpi-item { flex: 1;
|
||||
}
|
||||
.kpi-label { opacity: 0.9; font-size: 24rpx; color: #6b5a2a;
|
||||
}
|
||||
.kpi-value { display: block; margin-top: 12rpx; font-size: 46rpx; font-weight: 800; color: #B4880F;
|
||||
}
|
||||
|
||||
/* 功能容器:整体玻璃面板,增强融入感 */
|
||||
.grid-wrap {
|
||||
margin: 0 20rpx 32rpx;
|
||||
padding: 28rpx 20rpx 12rpx;
|
||||
border-radius: 24rpx;
|
||||
background: rgba(255,255,255,0.55);
|
||||
-webkit-backdrop-filter: blur(10rpx);
|
||||
backdrop-filter: blur(10rpx);
|
||||
border: 2rpx solid rgba(203,166,61,0.22);
|
||||
box-shadow: 0 8rpx 18rpx rgba(0,0,0,0.06);
|
||||
}
|
||||
|
||||
/* 功能九宫格 */
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
grid-row-gap: 64rpx;
|
||||
grid-column-gap: 36rpx;
|
||||
padding: 40rpx 28rpx 28rpx;
|
||||
}
|
||||
.grid-item { display: flex; flex-direction: column; align-items: center; text-align: center;
|
||||
}
|
||||
.icon { display: flex; align-items: center; justify-content: center; color: #6b5a2a; position: relative;
|
||||
}
|
||||
.icon-squircle {
|
||||
width: 132rpx; height: 132rpx;
|
||||
border-radius: 28rpx;
|
||||
background: linear-gradient(145deg, rgba(255,255,255,0.92), rgba(255,255,255,0.70));
|
||||
-webkit-backdrop-filter: blur(12rpx);
|
||||
backdrop-filter: blur(12rpx);
|
||||
border: 2rpx solid rgba(203,166,61,0.22);
|
||||
box-shadow: 0 10rpx 24rpx rgba(0,0,0,0.10), 0 0 0 2rpx rgba(255,255,255,0.65) inset;
|
||||
overflow: hidden;
|
||||
}
|
||||
.icon-squircle::before { content: ''; position: absolute; left: -30%; top: -40%; width: 160%; height: 70%; background: linear-gradient( to bottom, rgba(255,255,255,0.9), rgba(255,255,255,0.0) ); transform: rotate(12deg);
|
||||
}
|
||||
.icon-img { width: 96rpx; height: 96rpx;
|
||||
}
|
||||
.icon-emoji { font-size: 60rpx; line-height: 1;
|
||||
}
|
||||
.icon-placeholder { width: 84rpx; height: 84rpx; border-radius: 18rpx; background:
|
||||
linear-gradient(135deg, rgba(212,175,55,0.18), rgba(255,255,255,0.0)),
|
||||
repeating-linear-gradient(90deg, rgba(180,150,60,0.35) 0, rgba(180,150,60,0.35) 8rpx, transparent 8rpx, transparent 16rpx),
|
||||
repeating-linear-gradient(0deg, rgba(180,150,60,0.20) 0, rgba(180,150,60,0.20) 8rpx, transparent 8rpx, transparent 16rpx);
|
||||
box-shadow: inset 0 0 0 2rpx rgba(203,166,61,0.28);
|
||||
}
|
||||
.icon-text { font-size: 46rpx; font-weight: 700;
|
||||
}
|
||||
.grid-title { display: none;
|
||||
}
|
||||
.grid-chip { margin-top: 14rpx; padding: 6rpx 14rpx; border-radius: 999rpx; background: rgba(215,167,46,0.16); color: #5a4a1f; font-size: 22rpx;
|
||||
}
|
||||
|
||||
/* 底部操作条:浅色半透明 + 金色主按钮 */
|
||||
.bottom-bar {
|
||||
position: fixed;
|
||||
left: 0; right: 0; bottom: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
padding: 14rpx 18rpx calc(env(safe-area-inset-bottom) + 14rpx);
|
||||
background: rgba(255,255,255,0.85);
|
||||
box-shadow: 0 -6rpx 18rpx rgba(0,0,0,0.08);
|
||||
-webkit-backdrop-filter: blur(10rpx);
|
||||
backdrop-filter: blur(10rpx);
|
||||
}
|
||||
.tab { flex: 1; text-align: center; color: #8a7535; font-size: 26rpx;
|
||||
}
|
||||
.tab.active { color: #B4880F;
|
||||
}
|
||||
.tab.primary {
|
||||
flex: 0 0 auto;
|
||||
min-width: 180rpx;
|
||||
margin: 0 18rpx;
|
||||
padding: 18rpx 32rpx;
|
||||
background: linear-gradient(135deg, #FFE69A 0%, #F4CF62 45%, #D7A72E 100%);
|
||||
color: #493c1b;
|
||||
border-radius: 999rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 800;
|
||||
box-shadow: 0 10rpx 22rpx rgba(215,167,46,0.25), 0 0 0 2rpx rgba(255,255,255,0.70) inset;
|
||||
}
|
||||
36
frontend/unpackage/dist/dev/mp-weixin/project.config.json
vendored
Normal file
36
frontend/unpackage/dist/dev/mp-weixin/project.config.json
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"description": "项目配置文件。",
|
||||
"packOptions": {
|
||||
"ignore": []
|
||||
},
|
||||
"setting": {
|
||||
"urlCheck": false,
|
||||
"es6": true,
|
||||
"postcss": false,
|
||||
"minified": false,
|
||||
"newFeature": true,
|
||||
"bigPackageSizeSupport": true
|
||||
},
|
||||
"compileType": "miniprogram",
|
||||
"libVersion": "",
|
||||
"appid": "touristappid",
|
||||
"projectname": "林林林",
|
||||
"condition": {
|
||||
"search": {
|
||||
"current": -1,
|
||||
"list": []
|
||||
},
|
||||
"conversation": {
|
||||
"current": -1,
|
||||
"list": []
|
||||
},
|
||||
"game": {
|
||||
"current": -1,
|
||||
"list": []
|
||||
},
|
||||
"miniprogram": {
|
||||
"current": -1,
|
||||
"list": []
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
frontend/unpackage/dist/dev/mp-weixin/static/logo.png
vendored
Normal file
BIN
frontend/unpackage/dist/dev/mp-weixin/static/logo.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
Reference in New Issue
Block a user