mySet.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814
  1. <template>
  2. <view class="content">
  3. <view class="content1 flex-between relative flex">
  4. <view class="user flex">
  5. <image :src="userInfo.head?userInfo.head:'../../static/imgs/mySet/head.png'" mode="widthFix" class="img"
  6. @click="editHead"></image>
  7. <view @click="editNickName" class="name">
  8. {{userInfo.nickname?userInfo.nickname:''}}
  9. </view>
  10. </view>
  11. <view class="position">
  12. <image @click='selectCard' src="../../static/imgs/mySet/share.png" mode="widthFix" class="right-img">
  13. <image @click='selectCard1' src="../../static/imgs/mySet/ewm.png" mode="widthFix" class="right-img">
  14. </image>
  15. </view>
  16. </view>
  17. <view class="content2">
  18. <view class="row flex flex-between" v-for="(item,index) in menuList" :key='index'
  19. @click="menuClick(item.type)">
  20. <view class="flex" style="width: 100%;">
  21. <image :src="item.src" mode="widthFix" class="nav-img"></image>
  22. <button class="left-btn" v-if='item.type=="contactCustomer"' open-type='contact'
  23. style="width: 90%;">{{item.name}}</button>
  24. <span class="left" v-else>{{item.name}}</span>
  25. </view>
  26. <span class="right">
  27. <image src="../../static/imgs/mySet/yjt.png" mode="widthFix" class="row-right-img"></image>
  28. </span>
  29. </view>
  30. </view>
  31. <u-popup :show="isShowCode" @close="isShowCode=false" mode="center" :round='10'>
  32. <image :src="selectCode" mode="widthFix" style="height: auto;"></image>
  33. </u-popup>
  34. <u-picker :immediateChange="true" keyName="cardBusiness" :confirmType='"share"' :confirmText='"分享"' title="选择名片"
  35. @cancel="show=false" closeOnClickOverlay @change="cardChange" :show="show" :columns="cardList"></u-picker>
  36. <u-picker :immediateChange="true" keyName="cardBusiness" confirmText='确定' title="选择名片" @cancel="show1=false"
  37. closeOnClickOverlay @confirm="cardConfirm" :show="show1" :columns="cardList"></u-picker>
  38. <poster :data="canvasData" background-color="#FFF" :width='750' :height='420' @on-success="posterSuccess"
  39. ref="poster" @on-error="posterError"></poster>
  40. <!-- #ifdef MP-WEIXIN -->
  41. <u-modal :show="showAuthorizePhone" :showConfirmButton="false">
  42. <view class="slot-content">
  43. <view class="auth-card">
  44. <view class="img">
  45. <img class="avatar-img" src="@/static/imgs/logo.png" mode="widthFix">
  46. </view>
  47. <view class="content">手机登录后才能查看名片哦~</view>
  48. </view>
  49. <view class="auth-btncard">
  50. <view class="btn-unok">
  51. <u-button :customStyle="customStyleUnOk" @click="showAuthorizePhone=false" :plain="true">
  52. 拒绝</u-button>
  53. </view>
  54. <view class="btn-ok">
  55. <u-button :customStyle="customStyleOk" open-type="getPhoneNumber"
  56. @getphonenumber="getPhoneNumber"> 立即登录</u-button>
  57. </view>
  58. </view>
  59. </view>
  60. </u-modal>
  61. <u-modal :show="showAuthorizeUser" :showConfirmButton="false">
  62. <view class="slot-content">
  63. <view class="auth-card">
  64. <view class="img">
  65. <img class="avatar-img" src="/static/imgs/logo.png" mode="widthFix">
  66. </view>
  67. <view class="content">邀请您补全个人信息<br></br>(昵称、头像)</view>
  68. <view style="margin-left: 100rpx;margin-right: 100rpx">
  69. <u-form :model="userInfo" ref="uForm">
  70. <u-form-item label="头像">
  71. <button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar"
  72. slot="right">
  73. <image class="avatar"
  74. :src="userInfo.head?userInfo.head:'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'">
  75. </image>
  76. </button>
  77. </u-form-item>
  78. <u-form-item label="昵称">
  79. <u-input inputAlign='right' v-model="userInfo.nickname" class="weui-input"
  80. @blur="userNameInput" placeholder="请输入昵称" border="false" />
  81. <!-- <input type="nickname" :value="userInfo.nickname" class="weui-input" @blur="userNameInput" placeholder="请输入昵称"/> -->
  82. </u-form-item>
  83. </u-form>
  84. </view>
  85. </view>
  86. <view class="auth-btncard">
  87. <view class="btn-unok"><u-button :customStyle="customStyleUnOk" @click="authUser(0)">
  88. 拒绝</u-button>
  89. </view>
  90. <view class="btn-ok">
  91. <u-button :customStyle="customStyleOk" @click="authUser(1)"> 允许</u-button>
  92. </view>
  93. </view>
  94. </view>
  95. </u-modal>
  96. <!-- #endif -->
  97. <u-toast ref="uToast"></u-toast>
  98. </view>
  99. </template>
  100. <script>
  101. var that;
  102. import uploadImage from '@/components/ossutil/uploadFile.js';
  103. import {
  104. pathToBase64,
  105. base64ToPath
  106. } from 'image-tools'
  107. import Poster from '../../components/zhangyuhao-poster/Poster.vue'
  108. export default {
  109. components: {
  110. Poster
  111. },
  112. data() {
  113. return {
  114. // 是否弹出登录注册授权弹窗
  115. showAuthorizeUser: false,
  116. showAuthorizePhone: false,
  117. customStyleUnOk: {
  118. marginTop: '20rpx',
  119. color: '#18254C',
  120. border: '2px solid #18254C',
  121. "border-radius": "10px",
  122. fontSize: "32rpx"
  123. },
  124. customStyleOk: {
  125. marginTop: '20rpx',
  126. color: '#fff',
  127. border: '2px solid #18254C',
  128. "border-radius": "10px",
  129. fontSize: "32rpx",
  130. background: "#18254C"
  131. },
  132. userInfo: {},
  133. cardList: [],
  134. canvasData: {},
  135. currectData: {},
  136. list: [],
  137. index: 0,
  138. selectCode: '',
  139. show: false,
  140. clicknum: 0,
  141. popupshow: false,
  142. show1: false,
  143. isShowCode: false,
  144. menuList: [{
  145. name: "我的名片",
  146. type: 'myInfo',
  147. src: '../../static/imgs/mySet/card.png'
  148. },
  149. {
  150. name: "我的主页",
  151. type: 'myHome',
  152. src: '../../static/imgs/mySet/home.png'
  153. },
  154. {
  155. name: "名片分类",
  156. type: "cardType",
  157. src: '../../static/imgs/mySet/type.png'
  158. },
  159. {
  160. name: "我的证件",
  161. type: "myCard",
  162. src: '../../static/imgs/mySet/card1.png'
  163. },
  164. {
  165. name: "帮助说明",
  166. type: "help",
  167. src: '../../static/imgs/mySet/help.png'
  168. },
  169. {
  170. name: "联系客服",
  171. type: "contactCustomer",
  172. src: '../../static/imgs/mySet/kf.png'
  173. },
  174. {
  175. name: "设置",
  176. type: 'set',
  177. src: '../../static/imgs/mySet/set.png'
  178. },
  179. ]
  180. };
  181. },
  182. beforeDestroy() {
  183. this.show = false
  184. },
  185. onShow() {
  186. this.userInfo = uni.getStorageSync("userInfo")
  187. if (this.userInfo.phone) {
  188. this.getData()
  189. } else {
  190. this.showAuthorizePhone = true
  191. }
  192. },
  193. onLoad() {
  194. that = this
  195. },
  196. onShareAppMessage(res) {
  197. this.popupshow = false
  198. console.log(res, this.popupshow)
  199. let that = this;
  200. //生成名片图片
  201. let imageUrl = this.poster
  202. console.log("imageUrl", imageUrl)
  203. if (res.from === 'button') {
  204. let path = `/pages/cardHolder/scanCodeAddCard?id=${that.currectData.id}`
  205. return {
  206. title: `${that.currectData.name}分享的名片~`,
  207. path: path,
  208. imageUrl: imageUrl,
  209. };
  210. }
  211. if (res.from === 'menu') {
  212. return {
  213. title: '名片Box',
  214. path: '/pages/cardHolder/cardHolder',
  215. imageUrl: ''
  216. };
  217. }
  218. },
  219. methods: {
  220. getData() {
  221. this.$request.baseRequest('admin.unimall.cardManagementInfo', 'list', {
  222. commonId: this.userInfo.id
  223. }, failres => {
  224. uni.hideLoading()
  225. uni.showToast({
  226. icon: "none",
  227. title: failres.errmsg,
  228. duration: 3000
  229. });
  230. }).then(res => {
  231. this.list = res.data.items
  232. this.cardList = [res.data.items]
  233. })
  234. },
  235. //获取昵称输入内容
  236. userNameInput(e) {
  237. this.userInfo.nickname = e.detail.value
  238. },
  239. async onChooseAvatar(e) {
  240. this.$set(this.userInfo, "head", await this.toBase64(e.detail.avatarUrl))
  241. },
  242. toBase64(url) {
  243. return new Promise(resolve => {
  244. pathToBase64(url).then(path => {
  245. resolve(path);
  246. }).catch(error => {
  247. console.log(error)
  248. })
  249. })
  250. },
  251. async authUser(type) {
  252. //同步信息,没有头像和昵称自动生成
  253. this.userInfo = await this.$request.syncInfo(this.userInfo)
  254. if (this.userInfo.openId) {
  255. uni.setStorageSync("userInfo", that.userInfo)
  256. that.showAuthorizeUser = false
  257. this.getData()
  258. }
  259. },
  260. async getPhoneNumber(e) {
  261. that.userInfo = await this.$request.wxlogin()
  262. that.userInfo.phone = await this.$request.getPhone(e, that.userInfo)
  263. this.showAuthorizePhone = false
  264. this.showAuthorizeUser = true
  265. },
  266. editNickName() {
  267. if (this.userInfo.phone) {
  268. let _url = '/pages/mySet/editNickName'
  269. uni.navigateTo({
  270. url: _url
  271. })
  272. } else {
  273. this.showAuthorizePhone = true
  274. }
  275. },
  276. editHead() {
  277. if (this.userInfo.phone) {
  278. uni.chooseImage({
  279. count: 1,
  280. sizeType: ['original', 'compressed'],
  281. success: function(res) {
  282. uploadImage(res.tempFilePaths[0], 'cardImages/',
  283. result => {
  284. that.userInfo.head = result
  285. that.$request.baseRequest('commonUserApp', 'edit', {
  286. commonUserInfo: JSON.stringify(that.userInfo)
  287. }, failres => {
  288. uni.hideLoading()
  289. uni.showToast({
  290. icon: "none",
  291. title: failres.errmsg,
  292. duration: 3000
  293. });
  294. }).then(res => {
  295. uni.setStorageSync("userInfo", that.userInfo)
  296. uni.showToast({
  297. icon: "success",
  298. title: '修改成功!',
  299. duration: 2000,
  300. complete: function() {
  301. uni.switchTab({
  302. url: "/pages/mySet/mySet"
  303. })
  304. }
  305. })
  306. })
  307. }
  308. )
  309. }
  310. });
  311. } else {
  312. this.showAuthorizePhone = true
  313. }
  314. },
  315. handleHiddenShare() {
  316. this.popupshow = false
  317. },
  318. selectCard() {
  319. if (this.userInfo.phone) {
  320. if (this.cardList[0].length > 0) {
  321. this.index = 0
  322. this.cardChange({
  323. value: this.cardList[[0]]
  324. })
  325. } else if (this.cardList[0].length == 0) {
  326. uni.showToast({
  327. icon: "none",
  328. title: '您还未创建名片',
  329. duration: 3000
  330. })
  331. }
  332. } else {
  333. this.showAuthorizePhone = true
  334. }
  335. },
  336. selectCard1() {
  337. if (this.userInfo.phone) {
  338. console.log(this.cardList[0])
  339. if (this.cardList[0].length > 1) {
  340. this.show1 = true
  341. } else if (this.cardList[0].length > 0) {
  342. this.cardConfirm({
  343. value: this.cardList[[0]]
  344. })
  345. } else if (this.cardList[0].length == 0) {
  346. uni.showToast({
  347. icon: "none",
  348. title: '您还未创建名片',
  349. duration: 3000
  350. })
  351. }
  352. } else {
  353. this.showAuthorizePhone = true
  354. }
  355. },
  356. cardConfirm(e) {
  357. console.log(e)
  358. this.currectData = e.value[0]
  359. this.selectCode = e.value[0].qrCodeMyself
  360. this.show1 = false
  361. this.isShowCode = true
  362. },
  363. cardChange(e) {
  364. console.log(e)
  365. this.currectData = e.value[0]
  366. uni.showLoading({
  367. title: '加载中',
  368. mask: true
  369. })
  370. var data = [{
  371. type: 'image',
  372. path: this.currectData.currentBackground,
  373. use: 'bg',
  374. x: -10,
  375. y: 0,
  376. width: 530,
  377. height: 325
  378. },
  379. {
  380. type: 'image',
  381. path: this.currectData.headSculpture ? this.currectData.headSculpture :
  382. '../../static/imgs/card/defaulthead.png',
  383. shape: 'circle',
  384. use: 'head',
  385. imageType: this.currectData.headSculpture ? 'wl' : 'bd',
  386. x: 30,
  387. y: 30,
  388. width: 100,
  389. height: 100
  390. },
  391. {
  392. type: 'text',
  393. text: this.currectData.name,
  394. use: 'name',
  395. x: 150,
  396. y: 50,
  397. size: 24,
  398. color: '#000'
  399. },
  400. {
  401. type: 'text',
  402. text: this.currectData.post,
  403. use: 'post',
  404. x: 240,
  405. y: 55,
  406. size: 18,
  407. color: '#666666'
  408. },
  409. {
  410. type: 'text',
  411. text: this.currectData.companyName,
  412. use: 'companyName',
  413. x: 150,
  414. y: 95,
  415. size: 18,
  416. color: '#000'
  417. },
  418. {
  419. type: 'image',
  420. path: '../../static/imgs/card/address1.png',
  421. use: 'address-icon',
  422. x: 145,
  423. y: 130,
  424. width: 15,
  425. height: 20
  426. },
  427. {
  428. type: 'textarea',
  429. text: this.currectData.province + this.currectData.city + this.currectData.area + this
  430. .currectData.detailedAddress,
  431. lineSpace: 1,
  432. width: 320,
  433. use: 'address',
  434. x: 175,
  435. y: 135,
  436. size: 14,
  437. color: '#000'
  438. },
  439. {
  440. type: 'image',
  441. path: '../../static/imgs/card/phone1.png',
  442. use: 'phone-icon',
  443. x: 145,
  444. y: 163,
  445. width: 16,
  446. height: 16
  447. },
  448. {
  449. type: 'text',
  450. text: this.currectData.phone,
  451. use: 'phone',
  452. x: 175,
  453. y: 167,
  454. size: 14,
  455. color: '#000'
  456. },
  457. {
  458. type: 'image',
  459. path: '../../static/imgs/card/remark1.png',
  460. use: 'remark-icon',
  461. x: 145,
  462. y: 197,
  463. width: 13,
  464. height: 16
  465. },
  466. {
  467. type: 'textarea',
  468. text: this.currectData.remark ? this.currectData.remark : '单击添加备注',
  469. use: 'remark',
  470. lineSpace: 2,
  471. width: 200,
  472. x: 175,
  473. y: 200,
  474. size: 13,
  475. color: '#000'
  476. },
  477. {
  478. type: 'image',
  479. path: '../../static/imgs/card/bg3.png',
  480. use: 'bg1',
  481. x: 0,
  482. y: 243,
  483. width: 370,
  484. height: 67
  485. },
  486. {
  487. type: 'image',
  488. path: '../../static/imgs/card/bg4.png',
  489. use: 'bg2',
  490. x: 355,
  491. y: 243,
  492. width: 150,
  493. height: 67
  494. },
  495. {
  496. type: 'image',
  497. path: '../../static/imgs/card/home.png',
  498. use: 'home',
  499. x: 65,
  500. y: 260,
  501. width: 33,
  502. height: 33
  503. },
  504. {
  505. type: 'text',
  506. text: this.currectData.classifyName ? this.currectData.classifyName : '默',
  507. use: 'classify',
  508. x: 145,
  509. y: 263,
  510. size: 34,
  511. color: '#fff'
  512. },
  513. {
  514. type: 'image',
  515. path: '../../static/imgs/card/share.png',
  516. use: 'share',
  517. x: 235,
  518. y: 263,
  519. width: 33,
  520. height: 28
  521. },
  522. ]
  523. console.log(this.currectData.cuttentTemplate, 111111)
  524. for (var i = 0; i < data.length; i++) {
  525. switch (this.currectData.cuttentTemplate) {
  526. case '2':
  527. if (data[i].use === 'name' ||
  528. data[i].use === 'companyName' ||
  529. data[i].use === 'address-icon' ||
  530. data[i].use === 'phone-icon' ||
  531. data[i].use === 'remark-icon') {
  532. data[i].x = 30
  533. }
  534. if (data[i].use === 'post') {
  535. data[i].x = 100
  536. }
  537. if (data[i].use === 'address' ||
  538. data[i].use === 'phone' ||
  539. data[i].use === 'remark') {
  540. data[i].x = 60
  541. }
  542. if (data[i].use == 'head') {
  543. data[i].x = 370
  544. }
  545. break;
  546. case '3':
  547. if (data[i].use === 'name') {
  548. data[i].x = 30
  549. data[i].y = 150
  550. }
  551. if (data[i].use === 'companyName') {
  552. data[i].x = 30
  553. data[i].y = 180
  554. }
  555. if (data[i].use === 'post') {
  556. data[i].x = 100
  557. data[i].y = 153
  558. }
  559. if (data[i].use === 'address-icon' ||
  560. data[i].use === 'phone-icon' ||
  561. data[i].use === 'remark-icon') {
  562. data[i].x = 170
  563. }
  564. if (data[i].use === 'address-icon') {
  565. data[i].y = 150
  566. }
  567. if (data[i].use === 'address') {
  568. data[i].y = 155;
  569. data[i].width = 300
  570. }
  571. if (data[i].use === 'phone-icon') {
  572. data[i].y = 180
  573. }
  574. if (data[i].use === 'phone') {
  575. data[i].y = 183
  576. }
  577. if (data[i].use === 'remark-icon') {
  578. data[i].y = 210
  579. }
  580. if (data[i].use === 'remark') {
  581. data[i].y = 212
  582. }
  583. if (data[i].use === 'address' ||
  584. data[i].use === 'phone' ||
  585. data[i].use === 'remark') {
  586. data[i].x = 190
  587. }
  588. break;
  589. case '4':
  590. if (data[i].use === 'name' ||
  591. data[i].use === 'companyName') {
  592. data[i].x = 30
  593. }
  594. if (data[i].use === 'companyName') {
  595. data[i].y = 90
  596. }
  597. if (data[i].use === 'post') {
  598. data[i].x = 100
  599. }
  600. if (data[i].use == 'head') {
  601. data[i].x = 25
  602. data[i].y = 120
  603. }
  604. if (data[i].use === 'address-icon' ||
  605. data[i].use === 'phone-icon' ||
  606. data[i].use === 'remark-icon') {
  607. data[i].x = 170
  608. }
  609. if (data[i].use === 'address') {
  610. data[i].width = 300
  611. }
  612. if (data[i].use === 'address' ||
  613. data[i].use === 'phone' ||
  614. data[i].use === 'remark') {
  615. data[i].x = 190
  616. }
  617. break;
  618. default:
  619. }
  620. }
  621. this.canvasData = {
  622. clicknum: this.clicknum++,
  623. list: data
  624. }
  625. },
  626. posterError(err) {
  627. console.log(err)
  628. uni.hideLoading()
  629. },
  630. posterSuccess(url) {
  631. console.log("hahahah", url)
  632. // 生成成功,会把临时路径在这里返回
  633. this.poster = url;
  634. console.log(url)
  635. if (this.index == 0) {
  636. this.show = true
  637. }
  638. // this.show=false
  639. uni.hideLoading()
  640. },
  641. menuClick(typeName) {
  642. if (this.userInfo.phone) {
  643. if (typeName == "contactCustomer") return
  644. let _url = '/pages/mySet/' + typeName
  645. uni.navigateTo({
  646. url: _url
  647. })
  648. } else {
  649. this.showAuthorizePhone = true
  650. }
  651. }
  652. }
  653. }
  654. </script>
  655. <style lang="scss" scoped>
  656. .content1 {
  657. background: #112253;
  658. padding: 0rpx 20rpx 160rpx 20rpx;
  659. box-sizing: border-box;
  660. border-radius: 0px 0px 20rpx 20rpx;
  661. .user {
  662. color: #fff;
  663. .name {
  664. font-weight: 700;
  665. }
  666. }
  667. .img {
  668. width: 124rpx;
  669. border-radius: 50%;
  670. margin-right: 32rpx;
  671. height: auto;
  672. }
  673. .position {
  674. display: flex;
  675. .right-img {
  676. width: 44rpx;
  677. margin-left: 40rpx;
  678. height: auto;
  679. }
  680. }
  681. }
  682. .content2 {
  683. background: #fff;
  684. margin: 20rpx;
  685. padding: 0 40rpx;
  686. position: relative;
  687. top: -100rpx;
  688. border-radius: 20rpx;
  689. .nav-img {
  690. width: 32rpx;
  691. margin-right: 20rpx;
  692. height: auto;
  693. }
  694. .row {
  695. border-bottom: 1px solid #E6E6E6;
  696. padding: 35rpx 0;
  697. .row-right-img {
  698. width: 12rpx;
  699. height: auto;
  700. }
  701. }
  702. .row:last-child {
  703. border: none;
  704. }
  705. .left-btn {
  706. background: #fff;
  707. padding: 0;
  708. margin: 0;
  709. font-size: 32rpx;
  710. height: 42rpx;
  711. display: flex;
  712. align-items: center;
  713. }
  714. .left-btn:after {
  715. border: none !important;
  716. }
  717. }
  718. .shareBtn {
  719. background: transparent;
  720. line-height: 1;
  721. padding: 0;
  722. }
  723. .shareBtn::after {
  724. border: none;
  725. }
  726. .slot-content {
  727. width: 100%;
  728. }
  729. .auth-btncard {
  730. display: flex !important;
  731. justify-content: space-between !important;
  732. .btn-unok {
  733. width: 40%;
  734. }
  735. .btn-ok {
  736. width: 40%;
  737. }
  738. }
  739. .auth-card {
  740. text-align: center;
  741. .avatar-img {
  742. width: 250rpx;
  743. }
  744. .title {
  745. font-size: 20rpx;
  746. }
  747. .content {
  748. font-size: 32rpx;
  749. font-weight: bold;
  750. color: #1A1A1A;
  751. margin-bottom: 30rpx;
  752. }
  753. }
  754. .avatar-wrapper {
  755. color: #333 !important;
  756. border: none !important;
  757. border-radius: 0 !important;
  758. background-color: transparent !important;
  759. padding: 0;
  760. }
  761. .avatar-wrapper::after {
  762. border: none !important;
  763. }
  764. .avatar {
  765. width: 100rpx;
  766. height: 100rpx;
  767. overflow: hidden;
  768. border-radius: 100%;
  769. }
  770. /deep/.u-popup__content {
  771. border-radius: 20rpx !important;
  772. }
  773. </style>