618活动修改
This commit is contained in:
@@ -6,7 +6,7 @@ if (process.env.NODE_ENV === 'development') {
|
||||
baseUrl = "https://api.nuttyreading.com/"; // 线上正式
|
||||
} else if (process.env.NODE_ENV === 'production') {
|
||||
// 生产环境11
|
||||
// baseUrl = "http://192.168.110.100:9200/pb/"; // 张川川
|
||||
//baseUrl = "http://192.168.110.100:9200/pb/"; // 张川川
|
||||
baseUrl = "https://api.nuttyreading.com/"; //1
|
||||
}
|
||||
const courtConfig = {
|
||||
@@ -37,7 +37,7 @@ const courtConfig = {
|
||||
//手机号验证正则表达式
|
||||
// (中国大陆)
|
||||
// const phoneRegular = /^1\d{10}$/;
|
||||
const phoneRegular = /^1([358][0-9]|4[579]|66|7[0135678]|9[89])\d{8}$/;
|
||||
const phoneRegular = /^1(3[0-9]|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
|
||||
// const phoneRegular = /^[1][3-8]\d{9}$|^([6|9])\d{7}$|^[0][9]\d{8}$|^[6]([8|6])\d{5}$/;
|
||||
// 手机号码验证 支持港澳台 大陆
|
||||
// const phoneRegular = /^[1][3-8]\d{9}$|^([6|9])\d{7}$|^[0][9]\d{8}$|^[6]([8|6])\d{5}$|^(00){0,1}(65){1}[13689]\d{6,7}$/;
|
||||
|
||||
6
main.js
6
main.js
@@ -31,11 +31,9 @@ Vue.prototype.$commonJS = commonJS
|
||||
import http from '@/config/requestConfig.js';
|
||||
Vue.prototype.$http = http
|
||||
// 地址
|
||||
// Vue.prototype.$baseUrl = "https://testapi.nuttyreading.com/"
|
||||
// Vue.prototype.$baseUrl = "http://192.168.110.100:9200/pb/"
|
||||
// Vue.prototype.$baseUrl = "http://59.110.212.44:9100/pb/"
|
||||
//Vue.prototype.$baseUrl = "http://192.168.110.100:9200/pb/"
|
||||
Vue.prototype.$baseUrl = "https://api.nuttyreading.com/"
|
||||
// Vue.prototype.$baseUrl = "http://101.201.146.165:8088/App-EH/"//app
|
||||
|
||||
// 安卓安卓包下载地址
|
||||
// Vue.prototype.$apkUrl = "https://www.nuttyreading.com/nuttyreading.apk" // 本地地址
|
||||
Vue.prototype.$apkUrl = "https://a.app.qq.com/o/simple.jsp?pkgname=com.cn.zmzm" // 应用宝
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
"src" : "图片路径"
|
||||
}
|
||||
],
|
||||
"versionName" : "1.0.40",
|
||||
"versionCode" : 1040,
|
||||
"versionName" : "1.0.41",
|
||||
"versionCode" : 1041,
|
||||
"app-plus" : {
|
||||
"nvueCompiler" : "weex",
|
||||
"compatible" : {
|
||||
|
||||
@@ -2404,7 +2404,7 @@ export default {
|
||||
width: auto !important;
|
||||
}
|
||||
.highlight {
|
||||
color: $uni-color-primary;
|
||||
color: $themeColor;
|
||||
}
|
||||
.tanchu {
|
||||
padding: 40rpx 30rpx 40rpx 30rpx;
|
||||
|
||||
@@ -36,8 +36,9 @@
|
||||
<text class="font_bold" style=" display: block;" v-if="item.type==1||item.type==2">超级VIP权限:</text>
|
||||
<text class="font_bold" style=" display: block;" v-else>VIP权限:</text>
|
||||
<view class="vip_qx_v" v-if="item.type==1">无限制观看吴门医述APP中医学、中西汇通学、针灸学、肿瘤学四个板块任意课程;</view>
|
||||
<view class="vip_qx_v" v-else-if="item.type==2">无限制观看众妙之门APP与吴门医述APP心理学板块任意课程;</view>
|
||||
<view class="vip_qx_v" v-else-if="item.type==2">无限制观看众妙之门APP与心灵空间APP任意课程;</view>
|
||||
<view class="vip_qx_v" v-else-if="item.type==7">无限制观看众妙之门APP任意课程;</view>
|
||||
<view class="vip_qx_v" v-else-if="item.type==8">无限制观看心灵空间APP任意课程;</view>
|
||||
<view class="vip_qx_v" v-else>无限制观看吴门医述APP{{item.title.replace(/VIP/g, '')}}板块任意课程;</view>
|
||||
|
||||
<view class="vip_qx_v">
|
||||
|
||||
@@ -81,11 +81,14 @@
|
||||
>无限制观看吴门医述APP中医学、中西汇通学、针灸学、肿瘤学四个板块任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else-if="item.type == 2"
|
||||
>无限制观看众妙之门APP与吴门医述APP心理学板块任意课程;</view
|
||||
>无限制观看众妙之门APP与心灵空间APP任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else-if="item.type == 7"
|
||||
>无限制观看众妙之门APP任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else-if="item.type == 8"
|
||||
>无限制观看心灵空间APP任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else
|
||||
>无限制观看吴门医述APP{{
|
||||
item.title.replace(/VIP/g, "")
|
||||
|
||||
@@ -91,11 +91,14 @@
|
||||
>无限制观看吴门医述APP中医学、中西汇通学、针灸学、肿瘤学四个板块任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else-if="item.type == 2"
|
||||
>无限制观看众妙之门APP与吴门医述APP心理学板块任意课程;</view
|
||||
>无限制观看众妙之门APP与心灵空间APP任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else-if="item.type == 7"
|
||||
>无限制观看众妙之门APP任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else-if="item.type == 8"
|
||||
>无限制观看心灵空间APP任意课程;</view
|
||||
>
|
||||
<view class="vip_qx_v" v-else
|
||||
>无限制观看吴门医述APP{{
|
||||
item.title.replace(/VIP/g, "")
|
||||
|
||||
@@ -1431,6 +1431,6 @@ export default {
|
||||
}
|
||||
|
||||
.highlight {
|
||||
color: $uni-color-primary;
|
||||
color: $themeColor;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -72,87 +72,18 @@
|
||||
}`"
|
||||
>
|
||||
<text v-if="slotProps.row.changeAmount > 0">+</text>
|
||||
<text>{{ slotProps.row.changeAmount }}</text> </view
|
||||
><view class="AC_mark" v-if="slotProps.row.remark">{{
|
||||
slotProps.row.remark
|
||||
}}</view
|
||||
><view class="AC_time">{{ slotProps.row.createTime }}</view>
|
||||
<text>{{ slotProps.row.changeAmount }}</text>
|
||||
</view>
|
||||
<view class="AC_mark" v-if="slotProps.row.remark">{{slotProps.row.remark}}</view>
|
||||
<view class="AC_note" v-if="slotProps.row.note&&slotProps.row.note!='null'">说明:{{slotProps.row.note}}</view>
|
||||
<view class="AC_time">{{ slotProps.row.createTime }}</view>
|
||||
</view>
|
||||
</template>
|
||||
</common-list>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view v-if="tab_muJian==1">
|
||||
<view class="couponList">
|
||||
<view v-for="(item,index) in couponTabs" @click="couponTabCLi(index)"
|
||||
:class="couponListTab==index?'couStyle':''">{{item.name}}</view>
|
||||
</view>
|
||||
<view>
|
||||
<view class="card" v-for="item in cardList">
|
||||
<view>
|
||||
<view class="content">
|
||||
<view :class="couponListTab==0?'page-group':'page-group grey'">
|
||||
<i class="fold-page"></i>
|
||||
<span class="page">优惠券</span>
|
||||
</view>
|
||||
<i class="dot-left"></i>
|
||||
<i class="dot-right"></i>
|
||||
<view class="coupon-detail">
|
||||
<view :class="couponListTab==0?'':'grey'">
|
||||
<span>¥</span>
|
||||
<span>{{item.coupons.amount}}</span>
|
||||
</view>
|
||||
<view>
|
||||
<view>{{item.coupons.couponName}}</view>
|
||||
<view>满{{item.coupons.useLevel}}元可用</view>
|
||||
<view>
|
||||
<span v-if="item.coupons.couponProType == 0">使用类型:商品类</span>
|
||||
<span v-if="item.coupons.couponProType == 1">使用类型:电子书</span>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<view v-if="couponListTab==0" @click="onPageJump('../bookShop/bookShopIndex')">
|
||||
立即使用</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="footer">
|
||||
<view style="margin: 0 0 8rpx 0;">使用时间:{{item.coupons.takeEffectDate}} -
|
||||
{{item.coupons.expirationDate}}
|
||||
</view>
|
||||
<view>{{item.coupons.note}}</view>
|
||||
<view class="arrow"></view>
|
||||
<view class="arrow-up"></view>
|
||||
</view>
|
||||
<view class="ribbon" v-if="couponListTab==0">未使用</view>
|
||||
<view class="ribbon grey" v-if="couponListTab==1">已使用</view>
|
||||
<view class="ribbon grey" v-if="couponListTab==2">已过期</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="cardList.length==0" style="text-align: center;font-size: 30rpx;color: #666;">暂无代金券
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<!-- <view>
|
||||
<view v-if="status == 0" style="text-align: center">
|
||||
<u-loading-icon style="display: inline-block"></u-loading-icon>
|
||||
<font
|
||||
style="
|
||||
vertical-align: super;
|
||||
margin-left: 10px;
|
||||
font-size: 26rpx;
|
||||
color: #909399;
|
||||
"
|
||||
>努力加载中</font
|
||||
>
|
||||
</view>
|
||||
<view v-if="status == 1">
|
||||
<u-divider text="全部加载完成"></u-divider>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
|
||||
<view style="padding-bottom: 20rpx">
|
||||
<u-back-top
|
||||
:scroll-top="scrollTop"
|
||||
@@ -273,7 +204,6 @@ export default {
|
||||
// 隐藏原生的tabbar
|
||||
uni.hideTabBar();
|
||||
this.getData();
|
||||
// this.getCourpe();
|
||||
},
|
||||
components: {
|
||||
musicPlay,
|
||||
@@ -343,12 +273,6 @@ export default {
|
||||
this.cardList = res.couponVos;
|
||||
});
|
||||
},
|
||||
// 切换优惠券
|
||||
couponTabCLi(e) {
|
||||
this.couponListTab = e;
|
||||
this.getCourpe();
|
||||
},
|
||||
|
||||
// 充值天医币
|
||||
buPoint() {
|
||||
uni.navigateTo({
|
||||
@@ -460,15 +384,16 @@ export default {
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 15rpx;
|
||||
// white-space: nowrap;
|
||||
color: #888;
|
||||
float: left;
|
||||
display: inline-block;
|
||||
}
|
||||
.AC_note {
|
||||
color: #888;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.AC_time {
|
||||
color: #bababa;
|
||||
font-size: 28rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,10 +45,9 @@
|
||||
>
|
||||
<text v-if="slotProps.row.changeAmount > 0">+</text>
|
||||
<text>{{ slotProps.row.changeAmount }}</text> </view
|
||||
><view class="AC_mark" v-if="slotProps.row.remark">{{
|
||||
slotProps.row.remark
|
||||
}}</view
|
||||
><view class="AC_time">{{ slotProps.row.createTime }}</view>
|
||||
>
|
||||
<view class="AC_mark" v-if="slotProps.row.remark">{{slotProps.row.remark}}</view>
|
||||
<view class="AC_time">{{ slotProps.row.createTime }}</view>
|
||||
</view>
|
||||
</template>
|
||||
</common-list>
|
||||
|
||||
@@ -25,11 +25,19 @@
|
||||
"
|
||||
>
|
||||
<view class="pr_jg">¥{{ item.realMoney }}</view>
|
||||
<view class="pr_yl">{{ item.money }} 天医币</view>
|
||||
<view class="pr_lj">限时特惠</view>
|
||||
<view class="pr_yl" :style="item.givejf&&item.givejf>0?' paddingTop: 0':''">{{ item.money }}天医币<text v-if="item.givejf&&item.givejf>0">(赠{{ item.givejf }}积分)</text></view>
|
||||
<view class="pr_lj" v-if="item.description&&item.description!=''">{{item.description}}</view>
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<view class="limitBlock" v-if="isAndroid">
|
||||
<text>其他金额</text>
|
||||
<input type="text" v-model="limitVal" placeholder="请输入充值金额" placeholder-class="limit-placeholder" @input="input()" />
|
||||
</view>
|
||||
<view>
|
||||
<text style="font-size: 24rpx; color: #8e8e8e;">说明 : 天医币属于虚拟产品,一经购买概不退还</text>
|
||||
</view>
|
||||
<view class="active_block" v-if="isAndroid&&activityContent.remark" v-html="activityContent.remark"></view>
|
||||
</view>
|
||||
<view class="cha_fangsh">
|
||||
<view class="cf_title PM_font">支付方式</view>
|
||||
@@ -94,8 +102,6 @@
|
||||
</view>
|
||||
<view class="char_btn">
|
||||
<view @click="goToPay">立即充值</view>
|
||||
|
||||
<!-- <view @click="iosPay" >立即充值</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<!-- 充值协议 -->
|
||||
@@ -176,6 +182,8 @@ export default {
|
||||
urlList: {
|
||||
list: "common/bookBuyConfig/getBookBuyConfigList",
|
||||
},
|
||||
limitVal: '',
|
||||
activityContent: {}
|
||||
};
|
||||
},
|
||||
//第一次加载
|
||||
@@ -192,6 +200,8 @@ export default {
|
||||
this.chargeOrderSn = options.orderSn;
|
||||
uni.hideTabBar();
|
||||
this.getDevName();
|
||||
|
||||
this.getActivity();
|
||||
// console.log(e.orderSn,'orderSn')
|
||||
},
|
||||
//页面显示
|
||||
@@ -536,7 +546,7 @@ export default {
|
||||
// 点击充值金额
|
||||
chosPric(e) {
|
||||
this.stepsCj = e;
|
||||
console.log(e);
|
||||
this.limitVal = '';
|
||||
},
|
||||
|
||||
// 选择支付方式1
|
||||
@@ -544,7 +554,28 @@ export default {
|
||||
let that = this;
|
||||
that.payType = e;
|
||||
},
|
||||
|
||||
//获取活动文案
|
||||
getActivity(){
|
||||
$http.request({
|
||||
url: "common/bookBuyConfig/getRechargeActivity",
|
||||
method: "POST",
|
||||
data: {},
|
||||
header: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((data) => {
|
||||
if(data.code==0){
|
||||
if(data.res&&data.res.length>0){
|
||||
this.activityContent = data.res[0];
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
//输入金额
|
||||
input(val){
|
||||
this.stepsCj = {};
|
||||
},
|
||||
// 充值
|
||||
goToPay() {
|
||||
this.kaiChar();
|
||||
@@ -558,6 +589,31 @@ export default {
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if(!this.stepsCj.priceTypeId&&!this.limitVal){
|
||||
uni.showToast({
|
||||
title: "请选择充值商品",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
const regex = /^[1-9]\d*$/;
|
||||
//如果输入其他金额
|
||||
if(this.limitVal){
|
||||
if(!regex.test(this.limitVal)){
|
||||
uni.showToast({
|
||||
title: "充值金额必须为正整数",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
//设置充值金额和id
|
||||
this.stepsCj = {
|
||||
money: this.limitVal,
|
||||
priceTypeId: 0
|
||||
}
|
||||
}
|
||||
|
||||
// 常规充值
|
||||
if (this.radioValue == "1") {
|
||||
uni.showLoading({
|
||||
@@ -809,7 +865,6 @@ export default {
|
||||
.cj_title {
|
||||
font-size: 46rpx;
|
||||
color: $themeColor;
|
||||
// font-weight: bold;
|
||||
}
|
||||
|
||||
.cj_xiang {
|
||||
@@ -821,30 +876,43 @@ export default {
|
||||
width: 47%;
|
||||
margin: 0 5% 30rpx 0;
|
||||
text-align: center;
|
||||
padding: 20rpx;
|
||||
padding: 30rpx 0 0;
|
||||
border-radius: 15rpx;
|
||||
position: relative;
|
||||
color: #2d2d2d;
|
||||
height: 160rpx;
|
||||
|
||||
.pr_jg {
|
||||
font-size: 45rpx;
|
||||
margin: 20rpx 0 10rpx 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.pr_yl {
|
||||
padding-top: 10rpx;
|
||||
font-size: 26rpx;
|
||||
// text-decoration: line-through;
|
||||
color: #575555;
|
||||
|
||||
text{
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 40rpx;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 10rpx;
|
||||
color: red;
|
||||
display: block;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.pr_lj {
|
||||
background-image: linear-gradient(90deg, #3ab3ae 0%, $themeColor 100%);
|
||||
background-image: linear-gradient(180deg, #3ab3ae 0%, #77c9c6 100%);
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
top: -30rpx;
|
||||
right: -20rpx;
|
||||
top: -22rpx;
|
||||
right: -22rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 20px;
|
||||
padding: 5rpx 10rpx;
|
||||
border-top-left-radius: 20rpx;
|
||||
border-bottom-right-radius: 20rpx;
|
||||
@@ -856,17 +924,18 @@ export default {
|
||||
}
|
||||
|
||||
.Tab_cj {
|
||||
// box-shadow: 0 0 20rpx 0 #fe700bcc;
|
||||
|
||||
box-shadow: 0px 0px 3px 0px $themeColor !important;
|
||||
color: #259f9a;
|
||||
background: #b7e0e2 !important;
|
||||
box-shadow: 0px 0px 5px 0px $themeColor !important;
|
||||
color: $themeColor;
|
||||
|
||||
.pr_yl{
|
||||
color: $themeColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.highlight {
|
||||
color: $uni-color-primary;
|
||||
color: $themeColor;
|
||||
}
|
||||
|
||||
.cha_fangsh {
|
||||
@@ -911,22 +980,23 @@ export default {
|
||||
}
|
||||
|
||||
.char_btn {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 30rpx;
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
padding: 20rpx 0;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
|
||||
view {
|
||||
background-image: linear-gradient(90deg, #3ab3ae 0%, $themeColor 100%);
|
||||
color: #fff;
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
font-size: 35rpx;
|
||||
font-weight: bold;
|
||||
padding: 25rpx 0;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
view {
|
||||
background: $themeBgColor;
|
||||
color: #fff;
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
font-size: 30rpx;
|
||||
padding: 20rpx 0;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.pay_item_img {
|
||||
@@ -943,4 +1013,62 @@ export default {
|
||||
.commonPageBox {
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
.limitBlock{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
text{
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
input{
|
||||
display: inline-block;
|
||||
margin-left: 20rpx;
|
||||
width: 300rpx;
|
||||
height: 70rpx;
|
||||
border: 1rpx solid #ededed;
|
||||
border-radius: 10rpx;
|
||||
line-height: 40rpx;
|
||||
padding: 20rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
|
||||
.limit-placeholder{
|
||||
font-size: 25rpx;
|
||||
color: #8b8c90 !important;
|
||||
}
|
||||
|
||||
.active_block{
|
||||
width: 100%;
|
||||
background-color: rgba(58, 179, 174, 0.2);
|
||||
border-radius: 10rpx;
|
||||
padding: 10rpx 20rpx;
|
||||
font-size: 28rpx;
|
||||
line-height: 42rpx;
|
||||
margin-top: 15rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/deep/.active_block span{
|
||||
color: red;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
padding: 0 5rpx;
|
||||
}
|
||||
/deep/.active_block span:first-child{
|
||||
padding: 0 5rpx 0 0;
|
||||
}
|
||||
/deep/.active_block p{
|
||||
padding-top: 10rpx;
|
||||
color: #666;
|
||||
font-size: 24rpx;
|
||||
line-height: 34rpx;
|
||||
}
|
||||
/deep/.active_block p span{
|
||||
padding: 0 5rpx !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
@charset "utf-8";
|
||||
//主题色
|
||||
$themeColor: #3AB3AE;
|
||||
$themeBgColor: #EDF6F5 !important;
|
||||
$themeColor: #3ab3ae;
|
||||
$themeBgColor: #3ab3ae !important;
|
||||
$containerColor: #f4f7ff;
|
||||
$imgBg: #edf3ff;
|
||||
@keyframes example1 {
|
||||
|
||||
18
unpackage/dist/build/app-plus/app-service.js
vendored
18
unpackage/dist/build/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
6
unpackage/dist/build/app-plus/app-view.js
vendored
6
unpackage/dist/build/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/build/app-plus/manifest.json
vendored
2
unpackage/dist/build/app-plus/manifest.json
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user