homeIndex.vue 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350
  1. <template>
  2. <view class="home-content">
  3. <mescroll-body ref="mescrollRef" @init="mescrollInit" top="0" bottom="20" :down="downOption" :up="upOption" @down="downCallback" @up="upCallback">
  4. <!-- 搜索 -->
  5. <view class="search-box" v-if="false">
  6. <view class="left">
  7. <image src="@/static/image/home1/search_icon.png" mode=""></image>
  8. <input class="input-text" disabled="true" type="text" placeholder-class="place-hold" value="输入疾病 | 科室 | 医生 | 知识" placeholder=""/>
  9. </view>
  10. <view class="right">
  11. <button class="button" @click="showQidai()">搜索</button>
  12. </view>
  13. </view>
  14. <!-- banner -->
  15. <view class="swiper-box">
  16. <swiper class="swiper" style="height: 233rpx;" circular :indicator-dots="true" :autoplay="false" :interval="3000"
  17. :duration="1000">
  18. <swiper-item v-for="(url,index) in advImgs" :key="index" class="swiper-item" @click="handleAdvClick(index)">
  19. <image style="width: 100%;height: 100%;" :src="url" mode="aspectFill"></image>
  20. </swiper-item>
  21. </swiper>
  22. </view>
  23. <!-- ai舌诊 -->
  24. <view class="nav" id="indexguide1">
  25. <view class="grid-item" v-for="(item ,index) in navList" :key="index">
  26. <view class="grid-item-box" @tap="topNavTo(item.pageUrl,index)">
  27. <image class="image" :src="item.img" mode="aspectFill" />
  28. <text class="text">{{item.name}}</text>
  29. </view>
  30. </view>
  31. </view>
  32. <!-- 横向banner 1分钱起 -->
  33. <!-- <scroll-view scroll-x="true" class="scroll-X">
  34. <view class="scroll-item zyss_bg" v-for="(item,index) in midAdvs" :key="index" @tap="midAvTap(item,index)">
  35. <image class="bg_img" :src="item.imageUrl" mode="widthFix"></image>
  36. </view>
  37. </scroll-view> -->
  38. <!-- 快速问诊 -->
  39. <view class="banner-nav" id="indexguide2">
  40. <view class="banner-nav-item kswz-bg" @tap="loginNavTo('/pages/doctor/doctorList')">
  41. <view class="title">快速问诊</view>
  42. <view>专业医师快速</view>
  43. </view>
  44. <view class="banner-nav-item jkhz-bg" @tap="loginNavTo('/pages/store/inquirySelectType?isShare=1')">
  45. <view class="title">健康会诊</view>
  46. <view>权威专家为您</view>
  47. <view class="jkhz">答疑解惑</view>
  48. </view>
  49. <view class="banner-nav-item yyzx-bg" @click="loginNavTo('/pages/store/inquirySelect?inquiryType=3&isShare=1')">
  50. <view class="title">用药咨询</view>
  51. <view>执业药师提供</view>
  52. <view class="yyzx">用药指导</view>
  53. </view>
  54. <view class="banner-nav-item zjyz-bg" @tap="loginNavTo('/pages/doctor/doctorList')">
  55. <view class="title">专家约诊</view>
  56. <view>在线预约专家</view>
  57. <view class="zjyz">诊疗服务</view>
  58. </view>
  59. </view>
  60. <!-- 芳华百事通 -->
  61. <!-- <template v-if='ailist&&ailist.length>0'>
  62. <view class="box-nav">
  63. <view class="title">芳华百事通</view>
  64. <view class="box-nav-right" @click="loginNavTo('/pages/ai/list')">
  65. <text>更多</text>
  66. <image class="right-arrow" src="@/static/image/home1/my_right_arrow.png" mode="aspectFill"></image>
  67. </view>
  68. </view>
  69. <view class="ai-banner">
  70. <swiper class="ai-banner-swiper" :current="current" :style="{height: swHeight + 'rpx'}" :autoplay="true" circular interval="3000" duration="1000" @animationfinish="animationfinish">
  71. <swiper-item class="ai-banner-swiper-item" v-for="(group, index) in ailist" :key="index">
  72. <image class="ai-banner-img" v-for="(item,idx) in group" :key="idx" :src="item.recommendImgUrl" mode="aspectFill" @click="loginNavTo('/pages/ai/chat?roleId='+item.roleId+'&roleName='+item.roleName+'&sessionId='+item.sessionId || '')"></image>
  73. </swiper-item>
  74. </swiper>
  75. </view>
  76. </template> -->
  77. <!-- 健康自测 -->
  78. <view id="indexguide3">
  79. <view class="box-nav">
  80. <view class="title">健康自测</view>
  81. <view class="box-nav-right" @click="navTo('/pages/article/testList')">
  82. <text>更多自测</text>
  83. <image class="right-arrow" src="@/static/image/home1/my_right_arrow.png" mode="aspectFill"></image>
  84. </view>
  85. </view>
  86. <view class="selfrated-health">
  87. <view class="selfrated-health-item" @click="navTo('/pages/article/testDetails?tempId=5')">
  88. <image src="@/static/image/home1/icon/zytz_icon.png" mode="aspectFill"></image>
  89. <view>中医体质</view>
  90. </view>
  91. <view class="selfrated-health-item" @click="navTo('/pages/article/testDetails?tempId=8')">
  92. <image src="@/static/image/home1/icon/xnxg_icon.png" mode="aspectFill"></image>
  93. <view>心脑血管</view>
  94. </view>
  95. <view class="selfrated-health-item" @click="navTo('/pages/article/testDetails?tempId=14')">
  96. <image src="@/static/image/home1/icon/nxjk_icon.png" mode="aspectFill"></image>
  97. <view>男性健康</view>
  98. </view>
  99. <view class="selfrated-health-item" @click="navTo('/pages/article/testDetails?tempId=18')">
  100. <image src="@/static/image/home1/icon/nvxjk_icon.png" mode="aspectFill"></image>
  101. <view>女性健康</view>
  102. </view>
  103. </view>
  104. </view>
  105. <!-- 推荐医生 -->
  106. <!-- <view class="box-nav">
  107. <view class="title">推荐医生</view>
  108. <view class="box-nav-right" @tap="navTo('/pages/doctor/doctorList')">
  109. <text>更多医生</text>
  110. <image class="right-arrow" src="@/static/image/home1/my_right_arrow.png" mode="aspectFill"></image>
  111. </view>
  112. </view>
  113. <swiper class="swiper-doctor" circular :autoplay="true" interval="3000" duration="1000" display-multiple-items='2' next-margin="20px">
  114. <swiper-item v-for="(item,index) in doctors" :key="i">
  115. <docterItem class="gapitem" :item="item" @click="navTo('/pages/doctor/doctorDetails?doctorId='+item.doctorId)"></docterItem>
  116. </swiper-item>
  117. </swiper> -->
  118. <!-- 养生干货 -->
  119. <!-- <template v-if="articles.length>0">
  120. <view class="box-nav">
  121. <view class="title">养生干货</view>
  122. <view class="box-nav-right" @click="navTo('/pages/store/packageList')">
  123. <text>更多</text>
  124. <image class="right-arrow" src="@/static/image/home1/my_right_arrow.png" mode="aspectFill"></image>
  125. </view>
  126. </view>
  127. <view style="padding: 0 24rpx;">
  128. <view class="article-box">
  129. <view class="item" @click="navTo('/pages/article/articleDetails?articleId='+item.articleId)" v-for="(item,index) in articles" :key="index">
  130. <view class="left">
  131. <view class="title textTwo">
  132. {{item.title}}
  133. </view>
  134. <view class="views">
  135. 浏览量 {{item.views}}
  136. </view>
  137. </view>
  138. <view class="right">
  139. <image :src="item.imageUrl" mode="aspectFill"></image>
  140. </view>
  141. </view>
  142. </view>
  143. </view>
  144. </template> -->
  145. <!-- 健康疗法 -->
  146. <!-- <view class="box-nav" id="indexguide4">
  147. <view class="title">健康疗法</view>
  148. <view class="box-nav-right" @click="navTo('/pages/store/packageList')">
  149. <text>更多疗法</text>
  150. <image class="right-arrow" src="@/static/image/home1/my_right_arrow.png" mode="aspectFill"></image>
  151. </view>
  152. </view>
  153. <view class="box-goods">
  154. <goodsItem v-if="packages.length>0" class="gapitem indexguide4-child" v-for="(item,index) in packages" :key="index" :item=item @click="navTo('/pages/store/packageDetails?packageId='+item.packageId)" ></goodsItem>
  155. <view v-else class="es x-c es-h-200 indexguide4-child" style="width: 100%;">
  156. <view class="y-bc flex">
  157. <image src="../../../static/image/nodata.png" class="es-w-148 es-h-96 es-mt-20"></image>
  158. <view class="es-c-33 es-fs-26 x-c es-mt-20 es-mb-40">暂无疗法</view>
  159. </view>
  160. </view>
  161. </view> -->
  162. <view class="box-nav" id="indexguide4">
  163. <view class="title">养生讲堂</view>
  164. <view class="box-nav-right" @click="navTo('/pages/course/famousHall?type=1')">
  165. <text>更多讲堂</text>
  166. <image class="right-arrow" src="/static/image/home1/my_right_arrow.png" mode="aspectFill"></image>
  167. </view>
  168. </view>
  169. <view class="hothall-box">
  170. <view class="hall-box-item" v-for="(item, index) in recommendList" :key="index"
  171. @click="navTo('/pages/course/info?courseId='+item.courseId)">
  172. <view class="video-imgbox">
  173. <image class="video-img" :src="item.imgUrl" mode="scaleToFill" :lazy-load="true"></image>
  174. <image class="video-img-icon" src="@/static/image/hall/video_icon.png" mode="aspectFill"></image>
  175. </view>
  176. <view class="hall-box-info">
  177. <view class="hall-box-name">{{item.courseName}}</view>
  178. <view class="hall-box-desc">{{item.description}}</view>
  179. <view class="hall-box-footer">
  180. <view class="hall-box-footerl footer-flex">
  181. <image class="hall-box-img" :src="item.avatar"></image>
  182. <text>{{item.talentName}}</text>
  183. </view>
  184. <view class="hall-box-footerr footer-flex">
  185. <image class="hall-box-img" src="@/static/image/hall/zan_icon.png"></image>
  186. <text>{{ item.likes }}</text>
  187. </view>
  188. </view>
  189. </view>
  190. <view v-if="item.isIntegral!=1" class="vip">VIP</view>
  191. </view>
  192. </view>
  193. <!-- 签到弹窗 -->
  194. <signPop ref="signPop" :userSign="userSign" />
  195. <!-- <healthButlerPop :show="showMask" @close="closeAct" /> -->
  196. </mescroll-body>
  197. </view>
  198. </template>
  199. <script>
  200. import {getArticleList} from "@/api/article.js"
  201. import {getDoctorList} from '@/api/doctor.js'
  202. import {getPackageList} from '@/api/package.js'
  203. import { getCourseList } from '@/api/course'
  204. import docterItem from "../components/docterItem.vue";
  205. import goodsItem from "../components/goodsItem.vue"
  206. import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
  207. import mescrollBody from "@/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.vue";
  208. // import permision from "@/js_sdk/wa-permission/permission.js"
  209. import { getAdvList,getAppAdvList} from '@/api/adv.js'
  210. import { getNewcomerBenefits,getUserSign} from '@/api/integral';
  211. import { getLocation } from '@/api/index.js'
  212. import { getRecommendRoleList } from "@/api/ai.js"
  213. // #ifdef APP-PLUS
  214. const idCode = uni.requireNativePlugin('Ba-IdCode')
  215. // #endif
  216. // const idCode = uni.requireNativePlugin('Ba-IdCode')
  217. export default {
  218. mixins: [MescrollMixin], // 使用mixin
  219. components: {
  220. mescrollBody,
  221. docterItem,
  222. goodsItem,
  223. },
  224. data() {
  225. return {
  226. keyword:"",
  227. advImgs:[],
  228. advs:[],
  229. midAdvs:[],
  230. doctors:[],
  231. packages:[],
  232. company:null,
  233. newCustomerCounts:0,
  234. fullCustomerCounts:0,
  235. myCustomerCounts:0,
  236. dayOrderCounts:0,
  237. doBuyOrderCounts:0,
  238. mescroll: null,
  239. downOption: { //下拉刷新
  240. use:true,
  241. auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
  242. },
  243. upOption: { //上拉加载
  244. auto: false, // 不自动加载
  245. page: {
  246. num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
  247. size: 10 // 每页数据的数量
  248. },
  249. noMoreSize: 5, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
  250. empty: {
  251. tip: '~ 暂无疗法 ~' // 提示
  252. // btnText: '去看看'
  253. },
  254. use:false
  255. },
  256. tdlist: [],
  257. show:false,
  258. user:{
  259. avatar:"",
  260. userName:this.$qconfig.appName,
  261. mobile:""
  262. },
  263. recommendList:[],
  264. userScrollTop: 0,
  265. fixedTop: false, // 是否固定头部
  266. connectStatus: '未链接',
  267. deviceToken: '',
  268. udid: '',
  269. registrationID: '',
  270. appkey: '',
  271. imageList:["../../../static/image/home/banner.png"],
  272. userBenefits:{},
  273. userSign:{},
  274. navList: [
  275. {
  276. img: "/static/image/home1/icon/aiTongue.png",
  277. name: "AI舌诊",
  278. pageUrl:"/pages/user/tongue/index"
  279. },
  280. {
  281. img: "/static/image/home1/icon/yssl_icon.png",
  282. name: "药膳食疗",
  283. pageUrl:"/pages/article/medicatedFoodList"
  284. },
  285. {
  286. img: "/static/image/home1/icon/jlxw_icon.png",
  287. name: "经络穴位",
  288. pageUrl:"/pages/article/vesselList"
  289. },
  290. // {
  291. // img: "/static/image/home1/icon/wdzq_icon.png",
  292. // name: "问答专区",
  293. // pageUrl:"/pages/article/questionsList"
  294. // },
  295. {
  296. img: "/static/image/home1/icon/jkzc_icon.png",
  297. name: "健康自测",
  298. pageUrl:"/pages/article/testList"
  299. },
  300. {
  301. img: "/static/image/home1/icon/jb_icon.png",
  302. name: "疾病",
  303. pageUrl:"/pages/article/diseaseList"
  304. }, {
  305. img: "/static/image/home1/icon/zytj_icon1.png",
  306. name: "中药图解",
  307. pageUrl:"/pages/article/chineseMedicineList"
  308. },
  309. {
  310. img: "/static/image/home1/icon/mfjy_icon.png",
  311. name: "名方今用",
  312. pageUrl:"/pages/article/famousPrescribeList"
  313. }, {
  314. img: "/static/image/home1/icon/yssp_icon.png",
  315. name: "养生讲堂",
  316. pageUrl:"/pages/doctor/doctorArticleList"
  317. }
  318. // , {
  319. // img:"/static/image/home1/icon/ys_icon.png",
  320. // name: "医书",
  321. // pageUrl:"/pages/doctor/doctorArticleList"
  322. // }
  323. ],
  324. step: {
  325. name: 'indexguide',
  326. guideList: [{
  327. el: '',
  328. tips: '上下滑动,了解芳华未来',
  329. next: '',
  330. },{
  331. el: '#indexguide1',
  332. tips: '药膳、经络、疾病医学百科知识快速查询',
  333. next: '下一步',
  334. },{
  335. el: '#indexguide2',
  336. tips: '权威医生、药师实时在线咨询',
  337. next: '下一步',
  338. },{
  339. el: '#indexguide3',
  340. tips: '免费健康自测,了解自身健康情况',
  341. next: '下一步',
  342. },{
  343. el: '#indexguide4',
  344. childEl: ".indexguide4-child",
  345. tips: '购买健康疗法享健康',
  346. next: '完成',
  347. }]
  348. },
  349. guideIndex:null,
  350. showMask:true,
  351. ailist: [],
  352. current: 0,
  353. swHeight: 0,
  354. articles:[],
  355. }
  356. },
  357. // onShow() {
  358. // this.getAdvList();
  359. // this.getAppAdvList();
  360. // this.getDoctorList();
  361. // this.getPackageList(1);
  362. // },
  363. // onLoad() {
  364. // // #ifdef APP-PLUS
  365. // if(plus.runtime.isAgreePrivacy()) {
  366. // // 用户同意隐私政策,可以调用限制API
  367. // //this.doGetLocation();
  368. // //uni.showToast({icon:'none',title: "已同意隐私政策"});
  369. // this.registerIdCode();
  370. // }else{
  371. // //uni.showToast({icon:'none',title: "未同意隐私政策"});
  372. // }
  373. // // #endif
  374. // let that=this;
  375. // uni.setNavigationBarTitle({
  376. // title: that.$qconfig.appName
  377. // });
  378. // this.guideIndex=uni.getStorageSync("indexguide");
  379. // if(this.$isLogin()){
  380. // this.getUserSign();
  381. // }else{
  382. // let signStr="[{\"signNum\":10,\"sort\":1,\"day\":\"第1天\"},{\"signNum\":20,\"sort\":2,\"day\":\"第2天\"},{\"signNum\":30,\"sort\":3,\"day\":\"第3天\"},{\"signNum\":40,\"sort\":4,\"day\":\"第4天\"},{\"signNum\":50,\"sort\":5,\"day\":\"第5天\"},{\"signNum\":50,\"sort\":6,\"day\":\"第6天\"},{\"signNum\":50,\"sort\":7,\"day\":\"第7天\"}]";
  383. // this.$nextTick(()=>{
  384. // this.userSign={"signNum":0,"isDaySign":0,"integral":0,"sign":JSON.parse(signStr) };
  385. // if(this.guideIndex){
  386. // this.$refs.signPop.open();
  387. // }
  388. // });
  389. // }
  390. // },
  391. created() {
  392. this.guideIndex=uni.getStorageSync("indexguide");
  393. if(this.$isLogin()){
  394. this.getUserSign();
  395. }else{
  396. let signStr="[{\"signNum\":10,\"sort\":1,\"day\":\"第1天\"},{\"signNum\":20,\"sort\":2,\"day\":\"第2天\"},{\"signNum\":30,\"sort\":3,\"day\":\"第3天\"},{\"signNum\":40,\"sort\":4,\"day\":\"第4天\"},{\"signNum\":50,\"sort\":5,\"day\":\"第5天\"},{\"signNum\":50,\"sort\":6,\"day\":\"第6天\"},{\"signNum\":50,\"sort\":7,\"day\":\"第7天\"}]";
  397. this.$nextTick(()=>{
  398. this.userSign={"signNum":0,"isDaySign":0,"integral":0,"sign":JSON.parse(signStr) };
  399. if(this.guideIndex){
  400. this.$refs.signPop.open();
  401. }
  402. });
  403. }
  404. uni.$on('getIndexScanCode',(data)=>{
  405. this.$handleBindCompanyFsUser(data)
  406. })
  407. this.getRecommendList()
  408. },
  409. beforeDestroy() {
  410. uni.$off("getIndexScanCode")
  411. },
  412. methods: {
  413. closeAct(){
  414. this.showMask=false;
  415. },
  416. initReady() {
  417. },
  418. initShow() {
  419. this.getAdvList();
  420. this.getAppAdvList();
  421. this.getDoctorList();
  422. this.getArticleList();
  423. this.getPackageList(1);
  424. this.getAiTui()
  425. },
  426. mescrollInit(mescroll) {
  427. this.mescroll = mescroll;
  428. },
  429. /*下拉刷新的回调 */
  430. downCallback(mescroll) {
  431. this.getAiTui()
  432. setTimeout(()=>{
  433. this.mescroll.endSuccess();
  434. }, 500)
  435. },
  436. getRecommendList(){
  437. let that=this;
  438. const params={"isTui":1};
  439. getCourseList(params,1,10).then(res => {
  440. if(res.code==200){
  441. this.recommendList=res.data.list;
  442. }
  443. },
  444. rej => {}
  445. );
  446. },
  447. getAiTui() {
  448. getRecommendRoleList().then((res=>{
  449. if(res.code == 200) {
  450. const result = [];
  451. while (res.list&&res.list.length) {
  452. result.push(res.list.splice(0, 4)); // 提取前 groupSize 个元素并存储
  453. }
  454. this.ailist = result
  455. this.updateSwiperHeight()
  456. }
  457. }))
  458. },
  459. animationfinish(event) {
  460. this.current = event.detail.current
  461. this.updateSwiperHeight()
  462. },
  463. updateSwiperHeight() {
  464. if(this.ailist[this.current].length >2 ) {
  465. this.swHeight=340;
  466. } else {
  467. this.swHeight=160;
  468. }
  469. },
  470. groupArray(arr, groupSize) {
  471. const result = [];
  472. for (let i = 0; i < arr.length; i += groupSize) {
  473. const group = arr.slice(i, i + groupSize);
  474. const groupName = `arry${Math.floor(i / groupSize) + 1}`; // 生成动态键名
  475. const groupObject = {};
  476. groupObject[groupName] = group;
  477. result.push(groupObject);
  478. }
  479. return result;
  480. },
  481. getAdvList() {
  482. //联网加载数据
  483. var that = this;
  484. var data = {
  485. advType:1
  486. };
  487. getAdvList(data).then(res => {
  488. if(res.code==200){
  489. that.advImgs=[];
  490. that.advs=[];
  491. res.data.forEach(function(element) {
  492. if(element.imageUrl!=null&&element.imageUrl!=""){
  493. that.advs.push(element);
  494. that.advImgs.push(element.imageUrl);
  495. }
  496. });
  497. }else{
  498. uni.showToast({
  499. icon:'none',
  500. title: "请求失败",
  501. });
  502. }
  503. });
  504. },
  505. getAppAdvList() {
  506. getAppAdvList().then(res => {
  507. if(res.code==200){
  508. this.midAdvs=res.data;
  509. }else{
  510. uni.showToast({icon:'none',title: "请求失败"});
  511. }
  512. });
  513. },
  514. getDoctorList() {
  515. //联网加载数据
  516. var that = this;
  517. var data = {
  518. isTui:1,
  519. pageNum:1,
  520. pageSize:10,
  521. };
  522. getDoctorList(data).then(res => {
  523. if(res.code==200){
  524. this.doctors=res.data.list;
  525. this.doctors.forEach(function(value,index,array){
  526. value.prices=JSON.parse(value.priceJson)
  527. });
  528. }else{
  529. uni.showToast({
  530. icon:'none',
  531. title: "请求失败",
  532. });
  533. }
  534. });
  535. },
  536. getArticleList() {
  537. let param = {
  538. isTui:1,
  539. pageNum:1,
  540. pageSize:10,
  541. };
  542. getArticleList(param).then(res => {
  543. if(res.code==200){
  544. this.articles=res.data.list;
  545. }else{
  546. uni.showToast({
  547. icon:'none',
  548. title: "请求失败",
  549. });
  550. }
  551. });
  552. },
  553. getPackageList(pageNum){
  554. //联网加载数据
  555. var that = this;
  556. var data = {
  557. isShow:1,
  558. pageNum:pageNum,
  559. pageSize:10
  560. };
  561. getPackageList(data).then(res => {
  562. if(res.code==200){
  563. this.packages=res.data.list;
  564. }else{
  565. uni.showToast({
  566. icon:'none',
  567. title: "请求失败"
  568. });
  569. }
  570. });
  571. },
  572. getUserSign(){
  573. getUserSign().then(res => {
  574. if(res.code==200){
  575. this.userSign={"signNum":res.signNum,"isDaySign":res.isDaySign,"integral":res.integral,"sign":JSON.parse(res.sign)};
  576. this.$nextTick(()=>{
  577. if(this.guideIndex && !res.isDaySign){
  578. this.$refs.signPop.open();
  579. }
  580. });
  581. }
  582. },
  583. rej => {}
  584. );
  585. },
  586. midAvTap(item,index){
  587. if(index==0){
  588. this.navToMinProgram();
  589. return;
  590. }
  591. // #ifndef MP-WEIXIN
  592. if(!this.$isEmpty(item.appAdvUrl)){
  593. this.navTo(item.appAdvUrl);
  594. }
  595. // #endif
  596. // #ifdef MP-WEIXIN
  597. if(!this.$isEmpty(item.advUrl)){
  598. this.navTo(item.advUrl);
  599. }
  600. // #endif
  601. },
  602. // 页面跳转
  603. navTo(url) {
  604. uni.navigateTo({
  605. url: url
  606. })
  607. },
  608. loginNavTo(url){
  609. if(!this.$isLogin()){
  610. this.$showLoginPage();
  611. return;
  612. }
  613. uni.navigateTo({
  614. url: url
  615. });
  616. },
  617. navVideo(){
  618. console.log("navVideo");
  619. uni.navigateTo({
  620. url: "/pages/course/video/living-app"
  621. });
  622. },
  623. showQidai(){
  624. //uni.showToast({title: "功能完善中,敬请期待...",icon:"none"});
  625. },
  626. handleAdvClick(index){
  627. var ad=this.advs[index];
  628. console.log(ad.appAdvUrl);
  629. if(ad.showType==1){
  630. uni.setStorageSync('url',ad.appAdvUrl);
  631. uni.navigateTo({
  632. url:"h5"
  633. })
  634. }
  635. else if(ad.showType==3){
  636. uni.setStorageSync('content',ad.content);
  637. uni.navigateTo({
  638. url:"content"
  639. })
  640. }
  641. else{
  642. uni.navigateTo({
  643. url:ad.appAdvUrl
  644. })
  645. }
  646. },
  647. search() {
  648. },
  649. topNavTo(url,index){
  650. if(index==0){
  651. //this.navTo(url);
  652. this.loginNavTo(url);
  653. }else{
  654. this.navTo(url);
  655. }
  656. },
  657. navToMinProgram(){
  658. // #ifdef APP-PLUS
  659. plus.share.getServices(res => {
  660. let sweixin = null;
  661. sweixin = res.find(i => i.id === 'weixin')
  662. if (sweixin) {
  663. // 分享跳转到微信小程序
  664. sweixin.launchMiniProgram({
  665. id: "gh_ed2db1ca5891",//零利润药房小程序原生id
  666. path:"pages/common/launch", // 打开小程序的页面路径,不传默认跳转首页
  667. type: 0 // 微信小程序版本类型,可取值: 0-正式版; 1-测试版; 2-体验版。 默认值为0。
  668. });
  669. }
  670. else {
  671. uni.showToast({title: '请安装微信',icon: 'none'})
  672. }
  673. }, err => {
  674. console.log("分享失败"); // 获取分享服务列表失败
  675. });
  676. // #endif
  677. }
  678. }
  679. }
  680. </script>
  681. <style scoped lang="scss">
  682. @mixin u-flex($flexD, $alignI, $justifyC) {
  683. display: flex;
  684. flex-direction: $flexD;
  685. align-items: $alignI;
  686. justify-content: $justifyC;
  687. }
  688. .bg-img{
  689. position: fixed;
  690. width: 100%;
  691. height: 524rpx;
  692. top: 0;
  693. left: 0;
  694. right: 0;
  695. bottom: 0;
  696. z-index: 0;
  697. }
  698. .bgConent{
  699. background-image: url("@/static/image/home/home_top_bg.png");
  700. background-repeat: no-repeat;
  701. background-size: 100%;
  702. background-color: #F4F7FA;
  703. position: absolute;
  704. width: 100%;
  705. height: 524rpx;
  706. top: 0;
  707. left: 0;
  708. right: 0;
  709. bottom: 0;
  710. z-index: 0;
  711. }
  712. .grace-page-header {
  713. position: fixed;
  714. width: 100%;
  715. left: 0;
  716. top: 0;
  717. z-index: 98;
  718. border-bottom: 0px solid #FFFFFF;
  719. .grace-page-status-bar {
  720. width: 100%;
  721. height: var(--status-bar-height);
  722. }
  723. .grace-page-header-nav {
  724. width: 100%;
  725. display: flex;
  726. flex-direction: row;
  727. flex-wrap: nowrap;
  728. align-items: center;
  729. justify-content: space-between;
  730. }
  731. }
  732. .nav_box{
  733. width: 100%;
  734. .status_bar {
  735. height: var(--status-bar-height);
  736. width: 100%;
  737. }
  738. .nav_bar {
  739. height: 44px;
  740. width: 100%;
  741. }
  742. }
  743. .title {
  744. font-family: PingFang SC, PingFang SC;
  745. font-weight: 500;
  746. font-size: 32rpx;
  747. color: #222222;
  748. line-height: 44rpx;
  749. }
  750. .home-content {
  751. width: 100%;
  752. box-sizing: border-box;
  753. // overflow: hidden;
  754. // margin-top: var(--status-bar-height);
  755. // padding-top: 24rpx;
  756. font-family: PingFang SC, PingFang SC;
  757. font-weight: 400;
  758. font-size: 24rpx;
  759. color: #999999;
  760. // background-image: url("@/static/image/home/home_top_bg.png");
  761. background-repeat: no-repeat;
  762. background-size: 100%;
  763. // box-sizing: border-box;
  764. padding-top: calc(var(--status-bar-height) + 44px);
  765. // padding-bottom: var(--window-bottom);
  766. // font-family: PingFang SC, PingFang SC;
  767. // font-weight: 400;
  768. // font-size: 24rpx;
  769. // color: #999999;
  770. position: relative;
  771. // z-index: 2;
  772. }
  773. .content-header {
  774. height: 80rpx;
  775. padding: 0 24rpx;
  776. @include u-flex(row, center, space-between);
  777. &-l {
  778. font-family: PingFang SC, PingFang SC;
  779. font-weight: 500;
  780. font-size: 26rpx;
  781. color: #FFFFFF;
  782. line-height: 28rpx;
  783. @include u-flex(row, center, flex-start);
  784. .address {
  785. width: 38rpx;
  786. height: 38rpx;
  787. margin-right: 6rpx;
  788. }
  789. .arrow_down {
  790. width: 24rpx;
  791. height: 24rpx;
  792. margin-left: 8rpx;
  793. }
  794. }
  795. &-r {
  796. @include u-flex(row, center, flex-start);
  797. view {
  798. font-family: PingFang SC, PingFang SC;
  799. font-weight: 400;
  800. font-size: 22rpx;
  801. color: #FFFFFF;
  802. line-height: 24rpx;
  803. @include u-flex(column, center, space-between);
  804. width: 80rpx;
  805. height: 80rpx;
  806. padding-top:2rpx;
  807. padding-bottom: 6rpx;
  808. }
  809. image {
  810. width: 40rpx;
  811. height: 40rpx;
  812. }
  813. }
  814. }
  815. .search-box {
  816. width: calc(100% - 60rpx);
  817. height: 70rpx;
  818. display: flex;
  819. flex-direction: row;
  820. align-items: center;
  821. justify-content: space-between;
  822. background: rgba(255, 255, 255, 0.3);
  823. border-radius: 34rpx;
  824. border: 2rpx solid #FFFFFF;
  825. border-right: none;
  826. margin:30rpx;
  827. margin-top: 10rpx;
  828. margin-bottom: 10rpx;
  829. padding-left: 30rpx;
  830. position: relative;
  831. z-index: 10;
  832. .left{
  833. display: flex;
  834. flex-direction: row;
  835. align-items: center;
  836. justify-content: flex-start;
  837. flex: 1;
  838. }
  839. image{
  840. width: 28upx;
  841. height: 28upx;
  842. margin-right: 16upx;
  843. }
  844. .input-text{
  845. color: #fff;
  846. font-size: 24rpx;
  847. height: 70rpx;
  848. line-height:70rpx ;
  849. width: 100%;
  850. }
  851. .button{
  852. background: #FF5C03;
  853. border-radius: 29rpx;
  854. width: 108rpx;
  855. height: 54rpx;
  856. line-height: 54rpx;
  857. color: #fff;
  858. font-size: 26rpx;
  859. margin-right: 10rpx;
  860. }
  861. }
  862. ::v-deep .uni-searchbar__text-placeholder, .uni-input-placeholder{
  863. color: #fff;
  864. font-weight: 400;
  865. font-size: 24rpx;
  866. }
  867. .place-hold{
  868. color: #ffffff;
  869. font-weight: 400;
  870. font-size: 24rpx;
  871. }
  872. .search-box1 {
  873. height: 68rpx;
  874. margin: 26rpx 24rpx 10rpx 24rpx;
  875. background: rgba(255, 255, 255, 0.3);
  876. border-radius: 34rpx;
  877. border: 2rpx solid #FFFFFF;
  878. border-right: none;
  879. background-color: blue;
  880. overflow: hidden;
  881. @include u-flex(row, center, space-between);
  882. .search {
  883. flex: 1;
  884. padding: 0 0 0 12rpx;
  885. background-color: transparent;
  886. font-weight: 400;
  887. font-size: 24rpx;
  888. }
  889. image {
  890. width: 24rpx;
  891. height: 24rpx;
  892. }
  893. ::v-deep .uni-searchbar__text-placeholder, .uni-input-placeholder{
  894. color: #fff;
  895. font-weight: 400;
  896. font-size: 24rpx;
  897. }
  898. .search-text {
  899. flex-shrink: 0;
  900. width: 144rpx;
  901. height: 68rpx;
  902. background: #FFFFFF;
  903. border-radius: 34rpx 34rpx 34rpx 34rpx;
  904. font-family: PingFang SC, PingFang SC;
  905. font-weight: 600;
  906. font-size: 24rpx;
  907. color: #FF5C03;
  908. line-height: 68rpx;
  909. text-align: center;
  910. }
  911. }
  912. .swiper-box {
  913. padding: 22rpx 0;
  914. padding-bottom: 0;
  915. .swiper {
  916. width: 702rpx;
  917. height: 228rpx;
  918. margin: 0 auto;
  919. // background: #E75848;
  920. border-radius: 20rpx;
  921. .swiper-item {
  922. width: 702rpx;
  923. height: 228rpx;
  924. image{
  925. border-radius: 20rpx;
  926. }
  927. }
  928. }
  929. ::v-deep {
  930. .uni-swiper-dot {
  931. width: 10rpx;
  932. height: 10rpx;
  933. background: rgba(255,255,255,0.5);
  934. }
  935. .uni-swiper-dot-active {
  936. width: 24rpx;
  937. height: 10rpx;
  938. background-color: #FFFFFF;
  939. border-radius: 5rpx 5rpx 5rpx 5rpx;
  940. }
  941. }
  942. }
  943. .nav {
  944. background: #FFFFFF;
  945. border-radius: 20rpx 20rpx 20rpx 20rpx;
  946. padding-top: 24rpx;
  947. margin: 24rpx 24rpx 0 24rpx;
  948. position: relative;
  949. z-index: 2;
  950. @include u-flex(row, center, flex-start);
  951. flex-wrap: wrap;
  952. .grid-item {
  953. width: 25%;
  954. }
  955. .grid-item-box {
  956. @include u-flex(column, center, flex-start);
  957. font-family: PingFang SC, PingFang SC;
  958. font-weight: 400;
  959. font-size: 24rpx;
  960. color: #222222;
  961. line-height: 28rpx;
  962. margin-bottom: 24rpx;
  963. .image {
  964. height: 104rpx;
  965. width: 104rpx;
  966. }
  967. .image1 {
  968. height: 85rpx;
  969. width: 85rpx;
  970. margin-top: 6rpx;
  971. margin-bottom: 12rpx;
  972. }
  973. }
  974. }
  975. .scroll-X {
  976. white-space: nowrap;
  977. width: 100%;
  978. padding-left: 24rpx;
  979. box-sizing: border-box;
  980. margin-top: 24rpx;
  981. font-family: PingFang SC, PingFang SC;
  982. font-weight: 400;
  983. font-size: 24rpx;
  984. color: #757575;
  985. line-height: 28rpx;
  986. .scroll-item {
  987. display: inline-block;
  988. width: 216rpx;
  989. height: 132rpx;
  990. padding: 20rpx 24rpx 20rpx 20rpx;
  991. box-sizing: border-box;
  992. margin-right: 16rpx;
  993. border-radius: 16rpx 16rpx 16rpx 16rpx;
  994. border: 2rpx solid #FFFFFF;
  995. position: relative;
  996. .bg_img{
  997. position: absolute;
  998. width: calc(100% - 2rpx);
  999. height: 132rpx;
  1000. left:0;
  1001. right: 0;
  1002. top:0;
  1003. bottom:0;
  1004. z-index: 0;
  1005. }
  1006. &-title {
  1007. margin-bottom: 6rpx;
  1008. }
  1009. &-desc {
  1010. width: 100%;
  1011. @include u-flex(row, center, space-between)
  1012. }
  1013. .arrow_icon {
  1014. height: 24rpx;
  1015. width: 24rpx;
  1016. }
  1017. }
  1018. .zyss_bg {
  1019. background: url("@/static/image/home1/index_zyss_bg.png") no-repeat right top / 132rpx 132rpx,linear-gradient( 270deg, #FFF9F8 0%, #FFF3EF 100%);
  1020. }
  1021. .gjmz_bg {
  1022. background: url("@/static/image/home1/index_gjmz_bg.png") no-repeat right top / 132rpx 132rpx,linear-gradient( 270deg, #FFFCF3 0%, #FFF9E8 100%);
  1023. }
  1024. .pfgl_bg {
  1025. background: url("@/static/image/home1/index_pfgl_bg.png") no-repeat right top / 132rpx 132rpx,linear-gradient( 270deg, #F0F7FF 0%, #E0EEFF 100%);
  1026. }
  1027. .zytl_bg {
  1028. background: url("@/static/image/home1/index_zytl_bg.png") no-repeat right top / 132rpx 132rpx,linear-gradient( 270deg, #EFFAF9 0%, #E7FFFD 100%);
  1029. }
  1030. }
  1031. .banner-nav {
  1032. padding: 20rpx 24rpx;
  1033. display: flex;
  1034. flex-wrap: wrap;
  1035. margin-right: -16rpx;
  1036. margin-bottom: -16rpx;
  1037. &-item {
  1038. width: 343rpx;
  1039. height: 200rpx;
  1040. box-sizing: border-box;
  1041. background: #fff;
  1042. border-radius: 16rpx 16rpx 16rpx 16rpx;
  1043. padding: 26rpx 0 0 24rpx;
  1044. margin-right: 16rpx;
  1045. margin-bottom: 16rpx;
  1046. font-family: PingFang SC, PingFang SC;
  1047. font-weight: 400;
  1048. font-size: 24rpx;
  1049. color: #757575;
  1050. line-height: 32rpx;
  1051. background-repeat: no-repeat;
  1052. background-size: 208rpx 148rpx;
  1053. background-position: right bottom;
  1054. .kswz {
  1055. color: #4FA59C;
  1056. }
  1057. .jkhz {
  1058. color: #FF5C03;
  1059. }
  1060. .yyzx {
  1061. color: #E69A22;
  1062. }
  1063. .zjyz {
  1064. color: #3A76D0;
  1065. }
  1066. }
  1067. .kswz-bg {
  1068. background-image: url("@/static/image/home1/index_kswz_bg.png");
  1069. }
  1070. .jkhz-bg {
  1071. background-image: url("@/static/image/home1/index_jkhz_bg.png");
  1072. }
  1073. .yyzx-bg {
  1074. background-image: url("@/static/image/home1/index_yyzx_bg.png");
  1075. }
  1076. .zjyz-bg {
  1077. background-image: url("@/static/image/home1/index_zjyz_bg.png");
  1078. }
  1079. }
  1080. .box-nav {
  1081. width: 100%;
  1082. padding: 16rpx 24rpx;
  1083. box-sizing: border-box;
  1084. display: flex;
  1085. justify-content: space-between;
  1086. &-right {
  1087. @include u-flex(row, center, flex-start);
  1088. }
  1089. .right-arrow {
  1090. height: 48rpx;
  1091. width: 48rpx;
  1092. }
  1093. }
  1094. .selfrated-health {
  1095. @include u-flex(row, center, space-around);
  1096. padding: 34rpx 0;
  1097. background-color: #fff;
  1098. border-radius: 16rpx 16rpx 16rpx 16rpx;
  1099. margin: 0 24rpx 20rpx 24rpx;
  1100. &-item {
  1101. width: 144rpx;
  1102. height: 144rpx;
  1103. @include u-flex(column, center, center);
  1104. flex-wrap: wrap;
  1105. image {
  1106. width: 72rpx;
  1107. height: 72rpx;
  1108. margin-bottom: 28rpx;
  1109. }
  1110. }
  1111. }
  1112. .scroll-container {
  1113. white-space: nowrap; /* 确保子元素不换行 */
  1114. display: flex; /* 使用flex布局 */
  1115. padding-left: 24rpx;
  1116. }
  1117. .box-goods {
  1118. @include u-flex(row, center, flex-start);
  1119. flex-wrap: wrap;
  1120. margin-right: -18rpx;
  1121. margin-bottom: -18rpx;
  1122. padding: 8rpx 24rpx 20rpx 24rpx;
  1123. }
  1124. .box-doctor {
  1125. @include u-flex(row, center, flex-start);
  1126. flex-wrap: wrap;
  1127. margin-right: -18rpx;
  1128. margin-bottom: -18rpx;
  1129. padding: 8rpx 24rpx 20rpx 0rpx;
  1130. display: inline-flex; /* 确保子元素水平排列 */
  1131. }
  1132. .gapitem {
  1133. margin: 0 18rpx 18rpx 0;
  1134. }
  1135. .swiper-doctor {
  1136. min-height: 410rpx;
  1137. padding-left: 24rpx;
  1138. }
  1139. .ai-banner {
  1140. // box-sizing: border-box;
  1141. // padding: 12rpx 17rpx;
  1142. &-swiper-item {
  1143. @include u-flex(row, flex-start, flex-start);
  1144. flex-wrap: wrap;
  1145. margin: 0 22rpx;
  1146. margin-right: -20rpx;
  1147. margin-bottom: -20rpx;
  1148. }
  1149. .ai-banner-img {
  1150. width: 343rpx;
  1151. height: 160rpx;
  1152. overflow: hidden;
  1153. border-radius: 16rpx 16rpx 16rpx 16rpx;
  1154. margin-right: 20rpx;
  1155. margin-bottom: 20rpx;
  1156. }
  1157. }
  1158. .article-box{
  1159. background-color: #fff;
  1160. padding: 24rpx;
  1161. margin-bottom: 20rpx;
  1162. border-radius: 16rpx;
  1163. display: flex;
  1164. flex-direction: column;
  1165. align-items: flex-start;
  1166. justify-content: flex-start;
  1167. .item{
  1168. width: 100%;
  1169. margin-bottom: 20rpx;
  1170. display: flex;
  1171. align-items: flex-start;
  1172. justify-content: flex-start;
  1173. &:last-child{
  1174. margin-bottom: 0rpx;
  1175. }
  1176. .left{
  1177. flex:1;
  1178. height:160rpx;
  1179. margin-right: 15rpx;
  1180. display: flex;
  1181. flex-direction: column;
  1182. align-items: flex-start;
  1183. justify-content: space-between;
  1184. .title{
  1185. font-size: 28upx;
  1186. font-family: PingFang SC;
  1187. font-weight: bold;
  1188. color: #111111;
  1189. }
  1190. .views{
  1191. font-size: 24upx;
  1192. font-family: PingFang SC;
  1193. color: #9a9a9c;
  1194. }
  1195. }
  1196. .right{
  1197. image{
  1198. border-radius: 10rpx;
  1199. width:220rpx;
  1200. height:160rpx;
  1201. border: 1px solid #eeeeee;
  1202. }
  1203. }
  1204. }
  1205. }
  1206. .hothall-box{
  1207. display: flex;
  1208. justify-content: space-between;
  1209. flex-wrap: wrap;
  1210. padding: 20rpx;
  1211. }
  1212. .hall-box {
  1213. @include u-flex(row, center, flex-start);
  1214. flex-wrap: wrap;
  1215. &-item {
  1216. width: 342rpx;
  1217. background: #FFFFFF;
  1218. border-radius: 16rpx 16rpx 16rpx 16rpx;
  1219. overflow: hidden;
  1220. position: relative;
  1221. .video-imgbox {
  1222. width: 342rpx;
  1223. height: 191rpx;
  1224. background: #ECECEC;
  1225. border-radius: 16rpx 16rpx 0rpx 0rpx;
  1226. position: relative;
  1227. overflow: hidden;
  1228. }
  1229. .video-img-icon {
  1230. width: 48rpx;
  1231. height: 48rpx;
  1232. position: absolute;
  1233. left: 50%;
  1234. top: 50%;
  1235. transform: translate(-50%, -50%);
  1236. z-index: 1;
  1237. }
  1238. .video-img {
  1239. width: 342rpx;
  1240. height: 191rpx;
  1241. }
  1242. }
  1243. &-info {
  1244. padding: 22rpx 20rpx;
  1245. font-family: PingFang SC, PingFang SC;
  1246. font-weight: 400;
  1247. font-size: 24rpx;
  1248. color: #999999;
  1249. }
  1250. &-name {
  1251. font-weight: 400;
  1252. font-size: 28rpx;
  1253. color: #222222;
  1254. overflow: hidden;
  1255. white-space: nowrap;
  1256. text-overflow: ellipsis;
  1257. }
  1258. &-desc {
  1259. overflow: hidden;
  1260. white-space: nowrap;
  1261. text-overflow: ellipsis;
  1262. margin: 10rpx 0 18rpx;
  1263. }
  1264. &-footer {
  1265. @include u-flex(row, center, space-between);
  1266. width: 100%;
  1267. }
  1268. &-footerl {
  1269. flex: 1;
  1270. text {
  1271. overflow: hidden;
  1272. white-space: nowrap;
  1273. text-overflow: ellipsis;
  1274. }
  1275. }
  1276. &-img {
  1277. width: 32rpx;
  1278. height: 32rpx;
  1279. margin-right: 8rpx;
  1280. flex-shrink: 0;
  1281. }
  1282. }
  1283. </style>