修改支付
This commit is contained in:
parent
1910d111de
commit
96493e08d8
@ -44,7 +44,7 @@
|
|||||||
<view style="color: #009688;" @tap="getbz(n.orderNo)">查看换电详情</view>
|
<view style="color: #009688;" @tap="getbz(n.orderNo)">查看换电详情</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="n.status == 6" class="qxyy" @tap="topay(`/minePages/payment/index?orderNo=${n.orderNo}&amount=${n.amount}`)">去支付</view>
|
<view v-if="n.status == 6" class="qxyy" @tap="topay(`/minePages/payment/index?orderNo=${n.orderNo}&amount=${n.amount}&plateNum=${n.plateNum}&stationName=${n.stationName}`)">去支付</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<up-empty v-if="list.length == 0" mode="list" text="暂无订单" />
|
<up-empty v-if="list.length == 0" mode="list" text="暂无订单" />
|
||||||
@ -67,8 +67,11 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref,reactive } from 'vue'
|
import { ref,reactive } from 'vue'
|
||||||
import { orderlist,dzbzxq } from '@/utils/service'
|
import { orderlist,dzbzxq } from '@/utils/service'
|
||||||
import { onReachBottom } from '@dcloudio/uni-app'
|
import { onShow,onReachBottom } from '@dcloudio/uni-app'
|
||||||
|
|
||||||
|
onShow(() => {
|
||||||
|
tabshand(stanum.value)
|
||||||
|
})
|
||||||
|
|
||||||
//订单状态 1-已创建,2-换电中,3-换电完成,4-充电中,5-充电完成,6-待结算,7-已完成,9-已取消
|
//订单状态 1-已创建,2-换电中,3-换电完成,4-充电中,5-充电完成,6-待结算,7-已完成,9-已取消
|
||||||
const statelist = reactive([
|
const statelist = reactive([
|
||||||
|
|||||||
95
src/minePages/paySuccess/index.vue
Normal file
95
src/minePages/paySuccess/index.vue
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
<template>
|
||||||
|
<up-navbar
|
||||||
|
title="支付详情"
|
||||||
|
bgColor="#00aa7f"
|
||||||
|
:autoBack="false"
|
||||||
|
leftIconColor="#00aa7f"
|
||||||
|
titleStyle="color:#fff"
|
||||||
|
:placeholder="true"
|
||||||
|
/>
|
||||||
|
<view style="padding: 100rpx 20rpx; background: #fff;">
|
||||||
|
<view style="display: flex;align-items: center;justify-content: center;">
|
||||||
|
<up-icon name="checkmark-circle" color="#00aa00" size="38" />
|
||||||
|
<view style="padding-left: 10rpx;font-size: 54rpx;color: #00aa00;">支付成功</view>
|
||||||
|
</view>
|
||||||
|
<view class="dingdan">
|
||||||
|
<view>
|
||||||
|
<view>订单号</view>
|
||||||
|
<view style="font-size: 28rpx;">YTSOgyy000012025011110572044197C</view>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<view>订单金额</view>
|
||||||
|
<view>¥100</view>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<view>车牌号</view>
|
||||||
|
<view>冀A12345D</view>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<view>换电站</view>
|
||||||
|
<view>北京1号换电站</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="btns">
|
||||||
|
<view class="qxyy" @tap="gohome">返回首页</view>
|
||||||
|
<view class="qxyy" @tap="goorder">我的订单</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref,reactive } from 'vue'
|
||||||
|
import { payment,getip } from '@/utils/service'
|
||||||
|
import { onLoad,onShow } from '@dcloudio/uni-app'
|
||||||
|
|
||||||
|
function gohome(){
|
||||||
|
uni.switchTab({
|
||||||
|
url:'/pages/home/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function goorder(){
|
||||||
|
uni.navigateTo({
|
||||||
|
url:'/minePages/order/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
page{
|
||||||
|
background: #f4f4f4;
|
||||||
|
}
|
||||||
|
.dingdan{
|
||||||
|
padding:60rpx 20rpx 100rpx;
|
||||||
|
>view{
|
||||||
|
display: flex;
|
||||||
|
justify-content:space-between;
|
||||||
|
padding-bottom: 24rpx;
|
||||||
|
>view{
|
||||||
|
padding-right: 14rpx;
|
||||||
|
}
|
||||||
|
>view:last-child{
|
||||||
|
color: #616161;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btns{
|
||||||
|
display: flex;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
justify-content:space-between
|
||||||
|
}
|
||||||
|
.qxyy{
|
||||||
|
width: 40%;
|
||||||
|
height: 80rpx;
|
||||||
|
//margin: 100rpx auto 0;
|
||||||
|
line-height: 80rpx;
|
||||||
|
border-radius:16rpx;
|
||||||
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
background: #00aa00;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -8,68 +8,97 @@
|
|||||||
:placeholder="true"
|
:placeholder="true"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<view class="content">
|
<view style="display: flex;align-items:center;justify-content: space-between;padding:30rpx;border-bottom:1px solid #f4f4f4;background: #fff;">
|
||||||
<view style="padding-bottom: 200rpx;text-align: center;">
|
<view>付款金额</view>
|
||||||
<text>¥</text>
|
<view style="color: #ffaa00;">
|
||||||
<text style="font-size: 60rpx;">100</text>
|
<text>¥ </text>
|
||||||
<text>元</text>
|
<text style="font-size: 50rpx;">{{payqs.money}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="qxyy" @tap="payhand">立即支付</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
<view style="padding: 40rpx 20rpx 20rpx;color: #959595;">选择支付方式</view>
|
||||||
|
<view style="background: #fff;">
|
||||||
|
<radio-group size="30" @change="radioChange">
|
||||||
|
<label style="display: flex;align-items: center;padding: 30rpx;border-bottom: 2px solid #f4f4f4;">
|
||||||
|
<radio :checked="actv == 1" value="1" color="#00aa00" style="transform:scale(80%);" />
|
||||||
|
<view style="display: flex;align-items: center;">
|
||||||
|
<image src="/src/static/img/yuer.png" style="width: 60rpx;height: 60rpx;" />
|
||||||
|
<view style="padding-left: 10rpx;">余额</view>
|
||||||
|
</view>
|
||||||
|
</label>
|
||||||
|
<label style="display: flex;align-items: center;padding: 30rpx;">
|
||||||
|
<radio :checked="actv == 2" value="2" color="#00aa00" style="transform:scale(80%);" />
|
||||||
|
<view style="display: flex;align-items: center;">
|
||||||
|
<image src="/src/static/img/weixin.png" style="width: 60rpx;height: 60rpx;" />
|
||||||
|
<view style="padding-left: 10rpx;">微信</view>
|
||||||
|
</view>
|
||||||
|
</label>
|
||||||
|
</radio-group>
|
||||||
|
</view>
|
||||||
|
<view class="qxyy" @tap="payhand">立即支付</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref,reactive } from 'vue'
|
import { ref,reactive } from 'vue'
|
||||||
import { payment } from '@/utils/service'
|
import { payment,getip } from '@/utils/service'
|
||||||
import { onLoad,onShow } from '@dcloudio/uni-app'
|
import { onLoad,onShow } from '@dcloudio/uni-app'
|
||||||
|
|
||||||
onLoad((opt:any) => {
|
onLoad((opt:any) => {
|
||||||
payqs.money = opt.amount
|
payqs.money = opt.amount*1
|
||||||
payqs.detail.costPrice = opt.amount
|
payqs.attach = opt.orderNo
|
||||||
payqs.detail.goodsDetail.unitPrice = opt.amount
|
payqs.detail.goodsDetail.merchantGoodsId = opt.orderNo
|
||||||
|
payqs.detail.goodsDetail.unitPrice = opt.amount*1
|
||||||
|
|
||||||
|
payqs.description = `车牌号:${opt.plateNum} 换电站:${opt.stationName}`
|
||||||
|
// payqs.detail.costPrice = opt.amount
|
||||||
|
// payqs.detail.goodsDetail.unitPrice = opt.amount
|
||||||
})
|
})
|
||||||
|
|
||||||
|
let actv = ref(2)
|
||||||
|
function radioChange(v:any) {
|
||||||
|
console.log(v,'v')
|
||||||
|
}
|
||||||
|
|
||||||
let payqs = reactive({
|
let payqs = reactive({
|
||||||
wuid:uni.getStorageSync('wxuid'),
|
wuid:uni.getStorageSync('wxuid'),
|
||||||
remarks:'',
|
description:'', //订单总描述
|
||||||
money:'',
|
money:0, //支付金额,单位:分
|
||||||
|
//timeExp:'', //支付结束时间
|
||||||
|
attach:'',
|
||||||
detail:{
|
detail:{
|
||||||
costPrice:'', //订单原价
|
|
||||||
invoiceId:'', //商家小票ID
|
|
||||||
goodsDetail:{
|
goodsDetail:{
|
||||||
merchantGoodsId:'', //商户侧商品编码
|
merchantGoodsId:'', //商户侧商品编码
|
||||||
wechatpayGoodsId:'', //微信支付定义的统一商品编号(没有可不传)
|
wechatpayGoodsId:'', //微信支付定义的统一商品编号(没有可不传)
|
||||||
goodsName:'', //商品的实际名称
|
goodsName:'', //商品的实际名称
|
||||||
quantity:1, //商品数量
|
quantity:1, //商品数量
|
||||||
unitPrice:'' //商品价格
|
unitPrice:0 //商品价格
|
||||||
}
|
}//订单附加信息
|
||||||
}
|
},
|
||||||
|
payerClientIp:'', //用户IP
|
||||||
|
deviceId:'', //用户设备型号
|
||||||
|
stationCode:''
|
||||||
|
})
|
||||||
|
|
||||||
|
//获取ip
|
||||||
|
getip().then((rps:any) => {
|
||||||
|
payqs.payerClientIp = rps.data
|
||||||
})
|
})
|
||||||
|
|
||||||
function payhand() {
|
function payhand() {
|
||||||
payment(payqs).then((rps:any) => {
|
payment(payqs).then((rps:any) => {
|
||||||
console.log(rps)
|
|
||||||
// appId: "wx2ab384cf1e6f85a1"
|
|
||||||
// nonceStr: "WhtgCld5gCTWBDzfFuRcFEhKCYTsIq2f"
|
|
||||||
// packageVal: "prepay_id=wx091610306843188838925c6a38a9fb0000"
|
|
||||||
// paySign: "JCWH1qZtgIJx6k+Cah5Js40Bgx9k1sQlvthfsYu3IwexwPX3JXOnEjAHhKSG61iRkcdaxaqtcIxYpXUuiQOwWf4epZE+YTZIJ021eXiM4J/o0NwXXTB7guEDo5MuEFQWsrdyAqhoTD1cziVrKyp/ka1aux5ULOgVfn6FvHRaoEO+YIn71ls9z/sKloJjuCS9bdSppknJwAmmVD+k7Xc/vCiFZ0c7k13JzYWbWCXgHCMNJ02DrP75EuzuDvmN/4U9ABN9z/SN/Roz2fs9/h7DPagICC9oj0oEg80+Y4S84EUFupsR2MCFVQlCF4+dPdCx75JcXId6cSIE+ySJciyjHQ=="
|
|
||||||
// signType: "RSA"
|
|
||||||
// timeStamp: "1736410231"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//#ifdef MP-WEIXIN
|
//#ifdef MP-WEIXIN
|
||||||
wx.requestPayment({
|
wx.requestPayment({
|
||||||
timeStamp:rps.data.timeStamp,
|
timeStamp:rps.data.timeStamp,
|
||||||
nonceStr: rps.data.timeStamp,
|
nonceStr: rps.data.nonceStr,
|
||||||
package: rps.data.timeStamp,
|
package: rps.data.packageVal,
|
||||||
signType: rps.data.signType,
|
signType: rps.data.signType,
|
||||||
paySign: rps.data.paySign,
|
paySign: rps.data.paySign,
|
||||||
success:function(res){
|
success(){
|
||||||
|
uni.redirectTo({
|
||||||
|
url:'/minPages/paySuccess/index'
|
||||||
|
})
|
||||||
},
|
},
|
||||||
fail:function(res){
|
fail(){
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -83,19 +112,15 @@
|
|||||||
page{
|
page{
|
||||||
background: #f4f4f4;
|
background: #f4f4f4;
|
||||||
}
|
}
|
||||||
.content{
|
.qxyy{
|
||||||
margin:50rpx 30rpx 30rpx;
|
width: 90%;
|
||||||
padding: 40rpx;
|
height: 80rpx;
|
||||||
border-radius: 20rpx;
|
margin: 100rpx auto 0;
|
||||||
background: #fff;
|
line-height: 80rpx;
|
||||||
.qxyy{
|
border-radius:10rpx;
|
||||||
height: 80rpx;
|
color: #fff;
|
||||||
line-height: 80rpx;
|
text-align: center;
|
||||||
border-radius:20rpx;
|
background: #00aa00;
|
||||||
color: #fff;
|
|
||||||
text-align: center;
|
|
||||||
background: #00aa00;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.hdbzcont{
|
.hdbzcont{
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<view>预约时间:</view>
|
<view>预约时间:</view>
|
||||||
<view>{{ytime(n.swapDay,n.swapDuration)}}</view>
|
<view style="font-size: 30rpx;">{{ytime(n.swapDay,n.swapDuration)}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="n.status == 1" @tap="cancel(n.pkId)" class="qxyy" style="background: #00aa00;">取消预约</view>
|
<view v-if="n.status == 1" @tap="cancel(n.pkId)" class="qxyy" style="background: #00aa00;">取消预约</view>
|
||||||
|
|||||||
@ -66,6 +66,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "payment/index" //支付
|
"path": "payment/index" //支付
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "paySuccess/index" //支付成功
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,6 @@
|
|||||||
height="500rpx"
|
height="500rpx"
|
||||||
keyName="picUrl"
|
keyName="picUrl"
|
||||||
:list="imglist"
|
:list="imglist"
|
||||||
indicator
|
|
||||||
indicatorMode="line"
|
indicatorMode="line"
|
||||||
radius="0"
|
radius="0"
|
||||||
:indicator="false"
|
:indicator="false"
|
||||||
@ -143,7 +142,15 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref,reactive,watch,getCurrentInstance } from 'vue'
|
import { ref,reactive,watch,getCurrentInstance } from 'vue'
|
||||||
import { onLoad,onShow } from '@dcloudio/uni-app'
|
import { onLoad,onShow } from '@dcloudio/uni-app'
|
||||||
import { login,getUser,gethdz,loginstate,swiperimg,agreement,getInfo } from '@/utils/service'
|
import {
|
||||||
|
login,
|
||||||
|
getUser,
|
||||||
|
gethdz,
|
||||||
|
loginstate,
|
||||||
|
swiperimg,
|
||||||
|
agreement,
|
||||||
|
getInfo,
|
||||||
|
} from '@/utils/service'
|
||||||
let height = ref('')
|
let height = ref('')
|
||||||
let islogin = ref(false)
|
let islogin = ref(false)
|
||||||
let PhoneNumber = ref('')
|
let PhoneNumber = ref('')
|
||||||
@ -252,17 +259,20 @@ onShow(() => {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
//检验登录状态??
|
//检验登录状态??
|
||||||
if(init){
|
getinfo() //??
|
||||||
loginstate({
|
// if(init){
|
||||||
wuid:uni.getStorageSync('wxuid')
|
// loginstate({
|
||||||
}).then((rps:any) => {
|
// wuid:uni.getStorageSync('wxuid')
|
||||||
uni.setStorageSync('wxToken',rps.data.wxToken)
|
// }).then((rps:any) => {
|
||||||
getinfo()
|
// if(rps.data && rps.data.wxToken){
|
||||||
})
|
// uni.setStorageSync('wxToken',rps.data.wxToken)
|
||||||
init = false
|
// }
|
||||||
}else{
|
// getinfo()
|
||||||
getinfo()
|
// })
|
||||||
}
|
// init = false
|
||||||
|
// }else{
|
||||||
|
// getinfo()
|
||||||
|
// }
|
||||||
}else{
|
}else{
|
||||||
islogin.value = false
|
islogin.value = false
|
||||||
PhoneNumber.value = ''
|
PhoneNumber.value = ''
|
||||||
|
|||||||
@ -8,9 +8,9 @@
|
|||||||
open-type="getPhoneNumber"
|
open-type="getPhoneNumber"
|
||||||
@getphonenumber="onGetPhoneNumber"
|
@getphonenumber="onGetPhoneNumber"
|
||||||
>手机号快捷登录</button> -->
|
>手机号快捷登录</button> -->
|
||||||
<button style="width: 80%;height: 80rpx;line-height: 80rpx;border-radius:10rpx;color:#fff;text-align:center;background: #4CAF50;" @tap="login">登 录</button>
|
<button style="width: 85%;height: 80rpx;line-height: 80rpx;border-radius:10rpx;color:#fff;text-align:center;background: #4CAF50;" @tap="login">登 录</button>
|
||||||
<view style="display: flex;align-items: center;;padding-top: 10rpx;">
|
<view style="display: flex;align-items: center;;padding-top: 20rpx;">
|
||||||
<label class="radio"><radio value="r1" :checked="checked" @tap="checked = !checked">已阅读并同意</radio></label>
|
<label class="radio"><radio value="r1" :checked="checked" @tap="checked = !checked" style="transform:scale(80%);" />已阅读并同意</label>
|
||||||
<view @tap="topage('/minePages/agreement/index?type=1')" style="padding: 0 10rpx;color: #ffaa00;">《服务条款》</view>
|
<view @tap="topage('/minePages/agreement/index?type=1')" style="padding: 0 10rpx;color: #ffaa00;">《服务条款》</view>
|
||||||
<view @tap="topage('/minePages/agreement/index?type=2')" style="color: #ffaa00;">《隐私协议》</view>
|
<view @tap="topage('/minePages/agreement/index?type=2')" style="color: #ffaa00;">《隐私协议》</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
BIN
src/static/img/weixin.png
Normal file
BIN
src/static/img/weixin.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
BIN
src/static/img/yuer.png
Normal file
BIN
src/static/img/yuer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
@ -1,4 +1,5 @@
|
|||||||
const ENV = process.env.APP_ENV || process.env.NODE_ENV;
|
const ENV = process.env.APP_ENV || process.env.NODE_ENV;
|
||||||
|
|
||||||
const confing = {
|
const confing = {
|
||||||
development: {
|
development: {
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
|
|||||||
@ -29,8 +29,8 @@ export function request(method:any,url:string,data?:any,isLoading?:any){
|
|||||||
uni.request({
|
uni.request({
|
||||||
header:headers,
|
header:headers,
|
||||||
//url:'http://192.168.5.200:9100/gateway'+ url,//`${conf.apiBaseUrl}${url}`,
|
//url:'http://192.168.5.200:9100/gateway'+ url,//`${conf.apiBaseUrl}${url}`,
|
||||||
//url:'http://192.168.5.213:9100/gateway'+ url,
|
url:'http://192.168.5.213:9100/gateway'+ url,
|
||||||
url:'https://api.evo-techina.com'+url,
|
//url:'https://api.evo-techina.com'+url,
|
||||||
method,
|
method,
|
||||||
data:data,
|
data:data,
|
||||||
timeout:30000,
|
timeout:30000,
|
||||||
@ -43,8 +43,6 @@ export function request(method:any,url:string,data?:any,isLoading?:any){
|
|||||||
resolve(rps.data)
|
resolve(rps.data)
|
||||||
}else if((rps.data as any).code == 'D0402'){
|
}else if((rps.data as any).code == 'D0402'){
|
||||||
resolve({data:[]})
|
resolve({data:[]})
|
||||||
}else if((rps.data as any).code == 'W0404'){
|
|
||||||
resolve({data:[]})
|
|
||||||
}else if((rps.data as any).code == 'W0405'){
|
}else if((rps.data as any).code == 'W0405'){
|
||||||
//uni.removeStorageSync('wxToken')
|
//uni.removeStorageSync('wxToken')
|
||||||
if(url == '/wechat/login/checksessionkey'){
|
if(url == '/wechat/login/checksessionkey'){
|
||||||
|
|||||||
@ -175,22 +175,28 @@ export function carlist(wuid:String){
|
|||||||
}
|
}
|
||||||
|
|
||||||
//支付
|
//支付
|
||||||
interface Payment{
|
// interface Payment{
|
||||||
wuid:String,
|
// wuid:String //用户编码
|
||||||
remarks:String,
|
// description:String //订单总描述
|
||||||
money:String|Number,
|
// money:String|Number //支付金额,单位:分
|
||||||
detail:{
|
// timeExp:String //支付结束时间
|
||||||
costPrice:String|Number,
|
// attach:String //订单附加信息
|
||||||
invoiceId:String,
|
// goodsDetail:{
|
||||||
goodsDetail:{
|
// merchantGoodsId:String
|
||||||
merchantGoodsId:String
|
// wechatpayGoodsId:String
|
||||||
wechatpayGoodsId:String
|
// goodsName:String
|
||||||
goodsName:String
|
// quantity:String|Number
|
||||||
quantity:String|Number
|
// unitPrice:String|Number
|
||||||
unitPrice:String|Number
|
// }
|
||||||
}
|
// payerClientIp:String //用户IP
|
||||||
}
|
// deviceId:String //用户设备型号
|
||||||
}
|
// stationCode:String
|
||||||
export function payment(parameter:Payment){
|
// }
|
||||||
|
export function payment(parameter:any){
|
||||||
return request('post_json','/wechat/wechatpay/xcx/prepay',parameter)
|
return request('post_json','/wechat/wechatpay/xcx/prepay',parameter)
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取ip
|
||||||
|
export function getip(){
|
||||||
|
return request('GET','/wechat/resource/util/ip')
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user