Browse Source

在线选书活动api流程调试

master
xuhuajiao 1 year ago
parent
commit
25798057ee
  1. BIN
      library-activity/src/assets/images/640.jpg
  2. 6
      library-activity/src/main.js
  3. 21
      library-activity/src/utils/api.js
  4. 5
      library-activity/src/views/bookList/bookList.vue
  5. 868
      library-activity/src/views/cart/cart.vue
  6. 13
      library-activity/src/views/index.vue
  7. 62
      library-activity/src/views/mine/mine.vue
  8. 72
      library-activity/src/views/myAddress/addAddress.vue
  9. 54
      library-activity/src/views/myAddress/myAddress.vue
  10. 353
      library-activity/src/views/myLending/myLending.vue
  11. 442
      library-activity/src/views/order/order.vue
  12. 82
      library-activity/src/views/orderDetail/orderDetail.vue
  13. 4
      library-activity/vite.config.js
  14. 84
      selfServiceMachine/src/api/bookshelf.js
  15. 2
      selfServiceMachine/src/utils/request.js
  16. 18
      selfServiceMachine/src/views/bookRecommend.vue
  17. 7
      selfServiceMachine/vue.config.js

BIN
library-activity/src/assets/images/640.jpg

After

Width: 1080  |  Height: 1080  |  Size: 197 KiB

6
library-activity/src/main.js

@ -12,9 +12,9 @@ import Qs from 'qs';
// reset 样式
import '@/assets/css/reset.css'
import '@/assets/css/swiper6.min.css'
// import '@/assets/css/swiper6.min.css'
import '@/assets/js/rem.js'
import '@/assets/js/swiper6.min.js'
// import '@/assets/js/swiper6.min.js'
import '@/assets/css/style.scss'
import { Toast, Swipe, SwipeItem, Popup, Picker, Tab, Tabs, Dialog, Uploader, DatetimePicker, Slider, Checkbox, CheckboxGroup, Form, Field, CellGroup, Area, Button, Progress, List} from 'vant';
@ -134,6 +134,8 @@ app.use(Toast)
.use(Progress)
.use(List);
app.config.globalProperties.$coverUrl = 'http://192.168.99.67:8080'
app.config.globalProperties.$API = $API
app.config.globalProperties.$http = $http
app.mount('#app')

21
library-activity/src/utils/api.js

@ -19,6 +19,27 @@ API.MYSHOPPINGCART = '/myShoppingCart'
// 删除书车
API.DELETBOOKTOSHOPPINGCART = '/deleteBookToShoppingCart'
// 下单
API.PLACEORDER = '/placeOrder'
//我得收货地址
API.MYADDRESS = '/myAddress'
//编辑我的收货地址
API.EDITMYADDRESS = '/editMyAddress'
// 我得订单
API.MYORDER = '/myOrder'
// 我的订单数量
API.MYORDEROVERVIEW = '/myOrderOverview'
// 订单详情
API.ORDERDETAILS = '/orderDetails'
// 我的借阅
API.MYBORROWING = '/myBorrowing'
export default API

5
library-activity/src/views/bookList/bookList.vue

@ -27,7 +27,7 @@
>
<div class="book-item" v-for="(item,index) in list" :key="index" @click="getOnlineBookDetail(item.id)">
<div class="product-cont">
<div class="product-img"><img :src="'http://192.168.99.67:8080/demoOnlineSelect/getBookCover.do?id='+item.id" alt="" /></div>
<div class="product-img"><img :src="$coverUrl+'/demoOnlineSelect/getBookCover.do?id='+item.id" alt="" /></div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt">{{item.bookName}}</h4>
@ -60,7 +60,7 @@
<div class="product-cont">
<div class="product-cont-left">
<div class="product-img">
<img :src="'http://192.168.99.67:8080/demoOnlineSelect/getBookCover.do?id='+detailBook.id" alt="" />
<img :src="$coverUrl+'/demoOnlineSelect/getBookCover.do?id='+detailBook.id" alt="" />
</div>
<div class="book-inventory">
<p>剩余库存</p>
@ -183,7 +183,6 @@ export default {
}
let getOnlineBookDetail = (bookId) => {
proxy.$http
.post(proxy.$API.BOOKONLINEDETAIL,
{

868
library-activity/src/views/cart/cart.vue

@ -1,395 +1,589 @@
<template>
<div class="main">
<div class="cart-main">
<div class="cart-top">
<div class="cart-num">图书数量<span>({{list.length}})</span></div>
<span @click="cartDelt">{{ !isDeltHandle ? '管理' : '完成' }}</span>
</div>
<div class="cart-list">
<div class="cart-item" v-if="list.length !== 0">
<div class="list-top">
<van-checkbox v-model="activeSelect" @change="handleselectedAll"></van-checkbox>
<div class="top-info">
<p class="active-name">{{ list[0].selectName }}<i></i></p>
<p class="dealer">{{ list[0].supplierName }}</p>
<div class="cart-main">
<div class="cart-top">
<div class="cart-num">
图书数量<span>({{ totalLength }})</span>
</div>
<span @click="cartDelt">{{
!isDeltHandle ? '管理' : '完成'
}}</span>
</div>
<div class="cart-list">
<div v-for="(bookItem, index) in list" :key="index" >
<div class="cart-item" v-if="bookItem.length !== 0">
<div class="list-top">
<van-checkbox v-model="bookItem.activeSelect" @change="handleselectedAll(index)"></van-checkbox>
<div class="top-info">
<p class="active-name">
{{ bookItem[0] && bookItem[0].selectName }}<i></i>
</p>
<p class="dealer">{{ bookItem[0] && bookItem[0].supplierName}}</p>
</div>
</div>
</div>
<div class="product-list">
<div v-for="(item,index) in list" :key="item.id" class="product-item" >
<van-checkbox v-model="item.checked" @change="handleSingle(index)"></van-checkbox>
<div class="product-cont" @click="getOnlineBookDetail(item.bookId)">
<div class="product-img"><img :src="'http://192.168.99.67:8080/demoOnlineSelect/getBookCover.do?id='+item.bookId" alt="" /></div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">{{item.bookName}} </h4>
<div class="author-date">
<p class="author overflow-txt-only">{{item.author}}</p>
<p class="date overflow-txt-only">{{item.createdDate}}</p>
</div>
<div class="intro overflow-txt">{{item.introduce}}</div>
<div class="product-list" v-for="(item, i) in bookItem" :key="item.id">
<div class="product-item">
<!-- @change="handleSingle(index)" -->
<van-checkbox v-model="item.checked"></van-checkbox>
<div
class="product-cont"
@click="getOnlineBookDetail(item.bookId)"
>
<div class="product-img">
<img
:src="
'http://192.168.99.67:8080/demoOnlineSelect/getBookCover.do?id=' +
item.bookId
"
alt=""
/>
</div>
<div class="product-bottom">
<p class="product-price">实付款 <span><i class="rmb"></i>0</span><i><em></em>{{item.price}}</i></p>
<span v-if="!isDeltHandle" class="product-num">x1</span>
<span v-else class="item-delt" @click.stop="deltCurrentItem(item.bookId)"></span>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">
{{ item.bookName }}
</h4>
<div class="author-date">
<p class="author overflow-txt-only">
{{ item.author }}
</p>
<p class="date overflow-txt-only">
{{ item.createdDate }}
</p>
</div>
<div class="intro overflow-txt">
{{ item.introduce }}
</div>
</div>
<div class="product-bottom">
<p class="product-price">
实付款
<span><i class="rmb"></i>0</span
><i><em></em>{{ item.price }}</i>
</p>
<span
v-if="!isDeltHandle"
class="product-num"
>x1</span
>
<span
v-else
class="item-delt"
@click.stop="
deltCurrentItem(item.id)
"
></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="empty-data" v-if="list.length === 0">
<img src="@assets/images/empty.png" alt="" />
</div>
</div>
</div>
<div class="empty-data" v-if="list.length === 0">
<img src="@assets/images/empty.png" alt="" />
</div>
</div>
</div>
<div class="cart-pay" v-if="list.length !== 0">
<van-checkbox v-model="activeSelect">全选</van-checkbox>
<div v-if="!isDeltHandle" class="payment-right">
<div class="total-num">合计:<span><i class="rmb"></i>0</span></div>
<p class="pay-btn" @click="goPay">下单</p>
</div>
<div v-else class="payment-right">
<p class="delt-btn" @click="confirmDelt">删除</p>
</div>
</div>
<div class="cart-pay" v-if="list.length !== 0">
<van-checkbox v-model="allSelected">全选</van-checkbox>
<div v-if="!isDeltHandle" class="payment-right">
<div class="total-num">
合计:<span><i class="rmb"></i>0</span>
</div>
<p class="pay-btn" @click="goPay">下单</p>
</div>
<div v-else class="payment-right">
<p class="delt-btn" @click="confirmDelt">删除</p>
</div>
</div>
<TabBar :tabCur.sync="tabCur" />
<van-dialog v-model:show="showDetial" :show-confirm-button="false">
<div class="bookItem-dialog-detail">
<div class="list-top">
<div class="top-info">
<p class="active-name">你选书我买单<i></i></p>
</div>
</div>
<div class="product-cont">
<div class="product-cont-left">
<div class="product-img">
<img :src="'http://192.168.99.67:8080/demoOnlineSelect/getBookCover.do?id='+detailBook.id" alt="" />
</div>
<div class="book-inventory">
<p>剩余库存</p>
<span><i>{{ parseInt(detailBook.total)-parseInt(detailBook.purchase) }}</i></span>
</div>
</div>
<div class="product-txt">
<div class="product-info">
<h4>{{ detailBook.bookName }}</h4>
<div class="bookItem-txt">
<span>著者</span>
<p class="author">{{ detailBook.author }}</p>
</div>
<div class="bookItem-txt">
<span>出版社</span>
<p>{{ detailBook.publish }}</p>
</div>
<div class="bookItem-txt">
<span>出版时间</span>
<p>{{ detailBook.createdDate }}</p>
</div>
<div class="bookItem-txt">
<!-- :style="{ width: detailBook.introduce !== '' ? '1.42rem' : 'auto' }" -->
<span class="txt-title">简介</span>
<p class="intro-txt">{{ detailBook.introduce !== '' ? detailBook.introduce : '暂无简介'}}</p>
</div>
</div>
</div>
</div>
<div class="order-dealer">
<p class="dealer">{{ detailBook.supplierName }}</p>
<div class="order-pay">
<p>实付款<span><i></i>0</span></p>
<span class="yj-price"><i></i><em>{{ detailBook.price }}</em></span>
</div>
</div>
</div>
<div class="dialog-btn">
<span @click="showDetial=false">关闭</span>
</div>
</van-dialog>
<van-dialog v-model:show="showDetial" :show-confirm-button="false">
<div class="bookItem-dialog-detail">
<div class="list-top">
<div class="top-info">
<p class="active-name">你选书我买单<i></i></p>
</div>
</div>
<div class="product-cont">
<div class="product-cont-left">
<div class="product-img">
<img
:src="
$coverUrl+'/demoOnlineSelect/getBookCover.do?id=' +
detailBook.id
"
alt=""
/>
</div>
<div class="book-inventory">
<p>剩余库存</p>
<span
><i>{{
parseInt(detailBook.total) -
parseInt(detailBook.purchase)
}}</i
></span
>
</div>
</div>
<div class="product-txt">
<div class="product-info">
<h4>{{ detailBook.bookName }}</h4>
<div class="bookItem-txt">
<span>著者</span>
<p class="author">{{ detailBook.author }}</p>
</div>
<div class="bookItem-txt">
<span>出版社</span>
<p>{{ detailBook.publish }}</p>
</div>
<div class="bookItem-txt">
<span>出版时间</span>
<p>{{ detailBook.createdDate }}</p>
</div>
<div class="bookItem-txt">
<span class="txt-title">简介</span>
<p class="intro-txt">
{{
detailBook.introduce !== ''
? detailBook.introduce
: '暂无简介'
}}
</p>
</div>
</div>
</div>
</div>
<div class="order-dealer">
<p class="dealer">{{ detailBook.supplierName }}</p>
<div class="order-pay">
<p>
实付款<span><i></i>0</span>
</p>
<span class="yj-price"
><i></i><em>{{ detailBook.price }}</em></span
>
</div>
</div>
</div>
<div class="dialog-btn">
<span @click="showDetial = false">关闭</span>
</div>
</van-dialog>
</div>
</template>
<script>
import { Toast } from 'vant'
import { reactive, computed, onMounted, getCurrentInstance, toRefs } from 'vue'
import { reactive, computed, watch, onMounted, getCurrentInstance, toRefs } from 'vue'
import TabBar from '@/components/tabBar/index.vue'
export default {
name: 'Cart',
components: { TabBar },
setup() {
const { proxy } = getCurrentInstance()
let data = reactive({
tabCur: 1,
activeSelect: false,
allSelected: false,
isDeltHandle: false,
showDetial: false,
list:[],
checkedCount: [],
detailBook: null
tabCur: 1,
allSelected: false,
isDeltHandle: false,
showDetial: false,
list: [],
totalLength: 0,
checkedCount: [],
detailBook: null,
checkedBooks:[],
checkedBooksPay:[]
})
watch(data.list, () => {
data.allSelected = allSelected;
}, { deep: true });
onMounted(() => {
getMyshoppingCart()
})
getMyshoppingCart()
})
let getMyshoppingCart = () => {
let param = {
}
proxy.$http
.get(proxy.$API.MYSHOPPINGCART,
{
params: param
}
)
.then(res => {
data.list = res.data[0]
})
.catch((res) => {
console.log(res)
})
}
const allSelected = computed({
get() {
return data.list.every(bookItem => {
return bookItem.every(item => item.checked);
});
},
set(checked) {
data.list.forEach(bookItem => {
bookItem.forEach(item => {
item.checked = checked;
});
});
}
});
let getOnlineBookDetail = (bookId) => {
proxy.$http
.post(proxy.$API.BOOKONLINEDETAIL,
{
bookId: bookId
},
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
)
.then(res => {
data.detailBook = res.data.book
data.showDetial = true
})
.catch((res) => {
console.log(res)
})
}
let getMyshoppingCart = () => {
let param = {}
proxy.$http
.get(proxy.$API.MYSHOPPINGCART, {
params: param,
})
.then((res) => {
if(res.data.length === 0){
data.list = []
}else{
let allArraysEmpty = true;
for (let i = 0; i < res.data.length; i++) {
if (res.data[i].length !== 0) { //
allArraysEmpty = false; // false
break;
}
}
if (allArraysEmpty) {
data.list = []
console.log('都为空')
} else {
data.list = res.data
data.list.forEach(bookItem => {
watch(bookItem, () => {
bookItem.activeSelect = bookItem.every(item => item.checked);
}, { deep: true });
})
data.totalLength = data.list.map(books => books.length).reduce((total, length) => total + length, 0);
}
}
})
.catch((res) => {
console.log(res)
})
}
let deltBookShoppingCart = (ids) => {
let param = {
ids: ids
}
proxy.$http
.post(proxy.$API.DELETBOOKTOSHOPPINGCART,
param,{
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
)
.then(res => {
let getOnlineBookDetail = (bookId) => {
proxy.$http
.post(
proxy.$API.BOOKONLINEDETAIL,
{
bookId: bookId,
},
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
}
)
.then((res) => {
data.detailBook = res.data.book
data.showDetial = true
})
.catch((res) => {
console.log(res)
})
}
let deltBookShoppingCart = (ids) => {
let param = {
ids: ids,
}
proxy.$http
.put(
proxy.$API.DELETBOOKTOSHOPPINGCART,
param,
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
}
)
.then((res) => {
getMyshoppingCart()
Toast("删除成功")
})
.catch((res) => {
console.log(res)
})
}
})
.catch((res) => {
console.log(res)
})
}
let confirmDelt = () => {
// let ids = data.list.filter(item => item.checked).map(item => item.id);
// console.log('ids',ids)
// if(ids.length === 0){
// Toast('')
// }else{
// ids = ids.join(',')
// console.log(ids)
// deltBookShoppingCart(ids)
// }
data.checkedBooks = data.list
.flat() //
.filter(item => item.checked === true)
.map(item => item.id);
let goPay = () => {
proxy.$router.push({ path: '/CartResult' })
}
let cartDelt = () =>{
data.isDeltHandle = !data.isDeltHandle
}
let deltCurrentItem = (bookId) =>{
// const targetList = type === 'active1' ? data.list : data.list2
const index = data.list.findIndex(item => item.bookId === bookId)
if (index !== -1) {
// data.list.splice(index, 1)
let ids = [];
ids.push(data.list[index].bookId)
ids = ids.join(',');
if(data.checkedBooks.length === 0){
Toast('请选择你需要删除的书籍')
}else{
const ids = data.checkedBooks.join(',')
console.log(ids)
deltBookShoppingCart(ids)
}
}
}
//
let handleSingle = (index) => {
const selectedProductsCount = data.list.filter(item => item.checked).length;
if (selectedProductsCount === 1 && !data.list.find(p => p.checked).checked) {
data.activeSelect = false;
} else {
data.activeSelect = selectedProductsCount === data.list.length;
}
}
let cartDelt = () => {
data.isDeltHandle = !data.isDeltHandle
}
let deltCurrentItem = (bookId) => {
deltBookShoppingCart(bookId)
}
//
let handleSingle = (index) => {
// const selectedProductsCount = data.list.filter((item) => item.checked).length
// if (
// selectedProductsCount === 1 && !data.list.find((p) => p.checked).checked
// ) {
// data.activeSelect = false
// } else {
// data.activeSelect = selectedProductsCount === data.list.length
// }
}
//
let handleselectedAll = () =>{
data.list.forEach(item => {
item.checked = data.activeSelect;
//
let handleselectedAll = (index) => {
data.list[index].forEach(item=>{
item.checked = data.list[index].activeSelect
})
}
}
let confirmDelt = () => {
if(data.activeSelect){
// data.list = []
// let ids = [];
// for (let i = 0; i < data.list.length; i++) {
// ids.push(data.list[i].bookId)
// }
// ids = parse.ids.join(',');
// deltBookShoppingCart(ids)
let goPay = () => {
// let bookIds = data.list.filter(item => item.checked).map(item => item.bookId);
// console.log('bookIds',bookIds)
// if(bookIds.length === 0){
// Toast('')
// }else{
// bookIds = bookIds.join(',')
// console.log(bookIds)
// getMyAddress()
// // addPlaceOrder(bookIds)
// }
data.checkedBooksPay = data.list
.flat() //
.filter(item => item.checked === true)
.map(item => item);
console.log(data.checkedBooksPay)
if(data.checkedBooksPay.length === 0){
Toast('请选择你需要下单的书籍')
}else{
const index = data.list.findIndex(p => p.checked);
if (index !== -1) {
data.list.splice(index, 1);
}else{
Toast('请选择你需要删除的书籍')
}
getMyAddress()
}
}
let addPlaceOrder = (param) => {
proxy.$http
.put(
proxy.$API.PLACEORDER,
param,
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
}
)
.then((res) => {
if(res.errCode === 0){
proxy.$router.push({ path: '/CartResult' })
}
})
.catch((res) => {
console.log(res)
})
}
let getMyAddress = () => {
let param = {
openid: 'ocHu-sysUQ6-xb9knAJ5mATqCOJE'
}
}
proxy.$http
.get(proxy.$API.MYADDRESS, {
params: param,
})
.then((res) => {
if(res.data.myAddress.length !== 0){
const defaultAddress = res.data.myAddress.find(function(address) {
return address.isDefault === 1;
});
// supplierName
const bookIdMap = new Map();
for (const item of data.checkedBooksPay) {
if (!bookIdMap.has(item.supplierName)) {
bookIdMap.set(item.supplierName, []);
}
bookIdMap.get(item.supplierName).push(item.bookId);
}
// supplierName bookId
for (const [key, value] of bookIdMap) {
console.log(`SupplierName: ${key}`);
console.log(`BookId list: ${value}`);
let param = {
addressId: defaultAddress.id,
bookIds: value.join(',')
}
console.log(param)
addPlaceOrder(param)
}
}else{
Toast('请先添加收货地址后再下单')
}
})
.catch((res) => {
console.log(res)
})
}
return {
...toRefs(data),
goPay,
cartDelt,
deltCurrentItem,
handleselectedAll,
handleSingle,
confirmDelt,
getMyshoppingCart,
getOnlineBookDetail,
deltBookShoppingCart
cartDelt,
deltCurrentItem,
handleselectedAll,
handleSingle,
confirmDelt,
getMyshoppingCart,
getOnlineBookDetail,
deltBookShoppingCart,
addPlaceOrder,
allSelected,
getMyAddress
}
}
},
}
</script>
<style scoped lang="scss">
.cart-main{
padding: 0 .16rem 2.2rem .16rem;
color: #191A1A;
.cart-top{
position: fixed;
top: 0;
right: 0;
left: 0;
display: flex;
justify-content: space-between;
align-items: center;
font-size: .32rem;
height: 1rem;
padding: 0 .32rem;
background-color: #fff;
box-shadow: 0 0.06rem 0.1rem 1px #EFECEC;
z-index: 999;
.cart-num{
font-size: .32rem;
opacity: 0.6;
span{
font-size: 0.3rem;
}
}
}
}
.cart-list{
padding-top: 1.2rem;
}
.cart-item{
padding: .24rem;
margin-bottom: .2rem;
box-shadow: 0px .03rem 0.6rem 1px rgba(0,0,0,0.08);
border-radius: 0.1rem;
background-color: #fff;
}
.cart-main {
padding: 0 0.16rem 2.2rem 0.16rem;
color: #191a1a;
.cart-top {
position: fixed;
top: 0;
right: 0;
left: 0;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.32rem;
height: 1rem;
padding: 0 0.32rem;
background-color: #fff;
box-shadow: 0 0.06rem 0.1rem 1px #efecec;
z-index: 999;
.cart-num {
font-size: 0.32rem;
opacity: 0.6;
span {
font-size: 0.3rem;
}
}
}
}
.cart-list {
padding-top: 1.2rem;
}
.cart-item {
padding: 0.24rem;
margin-bottom: 0.2rem;
box-shadow: 0px 0.03rem 0.6rem 1px rgba(0, 0, 0, 0.08);
border-radius: 0.1rem;
background-color: #fff;
}
.product-list{
.product-item{
display: flex;
justify-content: flex-start;
margin-top: .3rem;
}
}
.product-list {
.product-item {
display: flex;
justify-content: flex-start;
margin-top: 0.3rem;
}
}
.cart-pay{
position: fixed;
left: 0;
right: 0;
bottom: 0.98rem;
padding: 0 .32rem;
height: 1rem;
background: linear-gradient(#fff, #f1f1f1);
display: flex;
justify-content: space-between;
align-items: center;
.payment-right{
display: flex;
justify-content: space-between;
align-items: center;
font-size: .28rem;
.total-num{
font-size: 0.28rem;
span{
font-size: .4rem;
font-weight: bold;
color: #FF3871;
.rmb{
font-style: normal;
font-size: .28rem;
text-decoration: none;
}
}
}
.pay-btn{
width: 1.5rem;
height: 0.6rem;
margin-left: 0.4rem;
line-height: 0.6rem;
text-align: center;
color: #fff;
background: url('@assets/images/btn3.png') no-repeat center center;
background-size: 100% 100%;
}
.delt-btn{
width: 1.5rem;
height: 0.6rem;
line-height: 0.6rem;
font-size: .28rem;
color: #000;
text-align: center;
border: 0.02rem solid #000;
opacity: 0.6;
border-radius: .4rem;
}
}
}
.cart-pay {
position: fixed;
left: 0;
right: 0;
bottom: 0.98rem;
padding: 0 0.32rem;
height: 1rem;
background: linear-gradient(#fff, #f1f1f1);
display: flex;
justify-content: space-between;
align-items: center;
.payment-right {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.28rem;
.total-num {
font-size: 0.28rem;
span {
font-size: 0.4rem;
font-weight: bold;
color: #ff3871;
.rmb {
font-style: normal;
font-size: 0.28rem;
text-decoration: none;
}
}
}
.pay-btn {
width: 1.5rem;
height: 0.6rem;
margin-left: 0.4rem;
line-height: 0.6rem;
text-align: center;
color: #fff;
background: url('@assets/images/btn3.png') no-repeat center center;
background-size: 100% 100%;
}
.delt-btn {
width: 1.5rem;
height: 0.6rem;
line-height: 0.6rem;
font-size: 0.28rem;
color: #000;
text-align: center;
border: 0.02rem solid #000;
opacity: 0.6;
border-radius: 0.4rem;
}
}
}
.van-checkbox{
margin-right: .2rem;
}
.van-checkbox {
margin-right: 0.2rem;
}
:deep(.van-checkbox__icon){
height: .35rem;
}
:deep(.van-checkbox__icon .van-icon){
width: .35rem;
height: .35rem;
border-color: rgba(0,0,0,.3);
}
:deep(.van-checkbox__icon--checked .van-icon){
border: none;
background: url('@assets/images/selected.png') no-repeat transparent;
background-size: .35rem .35rem;
}
:deep(.van-icon-success:before){
display: none;
}
:deep(.van-checkbox__label){
font-size: .28rem;
}
:deep(.van-checkbox__icon) {
height: 0.35rem;
}
:deep(.van-checkbox__icon .van-icon) {
width: 0.35rem;
height: 0.35rem;
border-color: rgba(0, 0, 0, 0.3);
}
:deep(.van-checkbox__icon--checked .van-icon) {
border: none;
background: url('@assets/images/selected.png') no-repeat transparent;
background-size: 0.35rem 0.35rem;
}
:deep(.van-icon-success:before) {
display: none;
}
:deep(.van-checkbox__label) {
font-size: 0.28rem;
}
.bookItem-dialog-detail{
border-bottom: none;
.bookItem-dialog-detail {
border-bottom: none;
}
</style>

13
library-activity/src/views/index.vue

@ -3,9 +3,9 @@
<!-- <div class="index-header">当前活动</div> -->
<div class="active-main">
<div class="active-list">
<div v-for="item in data.activeList" :key="item.id" class="active-item" @click="toActiveDetail">
<div v-for="item in activeList" :key="item.id" class="active-item" @click="toActiveDetail">
<div class="active-img">
<img :src="'http://192.168.99.67:8080/demoOnlineSelect/getImage.do?id='+item.id" alt="" />
<img :src="$coverUrl+'/demoOnlineSelect/getImage.do?id='+item.id" alt="" />
<span>限选{{item.maxBuy}}</span>
</div>
<div class="active-info">
@ -23,16 +23,16 @@
</div>
</div>
</div>
<div class="active-nodata">
<div class="active-nodata" v-if="activeList.length===0">
<img src="@assets/images/nodata.png" alt="" />
</div>
</div>
<TabBar :tabCur.sync="data.tabCur" />
<TabBar :tabCur.sync="tabCur" />
</div>
</template>
<script>
import { reactive, computed, onMounted, getCurrentInstance } from 'vue'
import { reactive, computed, onMounted, getCurrentInstance, toRefs } from 'vue'
import TabBar from '@/components/tabBar/index.vue'
import { Toast } from 'vant'
@ -94,7 +94,6 @@ export default {
}
let toBookList = (id) => {
// proxy.$router.push({ path: '/BookList' })
proxy.$router.push({
path: '/BookList',
query: {
@ -107,7 +106,7 @@ export default {
}
return {
data,
...toRefs(data),
toBookList,
toActiveDetail,
getOnlineSelectList

62
library-activity/src/views/mine/mine.vue

@ -4,13 +4,13 @@
<div class="user-main">
<div class="user-info">
<div class="user-img">
<img src="" alt="" />
<img src="@assets/images/640.jpg" alt="" />
</div>
<p class="user-name">张秀才</p>
<div class="user-tip">欢迎来到爱图图书</div>
<div class="user-tip">欢迎来到东西湖图书馆</div>
</div>
<div class="user-card">
<p>NO.10078398329</p>
<p>NO.420112012002888</p>
<span @click="showCard=true">切换证号</span>
</div>
</div>
@ -25,40 +25,40 @@
<div class="order-item" @click="toOrder(1)">
<div class="order-icon">
<img src="@assets/images/d-she.png" alt="" />
<i>1</i>
<i v-if="orderStatus === 1">{{ orderNum }}</i>
</div>
<p>待审核</p>
</div>
<div class="order-item" @click="toOrder(2)">
<div class="order-icon">
<img src="@assets/images/d-fh.png" alt="" />
<!-- <i></i> -->
<i v-if="orderStatus === 2">{{ orderNum }}</i>
</div>
<p>待发货</p>
</div>
<div class="order-item" @click="toOrder(3)">
<div class="order-icon">
<img src="@assets/images/d-shuo.png" alt="" />
<!-- <i></i> -->
<i v-if="orderStatus === 3">{{ orderNum }}</i>
</div>
<p>待收货</p>
</div>
<div class="order-item" @click="toOrder(4)">
<div class="order-icon">
<img src="@assets/images/y-wc.png" alt="" />
<!-- <i></i> -->
<i v-if="orderStatus === 4">{{ orderNum }}</i>
</div>
<p>已完成</p>
</div>
<div class="order-item" @click="toOrder(5)">
<div class="order-icon">
<img src="@assets/images/y-qx.png" alt="" />
<!-- <i></i> -->
<i v-if="orderStatus === 5">{{ orderNum }}</i>
</div>
<p>已取消</p>
</div>
</div>
<div class="log-info">
<div class="log-info" v-if="orderStatus === 3">
<div class="log-img">
<img src="" alt="" />
</div>
@ -107,26 +107,10 @@
<img src="@assets/images/card-img2.png" alt="" />
<div class="card-txt">
<span>读者证号</span>
<p>NO.10078398329</p>
<p>NO.420112012002888</p>
</div>
<div :class="['select-card', cardIndex===0 ? 'active': '']"></div>
</div>
<div class="card-item" @click="cardIndex=1">
<img src="@assets/images/card-img2.png" alt="" />
<div class="card-txt">
<span>读者证号</span>
<p>NO.10078398329</p>
</div>
<div :class="['select-card', cardIndex===1 ? 'active': '']"></div>
</div>
<div class="card-item" @click="cardIndex=2">
<img src="@assets/images/card-img2.png" alt="" />
<div class="card-txt">
<span>读者证号</span>
<p>NO.10078398329</p>
</div>
<div :class="['select-card', cardIndex===2 ? 'active': '']"></div>
</div>
</div>
<div class="card-btn">
<span @click="changeCardComfired">确定</span>
@ -148,8 +132,31 @@ export default {
let data = reactive({
tabCur: 2,
showCard: false,
cardIndex: 0
cardIndex: 0,
orderStatus: null,
orderNum: null
})
onMounted(() => {
getMyOrderNum()
})
let getMyOrderNum = () => {
let param = {
openid: 'ocHu-sysUQ6-xb9knAJ5mATqCOJE'
}
proxy.$http
.get(proxy.$API.MYORDEROVERVIEW, {
params: param,
})
.then((res) => {
console.log(res)
data.orderStatus = res.data.myAddress.status
data.orderNum = res.data.myAddress.num
})
.catch((res) => {
console.log(res)
})
}
let toOrder = (tabActive) => {
proxy.$router.push({
path: '/Order',
@ -186,6 +193,7 @@ export default {
return {
...toRefs(data),
toOrder,
getMyOrderNum,
toLending,
toMyAddress,
toAboutUs,

72
library-activity/src/views/myAddress/addAddress.vue

@ -2,15 +2,15 @@
<div class="main">
<div class="top-header">
<span class="back" @click="toBack"></span>
<p>添加收货地址</p>
<p>{{ addressType === 'add' ? '添加':'编辑'}}收货地址</p>
</div>
<div class="address-form">
<van-form ref="form" @submit="onSubmit">
<van-cell-group inset>
<div class="form01">
<van-field
v-model="username"
name="收货人"
v-model="name"
name="name"
label="收货人"
placeholder="用户名"
:rules="[{ required: true, message: '请填写用户名' }]"
@ -18,16 +18,16 @@
<van-field
v-model="phone"
type="number"
name="手机号码"
name="phone"
label="手机号码"
placeholder="手机号码"
:rules="[{ required: true, message: '请填写手机号码' }]"
/>
<van-field
v-model="area"
v-model="district"
is-link
readonly
name="area"
name="district"
label="所在地区"
placeholder="省市区县、乡镇"
:rules="[{ required: true, message: '请选择所在地区' }]"
@ -47,11 +47,11 @@
/>
</van-popup>
<van-field
v-model="place"
v-model="address"
rows="2"
autosize
type="textarea"
name="详细地址"
type="address"
name="address"
label="详细地址"
maxlength="50"
placeholder="楼道、街牌号等"
@ -59,9 +59,9 @@
/>
</div>
<div class="form02">
<van-field name="place" label="设为默认收货地址">
<van-field name="isDefault" label="设为默认收货地址">
<template #input>
<van-checkbox v-model="isChecked" shape="square" />
<van-checkbox v-model="isDefault" shape="square" />
</template>
</van-field>
</div>
@ -77,7 +77,7 @@
</template>
<script>
import { reactive, getCurrentInstance, toRefs, ref } from 'vue'
import { reactive, getCurrentInstance, toRefs, onMounted } from 'vue'
import { areaList } from '@vant/area-data'
export default {
name: 'AddAddress',
@ -85,22 +85,60 @@ export default {
const { proxy } = getCurrentInstance()
let data = reactive({
isSetting: false,
username: '',
name: '',
phone: '',
area: '',
place: '',
isChecked: false,
district: '',
address: '',
isDefault: false,
showArea: false,
addressType: 'add',
currentAddress: null
})
onMounted(() => {
data.addressType = proxy.$route.query.type
data.currentAddress = JSON.parse(proxy.$route.query.currentAddress)
console.log(data.currentAddress)
if(data.currentAddress){
data.name = data.currentAddress.name
data.phone = data.currentAddress.phone
data.address = data.currentAddress.address
data.district = data.currentAddress.district
data.isDefault = data.currentAddress.isDefault === 1 ? true : false
data.username = data.currentAddress.name
}
})
let toBack = () => {
proxy.$router.go(-1)
}
let onConfirm = (value) => {
data.showArea = false
data.area = value.map((item) => item.name).join(' ')
data.district = value.map((item) => item.name).join(' ')
}
let onSubmit = (values) => {
console.log('submit',values)
const param = values
if(data.addressType==='add'){
param.id = null
}else{
param.id = data.currentAddress.id
}
console.log(param)
proxy.$http
.post(proxy.$API.EDITMYADDRESS,
param,
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
)
.then(res => {
data.detailBook = res.data.book
data.showDetial = true
})
.catch((res) => {
console.log(res)
})
}
return {
...toRefs(data),

54
library-activity/src/views/myAddress/myAddress.vue

@ -7,29 +7,29 @@
</div>
<div class="address-main">
<div class="address-list">
<div class="address-item">
<div class="address-item" v-for="(item,index) in addressList" :key="index">
<div class="address-cont">
<div class="address-icon">
<img src="@assets/images/address-icon1.png" alt="" />
</div>
<div class="address-txt">
<div class="txt-info">
<span>收货人是路飞啊</span>
<span class="address-phone">15376587658</span>
<span>收货人{{item.name}}</span>
<span class="address-phone">{{ item.phone }}</span>
</div>
<div class="place">洪山科技创业中心C栋武汉哈哈科技有限公司5栋2单元这是俩拍的地址</div>
<div class="place">{{ item.district + ' ' + item.address }}</div>
</div>
<span class="edit-btn" @click="toAddOrEdit"></span>
<span class="edit-btn" @click="toAddOrEdit('edit',item)"></span>
</div>
<div class="setting-handle" v-if="isSetting">
<span class="active">默认地址</span>
<span :class="item.isDefault == 1 ? 'active' :''">默认地址</span>
<span>删除</span>
</div>
<span class="mr-flag">默认</span>
<span v-if="item.isDefault == 1" class="mr-flag">默认</span>
</div>
</div>
<div class="address-bottom" @click="toAddOrEdit">添加收货地址</div>
<div class="address-bottom" @click="toAddOrEdit('add',null)">添加收货地址</div>
</div>
<!-- <TabBar :tabCur.sync="tabCur" /> -->
</div>
@ -42,19 +42,47 @@ export default {
setup() {
const { proxy } = getCurrentInstance()
let data = reactive({
isSetting: false
isSetting: false,
addressList: []
})
onMounted(() => {})
onMounted(() => {
getMyAddress()
})
let toBack = () => {
proxy.$router.go(-1);
}
let toAddOrEdit = () => {
proxy.$router.push({ path: '/AddAddress' })
let toAddOrEdit = (type,item) => {
proxy.$router.push({ path: '/AddAddress',
query: {
type: type,
currentAddress: JSON.stringify(item)
}
})
}
let getMyAddress = () => {
let param = {
openid: 'ocHu-sysUQ6-xb9knAJ5mATqCOJE'
}
proxy.$http
.get(proxy.$API.MYADDRESS, {
params: param,
})
.then((res) => {
if(res.data.myAddress.length !== 0){
data.addressList = res.data.myAddress
}
})
.catch((res) => {
console.log(res)
})
}
return {
...toRefs(data),
toBack,
toAddOrEdit
toAddOrEdit,
getMyAddress
}
},
}

353
library-activity/src/views/myLending/myLending.vue

@ -7,37 +7,7 @@
<div class="order-main">
<van-tabs v-model:active="active" swipeable>
<van-tab v-for="item in tabTitle" :title="item.name">
<div v-show="active === 0">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status jy">借阅中</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
</div>
</div>
<div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
@ -70,265 +40,7 @@
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status">已归还</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
<p class="actual-date">实际归还时间2023-11-18 10:15:30</p>
<div class="myLending-status zs-status"></div>
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status">已归还</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
<p class="actual-date">实际归还时间2023-11-18 10:15:30</p>
<div class="myLending-status yq-status"></div>
</div>
</div>
</div>
<div v-show="active === 1">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status jy">借阅中</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status jy">借阅中</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
<p class="actual-date">实际归还时间2023-11-18 10:15:30</p>
<div class="myLending-status lq-status"></div>
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status jy">借阅中</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
<p class="actual-date">实际归还时间2023-11-18 10:15:30</p>
<div class="myLending-status lq-status"></div>
</div>
</div>
</div>
<div v-show="active === 2">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status">已归还</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
<p class="actual-date">实际归还时间2023-11-18 10:15:30</p>
<div class="myLending-status zs-status"></div>
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status">已归还</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
<p class="actual-date">实际归还时间2023-11-18 10:15:30</p>
<div class="myLending-status yq-status"></div>
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status">已归还</div>
</div>
<div class="product-cont lending-cont">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
</div>
<div class="mylending-info">
<p class="lending-date">借阅开始时间2023-11-18 10:15:30</p>
<p class="lending-date">最后归还时间2023-11-18 10:15:30</p>
<p class="actual-date">实际归还时间2023-11-18 10:15:30</p>
<div class="myLending-status yq-status"></div>
</div>
</div>
</div>
</van-tab>
</van-tabs>
</div>
@ -359,57 +71,50 @@ export default {
name: '已归还',
}
],
page:{
pageNo: 1,
pageSize: 20
}
})
onMounted(() => {
console.log(proxy.$route.query.tabActive)
data.active = JSON.parse(proxy.$route.query.tabActive)
getMyBorrowing()
})
let getMyBorrowing = () => {
let param = {
openid: 'ocHu-sysUQ6-xb9knAJ5mATqCOJE',
status: data.active,
pageNo: data.page.pageNo,
pageSize: data.page.pageSize
}
proxy.$http
.get(proxy.$API.MYBORROWING, {
params: param,
})
.then((res) => {
console.log(res)
data.orderStatus = res.data.myAddress.status
data.orderNum = res.data.myAddress.num
})
.catch((res) => {
console.log(res)
})
}
let toBack = () => {
proxy.$router.go(-1)
}
return {
...toRefs(data),
toBack
toBack,
getMyBorrowing
}
},
}
</script>
<style scoped lang="scss">
// .mylending-info{
// position: relative;
// padding: .2rem 0 0 0;
// font-size: .24rem;
// line-height: .4rem;
// color: #757676;
// p{
// padding: .04rem 0;
// }
// p.actual-date{
// color: #FF3871;
// }
// .myLending-status{
// position: absolute;
// right: 0;
// top: .36rem;
// width: 1.22rem;
// height: 1.07rem;
// &.yq-status{
// background: url('@assets/images/mylending-img1.png') no-repeat;
// background-size: 100% 100%;
// }
// &.zs-status{
// background: url('@assets/images/mylending-img2.png') no-repeat;
// background-size: 100% 100%;
// }
// &.lq-status{
// background: url('@assets/images/mylending-img3.png') no-repeat;
// background-size: 100% 100%;
// }
// }
// }
.mylending-info{
position: relative;
margin-top: .32rem;

442
library-activity/src/views/order/order.vue

@ -5,381 +5,56 @@
<p>我的订单</p>
</div>
<div class="order-main">
<van-tabs v-model:active="active" swipeable>
<van-tab v-for="item in tabTitle" :title="item.name">
<div v-show="active === 0" class="all-order">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status dshe">待审核</div>
</div>
<div class="product-cont" @click="toOrderDeatil(0)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status dhuo">待发货</div>
</div>
<div class="product-cont" @click="toOrderDeatil(1)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status dhuo">待收货</div>
</div>
<div class="product-cont" @click="toOrderDeatil(2)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
<div class="order-bottom">
<span class="order-btn01" @click="toLogisticsInfo">查看物流</span>
<span class="order-btn02" @click="show = true">确认收货</span>
</div>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status">已完成</div>
</div>
<div class="product-cont" @click="toOrderDeatil(3)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
<div class="order-bottom">
<span class="order-btn01" @click="toLogisticsInfo">查看物流</span>
</div>
</div>
<van-tabs v-model:active="active" swipeable @click-tab="onClickTab" >
<van-tab v-for="item in tabTitle" :title="item.name" >
<div v-for="(orderItem,index) in orderList" :key="index">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status">已取消</div>
</div>
<div class="product-cont" @click="toOrderDeatil(4)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
<div class="order-bottom">
<span class="order-btn01" @click="showDelt=true">删除订单</span>
</div>
</div>
</div>
<div v-show="active === 1" class="all-order">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status dshe">待审核</div>
</div>
<div class="product-cont" @click="toOrderDeatil(0)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
</div>
</div>
<div v-show="active === 2" class="all-order">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status dhuo">待发货</div>
</div>
<div class="product-cont" @click="toOrderDeatil(1)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
</div>
</div>
<div v-show="active === 3" class="all-order">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status dhuo">待收货</div>
</div>
<div class="product-cont" @click="toOrderDeatil(2)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
<div class="order-bottom">
<span class="order-btn01" @click="toLogisticsInfo">查看物流</span>
<span class="order-btn02" @click="show = true">确认收货</span>
</div>
</div>
</div>
<div v-show="active === 4" class="all-order">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
{{ orderItem.books && orderItem.books[0].selectName}}<i></i>
</p>
</div>
<div class="order-status">已完成</div>
<div :class="['order-status', orderItem.status === 1 && 'dshe', (orderItem.status===2 || orderItem.status===3) && 'dhuo']">{{ orderItem.orderName }}</div>
</div>
<div class="product-cont" @click="toOrderDeatil(3)">
<div v-for="(item,i) in orderItem.books" :key="i">
<div class="product-cont" @click="toOrderDeatil(orderItem.status,orderItem.id)" >
<div class="product-img">
<img src="" alt="" />
<img
:src="
$coverUrl+'/demoOnlineSelect/getBookCover.do?id=' +
item.id
"
alt=""
/>
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<h4 class="overflow-txt-only">{{ item.bookName }}</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
<p class="author overflow-txt-only">{{ item.author }}</p>
<p class="date overflow-txt-only">{{ item.createdDate }}</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
<div class="intro overflow-txt">{{ item.introduce }}</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
<span><i></i>{{ item.price }}</span>
<span>X1</span>
</div>
</div>
</div>
<div class="order-bottom">
<span class="order-btn01" @click="toLogisticsInfo">查看物流</span>
</div>
</div>
</div>
<div v-show="active === 5" class="all-order">
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
</p>
</div>
<div class="order-status">已取消</div>
</div>
<div class="product-cont" @click="toOrderDeatil(4)">
<div class="product-img">
<img src="" alt="" />
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span>X1</span>
</div>
</div>
<div class="order-dealer">
<p class="dealer">京东商城</p>
<p class="dealer">{{ orderItem.books && orderItem.books[0].supplierName}}</p>
<p class="order-pay">实付款<span><i></i>0</span></p>
</div>
<div class="order-bottom">
<span class="order-btn01" @click="showDelt=true">删除订单</span>
</div>
<span v-if="orderItem.status===3 || orderItem.status === 4" class="order-btn01" @click="toLogisticsInfo">查看物流</span>
<span v-if="orderItem.status===3" class="order-btn02" @click="show = true">确认收货</span>
<span v-if="orderItem.status===5" class="order-btn01" @click="showDelt=true">删除订单</span>
</div>
</div>
</div>
</van-tab>
</van-tabs>
</div>
@ -424,6 +99,7 @@ export default {
active: 0,
show: false,
showDelt: false,
orderList:[],
tabTitle: [
{
value: '0',
@ -450,23 +126,73 @@ export default {
name: '已取消',
},
],
page:{
pageNo: 1,
pageSize: 20
}
})
onMounted(() => {
console.log(proxy.$route.query.tabActive)
data.active = JSON.parse(proxy.$route.query.tabActive)
getMyOrder()
})
let toBack = () => {
proxy.$router.go(-1)
}
let toOrderDeatil = (type) => {
// proxy.$router.push({ path: '/OrderDetail' })
let onClickTab = (item) => {
data.active = item.name
data.orderList = []
getMyOrder()
}
let getMyOrder = () => {
let param = {
openid: 'ocHu-sysUQ6-xb9knAJ5mATqCOJE',
pageNo: data.page.pageNo,
pageSize: data.page.pageSize,
status: data.active
}
proxy.$http
.get(proxy.$API.MYORDER, {
params: param,
})
.then((res) => {
if(res.data.myOrder.length !== 0){
data.orderList = res.data.myOrder
data.orderList.forEach(orderItem=>{
switch(orderItem.status){
case 1 :
orderItem.orderName = '待审核'
break;
case 2 :
orderItem.orderName = '待发货'
break;
case 3 :
orderItem.orderName = '待收货'
break;
case 4 :
orderItem.orderName = '已完成'
break;
case 5 :
orderItem.orderName = '已取消'
break;
}
})
}
})
.catch((res) => {
console.log(res)
})
}
let toOrderDeatil = (type,orderId) => {
proxy.$router.push({
path: '/OrderDetail',
query: {
type: type
type: type,
orderId: orderId
}
})
}
let toLogisticsInfo = () => {
proxy.$router.push({ path: '/LogisticsInfo' })
}
@ -484,7 +210,9 @@ export default {
toOrderDeatil,
toLogisticsInfo,
comfiredHandle,
deltHandle
deltHandle,
onClickTab,
getMyOrder
}
},
}

82
library-activity/src/views/orderDetail/orderDetail.vue

@ -13,34 +13,40 @@
<p>顺丰速运SF162987196073</p>
</div>
<div class="user-location">
<p>洪山科技创业中心C栋武汉优软科技</p>
<p>是路飞啊<span>15376587658</span></p>
<p>{{ orderInfoTxt && orderInfoTxt.district + " " + orderInfoTxt.address}}</p>
<p>{{ orderInfoTxt && orderInfoTxt.consigneeName}}<span>{{ orderInfoTxt && orderInfoTxt.consigneePhone}}</span></p>
</div>
<div class="order-item">
<div class="list-top">
<div class="top-info">
<p class="active-name">
你选书我买单<i></i>
{{ orderBookList.length !== 0 && orderBookList[0].selectName }}<i></i>
</p>
</div>
<div :class="['order-status', orderType === '0' ? 'dshe' : '' , (orderType==='1' || orderType==='2') ? 'dhuo' : '']">{{ orderName }}</div>
<div :class="['order-status', orderType === '1' ? 'dshe' : '' , (orderType==='2' || orderType==='3') ? 'dhuo' : '']">{{ orderName }}</div>
</div>
<div class="product-cont">
<div class="product-cont" v-for="(item,index) in orderBookList" :key="index">
<div class="product-img">
<img src="" alt="" />
<img
:src="
$coverUrl+'/demoOnlineSelect/getBookCover.do?id=' +
item.id
"
alt=""
/>
</div>
<div class="product-txt">
<div class="product-info">
<h4 class="overflow-txt-only">秒懂AI提问让人工智能开发大脑</h4>
<h4 class="overflow-txt-only">{{ item.bookName }}</h4>
<div class="author-date">
<p class="author overflow-txt-only">秋叶 刘进新 姜梅 定秋枫</p>
<p class="date overflow-txt-only">2023年07月</p>
<p class="author overflow-txt-only">{{ item.author }}</p>
<p class="date overflow-txt-only">{{ item.createdDate }}</p>
</div>
<div class="intro overflow-txt">精心提炼20种GPT提问方法及指令从入门到进阶再到精通100个案例带你玩</div>
<div class="intro overflow-txt">{{ item.introduce }}</div>
</div>
</div>
<div class="order-book-price">
<span><i></i>29.0</span>
<span><i></i>{{ item.price }}</span>
<span>X1</span>
</div>
</div>
@ -52,7 +58,7 @@
<div class="order-all-info">
<div class="info-item">
<span>订单编号</span>
<p @click="copyOrderNum">20207896532145632103</p>
<p @click="copyOrderNum(orderInfoTxt.id)">{{ orderInfoTxt && orderInfoTxt.id }}</p>
</div>
<div class="info-item">
<span>支付方式</span>
@ -60,21 +66,21 @@
</div>
<div class="info-item">
<span>创建时间</span>
<p>2023-11-18 13:56:30</p>
<p>{{ orderInfoTxt && orderInfoTxt.createTime }}</p>
</div>
<div class="info-item" v-if="orderType === '1' || orderType === '2' || orderType === '3'">
<div class="info-item" v-if="orderType === '2' || orderType === '3' || orderType === '4'">
<span>审核时间</span>
<p>2023-11-18 13:56:30</p>
</div>
<div class="info-item" v-if="orderType === '2' || orderType === '3'">
<div class="info-item" v-if="orderType === '3' || orderType === '4'">
<span>发货时间</span>
<p>2023-11-18 13:56:30</p>
</div>
<div class="info-item" v-if="orderType === '3'">
<div class="info-item" v-if="orderType === '4'">
<span>收货时间</span>
<p>2023-11-18 13:56:30</p>
</div>
<div class="info-item" v-if="orderType === '4'">
<div class="info-item" v-if="orderType === '5'">
<span>取消时间</span>
<p>2023-11-18 13:56:30</p>
</div>
@ -93,21 +99,24 @@ export default {
const { proxy } = getCurrentInstance()
let data = reactive({
orderType: 0,
orderId: null,
orderBookList: [],
orderInfoTxt: null,
orderName: computed(function(){
switch(data.orderType){
case '0' :
case '1' :
return '待审核'
break;
case '1' :
case '2' :
return '待发货'
break;
case '2' :
case '3' :
return '待收货'
break;
case '3' :
case '4' :
return '已完成'
break;
case '4' :
case '5' :
return '已取消'
break;
}
@ -132,18 +141,40 @@ export default {
}
})
})
onMounted(() => {
onMounted(async () => {
console.log(proxy.$route.query.type)
data.orderType = proxy.$route.query.type
data.orderId = proxy.$route.query.orderId
if(data.orderId){
getOrderDetail()
}
})
let toBack = () => {
proxy.$router.go(-1)
}
let getOrderDetail = () => {
let param = {
orderId: data.orderId
}
proxy.$http
.get(proxy.$API.ORDERDETAILS, {
params: param,
})
.then((res) => {
data.orderBookList = res.data.orderDetails.books
data.orderInfoTxt = res.data.orderDetails.orders
})
.catch((res) => {
console.log(res)
})
}
let toLogisticsInfo = () => {
proxy.$router.push({ path: '/LogisticsInfo' })
}
let copyOrderNum = () => {
const logisticsInfo = '20207896532145632103';
let copyOrderNum = (id) => {
const logisticsInfo = id;
if (navigator.clipboard) {
navigator.clipboard.writeText(logisticsInfo)
.then(() => {
@ -167,6 +198,7 @@ export default {
return {
...toRefs(data),
toBack,
getOrderDetail,
toLogisticsInfo,
copyOrderNum
}

4
library-activity/vite.config.js

@ -48,10 +48,10 @@ export default ({ mode }) => defineConfig({
server: {
port: 8089,
proxy: {
'/api': {
'/frontDemoApi': {
target: 'http://192.168.99.67:8080',
changeOrigin: true,
rewrite: path => path.replace(/^\/api/, '')
rewrite: path => path.replace(/^\/frontDemoApi/, '')
}
}
}

84
selfServiceMachine/src/api/bookshelf.js

@ -1,96 +1,26 @@
import request from '@/utils/request'
// import qs from 'qs'
// 数字资源
export function initNumberResoures(params) {
// 书单推荐二级页面
export function FetchBookRecommendList(params) {
return request({
url: '/dxhtsg/initNumberResoures',
url: '/frontDemoApi/bookRecommendList',
method: 'get',
params: params
})
}
// 新书推荐
export function FetchNewBookRecommend(params) {
export function FetchbookOnlineList(params) {
return request({
url: '/dxhtsg/newBookRecommend',
url: '/frontDemoApi/bookOnlineList',
method: 'get',
params: params
})
}
// 热门图书
export function FetchHotBookRecommend(params) {
return request({
url: '/dxhtsg/hotBookRecommend',
method: 'get',
params: params
})
}
// 通过isbn获取图书封面
export function FetchCoverByISBN(params) {
return request({
url: '/dxhtsg/getCoverByISBN',
method: 'get',
params: params
// responseType: 'blob'
})
}
// 图书详情
export function getBookDetailsByISBN(params) {
return request({
url: '/dxhtsg/getBookDetailsByISBN',
method: 'get',
params: params
})
}
// 获取首页书架基本信息
export function initSmartBookshelf(params) {
return request({
url: '/dxhtsg/initSmartBookshelf',
method: 'get',
params
})
}
// 智能书架-书架详情
export function FetchInitBookshelfDetails(params) {
return request({
url: '/dxhtsg/initBookshelfDetails',
method: 'get',
params
})
}
// 作者推荐
export function FetchProposeAuthor(params) {
return request({
url: '/dxhtsg/proposeAuthor',
method: 'get',
params: params
})
}
// 作者推荐
export function initBookshelfDetails(params) {
return request({
url: '/dxhtsg/initBookshelfDetails',
method: 'get',
params
})
}
export default {
FetchNewBookRecommend,
FetchCoverByISBN,
initNumberResoures,
getBookDetailsByISBN,
initSmartBookshelf,
FetchInitBookshelfDetails,
FetchHotBookRecommend,
FetchProposeAuthor,
initBookshelfDetails
FetchBookRecommendList,
FetchbookOnlineList
}

2
selfServiceMachine/src/utils/request.js

@ -3,7 +3,7 @@ import { Message } from 'element-ui'
// 创建axios实例
const service = axios.create({
baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : '/', // api 的 base_url
baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : 'http://192.168.99.67:8080', // api 的 base_url
timeout: 1000 * 30, // 请求超时时间
headers: {
'Content-Type': 'application/json'

18
selfServiceMachine/src/views/bookRecommend.vue

@ -208,11 +208,9 @@
</template>
<script>
// import { bookListCrud } from './mixins/booklist.js'
import { FetchBookRecommendList } from '@/api/bookshelf'
export default {
name: 'BookRecommend',
components: {},
// mixins: [bookListCrud],
data() {
return {
selectValue: '1',
@ -286,8 +284,22 @@ export default {
},
mounted(){
this.$refs.carousel.$el.addEventListener('current-change', this.carouselChange)
this.getBookRecommendList()
},
methods: {
getBookRecommendList() {
const params = {
'pageNo': 0,
'pageSize': 10
}
FetchBookRecommendList(params).then(res => {
console.log(res)
}).catch(() => {
this.$message.error('接口错误')
})
},
GetBookBasePages(ClassId,Order,pageIndex) {
// const that = proxy;
// that.ClassId = ClassId;

7
selfServiceMachine/vue.config.js

@ -17,13 +17,6 @@ module.exports = {
errors: true
},
proxy: {
'/dxhtsg/': {
target: process.env.VUE_APP_BASE_API,
changeOrigin: true,
pathRewrite: {
'^/dxhtsg': 'dxhtsg'
}
},
'/auth/': {
target: process.env.VUE_APP_BASE_API,
changeOrigin: true,

Loading…
Cancel
Save