feat(我的订单模块):

1、新增关联api静态文件
2、对接部分我的订单支付接口
3、动态渲染支付弹窗金额
This commit is contained in:
wangsongsole 2022-09-29 14:09:48 +08:00
parent b43c64d511
commit 4df38370e3
2 changed files with 261 additions and 12 deletions

239
v1_5_0_C/api1_4_0.js Normal file
View File

@ -0,0 +1,239 @@
let baseurl = "http://192.168.6.75"
let pathname = document.location.href
//开发环境
if (
pathname.includes("1688sup") ||
pathname.includes("83323") ||
pathname.includes("86885") ||
pathname.includes("22233")
) {
//正式
baseurl = "https://marketapi.1688sup.com"
}
if (pathname.includes("test")) {
baseurl = "http://192.168.6.75"
}
//统一请求
axios.interceptors.request.use((config) => {
// config.headers.Version = 'v1.3.0';
return config
})
const req = {
//get请求
axiosGet(url, params, isToken = false) {
const obj = { method: "get", url: baseurl + url, params }
if (isToken) {
obj.headers = {
authorization: "873e84478a2e978c48a145547d93f4bc"
}
}
var result = axios(obj)
.then(function (res) {
return res.data
})
.catch(function (error) {
alert("服务器错误")
return
})
return result
},
//获取key列表
axiosPostgetKey(url, data) {
let result = axios({
method: "post",
url: baseurl + url,
data: data,
header: {
"Content-type": "application/x-www-form-urlencoded"
}
})
.then((res) => {
return res
})
.catch((error) => {
alert("服务器错误")
return "exception=" + error
})
return result
},
//post请求
axiosPost(url, data) {
let result = axios({
method: "post",
url: baseurl + url,
data: data,
header: {
"Content-type": "application/x-www-form-urlencoded"
}
})
.then((res) => {
return res.data
})
.catch((error) => {
alert("服务器错误")
return "exception=" + error
})
return result
},
//put请求
axiosPut(url, data) {
let result = axios({
method: "put",
url: baseurl + url,
data: data,
header: {
"Content-type": "application/x-www-form-urlencoded"
}
})
.then((res) => {
return res.data
})
.catch((error) => {
alert("服务器错误")
return "exception=" + error
})
return result
}
}
//图形验证码
function captchaimg() {
let parmas = {}
let customsessionid = ""
const xhr = new XMLHttpRequest()
xhr.open("GET", baseurl + "/auth/login/verify")
// xhr.setRequestHeader('Version', 'v1.1.0');
xhr.responseType = "arraybuffer"
xhr.onreadystatechange = function (response) {
response.header = {
Accept: "application/json",
"Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
}
var img = document.getElementById("captcha_img")
var byteArray = new Uint8Array(response.target.response)
var binary = ""
for (var i = 0; i < byteArray.byteLength; i++) {
binary += String.fromCharCode(byteArray[i])
}
let str = "data:image/png;base64," + window.btoa(binary)
img.src = str
customsessionid = xhr.getResponseHeader("Unique-Str")
sessionStorage.setItem("unique_str", customsessionid)
}
xhr.send()
}
/*公共方法提取 */
//商品的各种异常状态。1是可以兑换不作提示
const product_status = (status, row) => {
let obj = {
2: "还没开始哟,兑换时间为" + row.begin_time + "至" + row.end_time, //未开始
3: "当前商品兑换已结束", //作废key批次
4: "亲,仅可兑换一次哦!", //仅兑换一次
5: "当前商品兑换次数达到上限", //累计次数达到上限
6: "暂无库存,看看其他商品吧~", //无库存
7: "当前商品不可兑换", //其他商品处于兑换中
8: "当前商品正在兑换中", //已兑换次数
10: "该商品暂无法兑换", //商品暂停
11: "兑换已过期,兑换时间为" + row.begin_time + "至" + row.end_time //正常过期
}
if (row.type == 2) {
//type:1 兑换码 2:立减金
obj["20"] =
"该立减金商品不在生效时间范围内,生效时间为" +
row.entity.time_limit.effect_time.start_time +
"至" +
row.entity.time_limit.effect_time.end_time //不在生效时间范围内
obj["21"] =
"该立减金商品不在领取时间段内,领取时间段为" +
row.entity.time_limit.receive_time.start_time +
"至" +
row.entity.time_limit.receive_time.end_time //不在领取时间范围内
}
return obj[status]
}
/* 周天排序 */
function sortWeeks(weeks) {
var _weeks = [] //创建临时排序的数组
for (var i = 0; i < weeks.length; i++) {
if (weeks[i] == "周一") {
var _week = {}
_week["id"] = 1
_week["name"] = "周一"
_weeks.push(_week)
}
if (weeks[i] == "周二") {
var _week = {}
_week["id"] = 2
_week["name"] = "周二"
_weeks.push(_week)
}
if (weeks[i] == "周三") {
var _week = {}
_week["id"] = 3
_week["name"] = "周三"
_weeks.push(_week)
}
if (weeks[i] == "周四") {
var _week = {}
_week["id"] = 4
_week["name"] = "周四"
_weeks.push(_week)
}
if (weeks[i] == "周五") {
var _week = {}
_week["id"] = 5
_week["name"] = "周五"
_weeks.push(_week)
}
if (weeks[i] == "周六") {
var _week = {}
_week["id"] = 6
_week["name"] = "周六"
_weeks.push(_week)
}
if (weeks[i] == "周日") {
var _week = {}
_week["id"] = 7
_week["name"] = "周日"
_weeks.push(_week)
}
}
_weeks.sort(function (a, b) {
return a.id - b.id
})
//将weeks清空并将排序好的值赋给weeks
const weeksData = []
if (isContinuityNum(_weeks.map((item) => item.id)) && _weeks.length > 1) {
weeksData.push(`${_weeks[0].name}${_weeks[_weeks.length - 1].name}`)
} else {
for (var i = 0; i < _weeks.length; i++) {
weeksData.push(_weeks[i].name)
}
}
return weeksData
}
//判断一串数字是否是连续的
function isContinuityNum(num) {
let array = []
if (num instanceof Array) {
array = [...num]
} else {
array = Array.from(num.toString()) //转换为数组
}
var i = array[0]
var isContinuation = true
for (var e in array) {
if (array[e] != i) {
isContinuation = false
break
}
i++
}
return isContinuation
}

View File

@ -10,7 +10,8 @@
charset="utf-8"></script>
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
</script>
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_4_0.js"></script>
<!-- <script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_4_0.js"></script> -->
<script src="./api1_4_0.js"></script>
<link rel="stylesheet" href="./myOrder.css" />
<link rel="stylesheet" href="./tabbar.css">
<link rel="stylesheet" href="./payPop.css">
@ -31,7 +32,8 @@
</div>
<div class="middle">
<img :src="item.show_url" alt="" v-if="item.type===1">
<img :src="item.show_url" alt="" v-else>
<img :src="`http://lsxdemall.oss-cn-beijing.aliyuncs.com/commonproductlogo/${item.pay_type===1?'zfbreduce':'wxreduce'}.png`"
alt="" v-else>
<div class="right">
<div class="title_originalPrice">
<p class="title">{{item.product_name}}</p>
@ -42,7 +44,7 @@
</div>
<div class="bottom">
<p class="money">实付金额:¥<span>{{item.pay_amount}}</span></p>
<p class="button" @click="show=true" v-show="item.status===6">立即支付</p>
<p class="button" @click="immediatelyPay(item)" v-show="item.status===6">立即支付</p>
<p class="button" @click="goExchange(item)" v-show="item.status===4">去兑换</p>
</div>
</div>
@ -55,8 +57,9 @@
<tab-component :current="2"></tab-component>
<!-- 支付弹窗 -->
<pay-pop :show.sync="show" :active="active" @payFunction="payFunction" />
<pay-pop :show.sync="show" :active="active" @payFunction="payFunction" :money="activeOrder.pay_amount" />
</div>
<script>
new Vue({
el: "#app",
@ -66,7 +69,8 @@
show: false, /* 支付弹窗状态 */
limit: 50,
page: 1,
orderList: []
orderList: [],
activeOrder: {}
}
},
@ -112,24 +116,30 @@
window.location.replace('./couponCollection.html');
},
/* 立即支付 */
immediatelyPay (item) {
this.activeOrder = item;
this.show = true
},
/* 去支付 */
payFunction ({ payType, isSupport }) {
this.active = payType
this.show = false
/* 判断浏览器 */
if (!isSupport) {
if (isSupport) {
this.popTitle = '温馨提示'
this.popText = '请在其他浏览器打开该链接'
this.popStatus = 2
this.popShow = true
return
}
if (payType === 1) { /* 微信支付 */
} else { /* 支付宝支付 */
/* 请求支付 */
req.axiosPut(`/key/order/setPayType/${this.activeOrder.order_number}/${payType}`).then(({ data, code }) => {
if (code === 200) {
console.log(data);
}
})
},
/* 去兑换 */