master
lion 3 months ago
parent fb6607df7b
commit 37cd2b3cb9

@ -71,6 +71,23 @@
onHide: function() { onHide: function() {
console.log('App Hide') console.log('App Hide')
}, },
//
onNeedPrivacyAuthorization(resolve) {
// #ifdef MP-WEIXIN
console.log('需要隐私授权', resolve)
//
// resolve resolve()
// resolve({ buttonId: 'xxx', event: 'xxx' })
// resolve({ event: 'disagree' })
//
// resolve()
// resolve({ event: 'disagree' })
//
// resolve()
// #endif
},
methods: { methods: {
// orderStaffDetail // orderStaffDetail
orderStaffDetail(query) { orderStaffDetail(query) {

@ -40,6 +40,23 @@
<view class="login-btn"> <view class="login-btn">
<view @click="login"></view> <view @click="login"></view>
</view> </view>
<!-- 隐私政策提示 -->
<view class="privacy-tip" v-if="showPrivacyTip">
<view class="privacy-content">
<view class="privacy-title">用户隐私保护指引</view>
<view class="privacy-text">
为了向您提供更好的服务我们需要获取您的个人信息我们将严格遵守相关法律法规保护您的隐私安全
</view>
<view class="privacy-link" @click="openPrivacyContract">
查看用户隐私保护指引
</view>
<view class="privacy-buttons">
<view class="privacy-btn cancel" @click="handlePrivacyCancel">使</view>
<view class="privacy-btn confirm" @click="handlePrivacyConfirm"></view>
</view>
</view>
</view>
</view> </view>
</view> </view>
@ -69,7 +86,10 @@
} }
], ],
site_name: '', site_name: '',
isRemeber: true isRemeber: true,
showPrivacyTip: false, //
privacyAuthorized: false, //
needPrivacyAuth: false //
}; };
}, },
onReady() {}, onReady() {},
@ -79,6 +99,15 @@
path: '/pages/index/index', // path: '/pages/index/index', //
} }
}, },
onLoad() {
//
// #ifdef MP-WEIXIN
this.showPrivacyTip = true
this.needPrivacyAuth = true
this.privacyAuthorized = false
this.checkPrivacySetting()
// #endif
},
mounted() { mounted() {
this.form = this.vuex_saved_username_psd || { this.form = this.vuex_saved_username_psd || {
username: "", username: "",
@ -88,7 +117,97 @@
console.log("form",this.form) console.log("form",this.form)
}, },
methods: { methods: {
//
checkPrivacySetting() {
// #ifdef MP-WEIXIN
if (wx.getPrivacySetting) {
wx.getPrivacySetting({
success: (res) => {
console.log('隐私设置:', res)
// needAuthorization: true
if (res.needAuthorization) {
this.needPrivacyAuth = true
//
this.showPrivacyTip = true
}
},
fail: (err) => {
console.error('获取隐私设置失败:', err)
}
})
}
// #endif
},
//
handlePrivacyConfirm() {
// #ifdef MP-WEIXIN
if (wx.requirePrivacyAuthorize) {
wx.requirePrivacyAuthorize({
success: () => {
console.log('隐私授权成功')
this.privacyAuthorized = true
this.showPrivacyTip = false
this.needPrivacyAuth = false
},
fail: (err) => {
console.error('隐私授权失败:', err)
uni.showToast({
title: '需要授权才能使用',
icon: 'none'
})
}
})
} else {
//
this.showPrivacyTip = false
this.privacyAuthorized = true
}
// #endif
// #ifndef MP-WEIXIN
this.showPrivacyTip = false
this.privacyAuthorized = true
// #endif
},
//
handlePrivacyCancel() {
this.showPrivacyTip = false
uni.showToast({
title: '需要授权才能使用',
icon: 'none'
})
},
//
openPrivacyContract() {
// #ifdef MP-WEIXIN
if (wx.openPrivacyContract) {
wx.openPrivacyContract({
success: (res) => {
console.log('打开隐私协议成功', res)
},
fail: (err) => {
console.error('打开隐私协议失败:', err)
uni.showToast({
title: '无法打开隐私协议',
icon: 'none'
})
}
})
} else {
uni.showToast({
title: '当前微信版本不支持查看隐私协议',
icon: 'none'
})
}
// #endif
},
login() { login() {
//
if (this.needPrivacyAuth && !this.privacyAuthorized) {
this.showPrivacyTip = true
return
}
if (!this.form.username || !this.form.password) { if (!this.form.username || !this.form.password) {
uni.showToast({ uni.showToast({
title: '请输入用户名和密码', title: '请输入用户名和密码',
@ -155,6 +274,44 @@
} }
that.base.toast("登录成功", 1500, function() { that.base.toast("登录成功", 1500, function() {
// #ifdef MP-WEIXIN
// uni.login
if (that.needPrivacyAuth && !that.privacyAuthorized) {
//
if (wx.requirePrivacyAuthorize) {
wx.requirePrivacyAuthorize({
success: () => {
that.privacyAuthorized = true
that.doWeixinLogin(that)
},
fail: () => {
uni.showToast({
title: '需要授权才能使用',
icon: 'none'
})
}
})
} else {
that.doWeixinLogin(that)
}
} else {
that.doWeixinLogin(that)
}
// #endif
// #ifndef MP-WEIXIN
that.doWeixinLogin(that)
// #endif
})
}).catch(err => {
console.error("登录失败", err)
that.base.toast("登录失败,请稍后重试")
})
},
//
doWeixinLogin(that) {
uni.login({ uni.login({
provider: 'weixin', provider: 'weixin',
success: (loginRes) => { success: (loginRes) => {
@ -201,13 +358,6 @@
// //
} }
}); });
})
}).catch(err => {
console.error("登录失败", err)
that.base.toast("登录失败,请稍后重试")
})
} }
} }
} }
@ -346,5 +496,73 @@
} }
} }
} }
.privacy-tip {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.6);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
.privacy-content {
width: 600rpx;
background: #fff;
border-radius: 20rpx;
padding: 40rpx;
.privacy-title {
font-size: 36rpx;
font-weight: bold;
color: #333;
text-align: center;
margin-bottom: 30rpx;
}
.privacy-text {
font-size: 28rpx;
color: #666;
line-height: 1.6;
margin-bottom: 20rpx;
}
.privacy-link {
font-size: 26rpx;
color: #1479ff;
text-align: center;
text-decoration: underline;
margin-bottom: 40rpx;
}
.privacy-buttons {
display: flex;
justify-content: space-between;
gap: 20rpx;
.privacy-btn {
flex: 1;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border-radius: 40rpx;
font-size: 30rpx;
&.cancel {
background: #f5f5f5;
color: #666;
}
&.confirm {
background: linear-gradient(-90deg, #e26165 0%, #c10d12 94%, #c10d12 100%);
color: #fff;
}
}
}
}
}
} }
</style> </style>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,2 +1,2 @@
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["common/main"],{0:function(e,r,t){"use strict";(function(e,r){var n=t(4),a=n(t(11));t(26);var o=n(t(27)),u=n(t(25)),c=n(t(36)),i=n(t(38));t(64);var f=t(65),s=n(t(207)),l=n(t(208)),d=n(t(66));function p(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function h(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?p(Object(t),!0).forEach((function(r){(0,a.default)(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}e.__webpack_require_UNI_MP_PLUGIN__=t,u.default.use(i.default);var v=t(209);u.default.mixin(v),u.default.config.productionTip=!1,o.default.mpType="app";var y=new u.default(h({store:c.default},o.default));u.default.prototype.base=f.base,u.default.use(s.default,y),u.default.use(l.default,y),u.default.prototype.$moment=d.default,r(y).$mount()}).call(this,t(1)["default"],t(2)["createApp"])},27:function(e,r,t){"use strict";t.r(r);var n=t(28);for(var a in n)["default"].indexOf(a)<0&&function(e){t.d(r,e,(function(){return n[e]}))}(a);t(33);var o,u,c,i,f=t(35),s=Object(f["default"])(n["default"],o,u,!1,null,null,null,!1,c,i);s.options.__file="App.vue",r["default"]=s.exports},28:function(e,r,t){"use strict";t.r(r);var n=t(29),a=t.n(n);for(var o in n)["default"].indexOf(o)<0&&function(e){t.d(r,e,(function(){return n[e]}))}(o);r["default"]=a.a},29:function(e,r,t){"use strict";(function(e){var n=t(4);Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var a=n(t(30)),o=n(t(32)),u={onLaunch:function(){var r=(0,o.default)(a.default.mark((function r(){var t,n,o,u;return a.default.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(r.prev=0,t=e.getLaunchOptionsSync(),console.log("小程序启动参数:",t),n=1007===t.scene||1008===t.scene||1044===t.scene||t.referrerInfo&&t.referrerInfo.appId||t.query&&Object.keys(t.query).length>0,console.log("是否从分享链接进入:",n),e.setStorageSync("isFromShare",n),!n){r.next=21;break}if(e.setStorageSync("shareLaunchTime",Date.now()),t.query&&e.setStorageSync("shareQuery",t.query),t.referrerInfo&&e.setStorageSync("shareReferrer",t.referrerInfo),o=this.orderStaffDetail(t.query),e.setStorageSync("isOrderDetailShare",o),!o){r.next=17;break}return console.log("从orderStaffDetail页面分享进入跳过token检查"),r.abrupt("return");case 17:console.log("从其他页面分享进入需要检查token"),this.clearShareCache();case 19:r.next=22;break;case 21:this.clearShareCache();case 22:if(!this.base.isNull(this.vuex_token)){r.next=26;break}e.redirectTo({url:"/package_sub/login/login"}),r.next=31;break;case 26:return r.next=28,this.$u.api.getUser();case 28:u=r.sent,console.log("user",u),this.$u.vuex("vuex_user",u);case 31:r.next=36;break;case 33:r.prev=33,r.t0=r["catch"](0),console.error(r.t0);case 36:case"end":return r.stop()}}),r,this,[[0,33]])})));function t(){return r.apply(this,arguments)}return t}(),onShow:function(){},onHide:function(){console.log("App Hide")},methods:{orderStaffDetail:function(e){if(e&&e.id)return console.log("检测到订单详情页分享订单ID:",e.id),!0;if(e&&e.path){var r=e.path;if(r.includes("orderStaffDetail")||r.includes("orderDetail"))return console.log("检测到订单详情页分享,路径:",r),!0}return!1},clearShareCache:function(){e.removeStorageSync("isFromShare"),e.removeStorageSync("shareLaunchTime"),e.removeStorageSync("shareQuery"),e.removeStorageSync("shareReferrer"),e.removeStorageSync("isOrderDetailShare")}}};r.default=u}).call(this,t(2)["default"])},33:function(e,r,t){"use strict";t.r(r);var n=t(34),a=t.n(n);for(var o in n)["default"].indexOf(o)<0&&function(e){t.d(r,e,(function(){return n[e]}))}(o);r["default"]=a.a},34:function(e,r,t){}},[[0,"common/runtime","common/vendor"]]]); (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["common/main"],{0:function(e,r,t){"use strict";(function(e,r){var n=t(4),o=n(t(11));t(26);var a=n(t(27)),u=n(t(25)),c=n(t(36)),i=n(t(38));t(64);var f=t(65),s=n(t(207)),l=n(t(208)),d=n(t(66));function p(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function h(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?p(Object(t),!0).forEach((function(r){(0,o.default)(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}e.__webpack_require_UNI_MP_PLUGIN__=t,u.default.use(i.default);var v=t(209);u.default.mixin(v),u.default.config.productionTip=!1,a.default.mpType="app";var y=new u.default(h({store:c.default},a.default));u.default.prototype.base=f.base,u.default.use(s.default,y),u.default.use(l.default,y),u.default.prototype.$moment=d.default,r(y).$mount()}).call(this,t(1)["default"],t(2)["createApp"])},27:function(e,r,t){"use strict";t.r(r);var n=t(28);for(var o in n)["default"].indexOf(o)<0&&function(e){t.d(r,e,(function(){return n[e]}))}(o);t(33);var a,u,c,i,f=t(35),s=Object(f["default"])(n["default"],a,u,!1,null,null,null,!1,c,i);s.options.__file="App.vue",r["default"]=s.exports},28:function(e,r,t){"use strict";t.r(r);var n=t(29),o=t.n(n);for(var a in n)["default"].indexOf(a)<0&&function(e){t.d(r,e,(function(){return n[e]}))}(a);r["default"]=o.a},29:function(e,r,t){"use strict";(function(e){var n=t(4);Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=n(t(30)),a=n(t(32)),u={onLaunch:function(){var r=(0,a.default)(o.default.mark((function r(){var t,n,a,u;return o.default.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(r.prev=0,t=e.getLaunchOptionsSync(),console.log("小程序启动参数:",t),n=1007===t.scene||1008===t.scene||1044===t.scene||t.referrerInfo&&t.referrerInfo.appId||t.query&&Object.keys(t.query).length>0,console.log("是否从分享链接进入:",n),e.setStorageSync("isFromShare",n),!n){r.next=21;break}if(e.setStorageSync("shareLaunchTime",Date.now()),t.query&&e.setStorageSync("shareQuery",t.query),t.referrerInfo&&e.setStorageSync("shareReferrer",t.referrerInfo),a=this.orderStaffDetail(t.query),e.setStorageSync("isOrderDetailShare",a),!a){r.next=17;break}return console.log("从orderStaffDetail页面分享进入跳过token检查"),r.abrupt("return");case 17:console.log("从其他页面分享进入需要检查token"),this.clearShareCache();case 19:r.next=22;break;case 21:this.clearShareCache();case 22:if(!this.base.isNull(this.vuex_token)){r.next=26;break}e.redirectTo({url:"/package_sub/login/login"}),r.next=31;break;case 26:return r.next=28,this.$u.api.getUser();case 28:u=r.sent,console.log("user",u),this.$u.vuex("vuex_user",u);case 31:r.next=36;break;case 33:r.prev=33,r.t0=r["catch"](0),console.error(r.t0);case 36:case"end":return r.stop()}}),r,this,[[0,33]])})));function t(){return r.apply(this,arguments)}return t}(),onShow:function(){},onHide:function(){console.log("App Hide")},onNeedPrivacyAuthorization:function(e){console.log("需要隐私授权",e)},methods:{orderStaffDetail:function(e){if(e&&e.id)return console.log("检测到订单详情页分享订单ID:",e.id),!0;if(e&&e.path){var r=e.path;if(r.includes("orderStaffDetail")||r.includes("orderDetail"))return console.log("检测到订单详情页分享,路径:",r),!0}return!1},clearShareCache:function(){e.removeStorageSync("isFromShare"),e.removeStorageSync("shareLaunchTime"),e.removeStorageSync("shareQuery"),e.removeStorageSync("shareReferrer"),e.removeStorageSync("isOrderDetailShare")}}};r.default=u}).call(this,t(2)["default"])},33:function(e,r,t){"use strict";t.r(r);var n=t(34),o=t.n(n);for(var a in n)["default"].indexOf(a)<0&&function(e){t.d(r,e,(function(){return n[e]}))}(a);r["default"]=o.a},34:function(e,r,t){}},[[0,"common/runtime","common/vendor"]]]);
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/main.js.map //# sourceMappingURL=../../.sourcemap/mp-weixin/common/main.js.map

File diff suppressed because one or more lines are too long

@ -1 +1 @@
<view class="container data-v-6126915d"><image class="bkg data-v-6126915d" mode="aspectFill" src="../static/login-bg.png"></image><view class="login data-v-6126915d"><view class="login-title data-v-6126915d"><view class="data-v-6126915d">Hello</view><view class="data-v-6126915d">欢迎登录护工端</view></view><view class="login-form data-v-6126915d"><view class="data-v-6126915d"><u-input bind:input="__e" vue-id="78a7c96e-1" border-color="#f5f5f5" placeholder="请输入用户名" value="{{form.username}}" data-event-opts="{{[['^input',[['__set_model',['$0','username','$event',[]],['form']]]]]}}" class="data-v-6126915d" bind:__l="__l"></u-input></view><view class="data-v-6126915d"><u-input bind:input="__e" vue-id="78a7c96e-2" border-color="#f5f5f5" type="password" placeholder="请输入密码" value="{{form.password}}" data-event-opts="{{[['^input',[['__set_model',['$0','password','$event',[]],['form']]]]]}}" class="data-v-6126915d" bind:__l="__l"></u-input></view></view><view class="role-select data-v-6126915d"><view class="role-title data-v-6126915d">请选择登录角色:</view><view class="role-options data-v-6126915d"><block wx:for="{{roleList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" data-event-params="{{({item})}}" class="role-item data-v-6126915d" bindtap="__e"><view class="{{['radio-box','data-v-6126915d',(form.role===item.value)?'active':'']}}"><block wx:if="{{form.role===item.value}}"><view class="radio-inner data-v-6126915d"></view></block></view><text class="role-label data-v-6126915d">{{item.label}}</text></view></block><view data-event-opts="{{[['tap',[['e1',['$event']]]]]}}" class="role-item role-item-check data-v-6126915d" bindtap="__e"><view class="{{['radio-box','data-v-6126915d',(isRemeber)?'active':'']}}"><block wx:if="{{isRemeber}}"><view class="radio-inner data-v-6126915d"></view></block></view><text class="role-label data-v-6126915d">记住当前登录状态</text></view></view></view><view class="login-btn data-v-6126915d"><view data-event-opts="{{[['tap',[['login',['$event']]]]]}}" bindtap="__e" class="data-v-6126915d">立即登录</view></view></view></view> <view class="container data-v-6126915d"><image class="bkg data-v-6126915d" mode="aspectFill" src="../static/login-bg.png"></image><view class="login data-v-6126915d"><view class="login-title data-v-6126915d"><view class="data-v-6126915d">Hello</view><view class="data-v-6126915d">欢迎登录护工端</view></view><view class="login-form data-v-6126915d"><view class="data-v-6126915d"><u-input bind:input="__e" vue-id="78a7c96e-1" border-color="#f5f5f5" placeholder="请输入用户名" value="{{form.username}}" data-event-opts="{{[['^input',[['__set_model',['$0','username','$event',[]],['form']]]]]}}" class="data-v-6126915d" bind:__l="__l"></u-input></view><view class="data-v-6126915d"><u-input bind:input="__e" vue-id="78a7c96e-2" border-color="#f5f5f5" type="password" placeholder="请输入密码" value="{{form.password}}" data-event-opts="{{[['^input',[['__set_model',['$0','password','$event',[]],['form']]]]]}}" class="data-v-6126915d" bind:__l="__l"></u-input></view></view><view class="role-select data-v-6126915d"><view class="role-title data-v-6126915d">请选择登录角色:</view><view class="role-options data-v-6126915d"><block wx:for="{{roleList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" data-event-params="{{({item})}}" class="role-item data-v-6126915d" bindtap="__e"><view class="{{['radio-box','data-v-6126915d',(form.role===item.value)?'active':'']}}"><block wx:if="{{form.role===item.value}}"><view class="radio-inner data-v-6126915d"></view></block></view><text class="role-label data-v-6126915d">{{item.label}}</text></view></block><view data-event-opts="{{[['tap',[['e1',['$event']]]]]}}" class="role-item role-item-check data-v-6126915d" bindtap="__e"><view class="{{['radio-box','data-v-6126915d',(isRemeber)?'active':'']}}"><block wx:if="{{isRemeber}}"><view class="radio-inner data-v-6126915d"></view></block></view><text class="role-label data-v-6126915d">记住当前登录状态</text></view></view></view><view class="login-btn data-v-6126915d"><view data-event-opts="{{[['tap',[['login',['$event']]]]]}}" bindtap="__e" class="data-v-6126915d">立即登录</view></view><block wx:if="{{showPrivacyTip}}"><view class="privacy-tip data-v-6126915d"><view class="privacy-content data-v-6126915d"><view class="privacy-title data-v-6126915d">用户隐私保护指引</view><view class="privacy-text data-v-6126915d">为了向您提供更好的服务,我们需要获取您的个人信息。我们将严格遵守相关法律法规,保护您的隐私安全。</view><view data-event-opts="{{[['tap',[['openPrivacyContract',['$event']]]]]}}" class="privacy-link data-v-6126915d" bindtap="__e">查看《用户隐私保护指引》</view><view class="privacy-buttons data-v-6126915d"><view data-event-opts="{{[['tap',[['handlePrivacyCancel',['$event']]]]]}}" class="privacy-btn cancel data-v-6126915d" bindtap="__e">暂不使用</view><view data-event-opts="{{[['tap',[['handlePrivacyConfirm',['$event']]]]]}}" class="privacy-btn confirm data-v-6126915d" bindtap="__e">同意并继续</view></view></view></view></block></view></view>

@ -125,3 +125,62 @@
.container .role-select .role-options .role-item-check .radio-box.active .radio-inner.data-v-6126915d { .container .role-select .role-options .role-item-check .radio-box.active .radio-inner.data-v-6126915d {
border-radius: 0%; border-radius: 0%;
} }
.container .privacy-tip.data-v-6126915d {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.6);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
}
.container .privacy-tip .privacy-content.data-v-6126915d {
width: 600rpx;
background: #fff;
border-radius: 20rpx;
padding: 40rpx;
}
.container .privacy-tip .privacy-content .privacy-title.data-v-6126915d {
font-size: 36rpx;
font-weight: bold;
color: #333;
text-align: center;
margin-bottom: 30rpx;
}
.container .privacy-tip .privacy-content .privacy-text.data-v-6126915d {
font-size: 28rpx;
color: #666;
line-height: 1.6;
margin-bottom: 20rpx;
}
.container .privacy-tip .privacy-content .privacy-link.data-v-6126915d {
font-size: 26rpx;
color: #1479ff;
text-align: center;
text-decoration: underline;
margin-bottom: 40rpx;
}
.container .privacy-tip .privacy-content .privacy-buttons.data-v-6126915d {
display: flex;
justify-content: space-between;
gap: 20rpx;
}
.container .privacy-tip .privacy-content .privacy-buttons .privacy-btn.data-v-6126915d {
flex: 1;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border-radius: 40rpx;
font-size: 30rpx;
}
.container .privacy-tip .privacy-content .privacy-buttons .privacy-btn.cancel.data-v-6126915d {
background: #f5f5f5;
color: #666;
}
.container .privacy-tip .privacy-content .privacy-buttons .privacy-btn.confirm.data-v-6126915d {
background: linear-gradient(-90deg, #e26165 0%, #c10d12 94%, #c10d12 100%);
color: #fff;
}

Loading…
Cancel
Save