update: 长按图片测试问题,实现订阅消息功能

This commit is contained in:
mixtan 2025-09-20 09:14:44 +08:00
parent 41a6ada67b
commit 930cfd4886
3 changed files with 111 additions and 65 deletions

View File

@ -169,9 +169,10 @@
}">
<label v-if="item.eltm4.btnType == 4">{{ item.eltm4.btnText }}</label>
</view>
<view v-else :class="['c' + item.eltm4.btnType, { disable: getGoodsStatus(items) }]" @click.stop="addCart(items)">
<label v-if="item.eltm4.btnType == 3">buy</label>
</view>
<view v-else :class="['c' + item.eltm4.btnType, { disable: getGoodsStatus(items) }]"
@click.stop="addCart(items)">
<label v-if="item.eltm4.btnType == 3">buy</label>
</view>
</view>
</view>
</view>
@ -304,13 +305,14 @@
:style="{ 'font-size': '30px', color: item.eltm8.fontColor }"></label>
</view>
<navigator :url="'/pagesub/search/search?store_id='+shopInfo.store_id" class="u-search-box" v-if="item.eltmType == 9" :style="{
'background-color': item.bgColor,
'padding-top': item.eltm9.paddingTop + 'px',
'padding-bottom': item.eltm9.paddingBottom + 'px',
'padding-left': item.eltm9.paddingLeft + 'px',
'padding-right': item.eltm9.paddingRight + 'px',
}">
<navigator :url="'/pagesub/search/search?store_id=' + shopInfo.store_id" class="u-search-box"
v-if="item.eltmType == 9" :style="{
'background-color': item.bgColor,
'padding-top': item.eltm9.paddingTop + 'px',
'padding-bottom': item.eltm9.paddingBottom + 'px',
'padding-left': item.eltm9.paddingLeft + 'px',
'padding-right': item.eltm9.paddingRight + 'px',
}">
<view class="u-search-cont">
<uni-icons type="search" size="18" color="#666666" />
<text>{{ item.eltm9.tipText }}</text>
@ -333,7 +335,8 @@
</uni-nav-bar>
<movable-area class="movableAreaIM" v-if="item.eltmType == 11 && hasLogin && chatUrl">
<movable-view class="movableView" @touchmove.stop.prevent="doNothing" direction="all" :x="initX" :y="initY + 44 + 10">
<movable-view class="movableView" @touchmove.stop.prevent="doNothing" direction="all" :x="initX"
:y="initY + 44 + 10">
<view class="mCS" :style="{
'background-color': item.bgColor,
borderTopLeftRadius: (item.borderTopLeftRadius || 0) + 'px',
@ -398,21 +401,21 @@
<view v-for="(items, idx) in item.eltm13.data" :key="idx">
<view class="fromInput" v-if="items.type == 1"><label :style="{ color: item.eltm13.labelColor }">{{
items.labelText
}}</label><input type="text" :name="'' + items.id" maxlength="200" :placeholder="items.placeholderText"
}}</label><input type="text" :name="'' + items.id" maxlength="200" :placeholder="items.placeholderText"
:style="{
borderColor: items.borderColor,
color: item.eltm13.textColor,
}" /></view>
<view class="fromInput" v-if="items.type == 2"><label :style="{ color: item.eltm13.labelColor }">{{
items.labelText
}}</label>
}}</label>
<picker mode="date" :value="items.name" :data-id="items.id" @change="bindDateChange">
<view class="picker">{{ items.name || __("请选择时间") }} </view>
</picker>
</view>
<view class="fromInput" v-if="items.type == 3"><label :style="{ color: item.eltm13.labelColor }">{{
items.labelText
}}</label><textarea :name="'' + items.id" maxlength="400" :placeholder="items.placeholderText" :style="{
}}</label><textarea :name="'' + items.id" maxlength="400" :placeholder="items.placeholderText" :style="{
borderColor: items.borderColor,
color: item.eltm13.textColor,
}"></textarea>
@ -441,7 +444,7 @@
</checkbox-group>
<view class="fromInput" v-if="items.type == 6"><label :style="{ color: item.eltm13.labelColor }">{{
items.labelText
}}</label>
}}</label>
<view class="upload-view">
<view v-for="(info, idx) in items.data" :key="idx" class="upload-img-item">
<image mode="aspectFit" :src="info"></image>
@ -568,7 +571,7 @@
<view class="activity-price" v-if="
item.eltm16.isShowPrice == null || item.eltm16.isShowPrice
"><label class="price" :style="{ color: item.eltm16.priceColor }">{{ __("") }}{{ items.ItemSalePrice
}}</label><label class="del-price" v-if="items.selectType == 14">{{ __("") }}{{ items.MarketPice
}}</label><label class="del-price" v-if="items.selectType == 14">{{ __("") }}{{ items.MarketPice
}}</label><label class="tip" v-if="items.selectType == 12 || items.selectType == 13">{{
items.UserLimit }}{{ __("人团") }}</label>
</view>
@ -606,7 +609,7 @@
<view class="activity-price" v-if="
item.eltm16.isShowPrice == null || item.eltm16.isShowPrice
"><label class="price" :style="{ color: item.eltm16.priceColor }">{{ __("") }}{{ items.ItemSalePrice
}}</label>
}}</label>
</view>
<view class="activity-desc" v-if="item.eltm16.isShowNum">
{{ __("已有") }}{{ items.OrderCount }} {{ __("人参加") }}
@ -650,7 +653,7 @@
<view class="activity-price" v-if="
item.eltm16.isShowPrice == null || item.eltm16.isShowPrice
"><label class="price" :style="{ color: item.eltm16.priceColor }">{{ __("") }}{{ items.ItemSalePrice
}}</label><label class="del-price" v-if="items.selectType == 14">{{ __("") }}{{ items.MarketPice
}}</label><label class="del-price" v-if="items.selectType == 14">{{ __("") }}{{ items.MarketPice
}}</label><label class="tip" v-if="items.selectType != 14">{{ items.UserLimit }}{{ __("人团")
}}</label>
</view>
@ -687,7 +690,7 @@
<view class="activity-price" v-if="
item.eltm16.isShowPrice == null || item.eltm16.isShowPrice
"><label class="price" :style="{ color: item.eltm16.priceColor }">{{ __("") }}{{ items.ItemSalePrice
}}</label></view>
}}</label></view>
<view class="activity-desc" v-if="item.eltm16.isShowNum">{{ __("已有") }}{{ items.OrderCount }} {{
__("人参加") }}
</view>
@ -735,7 +738,7 @@
<view class="activity-price" v-if="
item.eltm16.isShowPrice == null || item.eltm16.isShowPrice
"><label class="price" :style="{ color: item.eltm16.priceColor }">{{ __("") }}{{ items.ItemSalePrice
}}</label><label class="del-price" v-if="items.selectType == 14">{{ __("") }}{{ items.MarketPice
}}</label><label class="del-price" v-if="items.selectType == 14">{{ __("") }}{{ items.MarketPice
}}</label>
<view class="activity-btn" :style="{
backgroundColor: item.eltm16.btnBgColor,
@ -785,7 +788,7 @@
<view class="activity-price" v-if="
item.eltm16.isShowPrice == null || item.eltm16.isShowPrice
"><label class="price" :style="{ color: item.eltm16.priceColor }">{{ __("") }}{{ items.ItemSalePrice
}}</label><label class="del-price" v-if="items.selectType == 14">{{ __("") }}{{ items.MarketPice
}}</label><label class="del-price" v-if="items.selectType == 14">{{ __("") }}{{ items.MarketPice
}}</label>
<view class="activity-btn" :style="{
backgroundColor: item.eltm16.btnBgColor,
@ -889,7 +892,7 @@
</view>
<loginPopup :show="showLoginPopup" @close="closeLoginPopup"></loginPopup>
<loginPopup :show="showLoginPopup" @close="closeLoginPopup"></loginPopup>
</view>
</template>
@ -977,9 +980,9 @@ export default {
return "diy";
},
},
isLogin:{
type:Boolean,
default(){
isLogin: {
type: Boolean,
default() {
return false
}
}
@ -1065,13 +1068,13 @@ export default {
this.showLoginPopup = false;
},
getGoodsStatus (item){
getGoodsStatus(item) {
return item?.product_quantity == 0 || item?.item_quantity == 0
},
async addCart(item) {
if (!this.hasLogin) {
if (!this.hasLogin) {
this.showLoginPopup = true;
return;
}
@ -1138,21 +1141,25 @@ export default {
// return
// }
// }
var t = e.currentTarget.dataset;
//console.info(t);
console.log('=====',parseInt(t.type))
switch (parseInt(t.type)) {
case 0:
uni.makePhoneCall({
phoneNumber:
typeof t.mobile != "undefined" ? t.mobile.toString() : "", //
success: function (e) {
console.log(e);
},
fail: function (e) {
console.log(e);
},
});
if (typeof t.mobile != "undefined" || t.mobile != "") {
console.log('==进来了===')
uni.makePhoneCall({
phoneNumber:
typeof t.mobile != "undefined" ? t.mobile.toString() : "", //
success: function (e) {
console.log(e);
},
fail: function (e) {
console.log(e);
},
});
}
break;
case 1:
// this.$emit('buy', 'hello')
@ -1532,14 +1539,14 @@ uni-page-body {
height: 100% !important;
}
.mCS{
.mCS {
position: initial;
}
.diyPage {
// padding-bottom: 8rpx;
clear: both;
overflow: hidden;
clear: both;
overflow: hidden;
}
.activity-info {

View File

@ -36,7 +36,8 @@
<image
lazy-load
src="https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/rpk_min.png"
></image>
>
</image>
</movable-view>
<view
@ -549,7 +550,8 @@
margin: auto;
"
src="https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/static/xcxfile/appicon/img/location.png"
></image>
>
</image>
<view
class="m-cell-ft m-order-typetxt"
style="color: #17abe3; margin-left: 4rpx"
@ -669,8 +671,8 @@
v-if="item.return_id"
class="u-link-btn hide"
style="line-height: 30rpx"
>{{ __("售后详情") }}</navigator
>
>{{ __("售后详情") }}
</navigator>
</view>
</view>
</navigator>
@ -841,7 +843,8 @@
lazy-load
src="/static/images/call.png"
style="width: 30rpx; height: 26rpx; margin-right: 10rpx"
></image>
>
</image>
<view class="m-cell-ft m-order-typetxt" style="color: #17abe3">
{{ OrderInfo.chain_mobile }}</view
>
@ -1196,6 +1199,8 @@ export default {
_mapContext: null,
time: null,
isReminderOrder: false,
subscribe: 0,
tmplIds: ["kiDj_hSF_ASwD-Dlgxnypi6IJBQZ12a-hEpd3zZ-Uxc", "Lq6_OHOemtmBoWGrd9zvyJ3ultzXB5metmqPtYeV0pc"],
};
},
components: {
@ -1219,7 +1224,12 @@ export default {
});
let that = this;
this.subscribe =
options.subscribe && options.subscribe == 1
? options.subscribe
: this.subscribe;
that._mapContext = uni.createMapContext("map", this);
this.setData({
options: options,
discount: options.discount,
@ -1230,20 +1240,48 @@ export default {
});
/* if (that.$.isNull(this.userInfo))
{
{
that.forceUserInfo(function(user) {
that.InitPage(options)
});
}
else
{
}
else
{
that.InitPage(options)
} */
} */
this.notice.addNotification("RefreshMessage", this.RefreshMessage, this);
},
onShow: function () {
const _this = this
this.InitPage(this.options);
if (this.subscribe == 1) {
$.showModal({
title: "订阅提示",
content: "是否订阅活动消息通知?",
cancelText: "暂不订阅",
confirmText: "立即订阅",
success: function (n) {
if (n.confirm) {
wx.requestSubscribeMessage({
tmplIds: _this.tmplIds,
success(res) {
console.log("success res====", res);
uni.showToast({
title: "消息已订阅",
});
},
fail(res) {
uni.showToast({
title: "稍后再试",
});
},
});
}
},
});
}
},
onUnload: function () {
//
@ -1803,9 +1841,9 @@ export default {
},
});
/* var t = {store_id: this.shopInfo.Id, sponsorId: this.userInfo.Id, order_id: options.on};
that.$.xsr(that.$.makeUrl(orderapi.PrepareShareLuckyRedPacket, t), function (e) {
that.setData({maxRPK: e.Info.LuckyOrder, ActivityGroupId: e.Info.LuckyRedPacketActivityGroupId})
})*/
that.$.xsr(that.$.makeUrl(orderapi.PrepareShareLuckyRedPacket, t), function (e) {
that.setData({maxRPK: e.Info.LuckyOrder, ActivityGroupId: e.Info.LuckyRedPacketActivityGroupId})
})*/
},
applyCancelOrder: function (OrderInfo) {
let that = this;
@ -1898,10 +1936,10 @@ export default {
}, 1500);
/*
that.$.navigateBack(1, function() {
var e = {};
that.notice.postNotificationName("RefreshMessage", e)
})
that.$.navigateBack(1, function() {
var e = {};
that.notice.postNotificationName("RefreshMessage", e)
})
*/
});
}
@ -1939,7 +1977,7 @@ export default {
that.$.alert(that.__("收货成功!"), function () {
that.notice.postNotificationName("RefreshMessage", e);
});
}
}
},
});
} else if (e.extraData.status === "fail") {
@ -2053,7 +2091,7 @@ export default {
/*
that.$.navigateBack(1, function() {
var e = {};
that.notice.postNotificationName("RefreshMessage", e)
that.notice.postNotificationName("RefreshMessage", e)
})
*/
});
@ -2360,6 +2398,7 @@ export default {
padding: 6px 12px;
border-top-left-radius: 0 !important;
border-top-right-radius: 0 !important;
.order-name {
font-size: 30px;
font-weight: bold;
@ -2417,6 +2456,7 @@ export default {
.move-area {
margin-top: 44px;
}
/* #endif */
.nav-title {

View File

@ -1774,7 +1774,7 @@ export default {
} else {
const item = that.submitinfo.items[0].items[0];
if (item.payment_type_id === 1) {
that.$.gotopage("/member/order/detail?on=" + that.order_id);
that.$.gotopage(`/member/order/detail?on=${that.order_id}&subscribe=1`);
} else {
that.gotopay();
}
@ -1816,13 +1816,12 @@ export default {
that.returnUrl(param.order_id);
},
fail: function (n) {
that.$.gotopage("/member/order/detail?on=" + param.order_id);
that.$.gotopage(`/member/order/detail?on=${param.order_id}&subscribe=1`);
that.isTmplMsg && that.sendMessage(param.order_id, 1);
},
complete: function (n) {
if (n.errMsg == "requestPayment:cancel") {
that.$.gotopage("/member/order/detail?on=" + param.order_id);
that.$.gotopage(`/member/order/detail?on=${param.order_id}&subscribe=1`);
that.isTmplMsg && that.sendMessage(param.order_id, 1);
}
},
@ -1956,7 +1955,7 @@ export default {
// 100setPaidYes
setTimeout(function () {
that.$.gotopage(
"/member/order/detail?on=" + e + "&init_pay_flag=true"
`/member/order/detail?on="${e}&init_pay_flag=true&subscribe=1`
);
}, 100);
}