diff --git a/App.vue b/App.vue
index eebadb1..8baccb7 100644
--- a/App.vue
+++ b/App.vue
@@ -222,4 +222,19 @@ button.hide {
.uni-tabbar__icon {
height: 50px !important;
}
+
+@keyframes m-zoom {
+ 0% {
+ transform: scale(1);
+ }
+
+ 50% {
+ transform: scale(0.9);
+ }
+
+ 100% {
+ transform: scale(1);
+ }
+}
+
diff --git a/common/request.js b/common/request.js
index 63a7bc3..26e256f 100644
--- a/common/request.js
+++ b/common/request.js
@@ -25,6 +25,14 @@ class RequestManager {
return whitelistUrls.some(whiteItem => url.indexOf(whiteItem) > -1)
}
+ /**
+ * 生成唯一的nonce值
+ * @returns {String} nonce值
+ */
+ static generateNonce() {
+ return md5(Date.now() + Math.random().toString(36).substring(2, 15));
+ }
+
/**
* 发送网络请求
* @param {Object} param 请求参数
@@ -43,7 +51,7 @@ class RequestManager {
return new Promise((resolve, reject) => {
// 参数检查
if (!param || typeof param !== 'object') {
- reject(new Error('请求参数错误11'))
+ reject(new Error('请求参数错误'))
return
}
@@ -90,9 +98,48 @@ class RequestManager {
console.log('请求URL:', requestUrl)
+ // 使用正则表达式从URL中提取主机名
+ const hostRegex = /^(?:https?:\/\/)?([^\/]+)/i
+ const matches = requestUrl.match(hostRegex)
+ const host = matches && matches[1] ? matches[1] : 'localhost'
+
let header = {}
+ // 添加签名和防重放攻击参数
+ // 1. 添加时间戳
+ data.timestamp = Math.floor(Date.now() / 1000)
+ // 2. 添加nonce随机字符串
+ data.nonce = RequestManager.generateNonce()
+
if (method.toUpperCase() == 'POST') {
+ // 按照键名对参数进行排序
+ const sortedParams = {}
+ Object.keys(data).sort().forEach(key => {
+ sortedParams[key] = data[key]
+ })
+
+ // 组合参数为字符串
+ let signStr = ''
+ for (const key in sortedParams) {
+ if (typeof sortedParams[key] === 'object') {
+ signStr += key + '=' + JSON.stringify(sortedParams[key]) + '&'
+ } else {
+ signStr += key + '=' + sortedParams[key] + '&'
+ }
+ }
+
+ // 获取时间戳,组合为密钥
+ const timestamp = data.timestamp
+ const appSecret = host + timestamp
+
+ // 添加密钥并去除最后的&
+ signStr = signStr.substring(0, signStr.length - 1) + appSecret
+ console.log('签名字符串:', signStr)
+
+ // 使用MD5生成签名
+ const sign = md5(signStr)
+ data.sign = sign
+
header = {
'content-type': 'application/x-www-form-urlencoded',
client: client,
@@ -102,41 +149,32 @@ class RequestManager {
}
} else {
// GET请求,添加签名
- if (data) {
- // 添加时间戳参数
- data.timestamp = Math.floor(Date.now() / 1000);
+ // 按照键名对参数进行排序
+ const sortedParams = {}
+ Object.keys(data).sort().forEach(key => {
+ sortedParams[key] = data[key]
+ })
- // 按照键名对参数进行排序
- const sortedParams = {};
- Object.keys(data).sort().forEach(key => {
- sortedParams[key] = data[key];
- });
-
- // 组合参数为字符串
- let signStr = '';
- for (const key in sortedParams) {
- signStr += key + '=' + sortedParams[key] + '&';
- }
-
- // 获取当前请求的域名和时间戳,组合为密钥
- // 使用正则表达式从URL中提取主机名
- const hostRegex = /^(?:https?:\/\/)?([^\/]+)/i;
- const matches = requestUrl.match(hostRegex);
- const host = matches && matches[1] ? matches[1] : 'localhost';
- const timestamp = data.timestamp;
- const appSecret = host + timestamp;
-
- // 添加密钥并去除最后的&
- signStr = signStr.substring(0, signStr.length - 1) + appSecret;
- console.log(signStr);
-
- // 使用MD5生成签名
- const sign = md5(signStr);
-
- // 添加签名到请求参数
- data.sign = sign;
+ // 组合参数为字符串
+ let signStr = ''
+ for (const key in sortedParams) {
+ signStr += key + '=' + sortedParams[key] + '&'
}
+ // 获取时间戳,组合为密钥
+ const timestamp = data.timestamp
+ const appSecret = host + timestamp
+
+ // 添加密钥并去除最后的&
+ signStr = signStr.substring(0, signStr.length - 1) + appSecret
+ console.log('签名字符串:', signStr)
+
+ // 使用MD5生成签名
+ const sign = md5(signStr)
+
+ // 添加签名到请求参数
+ data.sign = sign
+
header = {
'content-type': 'application/json',
token: token,
diff --git a/components/banner/banner.vue b/components/banner/banner.vue
index 0cc54f1..0a27dfd 100644
--- a/components/banner/banner.vue
+++ b/components/banner/banner.vue
@@ -4,17 +4,17 @@
-
-
+
+
-
+
-
+
-
+
@@ -37,7 +37,12 @@ export default {
height: {
type: [Number, String],
default: 465
- }
+ },
+ // 图片自定义样式
+ imgWidth: {
+ type: Number,
+ default: 92
+ },
},
data() {
return {
@@ -63,55 +68,17 @@ export default {
}
});
},
-
+
// 轮播切换事件
swChange(e) {
this.swCur = e.detail.current;
},
-
+
// 点击轮播图跳转
navTo(item) {
- /* 领券中心 */
- if (item.ttype == 1) {
- this.$c.to({
- url: '/package/index/coupon-center',
- query: {
- coupon_id: item.coupon_id
- }
- })
- }
+ this.$c.navTo(item);
- if (item.goods_id > 0) {
- if (item.ttype == 2) {
- /* 一番赏 */
- this.$c.to({
- url: '/pages/shouye/detail',
- query: {
- goods_id: item.goods_id
- }
- })
- }
- /* 无限赏 */
- if (item.ttype == 3) {
- this.$c.to({
- url: '/pages/shouye/detail_wuxian',
- query: {
- goods_id: item.goods_id
- }
- })
- }
-
- /* 连击赏 */
- if (item.ttype == 4) {
- this.$c.to({
- url: '/package/index/lian-ji',
- query: {
- goods_id: item.goods_id
- }
- })
- }
- }
}
}
}
@@ -133,7 +100,7 @@ export default {
}
/* 允许插槽内的元素可以被点击 */
-.banner-slot-container > * {
+.banner-slot-container>* {
pointer-events: auto;
}
@@ -157,7 +124,7 @@ export default {
position: absolute;
bottom: 20rpx;
width: 100%;
-
+
&-item {
width: 12rpx;
height: 12rpx;
@@ -165,7 +132,7 @@ export default {
background-color: rgba(255, 255, 255, 0.5);
margin: 0 5rpx;
transition: all 0.3s;
-
+
&.act {
width: 24rpx;
border-radius: 6rpx;
@@ -173,4 +140,4 @@ export default {
}
}
}
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/components/detail-wuxian-lingzhu/detail-wuxian-lingzhu.vue b/components/detail-wuxian-lingzhu/detail-wuxian-lingzhu.vue
index 9c35602..478ed96 100644
--- a/components/detail-wuxian-lingzhu/detail-wuxian-lingzhu.vue
+++ b/components/detail-wuxian-lingzhu/detail-wuxian-lingzhu.vue
@@ -16,6 +16,9 @@
{{ localBossCardData.king_user.z_nums }}
发
+
+ 虚位以待
+
查看更多 >
@@ -24,7 +27,7 @@
-
+
领主接力
@@ -41,7 +44,7 @@
- {{ localBossCardData.king_user.nickname }}
+ {{ (localBossCardData.king_user == null ? "虚位以待" : localBossCardData.king_user.nickname) }}
@@ -67,8 +70,7 @@
-
+
@@ -208,13 +210,13 @@ export default {
}
});
},
-
+
/**
* 打开领主弹窗
*/
openBossPop() {
this.$refs.bossPop.open();
-
+
// // 打开弹窗的同时加载挑战人数数据
// this.$nextTick(() => {
// // 确保bossList是空的,避免重复加载
@@ -224,19 +226,19 @@ export default {
// this.$refs.bossScroll.mescroll.resetUpScroll();
// this.$refs.bossScroll.mescroll.scrollTo(0, 0);
// }
-
+
// // 主动获取挑战人数数据
// this.getBossData({ num: 1, init: false });
// });
},
-
+
/**
* 打开指定弹窗
* @param {String} popName - 弹窗引用名称
*/
open(popName) {
this.$refs[popName].open();
-
+
// 如果是玩法规则弹窗,需要获取规则数据
if (popName === 'playPop') {
this.$c.getRule(14).then(res => {
@@ -246,7 +248,7 @@ export default {
});
}
},
-
+
/**
* 关闭指定弹窗
* @param {String} popName - 弹窗引用名称
@@ -254,7 +256,7 @@ export default {
close(popName) {
this.$refs[popName].close();
},
-
+
/**
* 切换标签页
* @param {Number} i - 标签页索引
@@ -267,7 +269,7 @@ export default {
this.$refs.bossScroll.mescroll.resetUpScroll();
this.$refs.bossScroll.mescroll.scrollTo(0, 0);
},
-
+
/**
* 获取挑战人数/领主记录列表数据
* @param {Object} params - 参数对象
@@ -341,6 +343,7 @@ export default {
}
&-content {
+
/* 领主昵称 */
>view:nth-child(1) {
font-weight: normal;
@@ -612,6 +615,7 @@ export default {
height: 300rpx;
.p-item {
+
/* 物品图片 */
.play-pic {
margin: 0 auto 0;
@@ -642,4 +646,4 @@ export default {
color: #8A8A8A;
}
}
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/components/float-ball/FloatBall.vue b/components/float-ball/FloatBall.vue
new file mode 100644
index 0000000..de1c530
--- /dev/null
+++ b/components/float-ball/FloatBall.vue
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/rule-pop/rule-pop.vue b/components/rule-pop/rule-pop.vue
index 5186e3a..a5828eb 100644
--- a/components/rule-pop/rule-pop.vue
+++ b/components/rule-pop/rule-pop.vue
@@ -6,8 +6,11 @@
{{ ruleData.title }}
-
-
+
+
+
+
+
@@ -28,116 +31,137 @@
\ No newline at end of file
diff --git a/pages/infinite/bonus_house_details.vue b/pages/infinite/bonus_house_details.vue
index a6eb0a0..dc5205a 100644
--- a/pages/infinite/bonus_house_details.vue
+++ b/pages/infinite/bonus_house_details.vue
@@ -47,8 +47,8 @@
-
+
@@ -74,10 +74,8 @@
-
+
{{ index + 1 }}
@@ -96,10 +94,8 @@
-
+
{{ index + 1 }}
@@ -122,8 +118,7 @@
-
{{ buttonText }}
@@ -147,7 +142,7 @@
@@ -224,7 +219,7 @@ export default {
isAgree: true,
loading: false,
user_count: 0, //用户已经购买的次数
-
+
// 动画状态控制变量
headerShow: false,
contentShow: false,
@@ -232,7 +227,7 @@ export default {
tabsShow: [false, false, false],
participantRowsShow: [],
awardRowsShow: [],
-
+
// 按钮脉冲动画
buttonPulse: false
}
@@ -245,7 +240,7 @@ export default {
return '';
},
remainingDiamond() {
- let t = this.bonusData.choujiang_xianzhi - this.user_total_consumption;
+ let t = (this.bonusData.choujiang_xianzhi - this.user_total_consumption).toFixed(2);
return t > 0 ? t : 0;
}
},
@@ -253,7 +248,7 @@ export default {
console.log(options)
this.goods_id = options.goods_id
await this.load(options.goods_id)
-
+
// 添加页面加载动画
setTimeout(() => {
this.applyPageTransitions();
@@ -475,11 +470,11 @@ export default {
this.remainingTime = this.formatRemainingTime(endDate - serverNow, "距离开奖时间:");
return;
}
-
-
+
+
}, 1000);
-
+
},
onUnload() {
@@ -512,7 +507,7 @@ export default {
} catch (error) {
console.error("加载参与人数列表失败", error);
}
-
+
if (this.currentTab === 1) {
setTimeout(() => {
this.animateListItems('participant-row');
@@ -543,7 +538,7 @@ export default {
} catch (error) {
console.error("加载赏品记录失败", error);
}
-
+
if (this.currentTab === 2) {
setTimeout(() => {
this.animateListItems('award-row');
@@ -566,7 +561,7 @@ export default {
// 根据列表类型初始化动画状态数组
if (className === 'participant-row') {
this.participantRowsShow = Array(this.participantList.length).fill(false);
-
+
// 逐个显示列表项
for (let i = 0; i < this.participantList.length; i++) {
((index) => {
@@ -577,7 +572,7 @@ export default {
}
} else if (className === 'award-row') {
this.awardRowsShow = Array(this.awardRecordList.length).fill(false);
-
+
// 逐个显示列表项
for (let i = 0; i < this.awardRecordList.length; i++) {
((index) => {
@@ -595,7 +590,7 @@ export default {
const endDate = new Date(this.bonusData.end_time.replace(/-/g, '/'));
const openDate = new Date(this.bonusData.open_time.replace(/-/g, '/'));
// console.log(currentDate,startDate);
-
+
if (currentDate < startDate) {
this.buttonText = "未开始";
} else if (currentDate >= startDate && currentDate <= endDate) {
@@ -617,7 +612,7 @@ export default {
setTimeout(() => {
this.buttonPulse = false;
}, 400); // 动画时长结束后移除类
-
+
// 调用原始点击处理程序
this.handleButtonClick();
},
@@ -700,19 +695,19 @@ export default {
url: '/pages/shouye/index'
});
},
-
+
applyPageTransitions() {
// 头部信息
this.headerShow = true;
-
+
// 标签
setTimeout(() => { this.tabsShow[0] = true; }, 100);
setTimeout(() => { this.tabsShow[1] = true; }, 200);
setTimeout(() => { this.tabsShow[2] = true; }, 300);
-
+
// 内容区
setTimeout(() => { this.contentShow = true; }, 200);
-
+
// 按钮
setTimeout(() => { this.buttonShow = true; }, 300);
}
@@ -736,7 +731,7 @@ export default {
position: relative;
margin-right: 25rpx;
transition: all 0.3s ease;
-
+
&:active {
transform: scale(0.95);
}
@@ -764,7 +759,7 @@ export default {
font-weight: 400;
font-size: 28rpx;
color: #CCCCCC;
-
+
&::after {
content: '';
position: absolute;
@@ -784,6 +779,7 @@ export default {
from {
width: 0;
}
+
to {
width: 48rpx;
}
@@ -807,25 +803,25 @@ export default {
padding: 8rpx;
border-radius: 12rpx;
position: relative;
-
+
&:active {
transform: translateY(-6rpx) scale(1.05);
background-color: rgba(0, 0, 0, 0.02);
}
-
+
image {
transition: all 0.25s ease;
box-shadow: 0 2rpx 6rpx rgba(0, 0, 0, 0.1);
}
-
+
&:active image {
box-shadow: 0 8rpx 12rpx rgba(0, 0, 0, 0.15);
}
-
+
text {
transition: color 0.25s ease;
}
-
+
&:active text {
color: #666 !important;
}
@@ -839,11 +835,11 @@ export default {
overflow: visible;
border: none !important;
outline: none !important;
-
+
&::after {
border: none !important;
}
-
+
&::before {
content: '';
position: absolute;
@@ -857,11 +853,11 @@ export default {
opacity: 0;
transition: all 0.2s ease;
}
-
+
&:active {
transform: scale(0.9) rotate(15deg);
}
-
+
&:active::before {
transform: scale(1);
opacity: 1;
@@ -924,18 +920,18 @@ export default {
box-shadow: 0 4rpx 8rpx rgba(0, 0, 0, 0.1);
position: relative;
overflow: hidden;
-
+
// 页面加载动画
opacity: 0;
transform: translateY(20rpx);
transition: transform 0.5s ease, opacity 0.5s ease, background-color 0.2s ease, box-shadow 0.2s ease;
transition-delay: 0.3s;
-
+
&.show {
opacity: 1;
transform: translateY(0);
}
-
+
&.pulse {
animation: buttonPulse 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@@ -969,7 +965,7 @@ export default {
font-size: 35rpx;
background-color: #f9f9f9;
position: relative;
-
+
&::after {
content: '';
position: absolute;
@@ -1011,11 +1007,11 @@ export default {
transition: all 0.25s ease;
position: relative;
overflow: hidden;
-
+
&:active {
transform: scale(0.95);
}
-
+
&::after {
content: '';
position: absolute;
@@ -1029,12 +1025,12 @@ export default {
opacity: 0;
transition: all 0.3s ease-out;
}
-
+
&:active::after {
transform: translate(-50%, -50%) scale(3);
opacity: 0;
}
-
+
text {
position: relative;
z-index: 1;
@@ -1046,11 +1042,11 @@ export default {
.cancel-button {
background-color: #FFFFFF;
border: 1px solid #eee;
-
+
text {
color: #333333;
}
-
+
&:active {
background-color: #f5f5f5;
}
@@ -1059,11 +1055,11 @@ export default {
.confirm-button {
background-color: #CDEF27;
box-shadow: 0 4rpx 8rpx rgba(205, 239, 39, 0.3);
-
+
text {
color: #333333;
}
-
+
&:active {
background-color: #b9d721;
box-shadow: 0 2rpx 4rpx rgba(205, 239, 39, 0.2);
@@ -1075,6 +1071,7 @@ export default {
transform: scale(0.9);
opacity: 0;
}
+
to {
transform: scale(1);
opacity: 1;
@@ -1086,6 +1083,7 @@ export default {
opacity: 0;
transform: translateY(20rpx);
}
+
to {
opacity: 1;
transform: translateY(0);
@@ -1096,7 +1094,7 @@ export default {
opacity: 0;
transform: translateX(-20rpx);
transition: all 0.4s ease;
-
+
&.show {
opacity: 1;
transform: translateX(0);
@@ -1107,7 +1105,7 @@ export default {
opacity: 0;
transform: translateX(-20rpx);
transition: all 0.4s ease;
-
+
&.show {
opacity: 1;
transform: translateX(0);
@@ -1118,7 +1116,7 @@ export default {
opacity: 0;
transform: translateY(-20rpx);
transition: all 0.5s ease;
-
+
&.show {
opacity: 1;
transform: translateY(0);
@@ -1129,7 +1127,7 @@ export default {
opacity: 0;
transform: translateY(10rpx);
transition: all 0.4s ease;
-
+
&.show {
opacity: 1;
transform: translateY(0);
@@ -1141,7 +1139,7 @@ export default {
transform: translateY(20rpx);
transition: all 0.5s ease;
transition-delay: 0.2s;
-
+
&.show {
opacity: 1;
transform: translateY(0);
@@ -1153,15 +1151,18 @@ export default {
transform: scale(1);
box-shadow: 0 4rpx 8rpx rgba(0, 0, 0, 0.1);
}
+
40% {
transform: scale(0.92);
box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.05);
}
+
80% {
transform: scale(1.05);
box-shadow: 0 6rpx 10rpx rgba(0, 0, 0, 0.15);
background-color: #e0ff3a;
}
+
100% {
transform: scale(1);
box-shadow: 0 4rpx 8rpx rgba(0, 0, 0, 0.1);
diff --git a/pages/mall/index.vue b/pages/mall/index.vue
index 586b14b..85aebc8 100644
--- a/pages/mall/index.vue
+++ b/pages/mall/index.vue
@@ -1,87 +1,81 @@
-
-
-
-
- 商城好物
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
- {{ item.title }}
-
-
-
- ¥{{ item.price }}
-
-
-
- {{ item.sale_stock }}/{{ item.stock }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 确认订单
-
-
-
-
-
-
-
-
+
+
-
-
- {{ orderData.goods.title }}
+
+ {{ item.title }}
+
+
+
+ ¥{{ item.price }}
- 类型:明信片
-
-
-
- ¥{{ orderData.goods.price }}
-
- ×{{ orderData.goods.prize_num }}
+
+
+ {{ item.sale_stock }}/{{ item.stock }}
+
+
-
-
-
- 微信支付
-
-
-
-
+
+
+
+
+
+
+ 确认订单
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- 我已满18岁,阅读并同意
+
+
+
+
+
+
+
+
-
- 《用户协议》
-
+
+
-
- 《隐私政策》
-
+ 我已满18岁,阅读并同意
+
+
+ 《用户协议》
+
+
+
+ 《隐私政策》
+
+
+
+
+
+
+
+ {{
+ ` ¥${orderData.price}`
+ }}
+
+
+
+ {{ orderData.price * 100 }}{{ $config.getAppSetting('currency2_name') }}
+
+
+
+
-
-
- {{
- ` ¥${orderData.price}`
- }}
-
-
-
- {{ orderData.price * 100 }}{{ $config.getAppSetting('currency2_name') }}
-
-
-
-
-
-
@@ -252,7 +248,7 @@ export default {
if (this.zhifu == 1) {
}
-
+
},
confirmSubmit(type) {
diff --git a/pages/sangdai/sangdai copy.vue b/pages/sangdai/sangdai copy.vue
index a18fff5..9b32055 100644
--- a/pages/sangdai/sangdai copy.vue
+++ b/pages/sangdai/sangdai copy.vue
@@ -1,58 +1,33 @@
-
+
-
+
-
+
{{ v.title }}
-
+
-
+
-
-
+
+
-
+
-
-
+
+
@@ -116,21 +78,11 @@
-
+
-
+
-
+
-
+
{{ item.goods_title }}
@@ -211,47 +153,27 @@
-
+
-
+
-
+
-
+
@@ -260,25 +182,15 @@
-
-
+
+
-
+
发货须知
@@ -286,11 +198,7 @@
-
+
@@ -314,14 +222,9 @@
-
+
@@ -348,13 +251,9 @@
环保合计:{{ zong_price.toFixed(2) }}元
-
+
-
+
{{ yulan_news.shang_title }}
-
+
-
+ ">
{{ yulan_news.goodslist_title }}
@@ -788,6 +659,12 @@ export default {
if (that.fh_status) {
return
}
+ uni.showToast({
+ title: '发货未开放',
+ icon: 'loading',
+ duration: 1000
+ })
+ return;
if (that.recovery_info && that.recovery_info.length > 0) {
that.fh_status = true
that.req({
@@ -1224,9 +1101,11 @@ export default {
.kaType {
display: flex;
margin: 0 0 0 30rpx;
- > view {
+
+ >view {
margin-right: 20rpx;
}
+
.sty {
background-color: #ebfffa;
color: #333;
@@ -1234,6 +1113,7 @@ export default {
padding: 15rpx 20rpx;
border-radius: 10rpx;
}
+
.selSty {
background-color: #1ac762;
color: #333;
@@ -1241,29 +1121,34 @@ export default {
border-radius: 10rpx;
}
}
+
.caStyle {
width: 690rpx;
height: 880rpx;
margin: 0 30rpx 20rpx;
padding-top: 10rpx;
box-sizing: border-box;
- > image {
+
+ >image {
width: 670rpx;
height: 740rpx;
display: block;
margin: 0rpx auto;
}
+
.caTitle {
display: flex;
justify-content: space-between;
margin: 20rpx 20rpx 0;
color: #fff;
}
+
text {
color: #feff00;
}
}
-.yulanStyle > .shang_img {
+
+.yulanStyle>.shang_img {
width: 563rpx;
height: 754rpx;
position: absolute;
@@ -1272,7 +1157,8 @@ export default {
right: 0;
margin: 0 auto;
}
-.yulanStyle > .img_bg {
+
+.yulanStyle>.img_bg {
width: 100%;
height: 100%;
position: absolute;
@@ -1280,7 +1166,8 @@ export default {
top: 0;
z-index: 999;
}
-.yulanStyle > view:nth-of-type(1) {
+
+.yulanStyle>view:nth-of-type(1) {
position: absolute;
top: 54rpx;
left: 45rpx;
@@ -1357,16 +1244,16 @@ textarea {
color: #999999;
}
-.kuaidi > view:nth-of-type(2) {
+.kuaidi>view:nth-of-type(2) {
font-size: 28rpx;
}
-.kuaidi > view:nth-of-type(1) {
+.kuaidi>view:nth-of-type(1) {
border-bottom: 1rpx solid #666666;
padding: 20rpx 0;
}
-.kuaidi > view {
+.kuaidi>view {
margin-top: 20rpx;
}
@@ -1380,7 +1267,7 @@ textarea {
color: #ffffff;
}
-.order_title > image {
+.order_title>image {
width: 162rpx;
height: 47rpx;
position: absolute;
@@ -1468,7 +1355,7 @@ textarea {
color: #ffffff;
}
-.shop_item_img > view:nth-of-type(1) {
+.shop_item_img>view:nth-of-type(1) {
position: absolute;
bottom: 0;
left: 0;
@@ -1496,7 +1383,7 @@ textarea {
}
}
-.shop_item_img > image {
+.shop_item_img>image {
width: 100%;
height: 100%;
border-radius: 8rpx;
@@ -1536,7 +1423,7 @@ textarea {
padding-bottom: 10rpx;
}
-.xuyuan_head > view:nth-of-type(2) {
+.xuyuan_head>view:nth-of-type(2) {
font-size: 24rpx;
}
@@ -1616,12 +1503,12 @@ textarea {
align-items: center;
}
-.footer > image {
+.footer>image {
width: 212rpx;
height: 70rpx;
}
-.footer > image:nth-of-type(3) {
+.footer>image:nth-of-type(3) {
/* width: 212rpx;
height: 106rpx;
position: absolute;
@@ -1635,7 +1522,8 @@ textarea {
.jiesuo {
margin: auto;
}
-.footer > view {
+
+.footer>view {
width: 206rpx;
height: 84rpx;
display: flex;
@@ -1647,6 +1535,7 @@ textarea {
color: #ffffff;
margin: 0 auto;
}
+
.footer {
width: 690rpx;
display: flex;
@@ -1686,7 +1575,7 @@ button {
z-index: 21;
}
-.shop_head > text {
+.shop_head>text {
background: #ff7514;
border-radius: 10rpx;
padding: 2rpx 20rpx;
@@ -1709,7 +1598,7 @@ button {
/* border: 1rpx solid red; */
}
-.shop_title > image {
+.shop_title>image {
width: 140rpx;
height: 140rpx;
margin-right: 20rpx;
@@ -1822,7 +1711,7 @@ button {
height: 26rpx;
}
-.goods_title > view {
+.goods_title>view {
/* background: #ff7514; */
width: 40rpx;
height: 40rpx;
@@ -1851,12 +1740,12 @@ button {
padding-right: 10rpx;
}
-.title_ipt > image {
+.title_ipt>image {
width: 33rpx;
height: 33rpx;
}
-.title_ipt > input {
+.title_ipt>input {
width: 570rpx;
height: 60rpx;
box-sizing: border-box;
@@ -1881,10 +1770,12 @@ button {
color: #ffffff;
font-size: 24rpx;
}
-.qiehuan_box > image {
+
+.qiehuan_box>image {
width: 170rpx;
height: 59rpx;
}
+
.activeImg {
position: absolute;
width: 30rpx !important;
@@ -1894,6 +1785,7 @@ button {
right: 0;
margin: 0 auto;
}
+
.qiehuan {
display: flex;
justify-content: space-around;
@@ -1902,11 +1794,13 @@ button {
font-weight: bold;
font-family: YouSheBiaoTiHei;
}
+
.qiehuan image {
width: 90rpx;
height: 47rpx;
}
-.qiehuan > view {
+
+.qiehuan>view {
// flex: 1;
// text-align: center;
margin-right: 20rpx;
@@ -1943,13 +1837,13 @@ button {
color: #bec0d3;
}
-.header_title > view:nth-of-type(2) {
+.header_title>view:nth-of-type(2) {
width: 520rpx;
text-align: center;
/* margin: auto; */
}
-.header_title > view:nth-of-type(1) {
+.header_title>view:nth-of-type(1) {
display: flex;
align-items: center;
}
@@ -1978,8 +1872,7 @@ button {
width: 100%;
}
-.head_top {
-}
+.head_top {}
.head {
width: 750rpx;
diff --git a/pages/sangdai/sangdai.vue b/pages/sangdai/sangdai.vue
index fba10f3..7f98fc5 100644
--- a/pages/sangdai/sangdai.vue
+++ b/pages/sangdai/sangdai.vue
@@ -677,6 +677,7 @@ export default {
})
return
}
+
let data = this.handelList.map(item => {
return {
prize_code: item.prize_code,
@@ -912,6 +913,14 @@ export default {
},
open(e) {
+ if (e == "sendPop") {
+ uni.showToast({
+ title: '发货未开放',
+ icon: 'none',
+ duration: 1000
+ })
+ return;
+ }
this.handelList = []
const choose = this.getChooseGoods()
diff --git a/pages/shouye/index.vue b/pages/shouye/index.vue
index 83e6267..1eb608f 100644
--- a/pages/shouye/index.vue
+++ b/pages/shouye/index.vue
@@ -7,24 +7,16 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
- 添加客服领优惠
- 识别图中二维码
-
-
-
-
-
-
-
+
@@ -159,30 +133,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -191,535 +147,758 @@
\ No newline at end of file
diff --git a/pages/user/index.vue b/pages/user/index.vue
index 047be42..732b4de 100644
--- a/pages/user/index.vue
+++ b/pages/user/index.vue
@@ -4,7 +4,7 @@
:fixed="false">
-
+
@@ -24,10 +24,11 @@
- LV.{{userinfo.quan_yi_level.level}}
+ LV.{{ userinfo.quan_yi_level.level }}
- 还差{{userinfo.quan_yi_level.cha}}欧气值升级
+ 还差{{ userinfo.quan_yi_level.cha
+ }}欧气值升级
已满级
@@ -38,7 +39,8 @@
查看详情
+ :src="$img1('my/ou.png')">
+
-
-
-
-
-
- 添加客服领优惠
- 识别图中二维码
-
-
-
-
+
+
+
+
+
+
+
@@ -158,19 +158,20 @@
星钻充值
+ style="width: 30rpx; height: 30rpx; margin-top: 14rpx">
+
选择充值金额
+ 'background-image': `url(${$img(
+ money_1 == v
+ ? '/static/img/mine_chong_tab_bg_act.png'
+ : '/static/img/mine_chong_tab_bg.png'
+ )})`
+ }">
¥
{{ v }}
@@ -185,8 +186,8 @@
需支付:{{ money_1 || 0 }}元
+ 'background-image': `url(${$img('/static/img/mine_qrcz.png')})`
+ }">
@@ -273,1467 +274,1495 @@
\ No newline at end of file
diff --git a/pages/user/tui-guang.vue b/pages/user/tui-guang.vue
index 529f602..9cd099f 100644
--- a/pages/user/tui-guang.vue
+++ b/pages/user/tui-guang.vue
@@ -85,18 +85,17 @@
-
+
-
+