mine.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779
  1. <template>
  2. <view class="mine tn-safe-area-inset-bottom">
  3. <!-- 顶部自定义导航 -->
  4. <view class="top-backgroup">
  5. <image src='../../static/bg4.png' mode='widthFix' class='backgroud-image'></image>
  6. </view>
  7. <view class="about__wrap" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
  8. <!-- 图标logo/头像 -->
  9. <view class="tn-flex tn-flex-col-center tn-margin-bottom" @click="tn('/minePages/set')" style="margin-top: -450rpx;justify-content: center;">
  10. <view class="justify-content-item" >
  11. <view class="tn-flex tn-flex-col-center tn-flex-row-left">
  12. <view class="logo-pic tn-shadow">
  13. <view class="logo-image">
  14. <!-- <tn-avatar src="../../static/me2.png" :badge="true" size="xl" badgeIcon="star"></tn-avatar> -->
  15. <image v-if="personInfo.profilePhotoUrl" class="tn-shadow-blur" style="width: 140rpx;height: 140rpx;background-size: cover;" :src="personInfo.profilePhotoUrl"></image>
  16. <image v-if="!personInfo.profilePhotoUrl" class="tn-shadow-blur" style="width: 140rpx;height: 140rpx;background-size: cover;" src="../../static/me2.png"></image>
  17. <!-- <view class="tn-shadow-blur" style="background-image:url('https://cdn.nlark.com/yuque/0/2022/jpeg/280373/1664005699053-assets/web-upload/8645ea3a-e0a9-4422-8364-cc5ede305c9f.jpeg');width: 110rpx;height: 110rpx;background-size: cover;">
  18. </view> -->
  19. </view>
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. <!-- 没有授权,则显示这个授权按钮-->
  25. <view class="tn-flex tn-flex-row-between" @click="tn('/pages/login/login')" v-if="showLogin">
  26. <view class="tn-flex-1 justify-content-item tn-margin-xs tn-text-center">
  27. <tn-button shape="round" backgroundColor="#1d60b1" fontColor="#ffffff" padding="20rpx 0" width="40%" shadow>
  28. <text class="tn-icon-wechat tn-padding-right-xs tn-text-xl"></text>
  29. <text class="">立即登录</text>
  30. </tn-button>
  31. </view>
  32. </view>
  33. <view class="about-shadow tn-margin-top-lg tn-padding-top-sm tn-padding-bottom-sm tn-bg-white" v-if="!showLogin">
  34. <view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding-sm" @click="tn('/minePages/set')">
  35. <view class="justify-content-item">
  36. <view class="" style="font-size: 16px;">
  37. 个人信息
  38. </view>
  39. </view>
  40. <view class="justify-content-item tn-text-lg tn-color-grey">
  41. <view class="tn-color-gray tn-padding-top-xs">
  42. <view class="tn-icon-right"></view>
  43. </view>
  44. </view>
  45. </view>
  46. <view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding-sm">
  47. <view class="justify-content-item">
  48. <view class="" style="font-size: 16px;">
  49. 用户名
  50. </view>
  51. </view>
  52. <view class="justify-content-item tn-text-lg tn-color-grey">
  53. <view class="tn-color-gray tn-padding-top-xs">
  54. {{personInfo.userRealName||personInfo.contactNickName||(personInfo.userName?'用户'+personInfo.userName.slice(-4):'')||'未登录'}}
  55. </view>
  56. </view>
  57. </view>
  58. <view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding-sm" @click="showModal1">
  59. <view class="justify-content-item">
  60. <view class="" style="font-size: 16px;">
  61. 联系方式
  62. </view>
  63. </view>
  64. <view class="justify-content-item tn-text-lg tn-color-grey">
  65. <view class="tn-color-gray tn-padding-top-xs">
  66. {{personInfo.contactMethod||personInfo.userName||''}}
  67. </view>
  68. </view>
  69. </view>
  70. <view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding-sm" @click="showModal1">
  71. <view class="justify-content-item">
  72. <view class="" style="font-size: 16px;">
  73. 手机号
  74. </view>
  75. </view>
  76. <view class="justify-content-item tn-text-lg tn-color-grey">
  77. <view class="tn-color-gray tn-padding-top-xs">
  78. {{personInfo.userName||'未登录'}}
  79. </view>
  80. </view>
  81. </view>
  82. <!-- <view class="tn-flex tn-flex-row-between tn-strip-bottom-min tn-padding" @click="showModal1">
  83. <view class="justify-content-item">
  84. <view class="tn-text-bold tn-text-lg">
  85. 所属公司
  86. </view>
  87. </view>
  88. <view class="justify-content-item tn-text-lg tn-color-grey">
  89. <view class="tn-color-gray tn-padding-top-xs">
  90. 未绑定
  91. </view>
  92. </view>
  93. </view> -->
  94. </view>
  95. <!-- 方式15 start-->
  96. <view class="tn-flex tn-flex-row-between tn-bg-white about-shadow tn-margin-top-xl">
  97. <view class="tn-padding-sm tn-margin-xs" @click="tn('/pages/mine/need')">
  98. <view class="tn-flex tn-flex-direction-column tn-flex-row-center tn-flex-col-center tn-margin-left">
  99. <view class="icon15__item--icon tn-flex tn-flex-row-center tn-flex-col-center tn-shadow-blur" style="background-color: #F3F2F7;color: #7C8191;position: relative;">
  100. <!-- <tn-badge absolute="true" v-if="needNum>0">
  101. <span style="color: #fff;font-size: 11px;
  102. background: #E83A30;
  103. width: 20px;
  104. height: 20px;
  105. text-align: center;
  106. border-radius: 20px;
  107. line-height: 20px;">{{needNum}}</span>
  108. </tn-badge> -->
  109. <view class="tn-icon-like"></view>
  110. </view>
  111. <view class="tn-text-center">
  112. <text class="tn-text-ellipsis">我的需求</text>
  113. </view>
  114. </view>
  115. </view>
  116. <view class="tn-padding-sm tn-margin-xs" @click="tn('/pages/mine/share')">
  117. <view class="tn-flex tn-flex-direction-column tn-flex-row-center tn-flex-col-center">
  118. <view class="icon15__item--icon tn-flex tn-flex-row-center tn-flex-col-center tn-shadow-blur" style="background-color: #F3F2F7;color: #7C8191;position: relative;">
  119. <!-- <tn-badge absolute="true" v-if="shareNum>0">
  120. <span style="color: #fff;font-size: 11px;
  121. background: #E83A30;
  122. width: 20px;
  123. height: 20px;
  124. text-align: center;
  125. border-radius: 20px;
  126. line-height: 20px;">{{shareNum}}</span>
  127. </tn-badge> -->
  128. <view class="tn-icon-share-triangle"></view>
  129. </view>
  130. <view class="tn-text-center">
  131. <text class="tn-text-ellipsis">我的供应</text>
  132. </view>
  133. </view>
  134. </view>
  135. <view class="tn-padding-sm tn-margin-xs" @click="tn('/pages/mine/coll')">
  136. <view class="tn-flex tn-flex-direction-column tn-flex-row-center tn-flex-col-center tn-margin-right">
  137. <view class="icon15__item--icon tn-flex tn-flex-row-center tn-flex-col-center tn-shadow-blur" style="background-color: #F3F2F7;color: #7C8191;">
  138. <view class="tn-icon-star"></view>
  139. </view>
  140. <view class="tn-text-center">
  141. <text class="tn-text-ellipsis">我的收藏</text>
  142. </view>
  143. </view>
  144. </view>
  145. </view>
  146. <!-- 方式15 end-->
  147. <view class="about-shadow tn-margin-top-lg tn-margin-bottom-lg tn-padding-top-sm tn-padding-bottom-sm">
  148. <tn-list-cell :hover="true" :unlined="true" :radius="true" :fontSize="30">
  149. <button class="tn-flex tn-flex-col-center tn-button--clear-style" @click="showFeedback">
  150. <view
  151. class="icon1__item--icon tn-flex tn-flex-row-center tn-flex-col-center" style="color: #7C8191;">
  152. <view class="tn-icon-message-fill"></view>
  153. </view>
  154. <view class="tn-flex tn-flex-row-between" style="width: 100%;">
  155. <view class="tn-margin-left-sm">我有问题</view>
  156. <view class="tn-color-gray tn-icon-right"></view>
  157. </view>
  158. </button>
  159. </tn-list-cell>
  160. <!-- <tn-list-cell :hover="true" :unlined="true" :radius="true" :fontSize="30" @click="callPhoneNumber" data-number="18266666666">
  161. <view class="tn-flex tn-flex-col-center">
  162. <view
  163. class="icon1__item--icon tn-flex tn-flex-row-center tn-flex-col-center" style="color: #7C8191;">
  164. <view class="tn-icon-tel-circle-fill"></view>
  165. </view>
  166. <view class="tn-margin-left-sm tn-flex-1">技术支持</view>
  167. <view
  168. class="tn-margin-left-sm tn-color-cat tn-text-sm tn-padding-left-xs tn-padding-right-xs tn-bg-gray--light tn-round">
  169. 158****8888</view>
  170. </view>
  171. </tn-list-cell> -->
  172. <tn-list-cell :hover="true" :unlined="true" :radius="true" :fontSize="30" @click="showInfo()">
  173. <view class="tn-flex tn-flex-col-center">
  174. <view
  175. class="icon1__item--icon tn-flex tn-flex-row-center tn-flex-col-center" style="color: #7C8191;">
  176. <view class="tn-icon-safe-fill"></view>
  177. </view>
  178. <view class="tn-margin-left-sm tn-flex-1">用户声明</view>
  179. <view class="tn-color-gray tn-icon-right"></view>
  180. </view>
  181. </tn-list-cell>
  182. <tn-list-cell :hover="true" :unlined="true" :radius="true" :fontSize="30" @click="showInfo2()">
  183. <view class="tn-flex tn-flex-col-center">
  184. <view
  185. class="icon1__item--icon tn-flex tn-flex-row-center tn-flex-col-center" style="color: #7C8191;">
  186. <view class="tn-icon-lock"></view>
  187. </view>
  188. <view class="tn-margin-left-sm tn-flex-1">隐私协议</view>
  189. <view class="tn-color-gray tn-icon-right"></view>
  190. </view>
  191. </tn-list-cell>
  192. <tn-list-cell :hover="true" :unlined="true" :radius="true" :fontSize="30" @click=showAbout()>
  193. <view class="tn-flex tn-flex-col-center">
  194. <view
  195. class="icon1__item--icon tn-flex tn-flex-row-center tn-flex-col-center" style="color: #7C8191;">
  196. <view class="tn-icon-help"></view>
  197. </view>
  198. <view class="tn-margin-left-sm tn-flex-1">了解速立保</view>
  199. <view class="tn-color-gray tn-icon-right"></view>
  200. </view>
  201. </tn-list-cell>
  202. <tn-list-cell :hover="true" :unlined="true" :radius="true" :fontSize="30" v-if="!showLogin" @click="showLog()">
  203. <view class="tn-flex tn-flex-col-center">
  204. <view
  205. class="icon1__item--icon tn-flex tn-flex-row-center tn-flex-col-center" style="color: #7C8191;">
  206. <view class="tn-icon-my-reduce"></view>
  207. </view>
  208. <view class="tn-margin-left-sm tn-flex-1">注销账户</view>
  209. <view class="tn-color-gray tn-icon-right"></view>
  210. </view>
  211. </tn-list-cell>
  212. </view>
  213. <view class="about-shadow tn-margin-top-lg tn-margin-bottom-lg tn-padding-top-sm tn-padding-bottom-sm" v-if="!showLogin">
  214. <tn-list-cell :hover="true" :unlined="true" :radius="true" :fontSize="30" @click="showLogout()">
  215. <view class="tn-flex tn-flex-col-center">
  216. <view
  217. class="icon1__item--icon tn-flex tn-flex-row-center tn-flex-col-center" style="color: #7C8191;">
  218. <view class="tn-icon-logout"></view>
  219. </view>
  220. <view class="tn-margin-left-sm tn-flex-1">退出登录</view>
  221. <view class="tn-color-gray tn-icon-right"></view>
  222. </view>
  223. </tn-list-cell>
  224. </view>
  225. </view>
  226. <uni-popup ref="alertDialog" type="dialog">
  227. <uni-popup-dialog :type="msgType" cancelText="取消" confirmText="确定" title="确定注销账户吗?" content=" " @confirm="logOff()"
  228. @close="dialogClose"></uni-popup-dialog>
  229. </uni-popup>
  230. <view class='tn-tabbar-height'></view>
  231. </view>
  232. </template>
  233. <script>
  234. import request from '../../utils/request'
  235. import {
  236. uniShowModal
  237. } from '../../utils/uni_api'
  238. export default {
  239. name: 'Mine',
  240. data() {
  241. return {
  242. personInfo: uni.getStorageSync('userInfo')?JSON.parse(uni.getStorageSync('userInfo')):{},
  243. showLogin: false,
  244. msgType:'',
  245. shareNum:0,
  246. needNum:0
  247. }
  248. },
  249. onReady() {
  250. this.$nextTick(() => {
  251. if(!uni.getStorageSync('userNo')){
  252. this.showLogin = true;
  253. return false;
  254. }
  255. if(!uni.getStorageSync('loginOut')){
  256. this.getContentRectInfo()
  257. // this.loadNum();
  258. // this.loadNum2();
  259. }
  260. })
  261. },
  262. methods: {
  263. fetchData(){
  264. if(!uni.getStorageSync('userNo')){
  265. this.showLogin = true;
  266. return false;
  267. }
  268. if(!uni.getStorageSync('loginOut')){
  269. this.getContentRectInfo()
  270. // this.loadNum();
  271. // this.loadNum2();
  272. }
  273. },
  274. // 获取内容容器的信息
  275. getContentRectInfo() {
  276. let that = this;
  277. request.post('/slbWxma/getPersonlInfo', {
  278. }).then(res => {
  279. console.warn(res);
  280. if(res&&res.success){
  281. that.personInfo = res.resultMap.userInfo||{};
  282. uni.setStorageSync('userInfo', JSON.stringify(res.resultMap.userInfo));
  283. that.showLogin = false;
  284. }
  285. console.warn(res);
  286. })
  287. },
  288. loadNum(){
  289. let that = this;
  290. request.post('/slbResourceDemand/show/my', {
  291. }).then(res => {
  292. if(res&&res.resultMap){
  293. that.needNum = res.resultMap.passNum||0
  294. }
  295. })
  296. },
  297. loadNum2(){
  298. let that = this;
  299. request.post('/slbResourceShare/show/my', {
  300. }).then(res => {
  301. if(res&&res.resultMap){
  302. that.shareNum = res.resultMap.passNum||0
  303. }
  304. })
  305. },
  306. // 跳转
  307. tn(e) {
  308. if(!uni.getStorageSync('userNo')){
  309. uni.navigateTo({
  310. url: '/pages/login/login',
  311. });
  312. return false;
  313. }
  314. uni.navigateTo({
  315. url: e,
  316. });
  317. },
  318. showFeedback(){
  319. uni.navigateTo({
  320. url: '/pages/mine/addFeed',
  321. });
  322. },
  323. // 收货地址
  324. navAddress() {
  325. uni.chooseAddress({
  326. })
  327. },
  328. // 震动跳转
  329. navThanks(e) {
  330. wx.vibrateShort();
  331. uni.navigateTo({
  332. url: '/pages/login/login'
  333. })
  334. },
  335. //拨打固定电话
  336. callPhoneNumber() {
  337. uni.navigateTo({
  338. url: '/pages/login/login'
  339. })
  340. // uni.makePhoneCall({
  341. // phoneNumber: "18219128888",
  342. // });
  343. },
  344. // 复制开源地址
  345. copySource() {
  346. uni.setClipboardData({
  347. data: "等待上传插件市场",
  348. })
  349. },
  350. showInfo(){
  351. uni.navigateTo({
  352. url: '/pages/login/info?counted=1'
  353. })
  354. },
  355. showInfo2() {
  356. uni.navigateTo({
  357. url:'/pages/webview/web-view?url='+encodeURIComponent('https://slb-m.lx-device.com/webview?title=隐私协议&url='+'https://oss.lx-device.com/userFeedback/1734512475403YCv.docx'),
  358. })
  359. },
  360. showAbout(){
  361. uni.navigateTo({
  362. url: '/pages/mine/about'
  363. })
  364. },
  365. showLog(){
  366. let that = this;
  367. uniShowModal('确定注销账户吗?', '', {
  368. showCancel: true,
  369. success: (res) => {
  370. console.error(res);
  371. if(res.confirm){
  372. that.logOff();
  373. }
  374. }
  375. })
  376. },
  377. showLogout(){
  378. let that = this;
  379. uniShowModal('确定退出登录吗?', '', {
  380. showCancel: true,
  381. success: (res) => {
  382. console.error(res);
  383. if(res.confirm){
  384. uni.setStorageSync('loginStatus', 'false');
  385. uni.setStorageSync('loginOut', 'true');
  386. uni.removeStorageSync('userMap');
  387. uni.removeStorageSync('userNo');
  388. uni.removeStorageSync('userInfo');
  389. that.showLogin = true;
  390. that.shareNum = 0;
  391. that.needNum = 0;
  392. that.personInfo = {};
  393. // uni.reLaunch({
  394. // url:'/pages/index/index'
  395. // })
  396. }
  397. }
  398. })
  399. },
  400. //注销
  401. logOff(){
  402. const that = this;
  403. request.post('/slbWxma/logOff', {
  404. userNo: uni.getStorageSync('userNo'),
  405. }).then(res => {
  406. if (res&&res.success) {
  407. uni.setStorageSync('loginStatus', 'false');
  408. uni.setStorageSync('loginOut', 'true');
  409. uni.removeStorageSync('userMap');
  410. uni.removeStorageSync('userNo');
  411. uni.removeStorageSync('userInfo');
  412. that.showLogin = true;
  413. that.personInfo = {};
  414. uni.showToast({
  415. title: '注销成功',
  416. icon: 'none'
  417. })
  418. uni.reLaunch({
  419. url: '/pages/index/index'
  420. })
  421. }else{
  422. uni.showToast({
  423. title: res.msg,
  424. icon: 'none'
  425. })
  426. }
  427. })
  428. }
  429. }
  430. }
  431. </script>
  432. <style lang="scss" scoped>
  433. .mine{
  434. max-height: 100vh;
  435. }
  436. /* 底部安全边距 start*/
  437. .tn-tabbar-height {
  438. min-height: 120rpx;
  439. height: calc(140rpx + env(safe-area-inset-bottom) / 2);
  440. height: calc(140rpx + constant(safe-area-inset-bottom));
  441. }
  442. .tn-color-cat{
  443. color: #1D2541;
  444. }
  445. .tn-bg-cat{
  446. background-color: #1D2541;
  447. }
  448. /* 自定义导航栏内容 start */
  449. .custom-nav {
  450. height: 100%;
  451. &__back {
  452. margin: auto 5rpx;
  453. font-size: 40rpx;
  454. margin-right: 10rpx;
  455. flex-basis: 5%;
  456. width: 100rpx;
  457. position: absolute;
  458. }
  459. }
  460. /* 自定义导航栏内容 end */
  461. /* 顶部背景图 end */
  462. /* 用户头像 start */
  463. .logo-image {
  464. width: 140rpx;
  465. height: 140rpx;
  466. position: relative;
  467. overflow: hidden;
  468. border-radius: 50%;
  469. }
  470. .logo-pic {
  471. background-size: cover;
  472. background-repeat: no-repeat;
  473. // background-attachment:fixed;
  474. background-position: top;
  475. border: 8rpx solid rgba(255,255,255,0.05);
  476. box-shadow: 0rpx 0rpx 80rpx 0rpx rgba(0, 0, 0, 0.15);
  477. border-radius: 50%;
  478. overflow: hidden;
  479. // background-color: #FFFFFF;
  480. }
  481. /* 页面 start*/
  482. .about-shadow {
  483. border-radius: 15rpx;
  484. box-shadow: 0rpx 0rpx 50rpx 0rpx rgba(0, 0, 0, 0.07);
  485. }
  486. .about {
  487. &__wrap {
  488. position: relative;
  489. z-index: 1;
  490. margin: 20rpx 30rpx;
  491. }
  492. }
  493. /* 页面 end*/
  494. /* 图标容器15 start */
  495. .icon15 {
  496. &__item {
  497. width: 30%;
  498. background-color: #FFFFFF;
  499. border-radius: 10rpx;
  500. padding: 30rpx;
  501. margin: 20rpx 10rpx;
  502. transform: scale(1);
  503. transition: transform 0.3s linear;
  504. transform-origin: center center;
  505. &--icon {
  506. width: 100rpx;
  507. height: 100rpx;
  508. font-size: 60rpx;
  509. border-radius: 50%;
  510. margin-bottom: 18rpx;
  511. position: relative;
  512. z-index: 1;
  513. &::after {
  514. content: " ";
  515. position: absolute;
  516. z-index: -1;
  517. width: 100%;
  518. height: 100%;
  519. left: 0;
  520. bottom: 0;
  521. border-radius: inherit;
  522. opacity: 1;
  523. transform: scale(1, 1);
  524. background-size: 100% 100%;
  525. }
  526. }
  527. }
  528. }
  529. /* 图标容器12 start */
  530. .tn-three{
  531. position: absolute;
  532. top: 50%;
  533. right: 50%;
  534. bottom: 50%;
  535. left: 50%;
  536. transform: translate(-38rpx, -16rpx) rotateX(30deg) rotateY(20deg) rotateZ(-30deg);
  537. text-shadow: -1rpx 2rpx 0 #f0f0f0, -2rpx 4rpx 0 #f0f0f0, -10rpx 20rpx 30rpx rgba(0, 0, 0, 0.2);
  538. }
  539. .icon20 {
  540. &__item {
  541. width: 30%;
  542. background-color: #FFFFFF;
  543. border-radius: 10rpx;
  544. padding: 30rpx;
  545. margin: 20rpx 10rpx;
  546. transform: scale(1);
  547. transition: transform 0.3s linear;
  548. transform-origin: center center;
  549. &--icon {
  550. width: 100rpx;
  551. height: 100rpx;
  552. font-size: 60rpx;
  553. border-radius: 50%;
  554. margin-bottom: 18rpx;
  555. position: relative;
  556. z-index: 1;
  557. &::after {
  558. content: " ";
  559. position: absolute;
  560. z-index: -1;
  561. width: 100%;
  562. height: 100%;
  563. left: 0;
  564. bottom: 0;
  565. border-radius: inherit;
  566. opacity: 1;
  567. transform: scale(1, 1);
  568. background-size: 100% 100%;
  569. background-image: url(https://resource.tuniaokj.com/images/cool_bg_image/icon_bg.png);
  570. }
  571. }
  572. }
  573. }
  574. .button-vip {
  575. width: 100%;
  576. height: 150rpx;
  577. border-radius: 15rpx;
  578. position: relative;
  579. z-index: 1;
  580. &::after {
  581. content: " ";
  582. position: absolute;
  583. z-index: -1;
  584. width: 100%;
  585. height: 100%;
  586. left: 0;
  587. bottom: 0;
  588. border-radius: inherit;
  589. opacity: 1;
  590. transform: scale(1, 1);
  591. background-size: 100% 100%;
  592. background-image: url(https://resource.tuniaokj.com/images/cool_bg_image/icon_bg.png);
  593. }
  594. }
  595. /* 图标容器12 start */
  596. .icon12 {
  597. &__item {
  598. width: 30%;
  599. background-color: #FFFFFF;
  600. border-radius: 10rpx;
  601. padding: 30rpx;
  602. margin: 20rpx 10rpx;
  603. transform: scale(1);
  604. transition: transform 0.3s linear;
  605. transform-origin: center center;
  606. &--icon {
  607. width: 15rpx;
  608. height: 15rpx;
  609. font-size: 50rpx;
  610. border-radius: 50%;
  611. margin-bottom: 38rpx;
  612. position: relative;
  613. z-index: 1;
  614. &::after {
  615. content: " ";
  616. position: absolute;
  617. z-index: -1;
  618. width: 100%;
  619. height: 100%;
  620. left: 0;
  621. bottom: 0;
  622. border-radius: inherit;
  623. opacity: 1;
  624. transform: scale(1, 1);
  625. background-size: 100% 100%;
  626. }
  627. }
  628. }
  629. }
  630. /* 图标容器1 start */
  631. .icon1 {
  632. &__item {
  633. // width: 30%;
  634. background-color: #FFFFFF;
  635. border-radius: 10rpx;
  636. padding: 30rpx;
  637. margin: 20rpx 10rpx;
  638. transform: scale(1);
  639. transition: transform 0.3s linear;
  640. transform-origin: center center;
  641. &--icon {
  642. width: 40rpx;
  643. height: 40rpx;
  644. font-size: 40rpx;
  645. border-radius: 50%;
  646. position: relative;
  647. z-index: 1;
  648. &::after {
  649. content: " ";
  650. position: absolute;
  651. z-index: -1;
  652. width: 100%;
  653. height: 100%;
  654. left: 0;
  655. bottom: 0;
  656. border-radius: inherit;
  657. opacity: 1;
  658. transform: scale(1, 1);
  659. background-size: 100% 100%;
  660. background-image: url(https://resource.tuniaokj.com/images/cool_bg_image/icon_bg.png);
  661. }
  662. }
  663. }
  664. }
  665. /* 图标容器1 end */
  666. /* 顶部背景图 start */
  667. .top-backgroup {
  668. height: 450rpx;
  669. z-index: -1;
  670. .backgroud-image {
  671. width: 100%;
  672. height: 450rpx;
  673. // z-index: -1;
  674. }
  675. }
  676. /* 顶部背景图 end */
  677. </style>