Commit 69c16940 authored by ly's avatar ly

接口调试完毕

parent ac408d28
NODE_ENV=development
VUE_APP_API=https://bifrost.billionsat.net
VUE_APP_API_PUBLIC_URL=http://192.168.0.118:8080/
VUE_APP_ROUTE=http://192.168.0.118:8080/index.html#/
VUE_APP_API_PUBLIC_URL=http://ht.billionsat.net/
VUE_APP_ROUTE=http://ht.billionsat.net/index.html#/
NODE_ENV=production
VUE_APP_API=https://great.rockstect.net
VUE_APP_API_PUBLIC_URL=https://blmx.jqtianxia.com/
VUE_APP_ROUTE=https://blmx.jqtianxia.com/index.html#/
VUE_APP_API=https://great.rockstect.com
VUE_APP_API_PUBLIC_URL=https://ht.billionsat.com/
VUE_APP_ROUTE=https://ht.billionsat.com/index.html#/
NODE_ENV=staging
VUE_APP_API=https://bifrost.billionsat.net
VUE_APP_API_PUBLIC_URL=http://192.168.0.118:8080/
VUE_APP_ROUTE=http://192.168.0.118:8080/index.html#/
VUE_APP_API_PUBLIC_URL=http://ht.billionsat.net/
VUE_APP_ROUTE=http://ht.billionsat.net/index.html#/
# tobiras-h5
海桐公众号h5
亿升
测试bucket:haitong-h5-test
地址:http://ht.billionsat.net
线上bucket:haitong-h5-prod
地址:https://ht.billionsat.com
## Project setup
```
npm install
......
......@@ -4,11 +4,11 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover" name="viewport">
<script src="https://m.jqtianxia.com/public/libs/flexible.js"></script>
<script src="https://ht.billionsat.com/flexible.js"></script>
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<!-- 调试 -->
<script src="https://m.rockstect.com/public/vconsole.min.js"></script>
<script src="https:/ht.billionsat.com/vconsole.min.js"></script>
<script>
window.vConsole = new window.VConsole();
</script>
......
......@@ -17,10 +17,16 @@ export default {
})
const init=async()=>{
const token = localStorage.getItem('token')
console.log(token,'token')
console.log(token,'token1')
if(token==null){
router.push('/login')
return false
}
const res=await API.checkLogins({
"tsToken":token
})
console.log(res,'4444')
if(res.result){
const{idCard, mobile}=res.result
localStorage.setItem('idCard',idCard)
......
import request from '../utils/Ajax'
export default{
/*登录发送验证码 */
/*登录发送验证码 */
async loginSend(data) {
return request.post('authority/anon/captcha/sendByHtH5', data)
},
......@@ -19,5 +19,9 @@ export default{
// 预约还款
async applyC(data) {
return request.post('blackhole/custm/xiaChengMiniProgram/applyTs', data)
},
// 账单详情
async billDetails(data) {
return request.post('blackhole/custm/xiaChengMiniProgram/caseInfoDetail', data)
}
}
\ No newline at end of file
import axios from 'axios'
import { showToast } from 'vant'
const API = process.env.VUE_APP_API
console.log(process.env,'8766')
// axios 拦截器
axios.interceptors.request.use(function (config) {
// 在发送请求之前做些什么
const token = localStorage.getItem('token')
console.log(token,'token')
if (!config.data) config.data = {}
if (token) config.data.tsToken = token
......@@ -22,7 +22,7 @@ axios.interceptors.request.use(function (config) {
const Fetch = async options => {
let fetch
const {url,data, method} = options
console.log(options,'options')
const baseUrl = `${API}/${url}`
switch (method.toLowerCase()) {
case 'get':
......@@ -59,9 +59,9 @@ const Fetch = async options => {
// 对返回结果和错误信息进行处理
const request = function (options) {
console.log(options,'options9999')
return Fetch(options).then(res => {
console.log(res,'resssss')
if (res.status === 200) {
const {message,code,success }=res.data
if(code==500 && success==false){
......
......@@ -125,7 +125,7 @@
font-weight: 400;
font-size: 28px;
color: #2F87FF;
line-height: 26px;
line-height: 40px;
font-style: normal;
}
.bill-page .bill-mians .bill-card .card-bill .bill-mian .main-line {
......
......@@ -54,6 +54,7 @@
padding-left: 8px;
}
}
.main-text{
padding-top:28px;
font-family: PingFangSC, PingFang SC;
......@@ -123,7 +124,7 @@
font-weight: 400;
font-size: 28px;
color: #2F87FF;
line-height: 26px;
line-height: 40px;
// text-align: left;
font-style: normal;
}
......
......@@ -11,18 +11,19 @@
<div class='bill-card'>
<div class='card-main'>
<div class='main-top'>
<span class='top-text'>产品名称</span>
<span>协议编号: BA205463526472425</span>
<span class='top-text'>{{billDetails.loanName}}</span>
<span>协议编号:{{billDetails.loanNo}}</span>
</div>
<div class='main-s'>
<div>借款金额:6000.00</div>
<div>借款金额:{{billDetails.loanTotalAmt}}</div>
<div class="s-qishu">
<span class="s-qishu">借款期数:12</span>
<span class="s-qishu">借款期数:{{billDetails.loanTotalPeriod}}</span>
<!-- <span class='s-time'>借款时间:2017/12/12</span> -->
</div>
</div>
<div class='main-text'>待还款金额(元)</div>
<div class='main-num'>5,000.00</div>
<div class='main-num'>{{billDetails.totalShouldRepay}}</div>
</div>
<div class='card-bill'>
<div class='bill-mian'>
......@@ -31,139 +32,24 @@
<i class='l-icon'></i>
<span>待还期数</span>
</div>
<div class='mian-r' @click='goPhone'>
<div class='mian-r' @click='goPhone(billDetails.hotPhone)'>
<i class='r-icon'></i>
<span>400 888 8888</span>
<span>{{billDetails.hotPhone}}</span>
</div>
</div>
<div class='main-line'>
<div class='main-line' v-for="item in billDetails.loanCaseDetailList" :key="item.id">
<div class='line-l'>
<div class='l-first'>
<span class='first-text'><span class='text-num'>1</span></span>
<span class='first-time'>08/16</span>
<span class='first-text'><span class='text-num'>{{item.loanCurrentPeriod}}</span></span>
<span class='first-time'>{{item.loanBackDateString}}</span>
</div>
<div class='l-nums'>1,255.00</div>
<div class='l-nums'>{{item.capitalPeriodShouldRepay}}</div>
<div class='l-text'>当期应还(元)</div>
</div>
<div class='line-r'>
<!-- <span class='r-red'>已逾期</span> -->
<!-- <span class='r-blue'>待还款</span> -->
<span class='r-grey'>未到还款日</span>
</div>
</div>
<div class='main-line'>
<div class='line-l'>
<div class='l-first'>
<span class='first-text'><span class='text-num'>2</span></span>
<span class='first-time'>08/16</span>
</div>
<div class='l-nums'>1,255.00</div>
<div class='l-text'>当期应还(元)</div>
</div>
<div class='line-r'>
<!-- <span class='r-red'>已逾期</span> -->
<span class='r-blue'>待还款</span>
<!-- <span class='r-grey'>未到还款日</span> -->
</div>
</div>
<div class='main-line'>
<div class='line-l'>
<div class='l-first'>
<span class='first-text'><span class='text-num'>2</span></span>
<span class='first-time'>08/16</span>
</div>
<div class='l-nums'>1,255.00</div>
<div class='l-text'>当期应还(元)</div>
</div>
<div class='line-r'>
<!-- <span class='r-red'>已逾期</span> -->
<span class='r-blue'>待还款</span>
<!-- <span class='r-grey'>未到还款日</span> -->
</div>
</div>
<div class='main-line'>
<div class='line-l'>
<div class='l-first'>
<span class='first-text'><span class='text-num'>2</span></span>
<span class='first-time'>08/16</span>
</div>
<div class='l-nums'>1,255.00</div>
<div class='l-text'>当期应还(元)</div>
</div>
<div class='line-r'>
<!-- <span class='r-red'>已逾期</span> -->
<span class='r-blue'>待还款</span>
<!-- <span class='r-grey'>未到还款日</span> -->
</div>
</div>
<div class='main-line'>
<div class='line-l'>
<div class='l-first'>
<span class='first-text'><span class='text-num'>2</span></span>
<span class='first-time'>08/16</span>
</div>
<div class='l-nums'>1,255.00</div>
<div class='l-text'>当期应还(元)</div>
</div>
<div class='line-r'>
<!-- <span class='r-red'>已逾期</span> -->
<span class='r-blue'>待还款</span>
<!-- <span class='r-grey'>未到还款日</span> -->
</div>
</div>
<div class='main-line'>
<div class='line-l'>
<div class='l-first'>
<span class='first-text'><span class='text-num'>2</span></span>
<span class='first-time'>08/16</span>
</div>
<div class='l-nums'>1,255.00</div>
<div class='l-text'>当期应还(元)</div>
</div>
<div class='line-r'>
<!-- <span class='r-red'>已逾期</span> -->
<span class='r-blue'>待还款</span>
<!-- <span class='r-grey'>未到还款日</span> -->
</div>
</div>
<div class='main-line'>
<div class='line-l'>
<div class='l-first'>
<span class='first-text'><span class='text-num'>2</span></span>
<span class='first-time'>08/16</span>
</div>
<div class='l-nums'>1,255.00</div>
<div class='l-text'>当期应还(元)</div>
</div>
<div class='line-r'>
<!-- <span class='r-red'>已逾期</span> -->
<span class='r-blue'>待还款</span>
<!-- <span class='r-grey'>未到还款日</span> -->
</div>
</div>
<div class='main-line'>
<div class='line-l'>
<div class='l-first'>
<span class='first-text'><span class='text-num'>3</span></span>
<span class='first-time'>08/16</span>
</div>
<div class='l-nums'>1,255.00</div>
<div class='l-text'>当期应还(元)</div>
</div>
<div class='line-r'>
<span class='r-red'>已逾期</span>
<!-- <span class='r-blue'>待还款</span> -->
<!-- <span class='r-grey'>未到还款日</span> -->
<span v-show='item.overdueState.code=="YES"' class='r-red'>{{item.overdueState.message}}</span>
<span v-show='item.overdueState.code=="DUE"' class='r-blue'>{{item.overdueState.message}}</span>
<span v-show='item.overdueState.code=="NO_DUE"' class='r-grey'>{{item.overdueState.message}}</span>
</div>
</div>
......@@ -177,18 +63,35 @@
<script>
import { onMounted, toRefs, reactive } from "vue";
import { useRouter } from 'vue-router';
import API from "../../api/api";
export default {
setup(){
const route=useRouter()
const state=reactive({
titleDes:"",
billDetails:{}
})
const onClickLeft = () => history.back()
const goPhone=()=>{
window.location.href = 'tel://4006672319'
const goPhone=(item)=>{
const telNum='tel://'
window.location.href = `${telNum}${item}`
}
const init=async(val)=>{
const res=await API.billDetails({
"idCard": "",
"mobile": "",
"loanId":val,
})
console.log(res,'9766')
state.billDetails=res.result
}
onMounted(()=>{
state.titleDes='账单'
const paramss=route.currentRoute.value.query
console.log(paramss.id,'paramss')
init(paramss.id)
})
return {
...toRefs(state),
......
......@@ -67,13 +67,12 @@
font-style: normal;
}
.login-page .login-main .mian-box .box-id .id-sendcodes {
width: 240px;
width: 260px;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24px;
font-size: 26px;
color: #3877F8;
line-height: 28px;
text-align: left;
}
.login-page .login-main .mian-box .box-btn {
margin-top: 54px;
......
......@@ -64,13 +64,13 @@
font-style: normal;
}
.id-sendcodes{
width: 240px;
width: 260px;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24px;
font-size: 26px;
color: #3877F8;
line-height: 28px;
text-align: left;
}
}
.box-btn{
......
......@@ -32,7 +32,8 @@
:value="sendcode"
type="number"
@input="changecode($event)"/>
<div class='id-sendcode' @click='loginSendCode' v-if="canSendCode">获取验证码</div>
<div class='id-sendcode' @click='loginSendCode' v-if="canSendCode">获取验证码</div>
<div class='id-sendcodes' v-else>重新获取({{count}}秒)</div>
</div>
......@@ -49,11 +50,10 @@
<script>
import { onMounted, toRefs, reactive } from "vue";
import API from "../../api/api";
import { Toast } from 'vant';
import { useRouter } from 'vue-router';
export default {
setup(){
const router=useRouter()
const route=useRouter()
const state=reactive({
titleDes:"",
idCardNumber:'',
......@@ -63,7 +63,7 @@ export default {
passWord:'',
accountVal:'',
timer: null,//倒计时
count: '',//倒计时
count: '58',//倒计时
})
// const onClickLeft = () => history.back()
const IDChange = (e) => {
......@@ -99,7 +99,7 @@ export default {
const { tsToken }=res.result
if(tsToken){
localStorage.setItem('token',tsToken)
router.push('/')
route.push('/')
}
}
// 获取验证码倒计时
......
......@@ -7,7 +7,7 @@
}
.loan-page .loan-contant {
box-sizing: border-box;
padding-top: 90px;
padding-top: 10px;
}
.loan-page .loan-contant .loan-main {
margin: 32px;
......@@ -17,15 +17,13 @@
box-shadow: 0px 0px 20px 0px rgba(220, 220, 220, 0.5);
border-radius: 12px;
}
.loan-page .loan-contant .loan-main .main-box {
padding: 40px 24px;
}
.loan-page .loan-contant .loan-main .main-box .box-top {
padding: 40px 24px;
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 24px;
border-bottom: 2px solid #ccc;
border-bottom: 1px solid #ccc;
}
.loan-page .loan-contant .loan-main .main-box .box-top .top-l {
display: flex;
......@@ -129,15 +127,32 @@
color: #2F87FF;
text-align: center;
}
.loan-page .popup-btn {
margin: 46px auto 0;
.loan-page .page-popup .popup-main {
padding: 46px;
}
.loan-page .page-popup .popup-main .popup-text {
padding-bottom: 8px;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 32px;
color: #333333;
line-height: 48px;
text-align: center;
font-style: normal;
}
.loan-page .page-popup .popup-footer {
padding: 40px;
border-top: 2px solid #EBEBEB;
}
.loan-page .page-popup .popup-footer .popup-btn {
margin: 24px auto;
width: 526px;
height: 72px;
background: #2F87FF;
border-radius: 36px;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
font-size: 32px;
font-size: 36px;
color: #FFFFFF;
line-height: 72px;
text-align: center;
......
......@@ -6,7 +6,7 @@
padding-bottom:140px;
.loan-contant{
box-sizing: border-box;
padding-top:90px;
padding-top:10px;
.loan-main{
margin:32px;
......@@ -16,13 +16,14 @@
box-shadow: 0px 0px 20px 0px rgba(220,220,220,0.5);
border-radius: 12px;
.main-box{
padding: 40px 24px;
.box-top{
padding: 40px 24px;
display: flex;
align-items: center;
justify-content:space-between;
padding-bottom: 24px;
border-bottom: 2px solid #ccc;
border-bottom: 1px solid #ccc;
.top-l{
display: flex;
align-items: center;
......@@ -141,21 +142,43 @@
color:#2F87FF;
text-align: center;
}
.popup-btn{
margin: 46px auto 0;
width: 526px;
height: 72px;
background: #2F87FF;
border-radius: 36px;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
font-size: 32px;
color: #FFFFFF;
line-height: 72px;
text-align: center;
font-style: normal;
.page-popup{
.popup-main{
padding:46px;
.popup-text{
padding-bottom: 8px;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 32px;
color: #333333;
line-height: 48px;
text-align: center;
font-style: normal;
}
}
.popup-footer{
padding:40px;
border-top:2px solid #EBEBEB;
.popup-btn{
margin:24px auto;
width: 526px;
height: 72px;
background: #2F87FF;
border-radius: 36px;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
font-size: 36px;
color: #FFFFFF;
line-height: 72px;
text-align: center;
font-style: normal;
}
}
}
}
\ No newline at end of file
<template>
<div class='loan-page'>
<van-nav-bar
<!-- <van-nav-bar
:title="titleDes"
left-text=""
fixed
left-arrow
@click-left="onClickLeft"
/>
/> -->
<div class='loan-contant'>
<div class='loan-main'>
<div class='loan-main' v-for="item in loanList" :key='item.id'>
<div class='main-box'>
<div class='box-top'>
<div class='top-l'>
<img class='l-img' src='' />
<span>一时代</span>
<img class='l-img' :src='item.logoUrl' />
<span>{{item.loanName}}</span>
</div>
<div class='top-r' @click="goPopup">
<div class='top-r' @click="goPopup(item.customerId,item.loanNo)">
<i class='r-icon'></i>
<span>咨询</span>
</div>
</div>
<div class='box-con'>
<div class='con-l'>
<div class='l-num'>5500.00</div>
<div class='l-num'>{{item.shouldRepayTotal}}</div>
<div class='l-tex'>待还款金额(元)</div>
</div>
<div class='con-r'>
<div class='r-loan-num'>借款金额:5000.00(元)</div>
<div class='r-back-num'>已还金额:1000.00(元)</div>
<div class='r-back-num'>逾期期数:28</div>
<div class='r-back-nums'>逾期天数:12360</div>
<div class='r-loan-num'>借款金额:{{item.loanTotalAmt}}(元)</div>
<div class='r-back-num'>已还金额:{{item.repayAmount}}(元)</div>
<div class='r-back-num'>逾期期数:{{item.overdueTotalPeriod}}</div>
<div class='r-back-nums'>逾期天数:{{item.overdueDay}}</div>
</div>
</div>
<div class='box-btn' @click="goBill">还 款</div>
<div class='box-btn' @click="goBill(item.customerId,item.loanNo,item.loanId)">还 款</div>
</div>
</div>
</div>
</div>
<div class="myloan-footer" @click="gophone">
<div >客服热线</div>
<div>4006063123</div>
<div>{{callMobile}}</div>
</div>
<van-popup v-model:show="showCenter" round :style="{ padding: '24px' , fontSize:'18px' }" >
<div>咨询申请已提交,</div>
<div>工作人员会在24小时内电话联系你,</div>
<div>请注意接听</div>
<div class="popup-btn" @click='showCancel'>确 定</div>
<van-popup v-model:show="showCenter" round class='page-popup' >
<div class='popup-main'>
<div class='popup-text'>咨询申请已提交,</div>
<div class='popup-text'>工作人员会在24小时内电话联系你,</div>
<div class='popup-text'>请注意接听</div>
</div>
<div class='popup-footer'>
<div class="popup-btn" @click='showCancel'>确 定</div>
</div>
</van-popup>
</div>
</template>
......@@ -64,30 +60,54 @@ import { useRouter } from 'vue-router';
import API from "../../api/api";
export default {
setup(){
const router=useRouter()
const route=useRouter()
const state=reactive({
titleDes:"",
showCenter:false
showCenter:false,
loanList:[],
callMobile:''
})
const onClickLeft = () => history.back()
const goPopup=()=>{
// const onClickLeft = () => history.back()
const goPopup=(valF,valS)=>{
notifyCustomer(valF,valS)
state.showCenter=true
}
const showCancel=()=>{
state.showCenter=false
}
const goBill=()=>{
router.push('/bill')
const goBill=(valF,valS,valT)=>{
notifyCustomer(valF,valS)
route.push({
path: 'bill',
query:{
id:valT
}
})
}
const init=async()=>{
const res=await API.loanDetails({
"idCard": "",
"mobile": ""
})
console.log(res,'reess')
if(res.result){
const {caseCustmViews,hotPhone}=res.result
state.loanList=caseCustmViews
state.callMobile=hotPhone
}
// console.log(res,'reess')
}
const notifyCustomer=async(valF,valS)=>{
console.log(valF,valS)
const res= await API.applyC({
"customerId":valF,
"idCard": "string",
"loanNo": valS,
"mobile": "string"
})
}
const gophone=()=>{
window.location.href = 'tel://4006672319'
const telNum='tel://'
window.location.href = `${telNum}${state.callMobile}`
}
onMounted(()=>{
state.titleDes='我的借款'
......@@ -95,7 +115,7 @@ export default {
})
return {
...toRefs(state),
onClickLeft,
// onClickLeft,
goPopup,
showCancel,
goBill,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment