上传代码

This commit is contained in:
2025-08-18 14:20:34 +08:00
commit 527fd07910
2408 changed files with 427370 additions and 0 deletions

View File

@ -0,0 +1,3 @@
"use strict";
const apiImageUrl = "https://xiaokuaisong.shop";
exports.apiImageUrl = apiImageUrl;

View File

@ -0,0 +1,44 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/*每个页面公共css */
@font-face {
font-family: "iconfont";
/* Project id 4635288 */
src: url("styles/iconfont.woff2?t=1722085246593") format("woff2"), url("styles/iconfont.woff?t=1722085246593") format("woff"), url("styles/iconfont.ttf?t=1722085246593") format("truetype");
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-xuanzhong:before {
content: "\e62f";
}
.icon-weixuan:before {
content: "\e65d";
}page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}

View File

@ -0,0 +1,58 @@
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common_vendor = require("./common/vendor.js");
if (!Math) {
"./pages/index/index.js";
"./pages/my/my.js";
"./pages/order/order.js";
"./pages/login/login.js";
"./pages/merchant/merchant.js";
"./pages/about/about.js";
"./pages/food/food.js";
"./pages/drinks/drinks.js";
"./pages/fruits/fruits.js";
"./pages/forums/forums.js";
"./pages/supermarkets/supermarkets.js";
"./pages/points/points.js";
"./pages/more/more.js";
"./pages/run/run.js";
"./pages/orderEvaluation/orderEvaluation.js";
"./pages/merchant/Shopdetails.js";
"./pages/messageCenter/messageCenter.js";
"./pages/talk/talk.js";
"./pages/fullOrder/fullOrder.js";
"./pages/textone/textone.js";
"./pages/texttwo/texttwo.js";
"./pages/testfour/testfour.js";
"./pages/testfour/list/list.js";
"./pages/testFive/testFive.js";
"./pages/testseven/testseven.js";
"./pages/orderSettlement/orderSettlement.js";
"./pages/collect/collect.js";
"./pages/refund/refund.js";
"./pages/goToPay/goToPay.js";
"./pages/testsix/testsix.js";
"./pages/goSearch/goSearch.js";
"./pages/testeleven/testeleven.js";
"./pages/goToRemark/goToRemark.js";
"./pages/testAI/testAI.js";
}
const _sfc_main = {
onLaunch: function() {
console.log("App Launch");
},
onShow: function() {
console.log("App Show");
},
onHide: function() {
console.log("App Hide");
}
};
function createApp() {
const app = common_vendor.createSSRApp(_sfc_main);
return {
app
};
}
createApp().app.mount("#app");
exports.createApp = createApp;

View File

@ -0,0 +1,68 @@
{
"pages": [
"pages/index/index",
"pages/my/my",
"pages/order/order",
"pages/login/login",
"pages/merchant/merchant",
"pages/about/about",
"pages/food/food",
"pages/drinks/drinks",
"pages/fruits/fruits",
"pages/forums/forums",
"pages/supermarkets/supermarkets",
"pages/points/points",
"pages/more/more",
"pages/run/run",
"pages/orderEvaluation/orderEvaluation",
"pages/merchant/Shopdetails",
"pages/messageCenter/messageCenter",
"pages/talk/talk",
"pages/fullOrder/fullOrder",
"pages/textone/textone",
"pages/texttwo/texttwo",
"pages/testfour/testfour",
"pages/testfour/list/list",
"pages/testFive/testFive",
"pages/testseven/testseven",
"pages/orderSettlement/orderSettlement",
"pages/collect/collect",
"pages/refund/refund",
"pages/goToPay/goToPay",
"pages/testsix/testsix",
"pages/goSearch/goSearch",
"pages/testeleven/testeleven",
"pages/goToRemark/goToRemark",
"pages/testAI/testAI"
],
"window": {
"defaultTitle": "uni-app",
"titleBarColor": "#ffffff",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"selectedColor": "#4095e5",
"items": [
{
"pagePath": "pages/index/index",
"name": "首页",
"icon": "static/tabs/home.png",
"activeIcon": "static/tabs/homeSelected.png"
},
{
"pagePath": "pages/order/order",
"name": "购物车",
"icon": "static/tabs/car.png",
"activeIcon": "static/tabs/carSelected.png"
},
{
"pagePath": "pages/my/my",
"name": "我的",
"icon": "static/tabs/wode.png",
"activeIcon": "static/tabs/wodeSelected.png"
}
]
},
"subPackageBuildType": "shared",
"usingComponents": {}
}

Binary file not shown.

View File

@ -0,0 +1,19 @@
"use strict";
const _imports_0$3 = "/static/lun/1.jpg";
const _imports_1 = "/static/lun/2.jpg";
const _imports_2 = "/static/lun/3.jpg";
const _imports_3$1 = "/static/Gourmet/meishi_hanbao.png";
const _imports_0$2 = "/static/small/selected.png";
const _imports_0$1 = "/static/logo2.png";
const _imports_3 = "/static/small/service.png";
const _imports_4 = "/static/small/cha.png";
const _imports_0 = "/static/logo1.png";
exports._imports_0 = _imports_0$3;
exports._imports_0$1 = _imports_0$2;
exports._imports_0$2 = _imports_0$1;
exports._imports_0$3 = _imports_0;
exports._imports_1 = _imports_1;
exports._imports_2 = _imports_2;
exports._imports_3 = _imports_3$1;
exports._imports_3$1 = _imports_3;
exports._imports_4 = _imports_4;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
{
"format": 2,
"compileOptions": {
"component2": true,
"enableNodeModuleBabelTransform": true
},
"unknownConfig": {
"appid": "2021004151684053",
"projectname": "uniapp04"
}
}

View File

@ -0,0 +1,64 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
background-color: #f7f7f8;
}
.about {
padding: 20rpx;
}
.logo {
text-align: center;
}
.logo image {
width: 220rpx;
height: 220rpx;
margin-top: 5vh;
margin-bottom: 5vh;
border-radius: 50%;
}
.list {
padding: 10rpx 20rpx;
background-color: #fff;
margin-bottom: 20rpx;
border-radius: 20rpx;
}
.list .item {
line-height: 90rpx;
padding-left: 10rpx;
font-size: 30rpx;
color: #333;
border-top: 1rpx solid #ddd;
position: relative;
text-align: left;
border-radius: 10;
background-color: #fff;
border: none;
}
.list .phone {
font-size: 25rpx;
color: #c1c1c3;
}

View File

@ -0,0 +1 @@
<view class="about"><view class="logo"><image src="{{a}}"></image></view><view class="list"><button class="item"> 访问校快送官网 <text class="phone">http://www.XiaoKuaiSong.com</text></button></view><view class="list"><button class="item"> 校快送官方邮箱 <text class="phone">XiaoKuaiSong@qq.com</text></button><button class="item"> 客户热线服务 <text class="phone">12345</text></button></view><view class="list"><button class="item">举报信息</button></view></view>

View File

@ -0,0 +1,11 @@
"use strict";
const common_assets = require("../../common/assets.js");
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {};
function _sfc_render(_ctx, _cache) {
return {
a: common_assets._imports_0$3
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
my.createPage(MiniProgramPage);

View File

@ -0,0 +1,5 @@
{
"defaultTitle": "关于",
"pullRefresh": false,
"usingComponents": {}
}

View File

@ -0,0 +1,92 @@
.container {
display: flex;
flex-direction: column;
align-items: center;
padding: 20rpx;
}
.history-list {
width: 100%;
}
.history-item {
width: 100%;
padding: 10px 0px 10px 5px;
display: flex;
margin-bottom: 20rpx;
border: 1px solid #999;
background-color: #fff;
border-radius: 15px;
}
.delete-button {
background-color: #03c4ff;
color: white;
border: none;
padding: 25px 20px;
height: 90%;
border-radius: 15px;
}
.history-img {
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
border-radius: 10px;
}
.history-info {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.history-title {
font-size: 32rpx;
font-weight: bold;
}
.history-description {
font-size: 28rpx;
color: #666;
}
.starSale {
width: 120px;
height: 15px;
}
.star {
display: inline-block;
line-height: 15px;
}
.history-sale {
font-size: 20rpx;
color: #999;
float: right;
display: inline-block;
line-height: 15px;
}
.startPoints {
width: 100%;
height: 20px;
}
.points {
padding-left: 15px;
font-size: 20rpx;
line-height: 20px;
color: #d41414;
}
.distance,
.time {
font-size: 20rpx;
color: #999;
padding-left: 25px;
font-size: 20rpx;
}
.history-start,
.history-distance {
font-size: 20rpx;
color: #999;
}
.exchange {
font-size: 24rpx;
color: #e99e44;
background-color: #f7dbb3;
width: 75px;
height: 20px;
border-radius: 5px;
border: 1px solid #e99e44;
}

View File

@ -0,0 +1 @@
<button onTap="{{a}}">一键清空</button><view class="container"><view class="history-list"><uni-swipe-action u-s="{{['d']}}" u-i="4976a7da-0" onVI="__l"><uni-swipe-action-item a:for="{{b}}" a:for-item="item" a:key="g" u-s="{{['right','d']}}" u-i="{{item.h}}" onVI="__l"><view class="history-item" onTap="{{item.e}}"><image class="history-img" src="{{item.a}}"></image><view class="history-info"><text class="history-title">{{item.b}}</text><view class="starSale"><view class="star"><uni-rate u-i="{{item.c}}" onVI="__l" u-p="{{c||''}}"/></view><text class="history-sale">月售:234</text></view><view class="startPoints"><text class="history-start">起送:¥10</text><text class="points">用积分更优惠</text><text class="distance">2.3km</text><text class="time">30min</text></view><view class="exchange"><uni-icons u-i="{{item.d}}" onVI="__l" u-p="{{d||''}}"></uni-icons> 支持自取 </view></view></view><button class="delete-button" catchTap="{{item.f}}" slot="right">取消收藏</button></uni-swipe-action-item></uni-swipe-action></view></view>

View File

@ -0,0 +1,127 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
const _easycom_uni_swipe_action_item2 = common_vendor.resolveComponent("uni-swipe-action-item");
const _easycom_uni_swipe_action2 = common_vendor.resolveComponent("uni-swipe-action");
(_easycom_uni_rate2 + _easycom_uni_icons2 + _easycom_uni_swipe_action_item2 + _easycom_uni_swipe_action2)();
}
const _easycom_uni_rate = () => "../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
const _easycom_uni_swipe_action_item = () => "../../uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.js";
const _easycom_uni_swipe_action = () => "../../uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.js";
if (!Math) {
(_easycom_uni_rate + _easycom_uni_icons + _easycom_uni_swipe_action_item + _easycom_uni_swipe_action)();
}
const _sfc_main = {
__name: "collect",
setup(__props) {
const historyList = common_vendor.ref([]);
const fetchHistoryData = async () => {
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/collect/list",
method: "POST",
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
}
});
if (res.data.code === 0) {
console.log(res.data.data);
historyList.value = res.data.data;
}
} catch (error) {
console.error("Error fetching data:", error);
}
};
common_vendor.onMounted(() => {
fetchHistoryData();
});
const handleDonate = (item) => {
console.log(item);
common_vendor.index.setStorageSync("Mybusiness", item);
if (!item || !item.hasOwnProperty("id")) {
console.error("The 'item' variable is undefined or missing the 'id' property.");
return;
}
const merchantId = item.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
const clear = () => {
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/collect/delete/all",
method: "POST",
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log(res);
console.log("成功啦");
fetchHistoryData();
},
fail() {
console.log("失败啦");
}
});
};
const onDelete = (item) => {
console.log(item);
console.log(item.business.id);
const businessId = item.business.id;
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/collect/delete",
method: "POST",
data: { id: businessId },
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
if (res.data.code === 0) {
console.log("删除成功");
fetchHistoryData();
} else {
console.error("删除失败:", res.data.message);
}
},
fail() {
console.log("请求失败");
}
});
};
return (_ctx, _cache) => {
return {
a: common_vendor.o(clear),
b: common_vendor.f(historyList.value, (item, index, i0) => {
var _a, _b;
return {
a: (_a = item.business) == null ? void 0 : _a.businessAvatar,
b: common_vendor.t((_b = item.business) == null ? void 0 : _b.businessName),
c: "4976a7da-2-" + i0 + "," + ("4976a7da-1-" + i0),
d: "4976a7da-3-" + i0 + "," + ("4976a7da-1-" + i0),
e: common_vendor.o(($event) => handleDonate(item)),
f: common_vendor.o(($event) => onDelete(item)),
g: index,
h: "4976a7da-1-" + i0 + ",4976a7da-0"
};
}),
c: common_vendor.p({
readonly: true,
value: 4,
size: "12px"
}),
d: common_vendor.p({
type: "paperplane-filled",
color: "#e99e44"
})
};
};
}
};
my.createPage(_sfc_main);

View File

@ -0,0 +1,9 @@
{
"defaultTitle": "收藏列表",
"usingComponents": {
"uni-rate": "../../uni_modules/uni-rate/components/uni-rate/uni-rate",
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons",
"uni-swipe-action-item": "../../uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item",
"uni-swipe-action": "../../uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action"
}
}

View File

@ -0,0 +1,83 @@
.container {
display: flex;
flex-direction: column;
align-items: center;
padding: 20rpx;
}
.history-list {
width: 100%;
}
.history-item {
padding: 10px 0px 10px 5px;
display: flex;
margin-bottom: 20rpx;
border: 1px solid #999;
background-color: #fff;
border-radius: 15px;
}
.history-img {
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
border-radius: 10px;
}
.history-info {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.history-title {
font-size: 32rpx;
font-weight: bold;
}
.history-description {
font-size: 28rpx;
color: #666;
}
.starSale {
width: 120px;
height: 15px;
}
.star {
display: inline-block;
line-height: 15px;
}
.history-sale {
font-size: 20rpx;
color: #999;
float: right;
display: inline-block;
line-height: 15px;
}
.startPoints {
width: 100%;
height: 20px;
}
.points {
padding-left: 15px;
font-size: 20rpx;
line-height: 20px;
color: #d41414;
}
.distance,
.time {
font-size: 20rpx;
color: #999;
padding-left: 25px;
font-size: 20rpx;
}
.history-start,
.history-distance {
font-size: 20rpx;
color: #999;
}
.exchange {
font-size: 24rpx;
color: #e99e44;
background-color: #f7dbb3;
width: 75px;
height: 20px;
border-radius: 5px;
border: 1px solid #e99e44;
}

View File

@ -0,0 +1 @@
<view class="container"><view class="history-list"><view a:for="{{a}}" a:for-item="item" a:key="f" class="history-item" onTap="{{item.g}}"><image class="history-img" src="{{item.a}}"></image><view class="history-info"><text class="history-title">{{item.b}}</text><view class="starSale"><view class="star"><uni-rate u-i="{{item.c}}" onVI="__l" u-p="{{item.d||''}}"/></view><text class="history-sale">月售:234</text></view><view class="startPoints"><text class="history-start">起送:¥10</text><text class="points">用积分更优惠</text><text class="distance">2.3km</text><text class="time">30min</text></view><view class="exchange"><uni-icons u-i="{{item.e}}" onVI="__l" u-p="{{b||''}}"></uni-icons> 支持自取 </view></view></view></view></view>

View File

@ -0,0 +1,87 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
(_easycom_uni_rate2 + _easycom_uni_icons2)();
}
const _easycom_uni_rate = () => "../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
(_easycom_uni_rate + _easycom_uni_icons)();
}
const _sfc_main = {
__name: "drinks",
setup(__props) {
const historyList = common_vendor.ref([]);
const fetchHistoryData = async () => {
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/business/list/page/vo",
method: "POST",
data: {
address: "",
businessName: "",
businessProfile: "",
categoryId: 2,
current: 1,
id: "",
pageSize: 20,
sortField: "",
sortOrder: "",
state: 1,
storeStatus: "",
userId: ""
}
});
if (res.data.code === 0) {
console.log(res.data.data.records);
historyList.value = res.data.data.records;
}
} catch (error) {
console.error("Error fetching data:", error);
}
};
common_vendor.onMounted(() => {
fetchHistoryData();
});
const handleDonate = (item) => {
console.log(item.id);
common_vendor.index.setStorageSync("Mybusiness", item);
common_vendor.index.setStorageSync("businessItem", item.id);
if (!item || !item.hasOwnProperty("id")) {
console.error("The 'item' variable is undefined or missing the 'id' property.");
return;
}
const merchantId = item.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
return {
a: common_vendor.f(historyList.value, (item, index, i0) => {
return {
a: item == null ? void 0 : item.businessAvatar,
b: common_vendor.t(item == null ? void 0 : item.businessName),
c: "d6ec0846-0-" + i0,
d: common_vendor.p({
readonly: true,
value: item.level,
size: "12px"
}),
e: "d6ec0846-1-" + i0,
f: index,
g: common_vendor.o(($event) => handleDonate(item))
};
}),
b: common_vendor.p({
type: "paperplane-filled",
color: "#e99e44"
})
};
};
}
};
my.createPage(_sfc_main);

View File

@ -0,0 +1,9 @@
{
"defaultTitle": "第二餐厅",
"pullRefresh": false,
"titleBarColor": "#4095e5",
"usingComponents": {
"uni-rate": "../../uni_modules/uni-rate/components/uni-rate/uni-rate",
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1,83 @@
.container {
display: flex;
flex-direction: column;
align-items: center;
padding: 20rpx;
}
.history-list {
width: 100%;
}
.history-item {
padding: 10px 0px 10px 5px;
display: flex;
margin-bottom: 20rpx;
border: 1px solid #999;
background-color: #fff;
border-radius: 15px;
}
.history-img {
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
border-radius: 10px;
}
.history-info {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.history-title {
font-size: 32rpx;
font-weight: bold;
}
.history-description {
font-size: 28rpx;
color: #666;
}
.starSale {
width: 120px;
height: 15px;
}
.star {
display: inline-block;
line-height: 15px;
}
.history-sale {
font-size: 20rpx;
color: #999;
float: right;
display: inline-block;
line-height: 15px;
}
.startPoints {
width: 100%;
height: 20px;
}
.points {
padding-left: 15px;
font-size: 20rpx;
line-height: 20px;
color: #d41414;
}
.distance,
.time {
font-size: 20rpx;
color: #999;
padding-left: 25px;
font-size: 20rpx;
}
.history-start,
.history-distance {
font-size: 20rpx;
color: #999;
}
.exchange {
font-size: 24rpx;
color: #e99e44;
background-color: #f7dbb3;
width: 75px;
height: 20px;
border-radius: 5px;
border: 1px solid #e99e44;
}

View File

@ -0,0 +1 @@
<view class="container"><view class="history-list"><view a:for="{{a}}" a:for-item="item" a:key="f" class="history-item" onTap="{{item.g}}"><image class="history-img" src="{{item.a}}"></image><view class="history-info"><text class="history-title">{{item.b}}</text><view class="starSale"><view class="star"><uni-rate u-i="{{item.c}}" onVI="__l" u-p="{{item.d||''}}"/></view><text class="history-sale">月售:234</text></view><view class="startPoints"><text class="history-start">起送:¥10</text><text class="points">用积分更优惠</text><text class="distance">2.3km</text><text class="time">30min</text></view><view class="exchange"><uni-icons u-i="{{item.e}}" onVI="__l" u-p="{{b||''}}"></uni-icons> 支持自取 </view></view></view></view></view>

View File

@ -0,0 +1,87 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
(_easycom_uni_rate2 + _easycom_uni_icons2)();
}
const _easycom_uni_rate = () => "../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
(_easycom_uni_rate + _easycom_uni_icons)();
}
const _sfc_main = {
__name: "food",
setup(__props) {
const historyList = common_vendor.ref([]);
const fetchHistoryData = async () => {
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/business/list/page/vo",
method: "POST",
data: {
address: "",
businessName: "",
businessProfile: "",
categoryId: 1,
current: 1,
id: "",
pageSize: 20,
sortField: "",
sortOrder: "",
state: 1,
storeStatus: "",
userId: ""
}
});
if (res.data.code === 0) {
console.log(res.data.data.records);
historyList.value = res.data.data.records;
}
} catch (error) {
console.error("Error fetching data:", error);
}
};
common_vendor.onMounted(() => {
fetchHistoryData();
});
const handleDonate = (item) => {
console.log(item.id);
common_vendor.index.setStorageSync("Mybusiness", item);
common_vendor.index.setStorageSync("businessItem", item.id);
if (!item || !item.hasOwnProperty("id")) {
console.error("The 'item' variable is undefined or missing the 'id' property.");
return;
}
const merchantId = item.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
return {
a: common_vendor.f(historyList.value, (item, index, i0) => {
return {
a: item == null ? void 0 : item.businessAvatar,
b: common_vendor.t(item == null ? void 0 : item.businessName),
c: "22966dbd-0-" + i0,
d: common_vendor.p({
readonly: true,
value: item.level,
size: "12px"
}),
e: "22966dbd-1-" + i0,
f: index,
g: common_vendor.o(($event) => handleDonate(item))
};
}),
b: common_vendor.p({
type: "paperplane-filled",
color: "#e99e44"
})
};
};
}
};
my.createPage(_sfc_main);

View File

@ -0,0 +1,9 @@
{
"defaultTitle": "第一餐厅",
"pullRefresh": false,
"titleBarColor": "#4095e5",
"usingComponents": {
"uni-rate": "../../uni_modules/uni-rate/components/uni-rate/uni-rate",
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1 @@
<view class="cart-page"><view a:for="{{a}}" a:for-item="item" a:key="d"><view>{{item.a}} - {{item.b}}元</view><button onTap="{{item.c}}">+</button></view><view a:if="{{b}}"><view>购物车中的商品:</view><view a:for="{{c}}" a:for-item="cartItem" a:key="d">{{cartItem.a}} - {{cartItem.b}}元 <button onTap="{{cartItem.c}}">-</button></view></view></view>

View File

@ -0,0 +1,45 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
data() {
return {
menuItems: [
{ name: "牛肉面", price: 18 },
{ name: "炒饭", price: 15 }
],
cart: []
};
},
methods: {
addToCart(item) {
this.cart.push({ ...item });
},
removeFromCart(index) {
this.cart.splice(index, 1);
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.f($data.menuItems, (item, index, i0) => {
return {
a: common_vendor.t(item.name),
b: common_vendor.t(item.price),
c: common_vendor.o(($event) => $options.addToCart(item)),
d: index
};
}),
b: $data.cart.length > 0
}, $data.cart.length > 0 ? {
c: common_vendor.f($data.cart, (cartItem, cartIndex, i0) => {
return {
a: common_vendor.t(cartItem.name),
b: common_vendor.t(cartItem.price),
c: common_vendor.o(($event) => $options.removeFromCart(cartIndex)),
d: cartIndex
};
})
} : {});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
my.createPage(MiniProgramPage);

View File

@ -0,0 +1,6 @@
{
"defaultTitle": "学生中心",
"pullRefresh": false,
"titleBarColor": "#4095e5",
"usingComponents": {}
}

View File

@ -0,0 +1,83 @@
.container {
display: flex;
flex-direction: column;
align-items: center;
padding: 20rpx;
}
.history-list {
width: 100%;
}
.history-item {
padding: 10px 0px 10px 5px;
display: flex;
margin-bottom: 20rpx;
border: 1px solid #999;
background-color: #fff;
border-radius: 15px;
}
.history-img {
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
border-radius: 10px;
}
.history-info {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.history-title {
font-size: 32rpx;
font-weight: bold;
}
.history-description {
font-size: 28rpx;
color: #666;
}
.starSale {
width: 120px;
height: 15px;
}
.star {
display: inline-block;
line-height: 15px;
}
.history-sale {
font-size: 20rpx;
color: #999;
float: right;
display: inline-block;
line-height: 15px;
}
.startPoints {
width: 100%;
height: 20px;
}
.points {
padding-left: 15px;
font-size: 20rpx;
line-height: 20px;
color: #d41414;
}
.distance,
.time {
font-size: 20rpx;
color: #999;
padding-left: 25px;
font-size: 20rpx;
}
.history-start,
.history-distance {
font-size: 20rpx;
color: #999;
}
.exchange {
font-size: 24rpx;
color: #e99e44;
background-color: #f7dbb3;
width: 75px;
height: 20px;
border-radius: 5px;
border: 1px solid #e99e44;
}

View File

@ -0,0 +1 @@
<view class="container"><view class="history-list"><view a:for="{{a}}" a:for-item="item" a:key="f" class="history-item" onTap="{{item.g}}"><image class="history-img" src="{{item.a}}"></image><view class="history-info"><text class="history-title">{{item.b}}</text><view class="starSale"><view class="star"><uni-rate u-i="{{item.c}}" onVI="__l" u-p="{{item.d||''}}"/></view><text class="history-sale">月售:234</text></view><view class="startPoints"><text class="history-start">起送:¥10</text><text class="points">用积分更优惠</text><text class="distance">2.3km</text><text class="time">30min</text></view><view class="exchange"><uni-icons u-i="{{item.e}}" onVI="__l" u-p="{{b||''}}"></uni-icons> 支持自取 </view></view></view></view></view>

View File

@ -0,0 +1,87 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
(_easycom_uni_rate2 + _easycom_uni_icons2)();
}
const _easycom_uni_rate = () => "../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
(_easycom_uni_rate + _easycom_uni_icons)();
}
const _sfc_main = {
__name: "fruits",
setup(__props) {
const historyList = common_vendor.ref([]);
const fetchHistoryData = async () => {
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/business/list/page/vo",
method: "POST",
data: {
address: "",
businessName: "",
businessProfile: "",
categoryId: 3,
current: 1,
id: "",
pageSize: 20,
sortField: "",
sortOrder: "",
state: 1,
storeStatus: "",
userId: ""
}
});
if (res.data.code === 0) {
console.log(res.data.data.records);
historyList.value = res.data.data.records;
}
} catch (error) {
console.error("Error fetching data:", error);
}
};
common_vendor.onMounted(() => {
fetchHistoryData();
});
const handleDonate = (item) => {
console.log(item.id);
common_vendor.index.setStorageSync("Mybusiness", item);
common_vendor.index.setStorageSync("businessItem", item.id);
if (!item || !item.hasOwnProperty("id")) {
console.error("The 'item' variable is undefined or missing the 'id' property.");
return;
}
const merchantId = item.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
return {
a: common_vendor.f(historyList.value, (item, index, i0) => {
return {
a: item == null ? void 0 : item.businessAvatar,
b: common_vendor.t(item == null ? void 0 : item.businessName),
c: "336a6f5d-0-" + i0,
d: common_vendor.p({
readonly: true,
value: item.level,
size: "12px"
}),
e: "336a6f5d-1-" + i0,
f: index,
g: common_vendor.o(($event) => handleDonate(item))
};
}),
b: common_vendor.p({
type: "paperplane-filled",
color: "#e99e44"
})
};
};
}
};
my.createPage(_sfc_main);

View File

@ -0,0 +1,9 @@
{
"defaultTitle": "第三餐厅",
"pullRefresh": false,
"titleBarColor": "#4095e5",
"usingComponents": {
"uni-rate": "../../uni_modules/uni-rate/components/uni-rate/uni-rate",
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1,214 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
overflow: hidden;
}
.viewport {
height: 100%;
display: flex;
flex-direction: column;
background-color: #fff;
}
.tabs {
display: flex;
justify-content: space-around;
line-height: 60rpx;
margin: 0 10rpx;
background-color: #fff;
box-shadow: 0 4rpx 6rpx rgba(240, 240, 240, 0.6);
position: relative;
z-index: 9;
}
.tabs .item {
flex: 1;
text-align: center;
padding: 20rpx;
font-size: 28rpx;
color: #262626;
}
.tabs .cursor {
position: absolute;
left: 0;
bottom: 0;
width: 20%;
height: 6rpx;
padding: 0 50rpx;
background-color: #4095e5;
transition: all 0.4s;
}
.swiper {
background-color: #4095e5;
}
.orders .card {
min-height: 100rpx;
padding: 20rpx;
margin: 20rpx 20rpx 0;
border-radius: 10rpx;
background-color: #fff;
}
.orders .card:last-child {
padding-bottom: 40rpx;
}
.orders .status {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
color: #999;
margin-bottom: 15rpx;
}
.orders .status .title {
color: #343434;
font-weight: 700;
flex: 1;
}
.orders .status .primary {
color: #ff9240;
}
.orders .status .icon-delete {
line-height: 1;
margin-left: 10rpx;
padding-left: 10rpx;
border-left: 1rpx solid #e3e3e3;
}
.orders .goods {
display: flex;
margin-bottom: 20rpx;
}
.orders .goods .cover {
width: 170rpx;
height: 170rpx;
margin-right: 20rpx;
border-radius: 10rpx;
overflow: hidden;
position: relative;
}
.orders .goods .quantity {
position: absolute;
bottom: 0;
right: 0;
line-height: 1;
padding: 6rpx 4rpx 6rpx 8rpx;
font-size: 24rpx;
color: #fff;
border-radius: 10rpx 0 0 0;
background-color: rgba(0, 0, 0, 0.6);
}
.orders .goods .meta {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.orders .goods .name {
height: 80rpx;
font-size: 26rpx;
color: #444;
}
.orders .goods .type {
line-height: 1.8;
padding: 0 15rpx;
margin-top: 10rpx;
font-size: 24rpx;
align-self: flex-start;
border-radius: 4rpx;
color: #888;
background-color: #f7f7f8;
}
.orders .goods .more {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #333;
}
.orders .action {
display: flex;
justify-content: flex-end;
align-items: center;
padding-top: 20rpx;
}
.orders .action .button {
width: 180rpx;
height: 60rpx;
display: flex;
justify-content: center;
align-items: center;
margin-left: 20rpx;
border-radius: 60rpx;
border: 1rpx solid #ccc;
font-size: 26rpx;
color: #444;
}
.orders .action .secondary {
color: #4095e5;
border-color: #4095e5;
}
.orders .action .primary {
color: #fff;
background-color: #4095e5;
}
.orders .loading-text {
text-align: center;
font-size: 28rpx;
color: #666;
padding: 20rpx 0;
}
image {
width: 100%;
height: 100%;
border-radius: 20px;
}
.status-btn {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 92rpx;
margin: 30rpx;
background-color: #007AFF;
}
.example-body {
display: block;
padding: 15px;
flex-direction: row;
}
.tab-menu {
display: flex;
justify-content: space-around;
padding: 10px 0;
background-color: #f5f5f5;
}
.tab-item {
padding: 10px;
cursor: pointer;
}
.tab-item.active {
color: #007aff;
font-weight: bold;
}

View File

@ -0,0 +1 @@
<view class="tab-menu"><view a:for="{{a}}" a:for-item="tab" a:key="b" class="{{('tab-item') + ' ' + (tab.c && 'active')}}" onTap="{{tab.d}}">{{tab.a}}</view></view><view class="content"><block a:if="{{b}}"><order-state-vue u-i="16f07686-0" onVI="__l"></order-state-vue></block><block a:if="{{c}}"><order-state-zero-vue u-i="16f07686-1" onVI="__l"></order-state-zero-vue></block><block a:if="{{d}}"><order-state-one-nvue u-i="16f07686-2" onVI="__l"></order-state-one-nvue></block><block a:if="{{e}}"><order-state-three u-i="16f07686-3" onVI="__l"></order-state-three></block><block a:if="{{f}}"><order-state-five-vue u-i="16f07686-4" onVI="__l"></order-state-five-vue></block></view>

View File

@ -0,0 +1,60 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Math) {
(orderStateVue + orderStateZeroVue + common_vendor.unref(orderStateOneNvue) + orderStateThree + orderStateFiveVue)();
}
const orderStateVue = () => "./orderState.js";
const orderStateZeroVue = () => "./orderStateZero.js";
const orderStateOneNvue = () => "./orderStateOne.js";
const orderStateThree = () => "./orderStateThree.js";
const orderStateFiveVue = () => "./orderStateFive.js";
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "fullOrder",
setup(__props) {
const currentIndex = common_vendor.ref(0);
const tabs = common_vendor.ref([
{ name: "未支付" },
// 对应type=1
{ name: "已支付" },
// 对应type=2
{ name: "已退款" },
// 对应type=3
{ name: "已出餐" },
// 对应type=4
{ name: "已完成" }
// 对应type=5
]);
common_vendor.onLoad((options) => {
if (options.type) {
const typeNumber = parseInt(options.type);
currentIndex.value = typeNumber - 1;
}
});
const switchTab = (index) => {
currentIndex.value = index;
};
common_vendor.index.getSystemInfoSync();
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(tabs.value, (tab, index, i0) => {
return {
a: common_vendor.t(tab.name),
b: index,
c: currentIndex.value === index ? 1 : "",
d: common_vendor.o(($event) => switchTab(index))
};
}),
b: currentIndex.value === 0
}, currentIndex.value === 0 ? {} : {}, {
c: currentIndex.value === 1
}, currentIndex.value === 1 ? {} : {}, {
d: currentIndex.value === 2
}, currentIndex.value === 2 ? {} : {}, {
e: currentIndex.value === 3
}, currentIndex.value === 3 ? {} : {}, {
f: currentIndex.value === 4
}, currentIndex.value === 4 ? {} : {});
};
}
});
my.createPage(_sfc_main);

View File

@ -0,0 +1,11 @@
{
"defaultTitle": "全部订单",
"pullRefresh": true,
"usingComponents": {
"order-state-vue": "./orderState",
"order-state-zero-vue": "./orderStateZero",
"order-state-one-nvue": "./orderStateOne",
"order-state-three": "./orderStateThree",
"order-state-five-vue": "./orderStateFive"
}
}

View File

@ -0,0 +1,214 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
overflow: hidden;
}
.viewport {
height: 100%;
display: flex;
flex-direction: column;
background-color: #fff;
}
.tabs {
display: flex;
justify-content: space-around;
line-height: 60rpx;
margin: 0 10rpx;
background-color: #fff;
box-shadow: 0 4rpx 6rpx rgba(240, 240, 240, 0.6);
position: relative;
z-index: 9;
}
.tabs .item {
flex: 1;
text-align: center;
padding: 20rpx;
font-size: 28rpx;
color: #262626;
}
.tabs .cursor {
position: absolute;
left: 0;
bottom: 0;
width: 20%;
height: 6rpx;
padding: 0 50rpx;
background-color: #4095e5;
transition: all 0.4s;
}
.swiper {
background-color: #4095e5;
}
.orders .card {
min-height: 100rpx;
padding: 20rpx;
margin: 20rpx 20rpx 0;
border-radius: 10rpx;
background-color: #fff;
}
.orders .card:last-child {
padding-bottom: 40rpx;
}
.orders .status {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
color: #999;
margin-bottom: 15rpx;
}
.orders .status .title {
color: #343434;
font-weight: 700;
flex: 1;
}
.orders .status .primary {
color: #ff9240;
}
.orders .status .icon-delete {
line-height: 1;
margin-left: 10rpx;
padding-left: 10rpx;
border-left: 1rpx solid #e3e3e3;
}
.orders .goods {
display: flex;
margin-bottom: 20rpx;
}
.orders .goods .cover {
width: 170rpx;
height: 170rpx;
margin-right: 20rpx;
border-radius: 10rpx;
overflow: hidden;
position: relative;
}
.orders .goods .quantity {
position: absolute;
bottom: 0;
right: 0;
line-height: 1;
padding: 6rpx 4rpx 6rpx 8rpx;
font-size: 24rpx;
color: #fff;
border-radius: 10rpx 0 0 0;
background-color: rgba(0, 0, 0, 0.6);
}
.orders .goods .meta {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.orders .goods .name {
height: 80rpx;
font-size: 26rpx;
color: #444;
}
.orders .goods .type {
line-height: 1.8;
padding: 0 15rpx;
margin-top: 10rpx;
font-size: 24rpx;
align-self: flex-start;
border-radius: 4rpx;
color: #888;
background-color: #f7f7f8;
}
.orders .goods .more {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #333;
}
.orders .action {
display: flex;
justify-content: flex-end;
align-items: center;
padding-top: 20rpx;
}
.orders .action .button {
width: 180rpx;
height: 60rpx;
display: flex;
justify-content: center;
align-items: center;
margin-left: 20rpx;
border-radius: 60rpx;
border: 1rpx solid #ccc;
font-size: 26rpx;
color: #444;
}
.orders .action .secondary {
color: #4095e5;
border-color: #4095e5;
}
.orders .action .primary {
color: #fff;
background-color: #4095e5;
}
.orders .loading-text {
text-align: center;
font-size: 28rpx;
color: #666;
padding: 20rpx 0;
}
image {
width: 100%;
height: 100%;
border-radius: 20px;
}
.status-btn {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 92rpx;
margin: 30rpx;
background-color: #007AFF;
}
.example-body {
display: block;
padding: 15px;
flex-direction: row;
}
.tab-menu {
display: flex;
justify-content: space-around;
padding: 10px 0;
background-color: #f5f5f5;
}
.tab-item {
padding: 10px;
cursor: pointer;
}
.tab-item.active {
color: #007aff;
font-weight: bold;
}

View File

@ -0,0 +1 @@
<view class="viewport"><scroll-view scroll-y class="orders"><view a:for="{{a}}" a:for-item="order" a:key="i" class="card"><view class="status"><text class="title" onTap="{{order.b}}">{{order.a}}</text><text>{{order.c}}</text><text class="icon-delete"></text></view><navigator a:for="{{order.d}}" a:for-item="sku" a:key="b" class="goods" url="{{b}}" hover-class="none"><view class="cover"><image mode="aspectFit" src="{{order.e}}"></image></view><view a:for="{{sku.a}}" a:for-item="item" class="meta"><view class="type">{{item.a}}--{{item.b}}</view><text class="type">下单即送20积分</text></view></navigator><view class="action"><block a:if="{{true}}"><view class="button primary" onTap="{{order.f}}">取消订单</view><view class="button primary" onTap="{{order.g}}"> 去支付 </view></block><block a:else><navigator class="button secondary" url="{{order.h}}" hover-class="none"> 再次购买 </navigator><view a:if="{{false}}" class="button primary">确认收货</view></block></view></view><view class="loading-text" style="{{'padding-bottom:' + d}}">{{c}}</view></scroll-view><uni-pagination onChange="{{e}}" u-i="d71e8fd6-0" onVI="__l" u-p="{{f||''}}"/></view>

View File

@ -0,0 +1,175 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_pagination2 = common_vendor.resolveComponent("uni-pagination");
_easycom_uni_pagination2();
}
const _easycom_uni_pagination = () => "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination.js";
if (!Math) {
_easycom_uni_pagination();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "orderState",
setup(__props) {
const currentPage = common_vendor.ref(1);
const pageSize = common_vendor.ref(10);
const totalPage = common_vendor.ref(1);
const orderList = common_vendor.ref([]);
const getOrder = (page) => {
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/my/page`,
method: "POST",
data: {
current: page,
endTime: "",
id: "",
pageSize: pageSize.value,
pickupMethod: "",
sortField: "createTime",
sortOrder: "dscend",
startTime: "",
state: 0
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
if (res.data.code === 0) {
const records = res.data.data.records;
orderList.value = records;
totalPage.value = Math.ceil(res.data.data.total / pageSize.value);
console.log("订单数据:", orderList.value);
}
},
fail() {
console.log("出错啦");
}
});
};
common_vendor.onMounted(() => {
getOrder(currentPage.value);
});
const onPageChange = (e) => {
currentPage.value = e.current;
getOrder(e.current);
};
const closeOrder = (order) => {
console.log(order);
console.log(order.id);
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/orders/cancel",
method: "POST",
data: {
id: order.id
},
success(res) {
console.log("成功");
console.log(res);
},
fail() {
console.log("失败");
}
});
};
const goToPay = (order) => {
console.log(order);
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/Alipay/payment/create",
method: "GET",
data: {
id: order
},
header: {
"Content-Type": "application/json",
// 确保设置正确的 Content-Type
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success: function(result) {
console.log(result);
console.log(result.data.data);
common_vendor.index.setStorageSync("tradeNo", result.data.data);
my.tradePay({
tradeNO: result.data.data,
success: (res) => {
console.log("成功调用");
console.log(res);
console.log(res.resultCode);
if (res.resultCode == 6001) {
console.log("我是6001");
common_vendor.index.setStorageSync("notPay", orderId);
common_vendor.index.navigateTo({
url: "/pages/goToPay/goToPay"
});
} else if (res.resultCode == 9e3) {
common_vendor.index.setStorageSync("orderId", orderId);
common_vendor.index.navigateTo({
url: "/pages/testFive/testFive"
});
}
},
fail: (res) => {
my.alert({
content: JSON.stringify(res)
});
console.log("失败");
console.log(res);
}
});
}
});
};
const merchantDetail = (order) => {
var _a, _b, _c;
console.log((_a = order.businessVO) == null ? void 0 : _a.id);
common_vendor.index.setStorageSync("businessItem", (_b = order.businessVO) == null ? void 0 : _b.id);
const merchantId = (_c = order.businessVO) == null ? void 0 : _c.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
var _a;
return {
a: common_vendor.f(orderList.value, (order, index, i0) => {
var _a2, _b;
return common_vendor.e({
a: common_vendor.t((_a2 = order.businessVO) == null ? void 0 : _a2.businessName),
b: common_vendor.o(($event) => merchantDetail(order)),
c: common_vendor.t(order.id),
d: common_vendor.f(1, (sku, k1, i1) => {
return {
a: common_vendor.f(order.orderDetailsVOList, (item, index2, i2) => {
var _a3;
return {
a: common_vendor.t((_a3 = item.dishesVO) == null ? void 0 : _a3.dishesName),
b: common_vendor.t(item.attributeNames)
};
}),
b: sku
};
}),
e: (_b = order.businessVO) == null ? void 0 : _b.businessAvatar
}, {
f: common_vendor.o(() => closeOrder(order)),
g: common_vendor.o(($event) => goToPay(order.id))
}, {
i: index
});
}),
b: `/pagesOrder/detail/detail?id=1`,
c: common_vendor.t("没有更多数据~"),
d: ((_a = _ctx.safeAreaInsets) == null ? void 0 : _a.bottom) + "px",
e: common_vendor.o(onPageChange),
f: common_vendor.p({
title: "订单列表",
["show-icon"]: true,
current: currentPage.value,
total: totalPage.value * pageSize.value
})
};
};
}
});
my.createComponent(_sfc_main);

View File

@ -0,0 +1,7 @@
{
"component": true,
"styleIsolation": "apply-shared",
"usingComponents": {
"uni-pagination": "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination"
}
}

View File

@ -0,0 +1,214 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
overflow: hidden;
}
.viewport {
height: 100%;
display: flex;
flex-direction: column;
background-color: #fff;
}
.tabs {
display: flex;
justify-content: space-around;
line-height: 60rpx;
margin: 0 10rpx;
background-color: #fff;
box-shadow: 0 4rpx 6rpx rgba(240, 240, 240, 0.6);
position: relative;
z-index: 9;
}
.tabs .item {
flex: 1;
text-align: center;
padding: 20rpx;
font-size: 28rpx;
color: #262626;
}
.tabs .cursor {
position: absolute;
left: 0;
bottom: 0;
width: 20%;
height: 6rpx;
padding: 0 50rpx;
background-color: #4095e5;
transition: all 0.4s;
}
.swiper {
background-color: #4095e5;
}
.orders .card {
min-height: 100rpx;
padding: 20rpx;
margin: 20rpx 20rpx 0;
border-radius: 10rpx;
background-color: #fff;
}
.orders .card:last-child {
padding-bottom: 40rpx;
}
.orders .status {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
color: #999;
margin-bottom: 15rpx;
}
.orders .status .title {
color: #343434;
font-weight: 700;
flex: 1;
}
.orders .status .primary {
color: #ff9240;
}
.orders .status .icon-delete {
line-height: 1;
margin-left: 10rpx;
padding-left: 10rpx;
border-left: 1rpx solid #e3e3e3;
}
.orders .goods {
display: flex;
margin-bottom: 20rpx;
}
.orders .goods .cover {
width: 170rpx;
height: 170rpx;
margin-right: 20rpx;
border-radius: 10rpx;
overflow: hidden;
position: relative;
}
.orders .goods .quantity {
position: absolute;
bottom: 0;
right: 0;
line-height: 1;
padding: 6rpx 4rpx 6rpx 8rpx;
font-size: 24rpx;
color: #fff;
border-radius: 10rpx 0 0 0;
background-color: rgba(0, 0, 0, 0.6);
}
.orders .goods .meta {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.orders .goods .name {
height: 80rpx;
font-size: 26rpx;
color: #444;
}
.orders .goods .type {
line-height: 1.8;
padding: 0 15rpx;
margin-top: 10rpx;
font-size: 24rpx;
align-self: flex-start;
border-radius: 4rpx;
color: #888;
background-color: #f7f7f8;
}
.orders .goods .more {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #333;
}
.orders .action {
display: flex;
justify-content: flex-end;
align-items: center;
padding-top: 20rpx;
}
.orders .action .button {
width: 180rpx;
height: 60rpx;
display: flex;
justify-content: center;
align-items: center;
margin-left: 20rpx;
border-radius: 60rpx;
border: 1rpx solid #ccc;
font-size: 26rpx;
color: #444;
}
.orders .action .secondary {
color: #4095e5;
border-color: #4095e5;
}
.orders .action .primary {
color: #fff;
background-color: #4095e5;
}
.orders .loading-text {
text-align: center;
font-size: 28rpx;
color: #666;
padding: 20rpx 0;
}
image {
width: 100%;
height: 100%;
border-radius: 20px;
}
.status-btn {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 92rpx;
margin: 30rpx;
background-color: #007AFF;
}
.example-body {
display: block;
padding: 15px;
flex-direction: row;
}
.tab-menu {
display: flex;
justify-content: space-around;
padding: 10px 0;
background-color: #f5f5f5;
}
.tab-item {
padding: 10px;
cursor: pointer;
}
.tab-item.active {
color: #007aff;
font-weight: bold;
}

View File

@ -0,0 +1 @@
<view class="viewport"><scroll-view scroll-y class="orders"><view a:for="{{a}}" a:for-item="order" a:key="k" class="card"><view class="status"><text class="title" onTap="{{order.b}}">{{order.a}}</text><text>{{order.c}}</text><text class="icon-delete"></text></view><navigator a:for="{{order.d}}" a:for-item="sku" a:key="b" class="goods" url="{{b}}" hover-class="none"><view class="cover"><image mode="aspectFit" src="{{order.e}}"></image></view><view a:for="{{sku.a}}" a:for-item="item" class="meta"><view class="type">{{item.a}}--{{item.b}}</view><text class="type">下单即送20积分</text></view></navigator><view><uni-steps u-i="{{order.f}}" onVI="__l" u-p="{{c||''}}"/></view><view class="action"><block a:if="{{true}}"><view class="button primary" onTap="{{order.g}}">删除订单</view><view class="button primary" onTap="{{order.h}}">拨打电话</view><view class="button primary" onTap="{{order.i}}">去评价</view></block><block a:else><navigator class="button secondary" url="{{order.j}}" hover-class="none"> 再次购买 </navigator><view a:if="{{false}}" class="button primary">确认收货</view></block></view></view><view class="loading-text" style="{{'padding-bottom:' + e}}">{{d}}</view></scroll-view><uni-pagination onChange="{{f}}" u-i="0db36367-1" onVI="__l" u-p="{{g||''}}"/></view>

View File

@ -0,0 +1,157 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_steps2 = common_vendor.resolveComponent("uni-steps");
const _easycom_uni_pagination2 = common_vendor.resolveComponent("uni-pagination");
(_easycom_uni_steps2 + _easycom_uni_pagination2)();
}
const _easycom_uni_steps = () => "../../uni_modules/uni-steps/components/uni-steps/uni-steps.js";
const _easycom_uni_pagination = () => "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination.js";
if (!Math) {
(_easycom_uni_steps + _easycom_uni_pagination)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "orderStateFive",
setup(__props) {
const currentPage = common_vendor.ref(1);
const pageSize = common_vendor.ref(10);
const totalPage = common_vendor.ref(1);
const orderList = common_vendor.ref([]);
const getOrder = (page) => {
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/my/page`,
method: "POST",
data: {
current: page,
endTime: "",
id: "",
pageSize: pageSize.value,
pickupMethod: "",
sortField: "createTime",
sortOrder: "dscend",
startTime: "",
state: 5
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
if (res.data.code === 0) {
const records = res.data.data.records;
orderList.value = records;
totalPage.value = Math.ceil(res.data.data.total / pageSize.value);
console.log("订单数据:", orderList.value);
}
},
fail() {
console.log("出错啦");
}
});
};
common_vendor.onMounted(() => {
getOrder(currentPage.value);
});
const onPageChange = (e) => {
currentPage.value = e.current;
getOrder(e.current);
};
const deleteOrder = (order) => {
const orderId = order.id;
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/delete`,
method: "POST",
data: {
id: orderId
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log(res);
getOrder(currentPage.value);
},
fail(Error) {
console.log(Error);
}
});
};
const evaluation = (order) => {
common_vendor.index.setStorageSync("evaluationOrderID", order.id);
common_vendor.index.navigateTo({
url: "/pages/orderEvaluation/orderEvaluation"
});
};
common_vendor.onMounted(() => {
getOrder(currentPage.value);
});
const tell = (phone) => {
console.log(phone);
common_vendor.index.makePhoneCall({
phoneNumber: phone
});
};
const merchantDetail = (order) => {
var _a, _b, _c;
console.log((_a = order.businessVO) == null ? void 0 : _a.id);
common_vendor.index.setStorageSync("businessItem", (_b = order.businessVO) == null ? void 0 : _b.id);
const merchantId = (_c = order.businessVO) == null ? void 0 : _c.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
var _a;
return {
a: common_vendor.f(orderList.value, (order, index, i0) => {
var _a2, _b;
return common_vendor.e({
a: common_vendor.t((_a2 = order.businessVO) == null ? void 0 : _a2.businessName),
b: common_vendor.o(($event) => merchantDetail(order)),
c: common_vendor.t(order.id),
d: common_vendor.f(1, (sku, k1, i1) => {
return {
a: common_vendor.f(order.orderDetailsVOList, (item, index2, i2) => {
var _a3;
return {
a: common_vendor.t((_a3 = item.dishesVO) == null ? void 0 : _a3.dishesName),
b: common_vendor.t(item.attributeNames)
};
}),
b: sku
};
}),
e: (_b = order.businessVO) == null ? void 0 : _b.businessAvatar,
f: "0db36367-0-" + i0
}, {
g: common_vendor.o(() => deleteOrder(order)),
h: common_vendor.o(() => {
var _a3;
return tell((_a3 = order.businessVO) == null ? void 0 : _a3.businessPhone);
}),
i: common_vendor.o(() => evaluation(order))
}, {
k: index
});
}),
b: `/pagesOrder/detail/detail?id=1`,
c: common_vendor.p({
options: _ctx.list1,
active: _ctx.active
}),
d: common_vendor.t("没有更多数据~"),
e: ((_a = _ctx.safeAreaInsets) == null ? void 0 : _a.bottom) + "px",
f: common_vendor.o(onPageChange),
g: common_vendor.p({
title: "订单列表",
["show-icon"]: true,
current: currentPage.value,
total: totalPage.value * pageSize.value
})
};
};
}
});
my.createComponent(_sfc_main);

View File

@ -0,0 +1,8 @@
{
"component": true,
"styleIsolation": "apply-shared",
"usingComponents": {
"uni-steps": "../../uni_modules/uni-steps/components/uni-steps/uni-steps",
"uni-pagination": "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination"
}
}

View File

@ -0,0 +1,214 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
overflow: hidden;
}
.viewport {
height: 100%;
display: flex;
flex-direction: column;
background-color: #fff;
}
.tabs {
display: flex;
justify-content: space-around;
line-height: 60rpx;
margin: 0 10rpx;
background-color: #fff;
box-shadow: 0 4rpx 6rpx rgba(240, 240, 240, 0.6);
position: relative;
z-index: 9;
}
.tabs .item {
flex: 1;
text-align: center;
padding: 20rpx;
font-size: 28rpx;
color: #262626;
}
.tabs .cursor {
position: absolute;
left: 0;
bottom: 0;
width: 20%;
height: 6rpx;
padding: 0 50rpx;
background-color: #4095e5;
transition: all 0.4s;
}
.swiper {
background-color: #4095e5;
}
.orders .card {
min-height: 100rpx;
padding: 20rpx;
margin: 20rpx 20rpx 0;
border-radius: 10rpx;
background-color: #fff;
}
.orders .card:last-child {
padding-bottom: 40rpx;
}
.orders .status {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
color: #999;
margin-bottom: 15rpx;
}
.orders .status .title {
color: #343434;
font-weight: 700;
flex: 1;
}
.orders .status .primary {
color: #ff9240;
}
.orders .status .icon-delete {
line-height: 1;
margin-left: 10rpx;
padding-left: 10rpx;
border-left: 1rpx solid #e3e3e3;
}
.orders .goods {
display: flex;
margin-bottom: 20rpx;
}
.orders .goods .cover {
width: 170rpx;
height: 170rpx;
margin-right: 20rpx;
border-radius: 10rpx;
overflow: hidden;
position: relative;
}
.orders .goods .quantity {
position: absolute;
bottom: 0;
right: 0;
line-height: 1;
padding: 6rpx 4rpx 6rpx 8rpx;
font-size: 24rpx;
color: #fff;
border-radius: 10rpx 0 0 0;
background-color: rgba(0, 0, 0, 0.6);
}
.orders .goods .meta {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.orders .goods .name {
height: 80rpx;
font-size: 26rpx;
color: #444;
}
.orders .goods .type {
line-height: 1.8;
padding: 0 15rpx;
margin-top: 10rpx;
font-size: 24rpx;
align-self: flex-start;
border-radius: 4rpx;
color: #888;
background-color: #f7f7f8;
}
.orders .goods .more {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #333;
}
.orders .action {
display: flex;
justify-content: flex-end;
align-items: center;
padding-top: 20rpx;
}
.orders .action .button {
width: 180rpx;
height: 60rpx;
display: flex;
justify-content: center;
align-items: center;
margin-left: 20rpx;
border-radius: 60rpx;
border: 1rpx solid #ccc;
font-size: 26rpx;
color: #444;
}
.orders .action .secondary {
color: #4095e5;
border-color: #4095e5;
}
.orders .action .primary {
color: #fff;
background-color: #4095e5;
}
.orders .loading-text {
text-align: center;
font-size: 28rpx;
color: #666;
padding: 20rpx 0;
}
image {
width: 100%;
height: 100%;
border-radius: 20px;
}
.status-btn {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 92rpx;
margin: 30rpx;
background-color: #007AFF;
}
.example-body {
display: block;
padding: 15px;
flex-direction: row;
}
.tab-menu {
display: flex;
justify-content: space-around;
padding: 10px 0;
background-color: #f5f5f5;
}
.tab-item {
padding: 10px;
cursor: pointer;
}
.tab-item.active {
color: #007aff;
font-weight: bold;
}

View File

@ -0,0 +1 @@
<view class="viewport"><scroll-view scroll-y class="orders"><view a:for="{{a}}" a:for-item="order" a:key="i" class="card" onTap="{{order.j}}"><view class="status"><text class="title" onTap="{{order.b}}">{{order.a}}</text><text>{{order.c}}</text><text class="icon-delete"></text></view><navigator a:for="{{order.d}}" a:for-item="sku" a:key="b" class="goods" url="{{b}}" hover-class="none"><view class="cover"><image mode="aspectFit" src="{{order.e}}"></image></view><view a:for="{{sku.a}}" a:for-item="item" class="meta"><view class="type">{{item.a}}--{{item.b}}</view><text class="type">下单即送20积分</text></view></navigator><view><uni-steps u-i="{{order.f}}" onVI="__l" u-p="{{c||''}}"/></view><view class="action"><block a:if="{{true}}"><view class="button primary" onTap="{{order.g}}">删除订单</view><view class="button primary">在线联系</view></block><block a:else><navigator class="button secondary" url="{{order.h}}" hover-class="none"> 再次购买 </navigator><view a:if="{{false}}" class="button primary">确认收货</view></block></view></view><view class="loading-text" style="{{'padding-bottom:' + e}}">{{d}}</view></scroll-view><uni-pagination onChange="{{f}}" u-i="c59e7006-1" onVI="__l" u-p="{{g||''}}"/></view>

View File

@ -0,0 +1,156 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_steps2 = common_vendor.resolveComponent("uni-steps");
const _easycom_uni_pagination2 = common_vendor.resolveComponent("uni-pagination");
(_easycom_uni_steps2 + _easycom_uni_pagination2)();
}
const _easycom_uni_steps = () => "../../uni_modules/uni-steps/components/uni-steps/uni-steps.js";
const _easycom_uni_pagination = () => "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination.js";
if (!Math) {
(_easycom_uni_steps + _easycom_uni_pagination)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "orderStateOne",
setup(__props) {
const currentPage = common_vendor.ref(1);
const pageSize = common_vendor.ref(10);
const totalItems = common_vendor.ref(0);
const active = common_vendor.ref(1);
const list1 = common_vendor.reactive([
{ title: "备餐中" },
{ title: "已出餐" },
{ title: "已完成" }
]);
const orderList = common_vendor.ref([]);
const getOrder = (page) => {
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/my/page`,
method: "POST",
data: {
current: page,
endTime: "",
id: "",
pageSize: pageSize.value,
pickupMethod: "",
sortField: "createTime",
sortOrder: "dscend",
startTime: "",
state: 2
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
if (res.data.code === 0) {
const records = res.data.data.records;
orderList.value = records;
totalItems.value = res.data.data.total;
console.log("订单数据:", orderList.value);
}
},
fail() {
console.log("出错啦");
}
});
};
const deleteOrder = async (orderId) => {
try {
const response = await common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/delete`,
method: "POST",
header: {
"Content-Type": "application/json"
},
data: JSON.stringify({ id: orderId })
});
if (response.statusCode === 200) {
console.log(`成功取消订单:${orderId}`);
common_vendor.index.showModal({
title: "提示",
content: "删除订单成功",
showCancel: false,
success: (res) => {
if (res.confirm) {
getOrder();
}
}
});
} else {
console.error(`无法取消订单:${orderId},错误码:${response.statusCode}`);
}
} catch (error) {
console.error(`发生错误:${error.message}`);
}
};
const onPageChange = (e) => {
currentPage.value = e.current;
getOrder(e.current);
};
common_vendor.onMounted(() => {
getOrder(currentPage.value);
});
const orderDetail = (order) => {
console.log(order);
};
const merchantDetail = (order) => {
var _a, _b, _c;
console.log((_a = order.businessVO) == null ? void 0 : _a.id);
common_vendor.index.setStorageSync("businessItem", (_b = order.businessVO) == null ? void 0 : _b.id);
const merchantId = (_c = order.businessVO) == null ? void 0 : _c.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
var _a;
return {
a: common_vendor.f(orderList.value, (order, index, i0) => {
var _a2, _b;
return common_vendor.e({
a: common_vendor.t((_a2 = order.businessVO) == null ? void 0 : _a2.businessName),
b: common_vendor.o(($event) => merchantDetail(order)),
c: common_vendor.t(order.id),
d: common_vendor.f(1, (sku, k1, i1) => {
return {
a: common_vendor.f(order.orderDetailsVOList, (item, index2, i2) => {
var _a3;
return {
a: common_vendor.t((_a3 = item.dishesVO) == null ? void 0 : _a3.dishesName),
b: common_vendor.t(item.attributeNames)
};
}),
b: sku
};
}),
e: (_b = order.businessVO) == null ? void 0 : _b.businessAvatar,
f: "c59e7006-0-" + i0
}, {
g: common_vendor.o(() => deleteOrder(order.id))
}, {
i: index,
j: common_vendor.o(($event) => orderDetail(order))
});
}),
b: `/pagesOrder/detail/detail?id=1`,
c: common_vendor.p({
options: list1,
active: active.value
}),
d: common_vendor.t("没有更多数据~"),
e: ((_a = _ctx.safeAreaInsets) == null ? void 0 : _a.bottom) + "px",
f: common_vendor.o(onPageChange),
g: common_vendor.p({
title: "订单列表",
["show-icon"]: true,
current: currentPage.value,
total: totalItems.value,
pageSize: pageSize.value
})
};
};
}
});
my.createComponent(_sfc_main);

View File

@ -0,0 +1,8 @@
{
"component": true,
"styleIsolation": "apply-shared",
"usingComponents": {
"uni-steps": "../../uni_modules/uni-steps/components/uni-steps/uni-steps",
"uni-pagination": "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination"
}
}

View File

@ -0,0 +1,214 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
overflow: hidden;
}
.viewport {
height: 100%;
display: flex;
flex-direction: column;
background-color: #fff;
}
.tabs {
display: flex;
justify-content: space-around;
line-height: 60rpx;
margin: 0 10rpx;
background-color: #fff;
box-shadow: 0 4rpx 6rpx rgba(240, 240, 240, 0.6);
position: relative;
z-index: 9;
}
.tabs .item {
flex: 1;
text-align: center;
padding: 20rpx;
font-size: 28rpx;
color: #262626;
}
.tabs .cursor {
position: absolute;
left: 0;
bottom: 0;
width: 20%;
height: 6rpx;
padding: 0 50rpx;
background-color: #4095e5;
transition: all 0.4s;
}
.swiper {
background-color: #4095e5;
}
.orders .card {
min-height: 100rpx;
padding: 20rpx;
margin: 20rpx 20rpx 0;
border-radius: 10rpx;
background-color: #fff;
}
.orders .card:last-child {
padding-bottom: 40rpx;
}
.orders .status {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
color: #999;
margin-bottom: 15rpx;
}
.orders .status .title {
color: #343434;
font-weight: 700;
flex: 1;
}
.orders .status .primary {
color: #ff9240;
}
.orders .status .icon-delete {
line-height: 1;
margin-left: 10rpx;
padding-left: 10rpx;
border-left: 1rpx solid #e3e3e3;
}
.orders .goods {
display: flex;
margin-bottom: 20rpx;
}
.orders .goods .cover {
width: 170rpx;
height: 170rpx;
margin-right: 20rpx;
border-radius: 10rpx;
overflow: hidden;
position: relative;
}
.orders .goods .quantity {
position: absolute;
bottom: 0;
right: 0;
line-height: 1;
padding: 6rpx 4rpx 6rpx 8rpx;
font-size: 24rpx;
color: #fff;
border-radius: 10rpx 0 0 0;
background-color: rgba(0, 0, 0, 0.6);
}
.orders .goods .meta {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.orders .goods .name {
height: 80rpx;
font-size: 26rpx;
color: #444;
}
.orders .goods .type {
line-height: 1.8;
padding: 0 15rpx;
margin-top: 10rpx;
font-size: 24rpx;
align-self: flex-start;
border-radius: 4rpx;
color: #888;
background-color: #f7f7f8;
}
.orders .goods .more {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #333;
}
.orders .action {
display: flex;
justify-content: flex-end;
align-items: center;
padding-top: 20rpx;
}
.orders .action .button {
width: 180rpx;
height: 60rpx;
display: flex;
justify-content: center;
align-items: center;
margin-left: 20rpx;
border-radius: 60rpx;
border: 1rpx solid #ccc;
font-size: 26rpx;
color: #444;
}
.orders .action .secondary {
color: #4095e5;
border-color: #4095e5;
}
.orders .action .primary {
color: #fff;
background-color: #4095e5;
}
.orders .loading-text {
text-align: center;
font-size: 28rpx;
color: #666;
padding: 20rpx 0;
}
image {
width: 100%;
height: 100%;
border-radius: 20px;
}
.status-btn {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 92rpx;
margin: 30rpx;
background-color: #007AFF;
}
.example-body {
display: block;
padding: 15px;
flex-direction: row;
}
.tab-menu {
display: flex;
justify-content: space-around;
padding: 10px 0;
background-color: #f5f5f5;
}
.tab-item {
padding: 10px;
cursor: pointer;
}
.tab-item.active {
color: #007aff;
font-weight: bold;
}

View File

@ -0,0 +1 @@
<view class="viewport"><scroll-view scroll-y class="orders"><view a:for="{{a}}" a:for-item="order" a:key="i" class="card"><view class="status"><text class="title" onTap="{{order.b}}">{{order.a}}</text><text>{{order.c}}</text><text class="icon-delete"></text></view><navigator a:for="{{order.d}}" a:for-item="sku" a:key="b" class="goods" url="{{b}}" hover-class="none"><view class="cover"><image mode="aspectFit" src="{{order.e}}"></image></view><view a:for="{{sku.a}}" a:for-item="item" class="meta"><view class="type">{{item.a}}--{{item.b}}</view><text class="type">下单即送20积分</text></view></navigator><view><uni-steps u-i="{{order.f}}" onVI="__l" u-p="{{c||''}}"/></view><view class="action"><view class="button primary" onTap="{{order.g}}">确认收货</view><view class="button primary" onTap="{{order.h}}">拨打电话</view></view></view><view class="loading-text" style="{{'padding-bottom:' + e}}">{{d}}</view></scroll-view><uni-pagination onChange="{{f}}" u-i="e8394c8e-1" onVI="__l" u-p="{{g||''}}"/></view>

View File

@ -0,0 +1,145 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_steps2 = common_vendor.resolveComponent("uni-steps");
const _easycom_uni_pagination2 = common_vendor.resolveComponent("uni-pagination");
(_easycom_uni_steps2 + _easycom_uni_pagination2)();
}
const _easycom_uni_steps = () => "../../uni_modules/uni-steps/components/uni-steps/uni-steps.js";
const _easycom_uni_pagination = () => "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination.js";
if (!Math) {
(_easycom_uni_steps + _easycom_uni_pagination)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "orderStateThree",
setup(__props) {
const currentPage = common_vendor.ref(1);
const pageSize = common_vendor.ref(10);
const totalItems = common_vendor.ref(0);
const orderList = common_vendor.ref([]);
const tell = (phone) => {
console.log(phone);
common_vendor.index.makePhoneCall({
phoneNumber: phone
});
};
const obtion = (order) => {
console.log(order.id);
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/update/state/user`,
method: "POST",
data: {
id: order.id
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log(res);
},
fail(err) {
console.log(err);
}
});
};
const getOrder = (page) => {
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/my/page`,
method: "POST",
data: {
current: page,
endTime: "",
id: "",
pageSize: pageSize.value,
pickupMethod: "",
sortField: "createTime",
sortOrder: "dscend",
startTime: "",
state: 4
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
if (res.data.code === 0) {
const records = res.data.data.records;
orderList.value = records;
totalItems.value = res.data.data.total;
console.log("订单数据:", orderList.value);
}
},
fail() {
console.log("出错啦");
}
});
};
const onPageChange = (e) => {
currentPage.value = e.current;
getOrder(e.current);
};
common_vendor.onMounted(() => {
getOrder(currentPage.value);
});
const merchantDetail = (order) => {
var _a, _b, _c;
console.log((_a = order.businessVO) == null ? void 0 : _a.id);
common_vendor.index.setStorageSync("businessItem", (_b = order.businessVO) == null ? void 0 : _b.id);
const merchantId = (_c = order.businessVO) == null ? void 0 : _c.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
var _a;
return {
a: common_vendor.f(orderList.value, (order, index, i0) => {
var _a2, _b;
return {
a: common_vendor.t((_a2 = order.businessVO) == null ? void 0 : _a2.businessName),
b: common_vendor.o(($event) => merchantDetail(order)),
c: common_vendor.t(order.id),
d: common_vendor.f(1, (sku, k1, i1) => {
return {
a: common_vendor.f(order.orderDetailsVOList, (item, index2, i2) => {
var _a3;
return {
a: common_vendor.t((_a3 = item.dishesVO) == null ? void 0 : _a3.dishesName),
b: common_vendor.t(item.attributeNames)
};
}),
b: sku
};
}),
e: (_b = order.businessVO) == null ? void 0 : _b.businessAvatar,
f: "e8394c8e-0-" + i0,
g: common_vendor.o(() => obtion(order)),
h: common_vendor.o(() => {
var _a3;
return tell((_a3 = order.businessVO) == null ? void 0 : _a3.businessPhone);
}),
i: index
};
}),
b: `/pagesOrder/detail/detail?id=1`,
c: common_vendor.p({
options: _ctx.list1,
active: _ctx.active
}),
d: common_vendor.t("没有更多数据~"),
e: ((_a = _ctx.safeAreaInsets) == null ? void 0 : _a.bottom) + "px",
f: common_vendor.o(onPageChange),
g: common_vendor.p({
title: "订单列表",
["show-icon"]: true,
current: currentPage.value,
total: totalItems.value,
pageSize: pageSize.value
})
};
};
}
});
my.createComponent(_sfc_main);

View File

@ -0,0 +1,8 @@
{
"component": true,
"styleIsolation": "apply-shared",
"usingComponents": {
"uni-steps": "../../uni_modules/uni-steps/components/uni-steps/uni-steps",
"uni-pagination": "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination"
}
}

View File

@ -0,0 +1,214 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
overflow: hidden;
}
.viewport {
height: 100%;
display: flex;
flex-direction: column;
background-color: #fff;
}
.tabs {
display: flex;
justify-content: space-around;
line-height: 60rpx;
margin: 0 10rpx;
background-color: #fff;
box-shadow: 0 4rpx 6rpx rgba(240, 240, 240, 0.6);
position: relative;
z-index: 9;
}
.tabs .item {
flex: 1;
text-align: center;
padding: 20rpx;
font-size: 28rpx;
color: #262626;
}
.tabs .cursor {
position: absolute;
left: 0;
bottom: 0;
width: 20%;
height: 6rpx;
padding: 0 50rpx;
background-color: #4095e5;
transition: all 0.4s;
}
.swiper {
background-color: #4095e5;
}
.orders .card {
min-height: 100rpx;
padding: 20rpx;
margin: 20rpx 20rpx 0;
border-radius: 10rpx;
background-color: #fff;
}
.orders .card:last-child {
padding-bottom: 40rpx;
}
.orders .status {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
color: #999;
margin-bottom: 15rpx;
}
.orders .status .title {
color: #343434;
font-weight: 700;
flex: 1;
}
.orders .status .primary {
color: #ff9240;
}
.orders .status .icon-delete {
line-height: 1;
margin-left: 10rpx;
padding-left: 10rpx;
border-left: 1rpx solid #e3e3e3;
}
.orders .goods {
display: flex;
margin-bottom: 20rpx;
}
.orders .goods .cover {
width: 170rpx;
height: 170rpx;
margin-right: 20rpx;
border-radius: 10rpx;
overflow: hidden;
position: relative;
}
.orders .goods .quantity {
position: absolute;
bottom: 0;
right: 0;
line-height: 1;
padding: 6rpx 4rpx 6rpx 8rpx;
font-size: 24rpx;
color: #fff;
border-radius: 10rpx 0 0 0;
background-color: rgba(0, 0, 0, 0.6);
}
.orders .goods .meta {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.orders .goods .name {
height: 80rpx;
font-size: 26rpx;
color: #444;
}
.orders .goods .type {
line-height: 1.8;
padding: 0 15rpx;
margin-top: 10rpx;
font-size: 24rpx;
align-self: flex-start;
border-radius: 4rpx;
color: #888;
background-color: #f7f7f8;
}
.orders .goods .more {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 22rpx;
color: #333;
}
.orders .action {
display: flex;
justify-content: flex-end;
align-items: center;
padding-top: 20rpx;
}
.orders .action .button {
width: 180rpx;
height: 60rpx;
display: flex;
justify-content: center;
align-items: center;
margin-left: 20rpx;
border-radius: 60rpx;
border: 1rpx solid #ccc;
font-size: 26rpx;
color: #444;
}
.orders .action .secondary {
color: #4095e5;
border-color: #4095e5;
}
.orders .action .primary {
color: #fff;
background-color: #4095e5;
}
.orders .loading-text {
text-align: center;
font-size: 28rpx;
color: #666;
padding: 20rpx 0;
}
image {
width: 100%;
height: 100%;
border-radius: 20px;
}
.status-btn {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 92rpx;
margin: 30rpx;
background-color: #007AFF;
}
.example-body {
display: block;
padding: 15px;
flex-direction: row;
}
.tab-menu {
display: flex;
justify-content: space-around;
padding: 10px 0;
background-color: #f5f5f5;
}
.tab-item {
padding: 10px;
cursor: pointer;
}
.tab-item.active {
color: #007aff;
font-weight: bold;
}

View File

@ -0,0 +1 @@
<view class="viewport"><scroll-view scroll-y class="orders"><view a:for="{{a}}" a:for-item="order" a:key="l" class="card"><view class="status"><text class="title" onTap="{{order.b}}">{{order.a}}</text><text>{{order.c}}</text><text class="icon-delete"></text></view><navigator a:for="{{order.d}}" a:for-item="sku" a:key="b" class="goods" url="{{b}}" hover-class="none"><view class="cover"><image mode="aspectFit" src="{{order.e}}"></image></view><view a:for="{{sku.a}}" a:for-item="item" class="meta"><view class="type">{{item.a}}--{{item.b}}</view><text class="type">下单即送20积分</text></view></navigator><view><uni-steps u-i="{{order.f}}" onVI="__l" u-p="{{c||''}}"/></view><view class="action"><block a:if="{{true}}"><view class="button primary" onTap="{{order.g}}">确认收货</view><view class="button primary" onTap="{{order.h}}">拨打电话</view><view a:if="{{order.i}}" class="button primary" onTap="{{order.j}}"> 去退款 </view></block><block a:else><navigator class="button secondary" url="{{order.k}}" hover-class="none"> 再次购买 </navigator><view a:if="{{false}}" class="button primary">确认收货</view></block></view></view><view class="loading-text" style="{{'padding-bottom:' + e}}">{{d}}</view></scroll-view><uni-pagination onChange="{{f}}" u-i="516b805d-1" onVI="__l" u-p="{{g||''}}"/></view>

View File

@ -0,0 +1,180 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_steps2 = common_vendor.resolveComponent("uni-steps");
const _easycom_uni_pagination2 = common_vendor.resolveComponent("uni-pagination");
(_easycom_uni_steps2 + _easycom_uni_pagination2)();
}
const _easycom_uni_steps = () => "../../uni_modules/uni-steps/components/uni-steps/uni-steps.js";
const _easycom_uni_pagination = () => "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination.js";
if (!Math) {
(_easycom_uni_steps + _easycom_uni_pagination)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "orderStateZero",
setup(__props) {
const currentPage = common_vendor.ref(1);
const pageSize = common_vendor.ref(10);
const totalItems = common_vendor.ref(0);
const active = common_vendor.ref(1);
const list1 = common_vendor.reactive([
{ title: "备餐中" },
{ title: "已出餐" },
{ title: "已完成" }
]);
const orderList = common_vendor.ref([]);
const getOrder = (page) => {
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/my/page`,
method: "POST",
data: {
current: page,
endTime: "",
id: "",
pageSize: pageSize.value,
pickupMethod: "",
sortField: "createTime",
sortOrder: "dscend",
startTime: "",
state: 1
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
if (res.data.code === 0) {
const records = res.data.data.records;
orderList.value = records;
totalItems.value = res.data.data.total;
console.log("订单数据:", orderList.value);
}
},
fail() {
console.log("出错啦");
}
});
};
const onPageChange = (e) => {
currentPage.value = e.current;
getOrder(e.current);
};
common_vendor.onMounted(() => {
getOrder(currentPage.value);
});
const refund = (order) => {
console.log(order.pickupCode);
common_vendor.index.setStorageSync("pickupCode", order.pickupCode);
common_vendor.index.setStorageSync("refundId", order.id);
common_vendor.index.navigateTo({
url: "/pages/refund/refund"
});
};
const showButton = common_vendor.ref(true);
const countdownTime = common_vendor.ref(180);
let intervalId;
common_vendor.onMounted(() => {
intervalId = setInterval(() => {
if (countdownTime.value > 0) {
countdownTime.value--;
} else {
clearInterval(intervalId);
showButton.value = false;
}
}, 1e3);
});
common_vendor.onUnmounted(() => {
clearInterval(intervalId);
});
const tell = (phone) => {
console.log(phone);
common_vendor.index.makePhoneCall({
phoneNumber: phone
});
};
const obtion = (order) => {
console.log(order.id);
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/update/state/user`,
method: "POST",
data: {
id: order.id
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log(res);
},
fail(err) {
console.log(err);
}
});
};
const merchantDetail = (order) => {
var _a, _b, _c;
console.log((_a = order.businessVO) == null ? void 0 : _a.id);
common_vendor.index.setStorageSync("businessItem", (_b = order.businessVO) == null ? void 0 : _b.id);
const merchantId = (_c = order.businessVO) == null ? void 0 : _c.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
var _a;
return {
a: common_vendor.f(orderList.value, (order, index, i0) => {
var _a2, _b;
return common_vendor.e({
a: common_vendor.t((_a2 = order.businessVO) == null ? void 0 : _a2.businessName),
b: common_vendor.o(($event) => merchantDetail(order)),
c: common_vendor.t(order.id),
d: common_vendor.f(1, (sku, k1, i1) => {
return {
a: common_vendor.f(order.orderDetailsVOList, (item, index2, i2) => {
var _a3;
return {
a: common_vendor.t((_a3 = item.dishesVO) == null ? void 0 : _a3.dishesName),
b: common_vendor.t(item.attributeNames)
};
}),
b: sku
};
}),
e: (_b = order.businessVO) == null ? void 0 : _b.businessAvatar,
f: "516b805d-0-" + i0
}, common_vendor.e({
g: common_vendor.o(() => obtion(order)),
h: common_vendor.o(() => {
var _a3;
return tell((_a3 = order.businessVO) == null ? void 0 : _a3.businessPhone);
}),
i: showButton.value
}, showButton.value ? {
j: common_vendor.o(() => refund(order))
} : {}), {
l: index
});
}),
b: `/pagesOrder/detail/detail?id=1`,
c: common_vendor.p({
options: list1,
active: active.value
}),
d: common_vendor.t("没有更多数据~"),
e: ((_a = _ctx.safeAreaInsets) == null ? void 0 : _a.bottom) + "px",
f: common_vendor.o(onPageChange),
g: common_vendor.p({
title: "订单列表",
["show-icon"]: true,
current: currentPage.value,
total: totalItems.value,
pageSize: pageSize.value
})
};
};
}
});
my.createComponent(_sfc_main);

View File

@ -0,0 +1,8 @@
{
"component": true,
"styleIsolation": "apply-shared",
"usingComponents": {
"uni-steps": "../../uni_modules/uni-steps/components/uni-steps/uni-steps",
"uni-pagination": "../../uni_modules/uni-pagination/components/uni-pagination/uni-pagination"
}
}

View File

@ -0,0 +1,180 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.no-results.data-v-9800dcee {
text-align: center;
padding: 20px;
font-size: 16px;
color: #aaa;
}
.businessItem.data-v-9800dcee {
margin-bottom: 10px;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
}
.businessItem p.data-v-9800dcee {
margin: 0;
}
.container.data-v-9800dcee {
display: flex;
flex-direction: column;
align-items: center;
padding: 20rpx;
}
.history-list.data-v-9800dcee {
width: 100%;
}
.history-item.data-v-9800dcee {
padding: 10px 0px 10px 5px;
display: flex;
margin-bottom: 20rpx;
border: 1px solid #999;
background-color: #fff;
border-radius: 15px;
}
.history-img.data-v-9800dcee {
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
border-radius: 10px;
}
.history-info.data-v-9800dcee {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.history-title.data-v-9800dcee {
font-size: 32rpx;
font-weight: bold;
}
.history-description.data-v-9800dcee {
font-size: 28rpx;
color: #666;
}
.starSale.data-v-9800dcee {
width: 120px;
height: 15px;
}
.star.data-v-9800dcee {
display: inline-block;
line-height: 15px;
}
.history-sale.data-v-9800dcee {
font-size: 20rpx;
color: #999;
float: right;
display: inline-block;
line-height: 15px;
}
.startPoints.data-v-9800dcee {
width: 100%;
height: 20px;
}
.points.data-v-9800dcee {
padding-left: 15px;
font-size: 20rpx;
line-height: 20px;
color: #d41414;
}
.distance.data-v-9800dcee,
.time.data-v-9800dcee {
font-size: 20rpx;
color: #999;
padding-left: 25px;
font-size: 20rpx;
}
.history-start.data-v-9800dcee,
.history-distance.data-v-9800dcee {
font-size: 20rpx;
color: #999;
}
.exchange.data-v-9800dcee {
font-size: 24rpx;
color: #e99e44;
background-color: #f7dbb3;
width: 75px;
height: 20px;
border-radius: 5px;
border: 1px solid #e99e44;
}
/* 搜索栏 */
.navbar.data-v-9800dcee {
background-color: #4095e5;
display: flex;
flex-direction: row;
padding: 10px;
/* 添加透明输入框的样式 */
}
.navbar .search.data-v-9800dcee {
display: flex;
align-items: center;
padding: 0 10rpx 0 26rpx;
height: 0.64rem;
color: #fff;
font-size: 28rpx;
border-radius: 32rpx;
background-color: rgba(255, 255, 255, 0.5);
width: 70%;
margin: 0 auto;
}
.navbar .icon-search.data-v-9800dcee {
margin-right: 10rpx;
}
.navbar .search-button.data-v-9800dcee {
margin-left: auto;
/* 将按钮放置在右侧 */
height: 0.64rem;
/* 与搜索框高度一致 */
background-color: #fff;
/* 按钮背景颜色 */
color: #4095e5;
/* 按钮文字颜色 */
border: none;
/* 去掉边框 */
border-radius: 32rpx;
/* 与搜索框圆角一致 */
padding: 0 20rpx;
/* 按钮内边距 */
line-height: 0.64rem;
font-size: 15px;
}
.navbar .transparent-input.data-v-9800dcee {
background-color: transparent;
/* 使输入框背景透明 */
border: none;
/* 移除边框 */
color: #fff;
/* 输入文字颜色为白色 */
outline: none;
/* 点击时没有默认的outline */
width: 100%;
/* 让输入框占据剩余空间 */
padding: 0 10rpx;
/* 内边距以保证文本不紧贴边缘 */
font-size: 28rpx;
/* 继承自 .search 的字体大小 */
}

View File

@ -0,0 +1 @@
<view class="navbar data-v-9800dcee"><view class="search data-v-9800dcee"><text class="icon-search data-v-9800dcee"><input type="text" placeholder="搜索店铺" class="transparent-input data-v-9800dcee" value="{{a}}" onInput="{{b}}"/></text></view><button onTap="{{c}}" class="search-button data-v-9800dcee">搜索</button></view><view class="container data-v-9800dcee"><view a:if="{{d}}" class="no-results data-v-9800dcee"> 没有这个店铺,搜一搜其他的试试呢 </view><view a:if="{{e}}" class="history-list data-v-9800dcee"><view a:for="{{f}}" a:for-item="item" a:key="e" class="history-item data-v-9800dcee" onTap="{{item.f}}"><image class="history-img data-v-9800dcee" src="{{item.a}}"></image><view class="history-info data-v-9800dcee"><text class="history-title data-v-9800dcee">{{item.b}}</text><view class="starSale data-v-9800dcee"><view class="star data-v-9800dcee"><uni-rate class="data-v-9800dcee" u-i="{{item.c}}" onVI="__l" u-p="{{g||''}}"/></view><text class="history-sale data-v-9800dcee">月售:234</text></view><view class="startPoints data-v-9800dcee"><text class="history-start data-v-9800dcee">起送:¥10</text><text class="points data-v-9800dcee">用积分更优惠</text><text class="distance data-v-9800dcee">2.3km</text><text class="time data-v-9800dcee">30min</text></view><view class="exchange data-v-9800dcee"><uni-icons class="data-v-9800dcee" u-i="{{item.d}}" onVI="__l" u-p="{{h||''}}"></uni-icons> 支持自取 </view></view></view></view></view>

View File

@ -0,0 +1,94 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
(_easycom_uni_rate2 + _easycom_uni_icons2)();
}
const _easycom_uni_rate = () => "../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
(_easycom_uni_rate + _easycom_uni_icons)();
}
const _sfc_main = {
__name: "goSearch",
setup(__props) {
const searchTerm = common_vendor.ref("");
const businessRecords = common_vendor.ref([]);
const searchBusiness = () => {
const businessName = searchTerm.value;
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/business/list/page/vo",
method: "POST",
data: {
address: "",
businessName,
businessProfile: "",
categoryId: "",
current: 1,
id: "",
pageSize: 10,
sortField: "",
sortOrder: "",
state: 1,
storeStatus: "",
userId: ""
},
success(res) {
businessRecords.value = res.data.data.records || [];
console.log(businessRecords.value);
console.log("成功");
},
fail() {
console.log("出错了");
}
});
};
const handleDonate = (item) => {
console.log(item.id);
common_vendor.index.setStorageSync("Mybusiness", item);
common_vendor.index.setStorageSync("businessItem", item.id);
if (!item || !item.hasOwnProperty("id")) {
console.error("The 'item' variable is undefined or missing the 'id' property.");
return;
}
const merchantId = item.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
return common_vendor.e({
a: searchTerm.value,
b: common_vendor.o(($event) => searchTerm.value = $event.detail.value),
c: common_vendor.o(searchBusiness),
d: businessRecords.value.length === 0
}, businessRecords.value.length === 0 ? {} : {}, {
e: businessRecords.value.length > 0
}, businessRecords.value.length > 0 ? {
f: common_vendor.f(businessRecords.value, (item, index, i0) => {
return {
a: item.businessAvatar,
b: common_vendor.t(item.businessName),
c: "9800dcee-0-" + i0,
d: "9800dcee-1-" + i0,
e: index,
f: common_vendor.o(($event) => handleDonate(item))
};
}),
g: common_vendor.p({
readonly: true,
value: 4,
size: "12px"
}),
h: common_vendor.p({
type: "paperplane-filled",
color: "#e99e44"
})
} : {});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-9800dcee"]]);
my.createPage(MiniProgramPage);

View File

@ -0,0 +1,7 @@
{
"defaultTitle": "搜索页面",
"usingComponents": {
"uni-rate": "../../uni_modules/uni-rate/components/uni-rate/uni-rate",
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1,76 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.pBoxUp.data-v-1d253218 {
background: #f5f5f5;
}
.pBoxUp .psTitle.data-v-1d253218 {
line-height: 100rpx;
text-align: center;
border-bottom: 1rpx solid #f7f7f7;
}
.pBoxUp .shopPopup.data-v-1d253218 {
backgound: #ffffff;
font-size: 32rpx;
display: flex;
justify-content: space-between;
}
.pBoxUp .boxLDate.data-v-1d253218 {
font-size: 24rpx;
height: 80rpx;
line-height: 80rpx;
width: 273rpx;
text-align: center;
}
.pBoxUp .lBox.data-v-1d253218 {
color: #666666;
background: #f5f5f5;
font-size: 30rpx;
}
.pBoxUp .boxLDate.ed.data-v-1d253218 {
color: #1DA337;
background: #fff;
}
.pBoxUp .rBox.ed.data-v-1d253218 {
color: #1DA337;
}
.pBoxUp .rBox.data-v-1d253218 {
width: 239px;
padding-left: 20rpx;
font-size: 24rpx;
color: #333;
height: 80rpx;
background: #fff;
line-height: 80rpx;
}
.pBoxUp .cancelButton.data-v-1d253218 {
font-size: 36rpx;
color: #999;
text-align: center;
height: 100rpx;
line-height: 100rpx;
border-top: 1px solid #e5e5e5;
background: #FFF;
}

View File

@ -0,0 +1 @@
<uni-popup class="data-v-1d253218" u-s="{{['d']}}" ref="__r" u-r="popup" u-i="1d253218-0" onVI="__l" u-p="{{e||''}}"><view class="pBoxUp data-v-1d253218"><view class="textCenter f32 psTitle border-bottom data-v-1d253218"> 请选择配送时间 </view><view class="shopPopup bgff justify-between default-flex data-v-1d253218"><view class="f30 t666 lBox data-v-1d253218"><view a:for="{{a}}" a:for-item="item" a:key="e" onTap="{{item.c}}" class="{{(item.d) + ' ' + 'boxLDate' + ' ' + 'data-v-1d253218'}}">{{item.a}}({{item.b}}) </view></view><view class="data-v-1d253218"><view a:for="{{b}}" a:for-item="item" a:key="f" onTap="{{item.c}}" class="{{(item.d) + ' ' + item.e + ' ' + 'rBox' + ' ' + 'data-v-1d253218'}}">{{item.a}}{{item.b}}</view><view a:if="{{c}}" class="empty f28 text-center data-v-1d253218" style="color:#999;margin-top:40rpx"> 今天没有时间了,看看明天吧 </view></view></view><view class="cancelButton data-v-1d253218" onTap="{{d}}"> 取消 </view></view></uni-popup>

View File

@ -0,0 +1,151 @@
"use strict";
const pages_goToPay_utils = require("./utils.js");
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
name: "distributionBox",
props: {
getTime: String
// 接收父组件传来的初始值
},
data() {
return {
sendTime: "",
sRightDate: "",
sLDate: "",
jmhDay: [],
timeList: [
{ disabled: false, time: "10:00-12:00", id: 1 },
{ disabled: false, time: "12:00-14:00", id: 2 },
{ disabled: false, time: "14:00-16:00", id: 3 },
{ disabled: false, time: "16:00-18:00", id: 4 },
{ disabled: false, time: "18:00-20:00", id: 5 }
]
};
},
mounted() {
this.getNextDay();
},
methods: {
close() {
this.$refs.popup.close();
},
getWeekDate(day) {
const weeks = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
return weeks[day];
},
getNextDay() {
const day = this.getWeekDate((/* @__PURE__ */ new Date()).getDay());
const isDay = pages_goToPay_utils.getDate().fullDate;
const nextDay = this.getWeekDate(new Date((/* @__PURE__ */ new Date()).getTime() + 24 * 60 * 60 * 1e3).getDay());
const nDate = pages_goToPay_utils.getDate(new Date((/* @__PURE__ */ new Date()).getTime() + 24 * 60 * 60 * 1e3)).fullDate;
const HDay = this.getWeekDate(new Date((/* @__PURE__ */ new Date()).getTime() + 48 * 60 * 60 * 1e3).getDay());
const hDate = pages_goToPay_utils.getDate(new Date((/* @__PURE__ */ new Date()).getTime() + 48 * 60 * 60 * 1e3)).fullDate;
const d1 = hDate.substr(hDate.indexOf("-") + 1);
this.sLDate = isDay;
this.selectLDate(1);
this.jmhDay = [
{ name: day, id: 1, formatDate: isDay, desc: "今天" },
{ name: nextDay, id: 2, formatDate: nDate, desc: "明天" },
{ name: HDay, id: 3, formatDate: hDate, desc: d1.substr(0, d1.indexOf("-")) + "月" + d1.substr(d1.indexOf("-") + 1) + "日" }
];
},
showBox() {
this.$refs.popup.open();
},
selectRDate(item) {
if (item.disabled) {
return;
}
this.sRightDate = item.time;
this.sendTime = `${this.sLDate} ${item.time}`;
this.$emit("update:getTime", this.sendTime);
this.$emit("timeSelected", this.sendTime);
this.$refs.popup.close();
},
selectLDate(val) {
if (val !== 1) {
this.sLDate = val.formatDate;
}
let t = [
{ disabled: false, time: "10:00-12:00", id: 1 },
{ disabled: false, time: "12:00-14:00", id: 2 },
{ disabled: false, time: "14:00-16:00", id: 3 },
{ disabled: false, time: "16:00-18:00", id: 4 },
{ disabled: false, time: "18:00-20:00", id: 5 }
];
if (val.desc === "今天" || val === 1) {
const currentHour = (/* @__PURE__ */ new Date()).getHours();
if (currentHour <= 10) {
this.timeList = t;
} else if (currentHour <= 12) {
t[0].disabled = true;
this.timeList = t;
} else if (currentHour <= 14) {
t[0].disabled = true;
t[1].disabled = true;
this.timeList = t;
} else if (currentHour <= 16) {
t[0].disabled = true;
t[1].disabled = true;
t[2].disabled = true;
this.timeList = t;
} else if (currentHour <= 18) {
t[0].disabled = true;
t[1].disabled = true;
t[2].disabled = true;
t[3].disabled = true;
this.timeList = t;
} else if (currentHour <= 20) {
t[0].disabled = true;
t[1].disabled = true;
t[2].disabled = true;
t[3].disabled = true;
t[4].disabled = true;
this.timeList = t;
}
} else {
this.timeList = t;
}
this.sRightDate = "";
}
}
};
if (!Array) {
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
_easycom_uni_popup2();
}
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
_easycom_uni_popup();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: common_vendor.f($data.jmhDay, (item, index, i0) => {
return {
a: common_vendor.t(item.desc),
b: common_vendor.t(item.name),
c: common_vendor.o(($event) => $options.selectLDate(item)),
d: common_vendor.n($data.sLDate === item.formatDate ? "ed" : ""),
e: index
};
}),
b: common_vendor.f($data.timeList, (item, index, i0) => {
return {
a: common_vendor.t(item.time),
b: common_vendor.t(item.disabled ? " (超出配送时间)" : ""),
c: common_vendor.o(($event) => $options.selectRDate(item)),
d: common_vendor.n($data.sRightDate === item.time ? "ed" : ""),
e: common_vendor.n(item.disabled ? "disabled" : ""),
f: index
};
}),
c: $data.timeList.length < 1
}, $data.timeList.length < 1 ? {} : {}, {
d: common_vendor.o(($event) => $options.close()),
e: common_vendor.p({
type: "bottom"
})
});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1d253218"]]);
my.createComponent(Component);

View File

@ -0,0 +1,7 @@
{
"component": true,
"styleIsolation": "apply-shared",
"usingComponents": {
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

View File

@ -0,0 +1,215 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.order-page.data-v-71a06cb4 {
background-color: #f5f5f5;
padding: 20px;
}
.header.data-v-71a06cb4 {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.back-button.data-v-71a06cb4,
.customer-service.data-v-71a06cb4 {
width: 30px;
height: 30px;
}
.status.data-v-71a06cb4 {
font-size: 20px;
font-weight: bold;
}
.address.data-v-71a06cb4 {
width: 100%;
height: 20px;
color: #666;
padding-bottom: 10px;
font-size: 14px;
}
.notice.data-v-71a06cb4 {
height: 40px;
}
.order-summary.data-v-71a06cb4 {
background-color: #fff;
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
.order-info.data-v-71a06cb4 {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
.time-picker.data-v-71a06cb4 {
margin-bottom: 20px;
}
.pay-button.data-v-71a06cb4 {
background-color: #007bff;
color: #fff;
padding: 10px 0px;
border-radius: 20px;
font-size: 18px;
text-align: center;
position: relative;
/* 确保按钮定位上下文 */
z-index: 1;
/* 设置较高的z-index值确保按钮始终位于顶部 */
margin-top: 40px;
/* 如果需要,增加上边距避免与其他元素重叠 */
}
.order-options.data-v-71a06cb4 {
display: flex;
justify-content: space-around;
margin-bottom: 20px;
}
.option.data-v-71a06cb4 {
display: flex;
flex-direction: column;
align-items: center;
margin: 10px;
}
.businessDetail.data-v-71a06cb4 {
font-size: 15px;
font-weight: 700;
}
.order-items.data-v-71a06cb4 {
background-color: #fff;
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
.item.data-v-71a06cb4 {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.item image.data-v-71a06cb4 {
width: 100px;
height: 100px;
margin-right: 20px;
}
.item-info.data-v-71a06cb4 {
flex: 1;
}
.total.data-v-71a06cb4 {
display: flex;
justify-content: space-between;
margin-top: 10px;
}
.order-details.data-v-71a06cb4 {
background-color: #fff;
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
.detail.data-v-71a06cb4 {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
/* */
.order-item.data-v-71a06cb4 {
display: flex;
align-items: center;
padding: 10px 0;
}
.item-image.data-v-71a06cb4 {
width: 80px;
height: 80px;
margin-right: 20px;
}
.item-info.data-v-71a06cb4 {
flex: 1;
}
.item-name.data-v-71a06cb4 {
font-size: 18px;
font-weight: bold;
}
.item-description.data-v-71a06cb4 {
font-size: 14px;
color: #666;
}
.item-price.data-v-71a06cb4 {
font-size: 18px;
font-weight: bold;
text-align: right;
}
.text.data-v-71a06cb4 {
font-size: 12px;
color: #666;
margin-top: 5px;
}
.uni-px-5.data-v-71a06cb4 {
padding-left: 10px;
padding-right: 10px;
}
.uni-pb-5.data-v-71a06cb4 {
padding-bottom: 10px;
}
.button-update.data-v-71a06cb4 {
width: 30px;
height: 30px;
background-color: pink;
border-radius: 15px;
}
/* 时间选择器 */
.bgff.data-v-71a06cb4 {
background-color: pink;
}
.justify-between.data-v-71a06cb4 {
justify-content: space-between;
}
.default-flex.data-v-71a06cb4 {
display: flex;
}
.align-center.data-v-71a06cb4 {
align-items: center;
}
.mr-2.data-v-71a06cb4 {
margin-right: 20rpx;
}
.secondBox.data-v-71a06cb4 {
padding: 30rpx 0rpx 0rpx 0rpx;
}
.secondBox .lImg.data-v-71a06cb4 {
width: 36rpx;
height: 36rpx;
}
.secondBox .bj.data-v-71a06cb4 {
width: 30rpx;
height: 30rpx;
}
.secondBox .tDesc.data-v-71a06cb4 {
font-size: 28rpx;
display: flex;
align-items: center;
color: #666;
}
.secondBox .tDesc .sTime.data-v-71a06cb4 {
margin-right: 20rpx;
}

View File

@ -0,0 +1 @@
<view class="notice data-v-71a06cb4"><uni-notice-bar class="data-v-71a06cb4" u-i="71a06cb4-0" onVI="__l" u-p="{{a||''}}"/></view><view class="order-page data-v-71a06cb4"><view class="header data-v-71a06cb4"><view class="status data-v-71a06cb4" id="{{c}}"> 待支付,剩余{{b}}</view></view><view class="order-summary data-v-71a06cb4"><view class="order-info data-v-71a06cb4"><view class="uni-px-5 uni-pb-5 data-v-71a06cb4"><uni-data-checkbox class="data-v-71a06cb4" u-i="71a06cb4-1" onVI="__l" onUpdateModelValue="{{d}}" u-p="{{e||''}}"></uni-data-checkbox></view></view><view a:if="{{f}}" class="address data-v-71a06cb4"><picker class="data-v-71a06cb4" onChange="{{h}}" value="{{i}}" range="{{j}}"><view class="uni-input data-v-71a06cb4">地址:{{g}}</view></picker><block u-s="{{['d']}}" class="time-picker data-v-71a06cb4"><view class="align-center justify-between default-flex secondBox data-v-71a06cb4" onTap="{{l}}"><view class="default-flex align-center data-v-71a06cb4"><view class="t666 f28 data-v-71a06cb4"> 配送时间: </view></view><view class="tDesc data-v-71a06cb4"><view class="sTime data-v-71a06cb4">{{k}}</view><view class="bj data-v-71a06cb4"><image class="data-v-71a06cb4" src="https://yujia-shanghai-bucket.oss-cn-shanghai.aliyuncs.com/small-program/yvmuShop/timeEdit.png" alt=""></image></view></view></view><distribution-box class="data-v-71a06cb4" ref="__r" u-r="{{m}}" onTimeSelected="{{n}}" u-i="71a06cb4-2" onVI="__l" u-p="{{o||''}}"></distribution-box></block></view><view class="pay-button data-v-71a06cb4" onTap="{{p}}"> 去支付 </view></view><view class="order-options data-v-71a06cb4"></view><view class="order-items data-v-71a06cb4"><view class="businessDetail data-v-71a06cb4"><image class="item-image data-v-71a06cb4" src="{{q}}"></image> {{r}}</view><view a:for="{{s}}" a:for-item="item" class="order-item data-v-71a06cb4"><image class="item-image data-v-71a06cb4" src="{{item.a}}"></image><view class="item-info data-v-71a06cb4"><view class="item-name data-v-71a06cb4">{{item.b}}</view><view class="item-description data-v-71a06cb4">{{item.c}}×{{item.d}}</view><view class="item-price data-v-71a06cb4">¥{{item.e}}</view></view></view><view a:if="{{t}}" class="total data-v-71a06cb4"><text class="data-v-71a06cb4">打包费</text><text class="data-v-71a06cb4">¥1</text></view><view a:if="{{v}}" class="total data-v-71a06cb4"><text class="data-v-71a06cb4">配送费</text><text class="data-v-71a06cb4">¥1.7</text></view><view class="total data-v-71a06cb4"><text class="data-v-71a06cb4">实付款</text><text a:if="{{w}}" class="data-v-71a06cb4">¥{{x}}</text><text a:if="{{y}}" class="data-v-71a06cb4">¥{{z}}</text><text a:if="{{A}}" class="data-v-71a06cb4">¥{{B}}</text></view></view><view class="order-details data-v-71a06cb4"><view class="detail data-v-71a06cb4"><text class="data-v-71a06cb4">备注</text><text class="data-v-71a06cb4" onTap="{{D}}">{{C}}</text></view><view class="detail data-v-71a06cb4"><text class="data-v-71a06cb4">手机号</text><text class="data-v-71a06cb4">{{E}}</text></view><view class="detail data-v-71a06cb4"><text class="data-v-71a06cb4">发票信息</text><text class="data-v-71a06cb4">暂不支持</text></view><view class="detail data-v-71a06cb4"><text class="data-v-71a06cb4">订单号码</text><text class="data-v-71a06cb4">{{F}}</text></view></view></view>

View File

@ -0,0 +1,324 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_notice_bar2 = common_vendor.resolveComponent("uni-notice-bar");
const _easycom_uni_data_checkbox2 = common_vendor.resolveComponent("uni-data-checkbox");
const _component_template = common_vendor.resolveComponent("template");
(_easycom_uni_notice_bar2 + _easycom_uni_data_checkbox2 + _component_template)();
}
const _easycom_uni_notice_bar = () => "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.js";
const _easycom_uni_data_checkbox = () => "../../uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js";
if (!Math) {
(_easycom_uni_notice_bar + _easycom_uni_data_checkbox + DistributionBox)();
}
const DistributionBox = () => "./distributionBox.js";
const paymentTimeout = 3 * 60 * 1e3;
const _sfc_main = {
__name: "goToPay",
setup(__props) {
common_vendor.onUnload(() => {
common_vendor.index.reLaunch({
url: "/pages/index/index"
});
});
const radio1 = common_vendor.ref(0);
const statusId = common_vendor.ref(null);
const array = common_vendor.ref(["1公寓", "2公寓", "3公寓", "4公寓", "5公寓", "6公寓", "7公寓", "8公寓", "9公寓", "10公寓", "11公寓", "12公寓", "育才大厦"]);
const index = common_vendor.ref(0);
const sex = common_vendor.ref([
{
text: "堂食",
value: 0
},
{
text: "自提",
value: 1
},
{
text: "跑腿",
value: 2
}
]);
function bindPickerChange(e) {
const selectedIndex = e.detail.value;
console.log("picker发送选择改变携带值为", selectedIndex);
index.value = selectedIndex;
const selectedApartment = array.value[selectedIndex];
console.log("您选择了:", selectedApartment);
selectedApartmentName.value = selectedApartment;
}
const selectedApartmentName = common_vendor.ref("");
common_vendor.index.$on("updateRemark", (newRemark) => {
orderItem.value.notes = newRemark;
});
const orderItem = common_vendor.ref(null);
const getOrder = () => {
const notPay = common_vendor.index.getStorageSync("notPay");
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/orders/get/my",
method: "GET",
data: {
id: notPay
//id:133
},
header: {
"Content-Type": "application/json",
// 确保设置正确的 Content-Type
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log("获取订单成功");
if (res.data && res.data.data) {
orderItem.value = res.data.data;
console.log(orderItem.value);
if (orderItem.value.pickupMethod !== void 0) {
radio1.value = orderItem.value.pickupMethod;
}
}
},
fail() {
console.log("获取订单失败");
}
});
};
const isoStart = common_vendor.ref("");
const isoEnd = common_vendor.ref("");
const submitOrder = () => {
var _a;
console.log(
"我选择的radio1的值:",
radio1.value,
"我选择的公寓:",
selectedApartmentName.value,
"我选择的时间:",
sendTime.value
);
const notPay = common_vendor.index.getStorageSync("notPay");
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/orders/updateOrder`,
method: "POST",
data: {
location: selectedApartmentName.value,
notes: ((_a = orderItem.value) == null ? void 0 : _a.notes) || "",
// 使用订单中的备注,如果不存在则为空字符串
orderId: notPay,
pickupMethod: radio1.value,
// 使用当前选中的配送方式
pickupStartTime: isoStart.value,
// 注意这里使用的是 .value
pickupEndTime: isoEnd.value
// 注意这里使用的是 .value
},
header: {
"Content-Type": "application/json",
// 确保设置正确的 Content-Type
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log("更新订单", res);
orderItem.value.pickupMethod = radio1.value;
if (res.data.code === 0) {
goToPayment();
} else {
common_vendor.index.showToast({
title: "支付失败"
});
}
},
fail(err) {
console.log("更新订单失败", err);
}
});
};
common_vendor.onMounted(() => {
getOrder();
});
common_vendor.onActivated(() => {
getOrder();
});
const goToPayment = () => {
const notPay = common_vendor.index.getStorageSync("notPay");
my.request({
url: API_api.apiImageUrl + "/api/Alipay/payment/create",
method: "GET",
data: {
id: notPay
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success: function(result) {
console.log("reasaaaaaaaaaa");
console.log(result);
console.log("tradeNo的值为");
console.log(result.data.data);
my.tradePay({
tradeNO: result.data.data,
success: (res) => {
console.log("成功调用");
console.log(res);
if (res.resultCode == 9e3) {
common_vendor.index.setStorageSync("orderId", notPay);
common_vendor.index.navigateTo({
url: "/pages/testFive/testFive"
});
common_vendor.index.removeStorageSync("cartItems");
}
},
fail: (res) => {
my.alert({
content: JSON.stringify(res)
});
console.log("失败");
console.log(res);
}
});
}
});
};
const orderCreateTime = Date.now();
const updateTimer = () => {
const elapsedTime = Date.now() - orderCreateTime;
if (elapsedTime > paymentTimeout) {
console.log("超时啦");
clearInterval(intervalId);
formattedTime.value = "已超时";
} else {
const remainingTime = paymentTimeout - elapsedTime;
const minutes = Math.floor(remainingTime % (1e3 * 60 * 60) / (1e3 * 60));
const seconds = Math.floor(remainingTime % (1e3 * 60) / 1e3);
formattedTime.value = `待支付,${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
}
};
const formattedTime = common_vendor.ref("待支付剩余14:48");
const intervalId = common_vendor.ref(null);
common_vendor.onMounted(() => {
intervalId.value = setInterval(updateTimer, 1e3);
updateTimer();
});
setTimeout(() => {
if (!formattedTime.value.includes("已超时")) {
console.log("超时啦");
clearInterval(intervalId.value);
common_vendor.index.showToast({
title: "支付已超时",
duration: 2e3
});
const orderItemId = orderItem.value.id;
const tradeNo = common_vendor.index.getStorageSync("tradeNo");
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/Alipay/test/close",
method: "GET",
data: {
orderId: orderItemId,
out_trade_no: tradeNo
},
success(res) {
console.log("成功");
console.log(res);
},
fail() {
console.log("失败");
}
});
common_vendor.index.showToast({
title: "订单超时,已为您自动取消喽",
duration: 2e3
});
formattedTime.value = "已超时";
}
}, paymentTimeout);
const goToRemark = () => {
common_vendor.index.navigateTo({
url: "/pages/goToRemark/goToRemark"
});
};
const sendTime = common_vendor.ref("");
const dsbonBox = common_vendor.ref(null);
const showTime = () => {
if (dsbonBox.value) {
dsbonBox.value.showBox();
}
};
const handleTimeSelected = (time) => {
console.log("Selected Time:", time);
const [date, duration] = time.split(" ");
const [startHour, endHour] = duration.split("-");
isoStart.value = `${date}T${startHour}:00`;
isoEnd.value = `${date}T${endHour}:00`;
console.log("Start Time:", isoStart.value);
console.log("End Time:", isoEnd.value);
sendTime.value = time;
};
return (_ctx, _cache) => {
var _a, _b;
return common_vendor.e({
a: common_vendor.p({
["show-icon"]: true,
scrollable: true,
text: "3分钟内未支付,订单将自动取消"
}),
b: common_vendor.t(formattedTime.value),
c: statusId.value,
d: common_vendor.o(($event) => radio1.value = $event),
e: common_vendor.p({
localdata: sex.value,
modelValue: radio1.value
}),
f: radio1.value === 2
}, radio1.value === 2 ? {
g: common_vendor.t(selectedApartmentName.value ? selectedApartmentName.value : "请选择公寓"),
h: common_vendor.o(bindPickerChange),
i: index.value,
j: array.value,
k: common_vendor.t(sendTime.value || "请选择配送时间"),
l: common_vendor.o(showTime),
m: () => ({
r: dsbonBox,
k: "dsbonBox"
}),
n: common_vendor.o(handleTimeSelected),
o: common_vendor.p({
["get-time"]: sendTime.value
})
} : {}, {
p: common_vendor.o(submitOrder),
q: (_a = orderItem.value.businessVO) == null ? void 0 : _a.businessImages,
r: common_vendor.t((_b = orderItem.value.businessVO) == null ? void 0 : _b.businessName),
s: common_vendor.f(orderItem.value.orderDetailsVOList, (item, k0, i0) => {
return {
a: item.dishesVO.dishesImage,
b: common_vendor.t(item.dishesVO.dishesName),
c: common_vendor.t(item.quantity),
d: common_vendor.t(item.dishesVO.dishesName),
e: common_vendor.t(item.dishesVO.dishesPrice)
};
}),
t: radio1.value === 1 || radio1.value === 2
}, radio1.value === 1 || radio1.value === 2 ? {} : {}, {
v: radio1.value === 2
}, radio1.value === 2 ? {} : {}, {
w: radio1.value === 0
}, radio1.value === 0 ? {
x: common_vendor.t(orderItem.value.totalPrice)
} : {}, {
y: radio1.value === 1
}, radio1.value === 1 ? {
z: common_vendor.t(orderItem.value.totalPrice + 1)
} : {}, {
A: radio1.value === 2
}, radio1.value === 2 ? {
B: common_vendor.t(orderItem.value.totalPrice + 1 + 1.7)
} : {}, {
C: common_vendor.t(orderItem.value.notes ? orderItem.value.notes : "去备注"),
D: common_vendor.o(goToRemark),
E: common_vendor.t(orderItem.value.phone),
F: common_vendor.t(orderItem.value.pickupCode)
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-71a06cb4"]]);
my.createPage(MiniProgramPage);

View File

@ -0,0 +1,8 @@
{
"defaultTitle": "去支付",
"usingComponents": {
"uni-notice-bar": "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar",
"uni-data-checkbox": "../../uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox",
"distribution-box": "./distributionBox"
}
}

View File

@ -0,0 +1,22 @@
"use strict";
function getDate(date, AddDayCount = 0) {
if (!date) {
date = /* @__PURE__ */ new Date();
}
if (typeof date !== "object") {
date = date.replace(/-/g, "/");
}
const dd = new Date(date);
dd.setDate(dd.getDate() + AddDayCount);
const y = dd.getFullYear();
const m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
const d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
return {
fullDate: y + "-" + m + "-" + d,
year: y,
month: m,
date: d,
day: dd.getDay()
};
}
exports.getDate = getDate;

View File

@ -0,0 +1,24 @@
.container.data-v-8072c105 {
padding: 20px;
}
.input-container.data-v-8072c105 {
margin-bottom: 20px;
}
.remark-input.data-v-8072c105 {
width: 100%;
height: 150px;
padding: 10px;
font-size: 16px;
border: 1px solid #ccc;
border-radius: 8px;
resize: none; /* 止用户调整大小 */
}
.submit-button.data-v-8072c105 {
width: 100%;
background-color: #4095e5;
color: white;
font-size: 16px;
border: none;
border-radius: 8px;
}

View File

@ -0,0 +1 @@
<view class="container data-v-8072c105"><view class="input-container data-v-8072c105"><textarea placeholder="请输入您的备注..." class="remark-input data-v-8072c105" value="{{a}}" onInput="{{b}}"></textarea></view><button onTap="{{c}}" class="submit-button data-v-8072c105">提交</button></view>

View File

@ -0,0 +1,104 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
const _sfc_main = {
__name: "goToRemark",
setup(__props) {
const remark = common_vendor.ref("");
const orderItem = common_vendor.ref(null);
const getOrder = () => {
const notPay = common_vendor.index.getStorageSync("notPay");
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/orders/get/my",
method: "GET",
data: {
id: notPay
},
header: {
"Content-Type": "application/json",
// 保设置正确的 Content-Type
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log("成功");
if (res.data && res.data.data) {
orderItem.value = res.data.data;
console.log(orderItem.value);
}
},
fail() {
console.log("失败");
}
});
};
common_vendor.onMounted(getOrder);
const submitRemark = () => {
var _a, _b, _c, _d;
const notPay = common_vendor.index.getStorageSync("notPay");
if (!notPay) {
common_vendor.index.showToast({
title: "订单ID未找到",
icon: "none"
});
return;
}
common_vendor.index.showLoading({
title: "正在提交备注..."
});
let currentTime = /* @__PURE__ */ new Date();
let futureTime = new Date(currentTime.getTime() + 3600 * 1e3);
futureTime.toISOString();
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/orders/updateOrder",
method: "POST",
data: {
orderId: notPay,
notes: remark.value,
location: ((_a = orderItem.value) == null ? void 0 : _a.location) || "",
pickupMethod: ((_b = orderItem.value) == null ? void 0 : _b.pickupMethod) || 0,
pickupEndTime: ((_c = orderItem.value) == null ? void 0 : _c.pickupEndTime) || "",
pickupStartTime: ((_d = orderItem.value) == null ? void 0 : _d.pickupStartTime) || ""
},
header: {
"Content-Type": "application/json",
// 确保设置正确的 Content-Type
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log(res);
if (res.data.code === 0) {
common_vendor.index.showToast({
title: "备注提交成功",
duration: 2e3
});
common_vendor.index.navigateBack({
delta: 1,
// 返回上一页
success() {
common_vendor.index.$emit("updateRemark", remark.value);
}
});
} else {
common_vendor.index.showToast({
title: "备注提交失败",
icon: "none",
duration: 2e3
});
}
},
fail(err) {
console.log(err);
}
});
};
return (_ctx, _cache) => {
return {
a: remark.value,
b: common_vendor.o(($event) => remark.value = $event.detail.value),
c: common_vendor.o(submitRemark)
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-8072c105"]]);
my.createPage(MiniProgramPage);

View File

@ -0,0 +1,4 @@
{
"defaultTitle": "去备注",
"usingComponents": {}
}

View File

@ -0,0 +1,139 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.navbar {
background-color: #4095e5;
display: flex;
flex-direction: row;
padding: 10px;
}
.navbar .search {
display: flex;
align-items: center;
padding: 0 10rpx 0 26rpx;
height: 0.64rem;
color: #fff;
font-size: 28rpx;
border-radius: 32rpx;
background-color: rgba(255, 255, 255, 0.5);
width: 70%;
margin: 0 auto;
}
.navbar .icon-search {
margin-right: 10rpx;
}
.navbar .search-button {
margin-left: auto;
height: 0.64rem;
background-color: #fff;
color: #4095e5;
border: none;
border-radius: 32rpx;
padding: 0 20rpx;
line-height: 0.64rem;
font-size: 15px;
}
.navbar .transparent-input {
background-color: transparent;
border: none;
color: #fff;
outline: none;
width: 100%;
padding: 0 10rpx;
font-size: 28rpx;
}
.navigator,
.image {
width: 100%;
height: 100%;
}
.category {
margin: 20rpx 0 0;
padding: 10rpx 0;
display: flex;
flex-wrap: wrap;
min-height: 1.5rem;
}
.category .category-item {
width: 150rpx;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
box-sizing: border-box;
}
.category .category-item .icon {
width: 80rpx;
height: 80rpx;
margin-bottom: 5px;
}
.category .category-item .text {
font-size: 26rpx;
color: #111;
}
.IPtext {
font-size: 28rpx;
}
.notice {
height: 40px;
}
/* 取餐吗 */
.content {
position: relative;
}
.movableArea {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 999;
}
.movableView {
pointer-events: auto;
width: 60rpx;
height: 60rpx;
padding: 10rpx;
border-radius: 100%;
border: 2px solid #33A3DC;
background-color: #eed43e;
}
.iconImage {
display: block;
width: 60rpx;
height: 60rpx;
}
.contact {
width: 50px;
height: 50px;
overflow: hidden;
position: absolute;
left: 0px;
top: 0px;
border-radius: 100%;
opacity: 0;
}

View File

@ -0,0 +1 @@
<view class="notice"><uni-notice-bar u-i="40416b23-0" onVI="__l" u-p="{{a||''}}"/></view><scroll-view refresher-enabled scroll-y><view class="navbar"><view class="search"><text class="icon-search" onTap="{{b}}"> 搜索店铺 </text></view><navigator url="/pages/messageCenter/messageCenter"><uni-icons class="talk" u-i="40416b23-1" onVI="__l" u-p="{{c||''}}"></uni-icons></navigator></view><view class="swiperPicture"><swiper circular="{{true}}" autoplay="{{true}}" interval="{{3000}}" indicator-dots><swiper-item><navigator class="navigator"><image mode="aspectFill" class="image" src="{{d}}"></image></navigator></swiper-item><swiper-item><navigator class="navigator"><image mode="aspectFill" class="image" src="{{e}}"></image></navigator></swiper-item><swiper-item><navigator class="navigator"><image mode="aspectFill" class="image" src="{{f}}"></image></navigator></swiper-item></swiper></view><view class="category"><view a:for="{{g}}" a:for-item="item" a:key="d" class="category-item" url="{{item.c}}" onTap="{{item.e}}"><image class="icon" src="{{item.a}}"></image><text>{{item.b}}</text></view></view><recommend u-i="40416b23-2" onVI="__l"></recommend><view class="content"><movable-area class="movableArea"><movable-view class="movableView" x="{{i}}" y="{{j}}" direction="{{k}}" damping="{{l}}" onChange="{{m}}" onTap="{{n}}" onTouchEnd="{{o}}"><image src="{{h}}" mode="widthFix" class="iconImage"></image></movable-view></movable-area></view></scroll-view>

View File

@ -0,0 +1,208 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_notice_bar2 = common_vendor.resolveComponent("uni-notice-bar");
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
(_easycom_uni_notice_bar2 + _easycom_uni_icons2)();
}
const _easycom_uni_notice_bar = () => "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
(_easycom_uni_notice_bar + _easycom_uni_icons + common_vendor.unref(recommend))();
}
const recommend = () => "../recommend/recommend.js";
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "index",
props: {
damping: {
type: Number,
default: 10
},
direction: {
type: String,
default: "all"
},
position: {
type: Number,
default: 4
}
},
setup(__props) {
const meishi = common_vendor.ref("");
const getCategoryList = () => {
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/category/list",
method: "GET",
success(res) {
console.log(res.data.data);
meishi.value = res.data.data;
},
fail(err) {
console.log(err);
}
});
};
common_vendor.onMounted(() => {
getCategoryList();
});
const categorySort = (id) => {
console.log(id);
const pageRoutes = {
1: "/pages/food/food",
2: "/pages/drinks/drinks",
3: "/pages/fruits/fruits",
4: "/pages/points/points",
5: "/pages/more/more"
};
if (pageRoutes[id]) {
common_vendor.index.navigateTo({
url: pageRoutes[id]
});
} else {
console.warn("No matching page for id:", id);
}
};
const systemList = common_vendor.ref([]);
const lastSystemItem = common_vendor.computed(() => systemList.value[systemList.value.length - 1]);
const system = () => {
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/system/list",
method: "POST",
data: {
type: 0
},
success(res) {
systemList.value = res.data.data;
console.log(systemList.value);
},
fail() {
console.log("失败啦");
}
});
};
common_vendor.onMounted(system);
common_vendor.ref(0);
const goSearch = () => {
common_vendor.index.navigateTo({
url: "/pages/goSearch/goSearch"
});
};
const props = __props;
const state = common_vendor.reactive({
x: 0,
y: 0,
x1: 0,
x2: 0,
y1: 0,
y2: 0,
move: {
x: 0,
y: 0
}
});
common_vendor.onMounted(() => {
common_vendor.index.getSystemInfo({
success: (res) => {
state.x1 = 0;
state.x2 = parseInt(res.windowWidth) - 50;
state.y1 = 0;
state.y2 = parseInt(res.windowHeight) - 20;
setTimeout(() => {
if ([1, 2].includes(props.position))
state.y = parseInt(state.y2 * 0.2);
if ([3, 4].includes(props.position))
state.y = parseInt(state.y2 * 0.8);
if ([1, 3].includes(props.position))
state.x = parseInt(state.x1);
if ([2, 4].includes(props.position))
state.x = parseInt(state.x2);
state.move.x = state.x;
state.move.y = state.y;
}, 1e3);
}
});
});
function onChange(e) {
if (e.detail.source === "touch") {
state.move.x = e.detail.x;
state.move.y = e.detail.y;
}
}
function onTap(e) {
console.log("Tap event");
common_vendor.index.navigateTo({
url: "/pages/testFive/testFive"
});
}
function onTouchend() {
state.x = state.move.x;
state.y = state.move.y;
setTimeout(() => {
if (state.move.x < state.x2 / 2)
state.x = state.x1;
else
state.x = state.x2;
console.log("yuan" + state.x, state.y);
}, 100);
}
const getloginUser = () => {
const user = common_vendor.index.getStorageSync("userInfo");
console.log(user);
if (user == "") {
common_vendor.index.showToast({
title: "去登录",
duration: 2e3
});
}
};
const getStaticImage = (categoryId) => {
const imageMap = {
1: "/static/cartory/1.png",
// 注意这里改为 cartory
2: "/static/cartory/2.png",
3: "/static/cartory/3.png",
4: "/static/cartory/4.png",
5: "/static/cartory/5.png"
};
return imageMap[categoryId] || "/static/cartory/1.png";
};
common_vendor.onMounted(getloginUser);
return (_ctx, _cache) => {
return {
a: common_vendor.p({
["show-icon"]: true,
scrollable: true,
text: lastSystemItem.value.content
}),
b: common_vendor.o(goSearch),
c: common_vendor.p({
type: "chat-filled",
size: "30"
}),
d: common_assets._imports_0,
e: common_assets._imports_1,
f: common_assets._imports_2,
g: common_vendor.f(meishi.value, (item, index, i0) => {
return {
a: getStaticImage(item.id),
b: common_vendor.t(item.name),
c: item.url,
d: index,
e: common_vendor.o(($event) => categorySort(item.id))
};
}),
h: common_assets._imports_3,
i: state.x,
j: state.y,
k: props.direction,
l: props.damping,
m: common_vendor.o(onChange),
n: common_vendor.o(onTap),
o: common_vendor.o(onTouchend)
};
};
}
});
my.createPage(_sfc_main);

View File

@ -0,0 +1,9 @@
{
"defaultTitle": "首页",
"titleBarColor": "#4095e5",
"usingComponents": {
"uni-notice-bar": "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar",
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons",
"recommend": "../recommend/recommend"
}
}

View File

@ -0,0 +1,134 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
}
.viewport {
display: flex;
flex-direction: column;
height: 100%;
padding: 20rpx 40rpx;
}
.logo {
flex: 1;
text-align: center;
}
.logo image {
width: 220rpx;
height: 220rpx;
margin-top: 15vh;
}
.login {
display: flex;
flex-direction: column;
height: 60vh;
padding: 40rpx 20rpx 20rpx;
}
.login .input {
width: 100%;
height: 80rpx;
font-size: 28rpx;
border-radius: 72rpx;
border: 1px solid #ddd;
padding-left: 30rpx;
margin-bottom: 20rpx;
}
.login .button {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 80rpx;
font-size: 28rpx;
border-radius: 72rpx;
color: #fff;
}
.login .button .icon {
font-size: 40rpx;
margin-right: 6rpx;
}
.login .phone {
background-color: #4095e5;
}
.login .wechat {
background-color: #4095e5;
}
.login .extra {
flex: 1;
padding: 70rpx 70rpx 0;
}
.login .extra .caption {
width: 440rpx;
line-height: 1;
border-top: 1rpx solid #ddd;
font-size: 26rpx;
color: #999;
position: relative;
}
.login .extra .caption text {
transform: translate(-40%);
background-color: #fff;
position: absolute;
top: -12rpx;
left: 50%;
}
.login .extra .options {
display: flex;
justify-content: center;
align-items: center;
margin-top: 70rpx;
}
.login .extra .options button {
padding: 0;
background-color: transparent;
}
.login .extra .icon {
font-size: 24rpx;
color: #444;
display: flex;
flex-direction: column;
align-items: center;
}
.login .extra .icon::before {
display: flex;
align-items: center;
justify-content: center;
width: 80rpx;
height: 80rpx;
margin-bottom: 6rpx;
font-size: 40rpx;
border: 1rpx solid #444;
border-radius: 50%;
}
.tips {
position: absolute;
bottom: 80rpx;
left: 20rpx;
right: 20rpx;
font-size: 22rpx;
color: #999;
text-align: center;
}

View File

@ -0,0 +1 @@
<view class="viewport"><view class="logo"><image src="{{a}}"></image></view><view class="login"><button onTap="{{b}}" class="button phone">支付宝账号一键登录</button><view class="extra"><view class="options"><navigator url="../index/index" hover-class="none" class="icon icon-phone" open-type="getPhoneNumber"><text class="icon icon-phone"></text> 模拟快捷登录 </navigator></view></view><view class="tips">登录/注册即视为你同意《服务条款》和《校快送隐私协议》</view></view></view>

View File

@ -0,0 +1,102 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const API_api = require("../../API/api.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "login",
setup(__props) {
let identify = common_vendor.ref("tom");
const loginUser = (code) => {
console.log("开始发送登录请求code:", code);
console.log("请求URL:", API_api.apiImageUrl + "/api/Alipay/parseCode");
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/Alipay/parseCode",
method: "GET",
data: {
authcode: code
},
header: {
"Content-Type": "application/json",
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success: (res) => {
var _a;
console.log("登录请求成功响应:", res);
console.log("响应数据:", res.data);
console.log("完整响应头:", res.header);
if (res.data && res.data.code == 0) {
console.log("登录成功,处理用户信息");
common_vendor.index.showToast({
title: "登录成功",
duration: 2e3
});
common_vendor.index.removeStorageSync("cookie");
common_vendor.index.setStorageSync("userInfo", res.data.data);
common_vendor.index.setStorageSync("isLoggedIn", true);
let cookieValue = null;
const possibleCookieKeys = ["set-cookie", "Set-Cookie", "cookie", "Cookie"];
for (let key of possibleCookieKeys) {
if (res.header && res.header[key]) {
cookieValue = res.header[key];
console.log(`找到cookie字段: ${key} = ${cookieValue}`);
break;
}
}
if (cookieValue) {
common_vendor.index.setStorageSync("cookie", cookieValue);
console.log("成功存储cookie:", cookieValue);
} else {
console.log("未找到cookie字段所有响应头字段:", Object.keys(res.header || {}));
if (res.data.data.sessionId) {
common_vendor.index.setStorageSync("sessionId", res.data.data.sessionId);
console.log("使用sessionId作为认证:", res.data.data.sessionId);
}
}
common_vendor.index.switchTab({
url: "/pages/index/index"
});
} else {
console.log("登录失败,服务器返回:", res.data);
common_vendor.index.showToast({
icon: "error",
title: ((_a = res.data) == null ? void 0 : _a.message) || "登录失败,请联系管理员"
});
}
},
fail: (err) => {
console.error("登录请求失败:", err);
common_vendor.index.showToast({
icon: "error",
title: "网络请求失败,请检查网络连接"
});
},
complete: () => {
console.log("登录请求完成");
}
});
};
const login = () => {
common_vendor.index.login({
scopes: "auth_user",
success: function(loginRes) {
if (loginRes.code !== null) {
console.log("获取code:" + loginRes.code);
loginUser(loginRes.code);
common_vendor.index.setStorageSync("identify", identify.value);
} else {
console.log("code为空");
}
}
});
};
common_vendor.ref(false);
common_vendor.ref(0);
return (_ctx, _cache) => {
return {
a: common_assets._imports_0$2,
b: common_vendor.o(login)
};
};
}
});
my.createPage(_sfc_main);

View File

@ -0,0 +1,5 @@
{
"defaultTitle": "登录",
"pullRefresh": false,
"usingComponents": {}
}

View File

@ -0,0 +1,39 @@
.title1 {
width: 100%;
height: 60px;
font-size: 20px;
color: #000;
padding-left: 5px;
line-height: 60px;
}
.message1 {
width: 80%;
height: 200rpx;
margin: 0 auto;
}
.messageItem1 {
font-size: 18px;
padding-bottom: 10rpx;
}
.aboutImg1 {
width: 90%;
height: 100vh;
margin: 0 auto;
}
.imgLeft1 {
float: left;
width: 48%;
height: 100vh;
}
.imgRight1 {
float: right;
width: 48%;
height: 100vh;
}
.img1 {
width: 100%;
border-radius: 15px;
margin-bottom: 10px;
}

View File

@ -0,0 +1 @@
<view class="aboutMessage1"><view class="title1">店铺信息</view><view class="message1"><view class="messageItem1">地址:呼兰区哈尔滨华德学院</view><view class="messageItem1">营业时间早700-晚2030</view><view class="messageItem1">联系电话1234312334</view></view></view><view class="title1">图片详情</view><view class="aboutImg1"><view class="imgLeft1"><image src="https://ts1.cn.mm.bing.net/th/id/R-C.b3a7697d2793ba094a861d546c31190d?rik=NevOIW4XmkUuMA&riu=http%3a%2f%2fseopic.699pic.com%2fphoto%2f50069%2f5445.jpg_wh1200.jpg&ehk=wuLPicg%2b9wXz8QAwp%2fAVFBtJQ6loBUiVfQZu2bbZODA%3d&risl=&pid=ImgRaw&r=0" class="img1" mode="scaleToFill"></image><image src="https://ts1.cn.mm.bing.net/th/id/R-C.68978afc71576a94a1d50ef5016dbd9e?rik=cDDsy5SLmDvDHQ&riu=http%3a%2f%2fseopic.699pic.com%2fphoto%2f50075%2f0779.jpg_wh1200.jpg&ehk=FG4Hd5S711LYcuLBIcDagQyk4KhcH1oIfqyk1MWUOyg%3d&risl=&pid=ImgRaw&r=0" class="img1"></image><image src="https://img.zcool.cn/community/0105ec5b5ac3cba801206a35cf08a8.jpg@1280w_1l_2o_100sh.jpg" class="img1"></image></view><view class="imgRight1"><image src="https://img.zcool.cn/community/0105ec5b5ac3cba801206a35cf08a8.jpg@1280w_1l_2o_100sh.jpg" class="img1"></image><image src="https://img.zcool.cn/community/0189d85c3c421aa80121fbb0284f6c.jpg@1280w_1l_2o_100sh.jpg" class="img1"></image><image src="https://bpic.588ku.com/back_origin_min_pic/21/03/30/251617b5c1ad3b0c7ae62fb8b51dfbbd.jpg" class="img1"></image></view></view>

View File

@ -0,0 +1,13 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
__name: "Shopdetails",
setup(__props) {
const businessMessage = common_vendor.ref(common_vendor.index.getStorageSync("Mybusiness"));
console.log(businessMessage.value);
return (_ctx, _cache) => {
return {};
};
}
};
my.createPage(_sfc_main);

View File

@ -0,0 +1,5 @@
{
"defaultTitle": "",
"pullRefresh": false,
"usingComponents": {}
}

View File

@ -0,0 +1,483 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.priceTitle {
width: 100%;
height: 50px;
background-color: #4095e5;
font-size: 20px;
color: #fff;
padding-left: 5px;
line-height: 50px;
}
.tabs {
display: flex;
justify-content: space-around;
line-height: 60rpx;
margin: 0 10rpx;
background-color: #fff;
box-shadow: 0 4rpx 6rpx rgba(240, 240, 240, 0.6);
position: relative;
z-index: 9;
}
.tabs .item {
flex: 1;
text-align: center;
padding: 20rpx;
font-size: 28rpx;
color: #262626;
}
.tabs .cursor {
position: absolute;
left: 0;
bottom: 0;
width: 18%;
height: 6rpx;
padding: 0 50rpx;
background-color: #4095e5;
transition: all 0.4s;
}
.preview {
margin-bottom: 20px;
}
.preview image {
width: 100%;
}
page {
height: 100%;
overflow: hidden;
}
.viewport {
height: 100%;
display: flex;
flex-direction: column;
}
.search {
padding: 0 30rpx 20rpx;
background-color: #fff;
}
.search .input {
display: flex;
align-items: center;
justify-content: space-between;
height: 64rpx;
padding-left: 26rpx;
color: #8b8b8b;
font-size: 28rpx;
border-radius: 32rpx;
background-color: #f3f4f4;
}
.icon-search::before {
margin-right: 10rpx;
}
.categories {
flex: 1;
min-height: 400rpx;
display: flex;
}
.primary {
overflow: hidden;
width: 180rpx;
flex: none;
background-color: #f6f6f6;
}
.primary .item {
display: flex;
justify-content: center;
align-items: center;
height: 96rpx;
font-size: 26rpx;
color: #595c63;
position: relative;
}
.primary .item::after {
content: "";
position: absolute;
left: 42rpx;
bottom: 0;
width: 96rpx;
border-top: 1rpx solid #e3e4e7;
}
.primary .active {
background-color: #fff;
}
.primary .active::before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 8rpx;
height: 100%;
background-color: #ed0a3f;
}
.content {
height: 100vh;
margin-bottom: 40px;
}
.primary .item:last-child::after,
.primary .active::after {
display: none;
}
.secondary {
background-color: #fff;
}
.secondary .carousel {
height: 200rpx;
margin: 0 30rpx 20rpx;
border-radius: 4rpx;
overflow: hidden;
}
.secondary .panel {
margin: 0 30rpx 0rpx;
}
.secondary .title {
height: 60rpx;
line-height: 60rpx;
color: #333;
font-size: 28rpx;
border-bottom: 1rpx solid #f7f7f8;
}
.secondary .title .more {
float: right;
padding-left: 20rpx;
font-size: 24rpx;
color: #999;
}
.secondary .more::after {
font-family: "erabbit" !important;
content: "\e70c";
}
.secondary .section {
width: 100%;
display: flex;
flex-wrap: wrap;
padding: 20rpx 0;
}
.secondary .section .goods {
width: 150rpx;
margin: 0rpx 30rpx 20rpx 0;
}
.secondary .section .goods:nth-child(3n) {
margin-right: 0;
}
.secondary .section .goods image {
width: 150rpx;
height: 150rpx;
}
.secondary .section .goods .name {
padding: 5rpx;
font-size: 22rpx;
color: #333;
}
.secondary .section .goods .price {
padding: 5rpx;
font-size: 18rpx;
color: #cf4444;
}
.secondary .section .goods .number {
font-size: 24rpx;
margin-left: 2rpx;
}
.toolbar {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
background-color: #fff;
height: 100rpx;
padding: 0 20rpx var(--window-bottom);
border-top: 1rpx solid #eaeaea;
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: content-box;
}
.toolbar .buttons {
display: flex;
}
.toolbar .buttons > view {
width: 220rpx;
text-align: center;
line-height: 72rpx;
font-size: 26rpx;
color: #fff;
border-radius: 72rpx;
}
.toolbar .buttons .addcart {
background-color: #4095e5;
}
.toolbar .buttons .buynow,
.toolbar .buttons .payment {
background-color: #4095e5;
margin-left: 20rpx;
}
.toolbar .icons {
padding-right: 10rpx;
display: flex;
align-items: center;
flex: 1;
}
.toolbar .icons .icons-button {
flex: 1;
text-align: center;
line-height: 1.4;
padding: 0;
margin: 0;
border-radius: 0;
font-size: 20rpx;
color: #333;
background-color: #fff;
}
.toolbar .icons .icons-button::after {
border: none;
}
.toolbar .icons text {
display: block;
font-size: 34rpx;
}
.tab-menu {
display: flex;
justify-content: space-around;
padding: 10px 0;
background-color: #f5f5f5;
}
.tab-item {
padding: 10px;
cursor: pointer;
}
.tab-item.active {
color: #4095e5;
font-weight: bold;
}
.container {
align-items: center;
width: 90%;
height: 100vh;
margin: 0 auto;
}
.history-list {
width: 95%;
background-color: #fff;
margin-bottom: 5px;
border-radius: 15px;
padding: 10px;
}
.history-item {
margin-bottom: 20rpx;
}
.history-img {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
/* 设置为正圆形 */
margin-right: 10px;
padding-right: 50px;
}
.history-info {
display: flex;
flex-direction: row;
}
.nameTime {
display: flex;
flex-direction: column;
}
.history-title {
font-size: 32rpx;
font-weight: bold;
width: 170px;
}
.time {
font-size: 24rpx;
color: #999;
padding-top: 5px;
}
.star {
display: inline-block;
line-height: 15px;
display: flex;
flex-direction: column;
align-items: flex-end;
}
.history-sale {
font-size: 30rpx;
color: #000;
float: right;
display: inline-block;
line-height: 15px;
font-weight: 700;
}
.extend {
font-size: 30rpx;
color: #000;
padding-top: 10px;
}
.example-body {
padding: 10px;
}
.scroll-view {
width: 100%;
height: 100%;
flex: 1;
}
.scroll-view-box {
flex: 1;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.info {
padding: 15px;
color: #666;
}
.info-text {
font-size: 14px;
color: #666;
}
.info-content {
padding: 5px 15px;
}
.card {
width: 100%;
height: 100px;
border-radius: 15px;
background-image: -webkit-linear-gradient(top, #fff, #B0D3F4);
}
.containerShow {
padding: 7px;
position: relative;
}
.img {
width: 60px;
height: 40px;
display: inline-block;
margin-top: 30px;
}
.imageItem {
width: 100%;
height: 100%;
border-radius: 15px;
margin: auto 0;
}
.message {
width: 110px;
height: 88px;
float: right;
display: inline-block;
}
.quantity-selector {
display: flex;
justify-content: center;
margin-top: 10rpx;
}
.quantity-value {
font-size: 32rpx;
font-weight: bold;
margin: 0 20rpx;
}
.titleCard {
font-size: 16px;
padding-bottom: 3px;
}
.moneyCard {
font-size: 15px;
color: #666;
padding: 0;
}
.jia,
.jian {
background-color: #fff;
padding: 3px 5px 3px 5px;
border: 1px solid #999;
}
.sum {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
}
.containerShow:last-child {
padding-bottom: 150px;
}
.delete-button {
position: absolute;
top: 0;
right: 0;
}
/* shopdetail */
.title1 {
width: 100%;
height: 60px;
font-size: 20px;
color: #000;
padding-left: 5px;
line-height: 60px;
}
.message1 {
width: 80%;
height: 200rpx;
margin: 0 auto;
}
.messageItem1 {
font-size: 18px;
padding-bottom: 10rpx;
}
.aboutImg1 {
width: 90%;
height: 100vh;
margin: 0 auto;
}
.imgLeft1 {
float: left;
width: 48%;
height: 100vh;
}
.imgRight1 {
float: right;
width: 48%;
height: 100vh;
}
.img1 {
width: 100%;
border-radius: 15px;
margin-bottom: 10px;
}
.businessReview {
background-color: rgba(31, 212, 248, 0.2);
border-radius: 15px;
padding: 10px;
margin: 5px;
display: block;
}
.businessReviewTitle {
color: #000;
font-size: 16px;
font-weight: 700;
margin: 8px;
}

View File

@ -0,0 +1 @@
<scroll-view scroll-y class="preview"><view class="preview"><swiper circular="{{true}}" autoplay="{{true}}" interval="{{3000}}" indicator-dots><swiper-item><image mode="aspectFill" class="image" src="{{a}}"></image></swiper-item><swiper-item><image mode="aspectFill" class="image" src="{{b}}"></image></swiper-item><swiper-item><image mode="aspectFill" class="image" src="{{c}}"></image></swiper-item></swiper></view><view class="priceTitle"><view class="meta"><text class="symbol">店铺详情</text></view></view><view class="notice"><uni-notice-bar u-i="1ffa0306-0" onVI="__l" u-p="{{d||''}}"/></view><view class="tab-menu"><view a:for="{{e}}" a:for-item="tab" a:key="b" class="{{('tab-item') + ' ' + (tab.c && 'active')}}" onTap="{{tab.d}}">{{tab.a}}</view></view><view class="content"><block a:if="{{f}}"><sort key="{{g}}" onUpdateCart="{{h}}" onAddToCart="{{i}}" u-i="1ffa0306-1" onVI="__l" u-p="{{j||''}}"></sort></block><block a:if="{{k}}"><view class="container"><view class="history-list"><view a:for="{{l}}" a:for-item="item" a:key="i" class="history-item"><view class="history-info"><image class="history-img" src="https://tse4-mm.cn.bing.net/th/id/OIP-C.jHUH4s7TQ48X_B-1iozuJgHaHa?rs=1&pid=ImgDetMain"></image><view class="nameTime"><text class="history-title">匿名用户</text><text class="time">{{item.a}}</text></view><view class="star"><text class="history-sale">{{item.b}}</text><uni-rate u-i="{{item.c}}" onVI="__l" u-p="{{item.d||''}}"/></view></view><view class="extend"><text onTap="{{item.f}}">{{item.e}}</text><block a:if="{{item.g}}"><view class="businessReviewTitle"> 商家回复 </view><text class="businessReview">{{item.h}}</text></block></view></view></view></view></block><block a:if="{{m}}"><view class="aboutMessage1"><view class="title1">店铺信息</view><view class="message1"><view class="messageItem1">地址:{{n}}</view><view class="messageItem1">营业时间早700-晚2030</view><view class="messageItem1">联系电话:{{o}}</view></view></view><view class="title1">图片详情</view><view class="aboutImg1"><view class="imgLeft1"><image src="{{p}}"></image><image src="https://ts1.cn.mm.bing.net/th/id/R-C.68978afc71576a94a1d50ef5016dbd9e?rik=cDDsy5SLmDvDHQ&riu=http%3a%2f%2fseopic.699pic.com%2fphoto%2f50075%2f0779.jpg_wh1200.jpg&ehk=FG4Hd5S711LYcuLBIcDagQyk4KhcH1oIfqyk1MWUOyg%3d&risl=&pid=ImgRaw&r=0" class="img1"></image></view><view class="imgRight1"><image src="https://bpic.588ku.com/back_origin_min_pic/21/03/30/251617b5c1ad3b0c7ae62fb8b51dfbbd.jpg" class="img1"></image></view></view></block></view></scroll-view><view class="toolbar"><view class="icons"><button class="icons-button" onTap="{{s}}"><text class="icon-heart"><image src="{{q}}" style="width:20px;height:20px"/></text> {{r}}</button><button class="icons-button" open-type="contact" onTap="{{v}}"><text class="icon-handset"><image src="{{t}}" style="width:20px;height:20px"/></text> 联系商家 </button></view><view class="buttons"><view class="addcart" onTap="{{w}}"><view>购物车</view></view></view></view><view class="example-body"><uni-drawer u-s="{{['d']}}" ref="__r" u-r="{{B}}" onChange="{{C}}" u-i="1ffa0306-3" onVI="__l" u-p="{{D||''}}"><view class="scroll-view"><scroll-view class="scroll-view-box" scroll-y="true"><view a:for="{{x}}" a:for-item="item" a:key="h" class="info-content"><view class="card"><view class="containerShow"><view class="img"><image src="{{item.a}}" class="imageItem"></image></view><view class="delete-button"><image src="{{y}}" onTap="{{item.b}}" alt="Delete" style="width:15px;height:15px"/></view><view class="message"><view class="titleCard">{{item.c}}</view><view class="moneCard">¥{{item.d}}</view><view class="quantity-selector"><view class="jia" onTap="{{item.e}}">-</view><text class="quantity-value">{{item.f}}</text><view class="jian" onTap="{{item.g}}">+</view></view></view></view></view></view><button type="primary" class="sum" onTap="{{A}}"><text>立即结算¥{{z}}</text></button></scroll-view></view></uni-drawer></view>

View File

@ -0,0 +1,329 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_notice_bar2 = common_vendor.resolveComponent("uni-notice-bar");
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
const _easycom_uni_drawer2 = common_vendor.resolveComponent("uni-drawer");
(_easycom_uni_notice_bar2 + _easycom_uni_rate2 + _easycom_uni_drawer2)();
}
const _easycom_uni_notice_bar = () => "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.js";
const _easycom_uni_rate = () => "../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
const _easycom_uni_drawer = () => "../../uni_modules/uni-drawer/components/uni-drawer/uni-drawer.js";
if (!Math) {
(_easycom_uni_notice_bar + sort + _easycom_uni_rate + _easycom_uni_drawer)();
}
const sort = () => "./sort.js";
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "merchant",
setup(__props) {
const currentIndex = common_vendor.ref(0);
const tabs = common_vendor.ref([
{ name: "点餐" },
{ name: "评价" },
{ name: "商家信息" }
]);
const sortKey = common_vendor.ref(0);
const switchTab = (index) => {
currentIndex.value = index;
if (index === 0) {
sortKey.value++;
}
};
const historyList = common_vendor.ref([]);
const talk = () => {
common_vendor.index.navigateTo({
url: "/pages/talk/talk"
});
};
common_vendor.ref(1);
const showRight = common_vendor.ref(null);
const showDrawer = () => {
if (showRight.value) {
showRight.value.open();
}
};
const isLiked = common_vendor.ref(false);
const collectState = () => {
const businessItem = common_vendor.index.getStorageSync("businessItem");
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/business/my/getById",
method: "GET",
data: {
businessId: businessItem
},
success(res) {
isLiked.value = Boolean(res.data.data.isCollected);
},
fail(error) {
console.log(error);
}
});
};
common_vendor.onMounted(() => {
collectState();
});
const toggleLike = () => {
const originalState = isLiked.value;
isLiked.value = !originalState;
const action = originalState ? "delete" : "add";
common_vendor.index.request({
url: `${API_api.apiImageUrl}/api/collect/${action}`,
method: "POST",
data: {
businessId: common_vendor.index.getStorageSync("businessItem") || "0"
},
header: {
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
if (res.data.code !== 200) {
console.log(res);
}
common_vendor.index.showToast({
title: originalState ? "已取消收藏" : "收藏成功",
duration: 2e3
});
},
fail() {
isLiked.value = originalState;
common_vendor.index.showToast({
title: "网络错误,请重试",
icon: "none",
duration: 2e3
});
}
});
};
const cartItems = common_vendor.ref([]);
const updateCart = (newCartItems) => {
cartItems.value = newCartItems;
console.log("更新后的购物车:", cartItems.value);
common_vendor.index.setStorageSync("cartItems", newCartItems);
};
common_vendor.onMounted(() => {
cartItems.value = common_vendor.index.getStorageSync("cartItems") || [];
});
const deleteItem = (index) => {
cartItems.value.splice(index, 1);
common_vendor.index.setStorageSync("cartItems", cartItems.value);
};
common_vendor.onMounted(() => {
cartItems.value = common_vendor.index.getStorageSync("cartItems") || [];
});
const incrementQuantity = (index) => {
if (cartItems.value[index].quantity < 9) {
cartItems.value[index].quantity++;
}
};
const decrementQuantity = (index) => {
if (cartItems.value[index].quantity > 1) {
cartItems.value[index].quantity--;
}
};
const totalAmount = common_vendor.computed(() => {
return cartItems.value.reduce((total, item) => {
return total + item.dishesPrice * item.quantity;
}, 0);
});
const account = () => {
let businessid = common_vendor.index.getStorageSync("businessItem") || "1830063677349658625";
const orderDetails = cartItems.value.map((item) => ({
attributeNames: "小份",
dishesId: item.id,
quantity: item.quantity
}));
const data = {
businessId: String(businessid),
notes: "",
orderDetailAddRequest: orderDetails,
payMethod: 0,
phone: "15946398466",
pickupMethod: 0,
pickupTime: "",
totalPrice: totalAmount.value,
userName: "沙箱账号"
};
data.businessId = String(data.businessId);
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/orders/add",
method: "POST",
data,
header: {
"cookie": common_vendor.index.getStorageSync("cookie") || ""
},
success(res) {
console.log(res);
console.log("Success:", res.data.data);
const orderId = res.data.data;
common_vendor.index.setStorageSync("notPay", orderId);
common_vendor.index.navigateTo({
url: "/pages/goToPay/goToPay"
});
},
fail() {
console.error("Error:", "请求失败");
}
});
};
const merchantId = common_vendor.ref();
const getMerchantIdFromUrl = () => {
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
console.log("Current page options:", currentPage.options);
if (currentPage && currentPage.options && currentPage.options.merchantId) {
merchantId.value = currentPage.options.merchantId;
console.log(`Merchant ID received: ${merchantId.value}`);
} else {
console.error("Could not retrieve merchantId from URL.");
}
};
common_vendor.onMounted(() => {
getMerchantIdFromUrl();
});
common_vendor.watch(merchantId, (newValue) => {
common_vendor.index.$emit("merchantIdChanged", newValue);
});
const businessMessage = common_vendor.ref(common_vendor.index.getStorageSync("Mybusiness"));
console.log(businessMessage.value);
const review = () => {
const businessId = common_vendor.index.getStorageSync("businessItem");
common_vendor.index.request({
url: API_api.apiImageUrl + "/api/level/list/business",
method: "POST",
data: {
id: businessId
},
success(res) {
console.log(res.data.data);
historyList.value = res.data.data;
},
fail() {
console.log("失败");
}
});
};
common_vendor.onMounted(() => {
review();
});
const contentDetail = common_vendor.ref("");
const fetchContentItem = async () => {
const businessId = common_vendor.index.getStorageSync("businessItem");
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/businessInfo/list",
method: "POST",
data: {
id: businessId
}
});
console.log(res.data.data.content);
contentDetail.value = res.data.data.content;
} catch (err) {
console.error(err);
}
};
const showAddToCartSuccess = (dishName) => {
common_vendor.index.showToast({
title: `${dishName} 已添加到购物车`,
icon: "success",
duration: 2e3
});
};
common_vendor.onMounted(() => {
fetchContentItem();
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_assets._imports_0,
b: common_assets._imports_1,
c: common_assets._imports_2,
d: common_vendor.p({
["show-icon"]: true,
scrollable: true,
text: contentDetail.value
}),
e: common_vendor.f(tabs.value, (tab, index, i0) => {
return {
a: common_vendor.t(tab.name),
b: index,
c: currentIndex.value === index ? 1 : "",
d: common_vendor.o(($event) => switchTab(index))
};
}),
f: currentIndex.value === 0
}, currentIndex.value === 0 ? {
g: sortKey.value,
h: common_vendor.o(updateCart),
i: common_vendor.o(showAddToCartSuccess),
j: common_vendor.p({
["merchant-id"]: merchantId.value,
["active-tab"]: currentIndex.value
})
} : {}, {
k: currentIndex.value === 1
}, currentIndex.value === 1 ? {
l: common_vendor.f(historyList.value, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.createTime.substr(0, 19).replace("T", " ")),
b: common_vendor.t(item.rating),
c: "1ffa0306-2-" + i0,
d: common_vendor.p({
readonly: true,
value: item.rating,
["active-color"]: "#13c2c2",
["is-fill"]: false,
color: "#13c2c2"
}),
e: common_vendor.t(item.review),
f: common_vendor.o(($event) => _ctx.reviewUser(item)),
g: item.businessReview && item.businessReview.trim() !== ""
}, item.businessReview && item.businessReview.trim() !== "" ? {
h: common_vendor.t(item.businessReview)
} : {}, {
i: index
});
})
} : {}, {
m: currentIndex.value === 2
}, currentIndex.value === 2 ? {
n: common_vendor.t(businessMessage.value.address),
o: common_vendor.t(businessMessage.value.businessPhone),
p: businessMessage.value.businessAvatar
} : {}, {
q: isLiked.value ? "../../static/small/starSelected.png" : "../../static/small/star.png",
r: common_vendor.t(isLiked.value ? "已收藏" : "收藏店铺"),
s: common_vendor.o(toggleLike),
t: common_assets._imports_3$1,
v: common_vendor.o(talk),
w: common_vendor.o(($event) => showDrawer()),
x: common_vendor.f(cartItems.value, (item, index, i0) => {
return {
a: item.dishesImage,
b: common_vendor.o(($event) => deleteItem(index)),
c: common_vendor.t(item.dishesName),
d: common_vendor.t(item.dishesPrice),
e: common_vendor.o(($event) => decrementQuantity(index)),
f: common_vendor.t(item.quantity),
g: common_vendor.o(($event) => incrementQuantity(index)),
h: index
};
}),
y: common_assets._imports_4,
z: common_vendor.t(totalAmount.value),
A: common_vendor.o(account),
B: () => ({
r: showRight,
k: "showRight"
}),
C: common_vendor.o(($event) => _ctx.change($event, "showRight")),
D: common_vendor.p({
mode: "left",
["mask-click"]: true
})
});
};
}
});
my.createPage(_sfc_main);

View File

@ -0,0 +1,10 @@
{
"defaultTitle": "商家",
"pullRefresh": false,
"usingComponents": {
"uni-notice-bar": "../../uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar",
"uni-rate": "../../uni_modules/uni-rate/components/uni-rate/uni-rate",
"uni-drawer": "../../uni_modules/uni-drawer/components/uni-drawer/uni-drawer",
"sort": "./sort"
}
}

View File

@ -0,0 +1,167 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
height: 100%;
overflow: hidden;
}
.viewport {
height: 100%;
display: flex;
flex-direction: column;
}
.search {
padding: 0 30rpx 20rpx;
background-color: #fff;
}
.search .input {
display: flex;
align-items: center;
justify-content: space-between;
height: 64rpx;
padding-left: 26rpx;
color: #8b8b8b;
font-size: 28rpx;
border-radius: 32rpx;
background-color: #f3f4f4;
}
.icon-search::before {
margin-right: 10rpx;
}
.primary {
overflow: hidden;
width: 180rpx;
flex: none;
background-color: #f6f6f6;
}
.primary .item {
display: flex;
justify-content: center;
align-items: center;
height: 96rpx;
font-size: 26rpx;
color: #595c63;
position: relative;
}
.primary .item::after {
content: "";
position: absolute;
left: 42rpx;
bottom: 0;
width: 96rpx;
border-top: 1rpx solid #e3e4e7;
}
.primary .active {
background-color: #fff;
}
.primary .active::before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 8rpx;
height: 100%;
background-color: #4095e5;
}
.primary .item:last-child::after,
.primary .active::after {
display: none;
}
.secondary {
background-color: #fff;
width: 100%;
}
.secondary .carousel {
height: 400rpx;
margin: 0 30rpx 20rpx;
border-radius: 4rpx;
overflow: hidden;
}
.secondary .panel {
margin: 0 30rpx 0rpx;
}
.secondary .container {
display: flex;
flex-direction: column;
align-items: center;
padding: 20rpx;
}
.secondary .history-list {
width: 100%;
}
.secondary .history-item {
display: flex;
margin-bottom: 20rpx;
flex-direction: row;
}
.secondary .history-img {
width: 200rpx;
height: 150rpx;
margin-right: 20rpx;
border-radius: 10px;
}
.secondary .history-info {
display: flex;
flex-direction: column;
justify-content: space-around;
width: 100px;
}
.secondary .history-title {
font-size: 32rpx;
font-weight: bold;
}
.secondary .history-description {
font-size: 28rpx;
}
.secondary .history-time {
font-size: 20rpx;
color: #999;
}
.secondary .history-money {
font-size: 30rpx;
color: black;
font-weight: 700;
}
.icon {
margin-top: 30rpx;
}
@keyframes plus-slide-down {
0% {
transform: translateY(0);
}
50% {
transform: translateY(10px);
}
100% {
transform: translateY(0);
}
}
.plus-animated {
animation-name: plus-slide-down;
animation-duration: 0.5s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
animation-fill-mode: forwards;
}

View File

@ -0,0 +1 @@
<view class="viewport"><view class="categories"><scroll-view class="primary" scroll-y><view a:for="{{a}}" a:for-item="tab" a:key="b" class="{{('item') + ' ' + (tab.c && 'active')}}" onTap="{{tab.d}}">{{tab.a}}</view></scroll-view><scroll-view class="secondary" scroll-y><block a:if="{{b}}"></block><view class="panel"><view class="container"><view class="history-list"><view a:for="{{c}}" a:for-item="item" a:key="f" class="history-item"><image class="history-img" src="{{item.a}}"></image><view class="history-info"><text class="history-title">{{item.b}}</text><text class="history-money">¥{{item.c}}</text></view><view class="icon plus-animated" onTap="{{item.e}}"><uni-icons u-i="{{item.d}}" onVI="__l" u-p="{{d||''}}"></uni-icons></view></view></view></view></view></scroll-view></view></view>

View File

@ -0,0 +1,172 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
const _sfc_main = {
__name: "sort",
props: {
merchantId: {
type: String,
required: true
},
activeTab: {
// 新增当前激活tab的监听
type: Number,
default: 0
}
},
emits: ["update-cart", "add-to-cart"],
setup(__props, { emit: __emit }) {
const props = __props;
const resultArray = common_vendor.ref([]);
const currentIndex = common_vendor.ref(0);
common_vendor.ref([]);
const businessId = common_vendor.ref("");
common_vendor.ref(props.merchantId || "");
common_vendor.watch(() => props.activeTab, (newVal) => {
if (newVal === 0) {
leftGroup();
rightList();
}
});
const loadData = async () => {
await leftGroup();
await rightList();
if (resultArray.value.length > 0) {
await switchTab(0);
}
};
common_vendor.onMounted(async () => {
if (props.merchantId) {
businessId.value = props.merchantId;
await loadData();
}
});
common_vendor.watch(() => props.merchantId, async (newVal) => {
console.log("传过来的商家id", newVal);
if (newVal) {
businessId.value = newVal;
await loadData();
}
}, { immediate: true });
const leftGroup = async () => {
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/dishesGroup/list/dishesGroup",
method: "POST",
data: { businessId: businessId.value }
});
if (res.data.code === 0) {
resultArray.value = res.data.data.map((item) => ({
id: item.id,
groupName: item.groupName
}));
console.log("分类数据:", resultArray.value);
}
} catch (error) {
console.log("error", error);
}
};
const rightList = async () => {
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/dishes/list/dishes",
method: "POST",
data: {
businessId: businessId.value
}
});
if (res.data.code === 0) {
const filteredData = res.data.data.filter((item) => item.status !== "1");
historyList.value = filteredData;
console.log("更新后的菜品列表:", historyList.value);
} else {
console.error("请求失败:", res.data.message);
}
} catch (error) {
console.error("Error fetching data:", error);
}
};
common_vendor.ref(null);
const switchTab = async (index) => {
var _a;
currentIndex.value = index;
const groupId = (_a = resultArray.value[index]) == null ? void 0 : _a.id;
if (!groupId)
return;
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/dishes/list/dishes",
method: "POST",
data: {
businessId: businessId.value,
dishesGroupId: groupId
// 使用分类ID进行查询
}
});
if (res.data.code === 0) {
const filteredData = res.data.data.filter((item) => item.status !== "1");
historyList.value = filteredData;
}
} catch (error) {
console.error("Error fetching data:", error);
}
common_vendor.index.pageScrollTo({
scrollTop: 0,
duration: 300
});
};
const historyList = common_vendor.ref([]);
const emit = __emit;
const cartItems = common_vendor.ref([]);
const addToCart = (item) => {
cartItems.value.push({
...item,
quantity: 1
});
common_vendor.index.setStorageSync("cartItems", cartItems.value);
cartItems.value.forEach((item2) => {
console.log(item2.dishesName);
});
emit("add-to-cart", item.dishesName);
emit("update-cart", cartItems.value);
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(resultArray.value, (tab, index, i0) => {
return {
a: common_vendor.t(tab.groupName),
b: tab.id,
c: currentIndex.value === index ? 1 : "",
d: common_vendor.o(($event) => switchTab(index))
};
}),
b: currentIndex.value === 0
}, currentIndex.value === 0 ? {} : {}, {
c: common_vendor.f(historyList.value, (item, index, i0) => {
return {
a: item.dishesImage,
b: common_vendor.t(item.dishesName),
c: common_vendor.t(item.dishesPrice),
d: "7eeae5d3-0-" + i0,
e: common_vendor.o(() => addToCart(item)),
f: index
};
}),
d: common_vendor.p({
type: "plus-filled",
size: "30",
color: "#4095e5"
})
});
};
}
};
my.createComponent(_sfc_main);

View File

@ -0,0 +1,7 @@
{
"component": true,
"styleIsolation": "apply-shared",
"usingComponents": {
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1,17 @@
page {
background-color: #fff;
}
.chat-custom-right {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-end;
}
.chat-custom-text {
font-size: 12px;
color: #999;
}

View File

@ -0,0 +1 @@
<uni-list u-s="{{['d']}}" u-i="50539d77-0" onVI="__l"><uni-list a:for="{{a}}" a:for-item="item" a:key="c" u-s="{{['d']}}" u-i="{{item.d}}" onVI="__l" u-p="{{c||''}}"><uni-list-chat onClick="{{b}}" u-i="{{item.a}}" onVI="__l" u-p="{{item.b||''}}"></uni-list-chat></uni-list></uni-list>

View File

@ -0,0 +1,54 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
const _easycom_uni_list_chat2 = common_vendor.resolveComponent("uni-list-chat");
const _easycom_uni_list2 = common_vendor.resolveComponent("uni-list");
(_easycom_uni_list_chat2 + _easycom_uni_list2)();
}
const _easycom_uni_list_chat = () => "../../uni_modules/uni-list/components/uni-list-chat/uni-list-chat.js";
const _easycom_uni_list = () => "../../uni_modules/uni-list/components/uni-list/uni-list.js";
if (!Math) {
(_easycom_uni_list_chat + _easycom_uni_list)();
}
const _sfc_main = {
__name: "messageCenter",
setup(__props) {
const historyList = common_vendor.ref([
{
imgUrl: "https://ts1.tc.mm.bing.net/th/id/R-C.e05fb7d12c52fc08ed0b83cc9aafaa70?rik=n8c5LP%2bsEJF1WQ&riu=http%3a%2f%2fwww.kuaipng.com%2fUploads%2fpic%2fw%2f2021%2f04-21%2f99523%2fwater_99523_698_698_.png&ehk=pHsR6er2LGmrUr%2bVVLRbNE%2bSWMkqOSMyvoYueS4GqDs%3d&risl=&pid=ImgRaw&r=0",
title: "支付宝客服",
unread: "1",
time: "刚才",
message: "我的外卖被偷了,抓紧给我退款"
}
]);
const handleDonate = () => {
common_vendor.index.navigateTo({ url: "../talk/talk" });
};
return (_ctx, _cache) => {
return {
a: common_vendor.f(historyList.value, (item, index, i0) => {
return {
a: "50539d77-2-" + i0 + "," + ("50539d77-1-" + i0),
b: common_vendor.p({
title: item.title,
avatar: item.imgUrl,
note: item.message,
time: item.time,
["badge-positon"]: "left",
["badge-text"]: item.unread,
clickable: "true"
}),
c: index,
d: "50539d77-1-" + i0 + ",50539d77-0"
};
}),
b: common_vendor.o(handleDonate),
c: common_vendor.p({
border: true
})
};
};
}
};
my.createPage(_sfc_main);

View File

@ -0,0 +1,8 @@
{
"defaultTitle": "消息中心",
"pullRefresh": false,
"usingComponents": {
"uni-list-chat": "../../uni_modules/uni-list/components/uni-list-chat/uni-list-chat",
"uni-list": "../../uni_modules/uni-list/components/uni-list/uni-list"
}
}

View File

@ -0,0 +1,83 @@
.container {
display: flex;
flex-direction: column;
align-items: center;
padding: 20rpx;
}
.history-list {
width: 100%;
}
.history-item {
padding: 10px 0px 10px 5px;
display: flex;
margin-bottom: 20rpx;
border: 1px solid #999;
background-color: #fff;
border-radius: 15px;
}
.history-img {
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
border-radius: 10px;
}
.history-info {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.history-title {
font-size: 32rpx;
font-weight: bold;
}
.history-description {
font-size: 28rpx;
color: #666;
}
.starSale {
width: 120px;
height: 15px;
}
.star {
display: inline-block;
line-height: 15px;
}
.history-sale {
font-size: 20rpx;
color: #999;
float: right;
display: inline-block;
line-height: 15px;
}
.startPoints {
width: 100%;
height: 20px;
}
.points {
padding-left: 15px;
font-size: 20rpx;
line-height: 20px;
color: #d41414;
}
.distance,
.time {
font-size: 20rpx;
color: #999;
padding-left: 25px;
font-size: 20rpx;
}
.history-start,
.history-distance {
font-size: 20rpx;
color: #999;
}
.exchange {
font-size: 24rpx;
color: #e99e44;
background-color: #f7dbb3;
width: 75px;
height: 20px;
border-radius: 5px;
border: 1px solid #e99e44;
}

View File

@ -0,0 +1 @@
<view class="container"><view class="history-list"><view a:for="{{a}}" a:for-item="item" a:key="f" class="history-item" onTap="{{item.g}}"><image class="history-img" src="{{item.a}}"></image><view class="history-info"><text class="history-title">{{item.b}}</text><view class="starSale"><view class="star"><uni-rate u-i="{{item.c}}" onVI="__l" u-p="{{item.d||''}}"/></view><text class="history-sale">月售:234</text></view><view class="startPoints"><text class="history-start">起送:¥10</text><text class="points">用积分更优惠</text><text class="distance">2.3km</text><text class="time">30min</text></view><view class="exchange"><uni-icons u-i="{{item.e}}" onVI="__l" u-p="{{b||''}}"></uni-icons> 支持自取 </view></view></view></view></view>

View File

@ -0,0 +1,87 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const API_api = require("../../API/api.js");
if (!Array) {
const _easycom_uni_rate2 = common_vendor.resolveComponent("uni-rate");
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
(_easycom_uni_rate2 + _easycom_uni_icons2)();
}
const _easycom_uni_rate = () => "../../uni_modules/uni-rate/components/uni-rate/uni-rate.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
(_easycom_uni_rate + _easycom_uni_icons)();
}
const _sfc_main = {
__name: "more",
setup(__props) {
const historyList = common_vendor.ref([]);
const fetchHistoryData = async () => {
try {
const res = await common_vendor.index.request({
url: API_api.apiImageUrl + "/api/business/list/page/vo",
method: "POST",
data: {
address: "",
businessName: "",
businessProfile: "",
categoryId: 5,
current: 1,
id: "",
pageSize: 20,
sortField: "",
sortOrder: "",
state: 1,
storeStatus: "",
userId: ""
}
});
if (res.data.code === 0) {
console.log(res.data.data.records);
historyList.value = res.data.data.records;
}
} catch (error) {
console.error("Error fetching data:", error);
}
};
common_vendor.onMounted(() => {
fetchHistoryData();
});
const handleDonate = (item) => {
console.log(item.id);
common_vendor.index.setStorageSync("Mybusiness", item);
common_vendor.index.setStorageSync("businessItem", item.id);
if (!item || !item.hasOwnProperty("id")) {
console.error("The 'item' variable is undefined or missing the 'id' property.");
return;
}
const merchantId = item.id;
common_vendor.index.navigateTo({
url: `/pages/merchant/merchant?merchantId=${merchantId}`
});
};
return (_ctx, _cache) => {
return {
a: common_vendor.f(historyList.value, (item, index, i0) => {
return {
a: item == null ? void 0 : item.businessAvatar,
b: common_vendor.t(item == null ? void 0 : item.businessName),
c: "3778001d-0-" + i0,
d: common_vendor.p({
readonly: true,
value: item.level,
size: "12px"
}),
e: "3778001d-1-" + i0,
f: index,
g: common_vendor.o(($event) => handleDonate(item))
};
}),
b: common_vendor.p({
type: "paperplane-filled",
color: "#e99e44"
})
};
};
}
};
my.createPage(_sfc_main);

Some files were not shown because too many files have changed in this diff Show More