预约提货商城小程序
This commit is contained in:
130
common/app.scss
Normal file
130
common/app.scss
Normal 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
3
common/bus.js
Normal file
@@ -0,0 +1,3 @@
|
||||
import Vue from 'vue'
|
||||
const bus = new Vue()
|
||||
export default bus
|
||||
15
common/config.js
Normal file
15
common/config.js
Normal 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
12
common/empty.js
Normal 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
22
common/getQuery.js
Normal 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
7
common/mixin.js
Normal file
@@ -0,0 +1,7 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
84
common/nav-calc-utils.js
Normal file
84
common/nav-calc-utils.js
Normal file
@@ -0,0 +1,84 @@
|
||||
function navParams() {
|
||||
|
||||
let params = {
|
||||
// 是否支持自定义导航栏(小程序 pc版 false)
|
||||
supportCustomBar: true,
|
||||
// 胶囊
|
||||
menuButton: {
|
||||
width: 0,
|
||||
height: 0
|
||||
},
|
||||
// 导航栏
|
||||
// 可自定义,wx小程序会强制更改
|
||||
navBar: {
|
||||
height: 0,
|
||||
// 导航栏字体大小 wx小程序 ios:13,Android:17
|
||||
fontSize: 0,
|
||||
// 导航栏样式 wx小程序时:ios:center,Android:left
|
||||
style: '',
|
||||
// 导航栏可用宽度 wx小程序时 ios,Android:屏幕宽-胶囊
|
||||
enableWidth: 0,
|
||||
// 导航栏不可用宽度 wx小程序时 ios,Android:胶囊+胶囊距离屏幕右侧边界的距离
|
||||
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
15
common/price.js
Normal 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
2
common/props.js
Normal file
@@ -0,0 +1,2 @@
|
||||
uni.$u.props.gap.bgColor = '#f3f4f6'
|
||||
uni.$u.props.gap.height = '10'
|
||||
16
common/req.js
Normal file
16
common/req.js
Normal 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
72
common/request.api.js
Normal 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
20
common/toast.js
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user