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: "poster",
  177. src: '../../static/imgs/mySet/hb.png'
  178. },
  179. {
  180. name: "设置",
  181. type: 'set',
  182. src: '../../static/imgs/mySet/set.png'
  183. },
  184. ]
  185. };
  186. },
  187. beforeDestroy() {
  188. this.show = false
  189. },
  190. onShow() {
  191. this.userInfo = uni.getStorageSync("userInfo")
  192. if (this.userInfo.phone) {
  193. this.getData()
  194. } else {
  195. this.showAuthorizePhone = true
  196. }
  197. },
  198. onLoad() {
  199. that = this
  200. },
  201. onShareAppMessage(res) {
  202. this.popupshow = false
  203. let that = this;
  204. //生成名片图片
  205. let imageUrl = this.poster
  206. if (res.from === 'button') {
  207. let path = `/pageA/cardHolder/scanCodeAddCard?id=${that.currectData.id}`
  208. return {
  209. title: `${that.currectData.name}分享的名片~`,
  210. path: path,
  211. imageUrl: imageUrl,
  212. };
  213. }
  214. if (res.from === 'menu') {
  215. return {
  216. title: '名片Box',
  217. path: '/pages/cardHolder/cardHolder',
  218. imageUrl: ''
  219. };
  220. }
  221. },
  222. methods: {
  223. getData() {
  224. this.$request.baseRequest('admin.unimall.cardManagementInfo', 'list', {
  225. commonId: this.userInfo.id
  226. }, failres => {
  227. uni.hideLoading()
  228. uni.showToast({
  229. icon: "none",
  230. title: failres.errmsg,
  231. duration: 3000
  232. });
  233. }).then(res => {
  234. this.list = res.data.items
  235. this.cardList = [res.data.items]
  236. })
  237. },
  238. //获取昵称输入内容
  239. userNameInput(e) {
  240. this.userInfo.nickname = e.detail.value
  241. },
  242. async onChooseAvatar(e) {
  243. this.$set(this.userInfo, "head", await this.toBase64(e.detail.avatarUrl))
  244. },
  245. toBase64(url) {
  246. return new Promise(resolve => {
  247. pathToBase64(url).then(path => {
  248. resolve(path);
  249. }).catch(error => {
  250. console.log(error)
  251. })
  252. })
  253. },
  254. async authUser(type) {
  255. //同步信息,没有头像和昵称自动生成
  256. this.userInfo = await this.$request.syncInfo(this.userInfo)
  257. if (this.userInfo.openId) {
  258. uni.setStorageSync("userInfo", that.userInfo)
  259. that.showAuthorizeUser = false
  260. this.getData()
  261. }
  262. },
  263. async getPhoneNumber(e) {
  264. that.userInfo = await this.$request.wxlogin()
  265. this.$nextTick(function() {
  266. that.userInfo.phone = that.$request.getPhone(e, that.userInfo)
  267. that.showAuthorizePhone = false
  268. that.showAuthorizeUser = true
  269. });
  270. },
  271. editNickName() {
  272. if (this.userInfo.phone) {
  273. let _url = '/pageA/mySet/editNickName'
  274. uni.navigateTo({
  275. url: _url
  276. })
  277. } else {
  278. this.showAuthorizePhone = true
  279. }
  280. },
  281. editHead() {
  282. if (this.userInfo.phone) {
  283. uni.chooseImage({
  284. count: 1,
  285. sizeType: ['original', 'compressed'],
  286. success: function(res) {
  287. uploadImage(res.tempFilePaths[0], 'cardImages/',
  288. result => {
  289. that.userInfo.head = result
  290. that.$request.baseRequest('commonUserApp', 'edit', {
  291. commonUserInfo: JSON.stringify(that.userInfo)
  292. }, failres => {
  293. uni.hideLoading()
  294. uni.showToast({
  295. icon: "none",
  296. title: failres.errmsg,
  297. duration: 3000
  298. });
  299. }).then(res => {
  300. uni.setStorageSync("userInfo", that.userInfo)
  301. uni.showToast({
  302. icon: "success",
  303. title: '修改成功!',
  304. duration: 2000,
  305. complete: function() {
  306. uni.switchTab({
  307. url: "/pages/mySet/mySet"
  308. })
  309. }
  310. })
  311. })
  312. }
  313. )
  314. }
  315. });
  316. } else {
  317. this.showAuthorizePhone = true
  318. }
  319. },
  320. handleHiddenShare() {
  321. this.popupshow = false
  322. },
  323. selectCard() {
  324. if (this.userInfo.phone) {
  325. if (this.cardList[0].length > 0) {
  326. this.index = 0
  327. this.cardChange({
  328. value: this.cardList[[0]]
  329. })
  330. } else if (this.cardList[0].length == 0) {
  331. uni.showToast({
  332. icon: "none",
  333. title: '您还未创建名片',
  334. duration: 3000
  335. })
  336. }
  337. } else {
  338. this.showAuthorizePhone = true
  339. }
  340. },
  341. selectCard1() {
  342. if (this.userInfo.phone) {
  343. if (this.cardList[0].length > 1) {
  344. this.show1 = true
  345. } else if (this.cardList[0].length > 0) {
  346. this.cardConfirm({
  347. value: this.cardList[[0]]
  348. })
  349. } else if (this.cardList[0].length == 0) {
  350. uni.showToast({
  351. icon: "none",
  352. title: '您还未创建名片',
  353. duration: 3000
  354. })
  355. }
  356. } else {
  357. this.showAuthorizePhone = true
  358. }
  359. },
  360. cardConfirm(e) {
  361. this.currectData = e.value[0]
  362. this.selectCode = e.value[0].qrCodeMyself
  363. this.show1 = false
  364. this.isShowCode = true
  365. },
  366. cardChange(e) {
  367. this.currectData = e.value[0]
  368. uni.showLoading({
  369. title: '加载中',
  370. mask: true
  371. })
  372. var data = [{
  373. type: 'image',
  374. path: this.currectData.currentBackground,
  375. use: 'bg',
  376. x: -10,
  377. y: 0,
  378. width: 530,
  379. height: 325
  380. },
  381. {
  382. type: 'image',
  383. path: this.currectData.headSculpture ? this.currectData.headSculpture :
  384. '../../static/imgs/card/defaulthead.png',
  385. shape: 'circle',
  386. use: 'head',
  387. imageType: this.currectData.headSculpture ? 'wl' : 'bd',
  388. x: 30,
  389. y: 30,
  390. width: 100,
  391. height: 100
  392. },
  393. {
  394. type: 'text',
  395. text: this.currectData.name,
  396. use: 'name',
  397. x: 150,
  398. y: 50,
  399. size: 24,
  400. color: '#000'
  401. },
  402. {
  403. type: 'text',
  404. text: this.currectData.post,
  405. use: 'post',
  406. x: 240,
  407. y: 55,
  408. size: 18,
  409. color: '#666666'
  410. },
  411. {
  412. type: 'text',
  413. text: this.currectData.companyName,
  414. use: 'companyName',
  415. x: 150,
  416. y: 95,
  417. size: 18,
  418. color: '#000'
  419. },
  420. {
  421. type: 'image',
  422. path: '../../static/imgs/card/address1.png',
  423. use: 'address-icon',
  424. x: 145,
  425. y: 130,
  426. width: 15,
  427. height: 20
  428. },
  429. {
  430. type: 'textarea',
  431. text: this.currectData.province + this.currectData.city + this.currectData.area + this
  432. .currectData.detailedAddress,
  433. lineSpace: 1,
  434. width: 320,
  435. use: 'address',
  436. x: 175,
  437. y: 135,
  438. size: 14,
  439. color: '#000'
  440. },
  441. {
  442. type: 'image',
  443. path: '../../static/imgs/card/phone1.png',
  444. use: 'phone-icon',
  445. x: 145,
  446. y: 163,
  447. width: 16,
  448. height: 16
  449. },
  450. {
  451. type: 'text',
  452. text: this.currectData.phone,
  453. use: 'phone',
  454. x: 175,
  455. y: 167,
  456. size: 14,
  457. color: '#000'
  458. },
  459. {
  460. type: 'image',
  461. path: '../../static/imgs/card/remark1.png',
  462. use: 'remark-icon',
  463. x: 145,
  464. y: 197,
  465. width: 13,
  466. height: 16
  467. },
  468. {
  469. type: 'textarea',
  470. text: this.currectData.remark ? this.currectData.remark : '单击添加备注',
  471. use: 'remark',
  472. lineSpace: 2,
  473. width: 200,
  474. x: 175,
  475. y: 200,
  476. size: 13,
  477. color: '#000'
  478. },
  479. {
  480. type: 'image',
  481. path: '../../static/imgs/card/bg3.png',
  482. use: 'bg1',
  483. x: 0,
  484. y: 243,
  485. width: 370,
  486. height: 67
  487. },
  488. {
  489. type: 'image',
  490. path: '../../static/imgs/card/bg4.png',
  491. use: 'bg2',
  492. x: 355,
  493. y: 243,
  494. width: 150,
  495. height: 67
  496. },
  497. {
  498. type: 'image',
  499. path: '../../static/imgs/card/home.png',
  500. use: 'home',
  501. x: 65,
  502. y: 260,
  503. width: 33,
  504. height: 33
  505. },
  506. {
  507. type: 'text',
  508. text: this.currectData.classifyName ? this.currectData.classifyName : '默',
  509. use: 'classify',
  510. x: 145,
  511. y: 263,
  512. size: 34,
  513. color: '#fff'
  514. },
  515. {
  516. type: 'image',
  517. path: '../../static/imgs/card/share.png',
  518. use: 'share',
  519. x: 235,
  520. y: 263,
  521. width: 33,
  522. height: 28
  523. },
  524. ]
  525. for (var i = 0; i < data.length; i++) {
  526. switch (this.currectData.cuttentTemplate) {
  527. case '2':
  528. if (data[i].use === 'name' ||
  529. data[i].use === 'companyName' ||
  530. data[i].use === 'address-icon' ||
  531. data[i].use === 'phone-icon' ||
  532. data[i].use === 'remark-icon') {
  533. data[i].x = 30
  534. }
  535. if (data[i].use === 'post') {
  536. data[i].x = 100
  537. }
  538. if (data[i].use === 'address' ||
  539. data[i].use === 'phone' ||
  540. data[i].use === 'remark') {
  541. data[i].x = 60
  542. }
  543. if (data[i].use == 'head') {
  544. data[i].x = 370
  545. }
  546. break;
  547. case '3':
  548. if (data[i].use === 'name') {
  549. data[i].x = 30
  550. data[i].y = 150
  551. }
  552. if (data[i].use === 'companyName') {
  553. data[i].x = 30
  554. data[i].y = 180
  555. }
  556. if (data[i].use === 'post') {
  557. data[i].x = 100
  558. data[i].y = 153
  559. }
  560. if (data[i].use === 'address-icon' ||
  561. data[i].use === 'phone-icon' ||
  562. data[i].use === 'remark-icon') {
  563. data[i].x = 170
  564. }
  565. if (data[i].use === 'address-icon') {
  566. data[i].y = 150
  567. }
  568. if (data[i].use === 'address') {
  569. data[i].y = 155;
  570. data[i].width = 600
  571. }
  572. if (data[i].use === 'phone-icon') {
  573. data[i].y = 180
  574. }
  575. if (data[i].use === 'phone') {
  576. data[i].y = 183
  577. }
  578. if (data[i].use === 'remark-icon') {
  579. data[i].y = 210
  580. }
  581. if (data[i].use === 'remark') {
  582. data[i].y = 212
  583. }
  584. if (data[i].use === 'address' ||
  585. data[i].use === 'phone' ||
  586. data[i].use === 'remark') {
  587. data[i].x = 190
  588. }
  589. break;
  590. case '4':
  591. if (data[i].use === 'name' ||
  592. data[i].use === 'companyName') {
  593. data[i].x = 30
  594. }
  595. if (data[i].use === 'companyName') {
  596. data[i].y = 90
  597. }
  598. if (data[i].use === 'post') {
  599. data[i].x = 100
  600. }
  601. if (data[i].use == 'head') {
  602. data[i].x = 25
  603. data[i].y = 120
  604. }
  605. if (data[i].use === 'address-icon' ||
  606. data[i].use === 'phone-icon' ||
  607. data[i].use === 'remark-icon') {
  608. data[i].x = 170
  609. }
  610. if (data[i].use === 'address') {
  611. data[i].width = 600
  612. }
  613. if (data[i].use === 'address' ||
  614. data[i].use === 'phone' ||
  615. data[i].use === 'remark') {
  616. data[i].x = 190
  617. }
  618. break;
  619. default:
  620. }
  621. }
  622. this.canvasData = {
  623. clicknum: this.clicknum++,
  624. list: data
  625. }
  626. },
  627. posterError(err) {
  628. console.log(err)
  629. uni.hideLoading()
  630. },
  631. posterSuccess(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 = '/pageA/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>