article.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640
  1. <template>
  2. <view class="article">
  3. <navbar :config="config">
  4. <!-- <view
  5. slot="left"
  6. >
  7. <view class="slotBox">
  8. <view class="hxicon back" @click="iconBtn">
  9. &#xe679;
  10. </view>
  11. </view>
  12. </view> -->
  13. </navbar>
  14. <view class="title">
  15. {{ articleMsg.title }}
  16. </view>
  17. <view class="image-time">
  18. <!-- <image src="../../../static/alipay.png" mode=""></image> -->
  19. <view class="iconfont u-font24 linge">&#xe64a;</view>
  20. <view class="time" v-if="articleMsg.update_time">
  21. {{ articleMsg.update_time.slice(0,11) }}
  22. </view>
  23. </view>
  24. <view class="text">
  25. <view class="item" v-if="articleMsg.article_type == 0">
  26. <!-- <jyfparser :html="$mUtil.formatRichText(articleMsg.content)" ref="article"></jyfparser> -->
  27. <view class="top ql-editor-box" v-html="articleMsg.content">
  28. </view>
  29. </view>
  30. <view class="item" v-if="articleMsg.article_type == 1" style="overflow: hidden;">
  31. <!-- <j-video class="jvideo" :url="articleMsg.media_address" width="750rpx" height="620rpx"></j-video> -->
  32. <video id="myvideo" style="width: 100%;border-radius: 15rpx;" :src="articleMsg.media_address"
  33. @fullscreenchange="fullscreenchange"></video>
  34. </view>
  35. <view class="option">
  36. <view class="good" @click="clickGood">
  37. <view v-if="isLike==true">
  38. <text class="iconfont" style="font-size: 40rpx;color: #03341F;">&#xe610;</text>
  39. </view>
  40. <view v-else>
  41. <text class="iconfont" style="font-size: 40rpx;color: #03341F;">&#xe642;</text>
  42. </view>
  43. <view class="num">
  44. {{ articleMsg.like_num }}
  45. </view>
  46. </view>
  47. <view class="message" @click="shouMsg">
  48. <image :src="imgUrl+'/message.png'" mode=""></image>
  49. <view class="num">
  50. {{ articleMsg.comment_sum }}
  51. </view>
  52. </view>
  53. <!-- @click="share" -->
  54. <view class="link">
  55. <text class="iconfont link-item">&#xea1b;</text>
  56. <button class="iconfont" open-type="share">&#xea1b;</button>
  57. <view class="num">
  58. {{ articleMsg.share_num }}
  59. </view>
  60. </view>
  61. </view>
  62. </view>
  63. <view class="selected">
  64. <view class="stay-msg"> 精选留言 </view>
  65. <view v-if="commentMsg.length > 0">
  66. <view class="item" v-for="(item, index) in commentMsg" :key="index">
  67. <image v-if="item.head_photo" style="border-radius: 50%;" :src="item.head_photo" mode=""></image>
  68. <image v-else style="border-radius: 50%;" :src="imgUrl+'/head-on.png'" mode=""></image>
  69. <view class="personal">
  70. <view class="top-title u-text-width-two">
  71. {{ item.nickname||item.mobile}}
  72. </view>
  73. <view class="time">
  74. {{ item.create_time }}
  75. </view>
  76. <view class="content">
  77. {{ item.content }}
  78. </view>
  79. </view>
  80. </view>
  81. </view>
  82. <nodata style="height: 500rpx;" v-else :config="{ top: 1, content: '暂无评论' }"></nodata>
  83. </view>
  84. <uni-popup ref="popup" type="bottom">
  85. <view class="show-bottom" :style="{ paddingBottom: inputHeight + 'px' }">
  86. <view class="top">
  87. <view class="line"> </view>
  88. <view class="item"> 添加评论 </view>
  89. <view class="deter-mine" @click="sendMsg()"> 发送 </view>
  90. </view>
  91. <view class="input">
  92. <textarea class="texterea-item" @focus="getHeight" @blur="leaveInput" :adjust-position="false"
  93. v-model="content" maxlength="100" placeholder="我要说两句"
  94. placeholder-style="color: #cccccc;padding:''22rpx 20rpx"></textarea>
  95. </view>
  96. </view>
  97. </uni-popup>
  98. <share ref="shares" :contentHeight="580" v-if="isvisible"></share>
  99. </view>
  100. </template>
  101. <script>
  102. import {
  103. articleInfo,
  104. articleComment
  105. } from "@/api/notice.js";
  106. import jyfparser from "../../../components/jyf-parser/jyf-parser.vue";
  107. import share from "./../../public/share";
  108. import jVideo from "../../../components/j-video/j-video.vue"
  109. export default {
  110. components: {
  111. jyfparser,
  112. share
  113. },
  114. data() {
  115. return {
  116. config: {
  117. back: true, //false是tolbar页面 是则不写
  118. title: "文章详情",
  119. color: "#fff",
  120. switchnextstep: true, //切换底部样式
  121. //背景颜色;参数一:透明度(0-1);参数二:背景颜色(array则为线性渐变,string为单色背景)
  122. backgroundColor: [1, "#0B844A"],
  123. // leftSlot:true
  124. // fixed:false
  125. },
  126. articleMsg: {},
  127. content: null,
  128. opusInfo: null,
  129. commentMsg: [], //留言板块
  130. isvisible: false,
  131. isLike: null, //是否点赞
  132. option: null, //文章id
  133. imgUrl: this.$mConfig.staticUrl,
  134. fromShare: false, // 是否分享过来的页面
  135. inputHeight: 0
  136. };
  137. },
  138. onLoad(options) {
  139. this.option = options.id;
  140. this.browseList()
  141. if (options.share == 1) {
  142. this.fromShare = true
  143. }
  144. },
  145. onShow() {
  146. this.getActicle(this.option);
  147. },
  148. onShareAppMessage(res) {
  149. this.$http
  150. .post(`/opus/cache-bbs`, {
  151. bbs_type: 2,
  152. model_type: 1,
  153. model_id: this.option,
  154. })
  155. .then((res) => {});
  156. let that = this
  157. return {
  158. title: that.articleMsg.title,
  159. path: "/pages/research/business/article?id=" + that.option + '&share=1',
  160. imageUrl: "",
  161. desc: "",
  162. content: '',
  163. success(res) {
  164. uni.showToast({
  165. title: "分享成功",
  166. });
  167. },
  168. fail(res) {
  169. uni.showToast({
  170. title: "分享失败",
  171. icon: "none",
  172. });
  173. },
  174. };
  175. },
  176. onShareTimeline(res) {
  177. // let imgUrl;
  178. // if (this.imglist.length > 0) {
  179. // imgUrl = this.imglist.split(",")[0];
  180. // }
  181. return {
  182. title: this.articleMsg.title,
  183. type: 0,
  184. query: "/pages/research/business/article?id=" + this.option + '&share=1',
  185. summary: ""
  186. // imageUrl: imgUrl,
  187. };
  188. },
  189. methods: {
  190. fullscreenchange(e) {
  191. },
  192. //点击输入框触发
  193. getHeight(e) {
  194. this.inputHeight = e.target.height; //获取输入法的高度,动态设置输入框距离顶部距离。
  195. },
  196. // 失焦
  197. leaveInput(e) {
  198. this.inputHeight = 0
  199. },
  200. iconBtn() {
  201. if (this.fromShare) {
  202. uni.redirectTo({
  203. url: '/pages/index/home'
  204. });
  205. } else {
  206. uni.navigateBack();
  207. }
  208. },
  209. //浏览功能
  210. browseList() {
  211. this.$http.post("/opus/cache-bbs", {
  212. bbs_type: 0,
  213. model_type: 1,
  214. model_id: this.option,
  215. num: 1
  216. }).then(res => {
  217. if (res && res.code == 200) {
  218. var pages = getCurrentPages();
  219. var prepage = pages[pages.length - 2]; //上一个页面
  220. if (prepage.$vm || prepage.bottomList) {
  221. if (prepage.$vm) {
  222. console.log("11111", prepage)
  223. // prepage.$vm.bottomList
  224. prepage.$vm.bottomList.forEach((item) => {
  225. if (item.id == this.option) {
  226. item.browse_sum++
  227. }
  228. })
  229. } else {
  230. console.log("22222", prepage)
  231. // prepage.bottomList
  232. }
  233. // prepage.bottomList.forEach((item) => {
  234. // if (item.id == this.option) {
  235. // item.browse_sum++
  236. // }
  237. // })
  238. }
  239. }
  240. })
  241. },
  242. //点赞功能
  243. clickGood() {
  244. let token = uni.getStorageSync("apiToken")
  245. if (!token) {
  246. uni.navigateTo({
  247. url: "../register/login"
  248. })
  249. } else {
  250. if (this.isLike == false) {
  251. this.$http.post("/opus/cache-bbs", {
  252. bbs_type: 1,
  253. model_type: 1,
  254. model_id: this.option
  255. }).then(res => {
  256. if (res && res.code == 200) {
  257. this.$mUtil.toast('点赞成功')
  258. this.isLike = true
  259. this.articleMsg.like_num++
  260. }
  261. })
  262. }
  263. if (this.isLike == true) {
  264. this.$http.post(`/bbs/article/cancel-like/${this.option}`).then(res => {
  265. if (res && res.code == 200) {
  266. this.$mUtil.toast('已取消点赞')
  267. this.isLike = false
  268. this.articleMsg.like_num--
  269. }
  270. })
  271. }
  272. }
  273. },
  274. share() {
  275. let token = uni.getStorageSync("apiToken");
  276. if (!token) {
  277. uni.navigateTo({
  278. url: "/pages/login/index",
  279. });
  280. } else {
  281. let user = uni.getStorageSync("personal");
  282. this.$http.get("/bbs/article/info/" + this.option).then((res) => {
  283. if (res && res.code == 200) {
  284. if (res && res.data == null) {
  285. this.$mUtil.toast("文章不存在")
  286. } else {
  287. this.isvisible = true;
  288. this.$nextTick(() => {
  289. this.$refs.shares.shareInfo(
  290. "/?pageType=2&type=1&id=" +
  291. this.articleMsg.id +
  292. "&shareId=" +
  293. user.id,
  294. 'pages/down',
  295. this.articleMsg.title,
  296. "",
  297. this.articleMsg.cover
  298. );
  299. });
  300. }
  301. }
  302. })
  303. }
  304. },
  305. getActicle(id) {
  306. this.$http.get("/bbs/article/info/" + id).then((res) => {
  307. if (res && res.code == 200) {
  308. if (res && res.data == null) {
  309. this.$mUtil.toast("该文章已被删除")
  310. setTimeout(() => {
  311. uni.navigateBack()
  312. }, 2000)
  313. } else {
  314. this.articleMsg = res.data;
  315. this.articleMsg.content = res.data.content.replace(/\<img/gi,
  316. '<img style="max-width:100%;height:auto;display:block;border-radius: 12px;"')
  317. this.commentMsg = res.data.user_comment_list;
  318. this.isLike = res.data.is_like
  319. }
  320. }
  321. });
  322. },
  323. shouMsg() {
  324. let token = uni.getStorageSync("apiToken")
  325. if (!token) {
  326. uni.navigateTo({
  327. url: "../register/login"
  328. })
  329. } else {
  330. this.$refs.popup.open();
  331. }
  332. },
  333. sendMsg() {
  334. if (this.content == null) {
  335. this.$mUtil.toast("请填写留言内容");
  336. return false;
  337. }
  338. console.log(this.articleMsg.id);
  339. this.$http
  340. .post(articleComment, {
  341. model_id: this.articleMsg.id,
  342. content: this.content,
  343. })
  344. .then((res) => {
  345. if (res && res.code == 200) {
  346. this.$mUtil.toast("留言成功");
  347. this.$refs.popup.close();
  348. this.getActicle(this.articleMsg.id);
  349. this.content = "" //留言成功之后清空留言內容
  350. }
  351. });
  352. },
  353. },
  354. };
  355. </script>
  356. <style lang="scss" scoped>
  357. @font-face {
  358. font-family: 'hxicon';
  359. /* project id 2009392 */
  360. src: url(data:font/truetype;charset=utf-8;base64,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) format('truetype');
  361. }
  362. @font-face {
  363. font-family: 'iconfont';
  364. /* project id 2070236 */
  365. src: url('//at.alicdn.com/t/font_2070236_id1ac7qapa.eot');
  366. src: url('//at.alicdn.com/t/font_2070236_id1ac7qapa.eot?#iefix') format('embedded-opentype'),
  367. url('//at.alicdn.com/t/font_2070236_id1ac7qapa.woff2') format('woff2'),
  368. url('//at.alicdn.com/t/font_2070236_id1ac7qapa.woff') format('woff'),
  369. url('//at.alicdn.com/t/font_2070236_id1ac7qapa.ttf') format('truetype'),
  370. url('//at.alicdn.com/t/font_2070236_id1ac7qapa.svg#iconfont') format('svg');
  371. }
  372. .hxicon {
  373. font-family: hxicon;
  374. font-size: 20px;
  375. font-style: normal;
  376. /* #ifndef APP-PLUS-NVUE */
  377. -webkit-font-smoothing: antialiased;
  378. -webkit-text-stroke-width: 0.2px;
  379. -moz-osx-font-smoothing: grayscale;
  380. /* #endif */
  381. }
  382. .slotBox {
  383. .back {
  384. padding: 0 13rpx;
  385. }
  386. }
  387. .article {
  388. width: 100%;
  389. overflow: hidden;
  390. }
  391. .show-bottom {
  392. background-color: #ffffff;
  393. border-radius: 50rpx 50rpx 0 0;
  394. padding: 37rpx 30rpx 22rpx 30rpx;
  395. .input {
  396. .texterea-item {
  397. background-color: #fafafa;
  398. padding: 22rpx 20rpx;
  399. border-radius: 21rpx;
  400. margin: 22rpx 29rpx 4rpx 30rpx;
  401. }
  402. }
  403. .top {
  404. display: flex;
  405. align-items: center;
  406. .line {
  407. width: 6rpx;
  408. height: 26rpx;
  409. background-color: #0B844A;
  410. border-radius: 3rpx;
  411. }
  412. .item {
  413. font-size: 36rpx;
  414. color: #1a1a1a;
  415. font-weight: 700;
  416. margin-left: 14rpx;
  417. flex: 1;
  418. }
  419. .deter-mine {
  420. font-size: 30rpx;
  421. font-weight: 500;
  422. color: #1a1a1a;
  423. }
  424. }
  425. }
  426. .selected {
  427. padding: 0 32rpx;
  428. .item {
  429. display: flex;
  430. margin-top: 30rpx;
  431. // align-items: center;
  432. .personal {
  433. flex: 1;
  434. margin-left: 18rpx;
  435. .top-title {
  436. font-size: 28rpx;
  437. font-weight: 400;
  438. color: #1a1a1a;
  439. }
  440. .time {
  441. font-size: 24rpx;
  442. color: #999999;
  443. margin-top: 8rpx;
  444. font-weight: 500;
  445. }
  446. .content {
  447. margin-top: 14rpx;
  448. font-size: 28rpx;
  449. font-weight: 500;
  450. color: #999999;
  451. }
  452. }
  453. image {
  454. width: 84rpx;
  455. height: 84rpx;
  456. }
  457. }
  458. .item:nth-child(odd) {
  459. .content {
  460. margin-top: 14rpx;
  461. font-size: 28rpx;
  462. font-weight: 500;
  463. color: #999999;
  464. }
  465. }
  466. .item:nth-child(even) {
  467. .content {
  468. margin-top: 14rpx;
  469. font-size: 28rpx;
  470. font-weight: 500;
  471. color: #1a1a1a;
  472. }
  473. }
  474. .stay-msg {
  475. margin-top: 28rpx;
  476. font-size: 36rpx;
  477. font-weight: 700;
  478. color: #1a1a1a;
  479. }
  480. }
  481. .option {
  482. display: flex;
  483. .link {
  484. display: flex;
  485. align-items: center;
  486. position: relative;
  487. .link-item {
  488. color: #03341F;
  489. margin-left: 44rpx;
  490. margin-left: 44rpx;
  491. }
  492. .num {
  493. margin-left: 10rpx;
  494. font-size: 24rpx;
  495. font-weight: 500;
  496. color: #999999;
  497. }
  498. button {
  499. opacity: 0;
  500. position: absolute;
  501. top: 0;
  502. left: 44rpx;
  503. z-index: 1;
  504. }
  505. }
  506. .message {
  507. display: flex;
  508. align-items: center;
  509. margin-left: 44rpx;
  510. image {
  511. width: 38rpx;
  512. height: 30rpx;
  513. }
  514. .num {
  515. margin-left: 10rpx;
  516. font-size: 24rpx;
  517. font-weight: 500;
  518. color: #999999;
  519. }
  520. }
  521. .good {
  522. display: flex;
  523. align-items: center;
  524. // overflow: hidden;
  525. image {
  526. margin-top: 10rpx;
  527. width: 38rpx;
  528. height: 38rpx;
  529. }
  530. .num {
  531. margin-left: 10rpx;
  532. font-size: 24rpx;
  533. font-weight: 500;
  534. color: #999999;
  535. }
  536. }
  537. }
  538. .text {
  539. padding: 18rpx 30rpx 40rpx 30rpx;
  540. color: #666666;
  541. font-weight: 500;
  542. line-height: 48rpx;
  543. border-bottom: 10rpx solid #f5f5f5;
  544. .item {
  545. margin-bottom: 30rpx;
  546. }
  547. image {
  548. width: 690rpx;
  549. height: 390rpx;
  550. // margin-bottom: 30rpx;
  551. }
  552. }
  553. .image-time {
  554. display: flex;
  555. align-items: center;
  556. margin-left: 30rpx;
  557. image {
  558. width: 24rpx;
  559. height: 24rpx;
  560. }
  561. .time {
  562. margin-left: 10rpx;
  563. font-size: 24rpx;
  564. font-weight: 400;
  565. color: #999999;
  566. }
  567. }
  568. .title {
  569. padding: 48rpx 30rpx 16rpx 30rpx;
  570. font-size: 42rpx;
  571. font-weight: 700;
  572. color: #1a1a1a;
  573. }
  574. </style>