预约提货商城小程序

This commit is contained in:
liupopo
2024-01-15 13:52:54 +08:00
commit 5a66559820
466 changed files with 78084 additions and 0 deletions

130
common/app.scss Normal file
View File

@@ -0,0 +1,130 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;
/* 文字基本颜色 */
$uni-text-color: #333; //基本色
$uni-text-color-inverse: #fff; //反色
$uni-text-color-grey: #999; //辅助灰色,如加载更多的提示信息
$uni-text-color-placeholder: #808080;
$uni-text-color-disable: #c0c0c0;
/* 背景颜色 */
$uni-bg-color: #ffffff;
$uni-bg-color-grey: #f8f8f8;
$uni-bg-color-hover: #f1f1f1; //点击状态颜色
$uni-bg-color-mask: rgba(0, 0, 0, 0.4); //遮罩颜色
/* 边框颜色 */
$uni-border-color: #c8c7cc;
/* 尺寸变量 */
/* 文字尺寸 */
$uni-font-size-sm: 12px;
$uni-font-size-base: 14px;
$uni-font-size-lg: 16;
/* 图片尺寸 */
$uni-img-size-sm: 20px;
$uni-img-size-base: 26px;
$uni-img-size-lg: 40px;
/* Border Radius */
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;
/* 水平间距 */
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;
/* 垂直间距 */
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;
/* 透明度 */
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
/* 文章场景相关 */
$uni-color-title: #2c405a; // 文章标题颜色
$uni-font-size-title: 20px;
$uni-color-subtitle: #555555; // 二级标题颜色
$uni-font-size-subtitle: 26px;
$uni-color-paragraph: #3f536e; // 文章段落颜色
$uni-font-size-paragraph: 15px;
/**
* 下面为当前APP自己定义的公共样式
*/
.app-container {
padding: 20px;
font-size: 14px;
line-height: 24px;
}
.u-block {
padding: 14px;
&__section {
margin-bottom: 10px;
}
&__title {
margin-top: 10px;
font-size: 15px;
color: $u-content-color;
margin-bottom: 10px;
}
&__flex {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
}
}
// 使用了cell组件的icon图片样式
.u-cell-icon {
width: 36rpx;
height: 36rpx;
margin-right: 8rpx;
}
.u-page {
padding: 15px 15px 40px 15px;
}
.u-demo-block {
flex: 1;
margin-bottom: 23px;
&__content {
@include flex(column);
}
&__title {
font-size: 14px;
color: rgb(143, 156, 162);
margin-bottom: 8px;
@include flex;
}
}

3
common/bus.js Normal file
View File

@@ -0,0 +1,3 @@
import Vue from 'vue'
const bus = new Vue()
export default bus

15
common/config.js Normal file
View File

@@ -0,0 +1,15 @@
/**
* config 配置项说明
* baseUrl = "", // 接口的根地址
* tokenName = "Authorization", // 请求头中token的名字与服务器端对应
* loginTimeoutCode : "5000", // 登录超时或失效的情况下,服务器端返回的错误码
* loginTimeoutPage = "/pages/login/index", // 登录超时或失效的情况下,跳转到的登录页面
*/
module.exports = {
// baseUrl: 'http://192.168.2.106:7201', // 本地
// baseUrl: 'https://lpk.yyundong.com/lpkapi', // 测试服务器
baseUrl: 'https://supervise.yxtsoft.com/lpkapi', // 正式服务器
tokenName: "Authorization", // 请求头中token的名字与服务器端对应
loginTimeoutCode: "5001", // 登录超时或失效的情况下,服务器端返回的错误码
loginTimeoutPage: "/pages/login/index", // 登录超时或失效的情况下,跳转到的登录页面
}

12
common/empty.js Normal file
View File

@@ -0,0 +1,12 @@
function stringIsEmpty(str) {
return str === undefined || str === null || str === ''
}
function stringIsNotEmpty(str) {
return !stringIsEmpty(str)
}
export {
stringIsEmpty,
stringIsNotEmpty
}

22
common/getQuery.js Normal file
View File

@@ -0,0 +1,22 @@
/**
* getQueryString 二维码参数转换提取
* 参数
* url 二维码参数
* name 需要提取的参数
*/
function getQueryString(url, name) {
let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)",'i');
var r = url.substr(1).match(reg)
if (r != null) {
return r[2]
}
return null;
}
export {
getQueryString
}

7
common/mixin.js Normal file
View File

@@ -0,0 +1,7 @@
export default {
data() {
return {
}
}
}

84
common/nav-calc-utils.js Normal file
View File

@@ -0,0 +1,84 @@
function navParams() {
let params = {
// 是否支持自定义导航栏(小程序 pc版 false)
supportCustomBar: true,
// 胶囊
menuButton: {
width: 0,
height: 0
},
// 导航栏
// 可自定义wx小程序会强制更改
navBar: {
height: 0,
// 导航栏字体大小 wx小程序 ios13Android17
fontSize: 0,
// 导航栏样式 wx小程序时ioscenterAndroidleft
style: '',
// 导航栏可用宽度 wx小程序时 iosAndroid屏幕宽-胶囊
enableWidth: 0,
// 导航栏不可用宽度 wx小程序时 iosAndroid胶囊+胶囊距离屏幕右侧边界的距离
disableWidth: 0
},
window: {
width: 0,
height: 0
},
os: {
osName: ''
},
// 导航栏+状态栏高度
navStatusHeight: '0px',
// 状态栏高度
statusBarHeight: 0,
unit: 'px'
}
// 同步获取信息
let info = uni.getSystemInfoSync();
// 状态栏高度
params.statusBarHeight = info.statusBarHeight;
params.window.width = info.screenWidth
params.window.height = info.screenHeight
params.os.osName = info.osName
// 获取胶囊相关内容
// #ifdef MP-WEIXIN
let menuButton = uni.getMenuButtonBoundingClientRect();
params.menuButton.width = menuButton.width;
params.menuButton.height = menuButton.height;
let paddingTop = menuButton.top - params.statusBarHeight;
let paddingBottom = 0;
if (params.os.osName === 'ios') {
paddingBottom = paddingTop * 2;
params.navBar.fontSize = 13;
params.navBar.style = 'center';
} else if (params.os.osName === 'android') {
paddingBottom = paddingTop;
params.navBar.fontSize = 17;
params.navBar.style = 'left';
} else if (params.os.osName === 'windows' || params.os.osName === 'mac') {
params.supportCustomBar = false;
} else {
// 未知系统按照Android处理
paddingBottom = paddingTop;
params.navBar.fontSize = 17;
params.navBar.style = 'left';
}
params.navBar.height = params.menuButton.height + paddingTop + paddingBottom;
// 导航栏可用宽度 屏幕左边界到胶囊左边界
params.navBar.enableWidth = menuButton.left;
params.navBar.disableWidth = params.window.width - params.navBar.enableWidth;
// #endif
params.navStatusHeight = params.statusBarHeight + params.navBar.height
console.log(params);
return params
}
export {
navParams
}

15
common/price.js Normal file
View File

@@ -0,0 +1,15 @@
// 10.00 10.60
function convertPrice(str) {
if (str == undefined || str == null || str == '')
return ''
if (str.endsWith('.00')) {
return str.substring(0, str.length - 3)
} else if (str.endsWith('0') && str.includes('.')) {
return str.substring(0, str.length - 1)
}
return str
}
export {
convertPrice
}

2
common/props.js Normal file
View File

@@ -0,0 +1,2 @@
uni.$u.props.gap.bgColor = '#f3f4f6'
uni.$u.props.gap.height = '10'

16
common/req.js Normal file
View File

@@ -0,0 +1,16 @@
const {
http
} = uni.$u
export default {
login: (params, config = {}) => http.post('/login', params, {
custom: {
catchError: true,
showFailMessage: true
}
}),
sayhello: (params = {}) => http.get("/sayb", params),
// 查看预警信息
selectBusinessRiskInfo: (params = {}) => http.post("/v1/businessData/selectBusinessRiskInfo", params)
}

72
common/request.api.js Normal file
View File

@@ -0,0 +1,72 @@
import request from '@/utils/requester.js'
export default {
login: (params = {}) => request.post("/wxmpapi/sysuser/login", params),
wxBindMobile: (params = {}) => request.post("/lpkcustomer/wxBindMobile", params),
// 不显示loading true
// 提货卡列表
cardList: (params = {}) => request.post("/lpkgiftcard/gifCardByCustomerSid", params, {}, {}, true),
// 福礼卡列表
gifcardList: (params = {}) => request.post("/empcardgift/gifCardByCustomerSid", params, {}, {}, true),
// 企业卡列表
empcardList: (params = {}) => request.post("/empcard/getEmpCardByCustomerSid", params, {}, {}, true),
// 提货卡详情
cardDetail: (params = {}) => request.get("/lpkgiftcard/getGifCardBySid/" + params, params, {}, {}, true),
// 福礼卡详情
gifcardDetail: (params = {}) => request.get("/empcardgift/getGifCardBySid/" + params, params, {}, {}, true),
// 企业卡详情
empCardDetail: (params = {}) => request.get("/empcard/getEmpCardBySid/" + params, params, {}, {}, true),
// 福礼卡分享 改变卡状态
shareEmpCard: (params = {}) => request.get("/empcardgift/shareEmpCard/" + params, params, {}, {}, true),
// 提货日期 周六日的日期组合
isSaturAndSun: (params = {}) => request.get("/lpkgiftcard/isSaturAndSun/" + params, params, {}, {}, true),
// 提货日期 周六日的日期组合
isSaturAndSun2: (params = {}) => request.get("/empcardgift/isSaturAndSun/" + params, params, {}, {}, true),
// 提货日期 周六日的日期组合
isSaturAndSun3: (params = {}) => request.get("/empcard/isSaturAndSun/" + params, params, {}, {}, true),
// 提货卡预约初始化
cardBooking: (params = {}) => request.get("/lpkgiftcard/getReservationBySid/" + params, params, {}, {}, true),
// 提货卡预约保存
cardBookingSave: (params = {}) => request.post("/lpksreservoorder/submission", params),
// 提货卡转赠保存
generateEmpCard: (params = {}) => request.post("/empcardgift/generateEmpCard", params),
// 福礼卡预约保存
gifcardBookingSave: (params = {}) => request.post("/empsreservoorder/submission", params),
// 福利卡转赠保存
generateEmpCardGift: (params = {}) => request.post("/empcardgift/generateEmpCardGift", params),
// 企业卡生成福利卡
empcardSave: (params = {}) => request.post("/empcardgift/generateCard", params),
// 企业卡预约保存
empcardBookingSave: (params = {}) => request.post("/empsreservoorder/submissionEmp", params),
// 绑定提货卡
cardBind: (params = {}) => request.post("/lpkgiftcard/bindCard", params),
// 绑定企业卡
empcardBind: (params = {}) => request.post("/empcard/bindCard", params),
// 单一提货卡预约记录
orderByCardSid: (params = {}) => request.get("/lpksreservoorder/orderByCardSid/" + params, params, {}, {}, true),
// 预约记录
orderListByUserSid: (params = {}) => request.post("/lpksreservoorder/orderListByUserSid", params, {}, {}, true),
// 预约记录详情
orderDetails: (params = {}) => request.get("/lpksreservoorder/orderDetails/" + params, params, {}, {}, true),
// 商品详情
goodsDetail: (params = {}) => request.get("/lpkgoods/goodsDetails/" + params, params, {}, {}, true),
// 提货点
address: (params = {}) => request.post("/lpkstore/getAllStoreByQuery", params, {}, {}, true),
// 2024-1-13 新需求接口 所有卡数据整合到一个页面
// 新提货卡列表
pickUpCardList: (params = {}) => request.post("/lpkgiftcard/gifCardsByCustomerSid", params, {}, {}, true),
// 新绑定提货卡
pickUpCardBind: (params = {}) => request.post("/lpkgiftcard/bindAllCard", params),
// 云菜窖列表
appletGiftBagList: (params = {}) => request.get("/appletgiftbag/appletGiftBagList", params),
// 云菜窖列表
getGiftBagBySid: (params = {}) => request.get("/appletgiftbag/getGiftBagBySid/"+params, params),
// 自选菜窖 商品信息
getAllGiftBag: (params = {}) => request.get("/lpkgoods/getAllGiftBag", params),
// 結算商品
createOrder: (params = {}) => request.post("/empsreservoorder/createOrder", params),
}

20
common/toast.js Normal file
View File

@@ -0,0 +1,20 @@
function shortToast(str) {
uni.showToast({
title: str,
icon: 'none',
duration: 2000
})
}
function longToast(str) {
uni.showToast({
title: str,
icon: 'none',
duration: 3500
})
}
export {
shortToast,
longToast
}