detail.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. // pages/detail/detail.js
  2. // 29014
  3. const $api = require('../../utils/api.js').API;
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. name:'',
  10. articleid:'',
  11. },
  12. /**
  13. * 生命周期函数--监听页面加载
  14. */
  15. onLoad: function (options) {
  16. if(options.type == '百科'){
  17. $api.getBaikeDetail({category_id:options.id}).then(res=>{
  18. let data = res.data.data
  19. data.content = data.content.replaceAll('<img', '<img class="rich-img"')
  20. data.content = data.content.replace(/style="[^"]+"/gi, "")
  21. .replace(/style='[^']+'/gi, "") //小程序展示要自己统一的样式,替换了行内样式
  22. .replace(/(<!--(.|[\r\n])*?-->)/gi, "") //替换了注释的内容这能替掉大部分
  23. .replace(/<xml[^>]*>(.|\n)*<\/xml>/gi, "") //替换了xml标签<xml></xml>word粘贴带出一堆标签包含在xml里
  24. .replace(/undefined/gi, "") //里面莫名有个undefined
  25. this.setData({
  26. info:data,
  27. name:res.data.data.name,
  28. articleid:options.id,
  29. })
  30. this.data.info.content = this.data.info.content.replace('<img', '<img class="rich-img"')
  31. wx.setNavigationBarTitle({
  32. title: res.data.data.name,
  33. })
  34. })
  35. return
  36. }
  37. $api.getArticle({id:options.id}).then(res=>{
  38. let data = res.data.data
  39. data.content = data.content.replaceAll('<img', '<img class="rich-img"')
  40. this.setData({
  41. info:data,
  42. name:res.data.data.name,
  43. articleid:options.id,
  44. })
  45. console.log(data)
  46. this.data.info.content = this.data.info.content.replace('<img', '<img class="rich-img"')
  47. })
  48. },
  49. /**
  50. * 生命周期函数--监听页面初次渲染完成
  51. */
  52. onReady: function () {
  53. },
  54. /**
  55. * 生命周期函数--监听页面显示
  56. */
  57. onShow: function () {
  58. },
  59. /**
  60. * 生命周期函数--监听页面隐藏
  61. */
  62. onHide: function () {
  63. },
  64. /**
  65. * 生命周期函数--监听页面卸载
  66. */
  67. onUnload: function () {
  68. },
  69. /**
  70. * 页面相关事件处理函数--监听用户下拉动作
  71. */
  72. onPullDownRefresh: function () {
  73. },
  74. /**
  75. * 页面上拉触底事件的处理函数
  76. */
  77. onReachBottom: function () {
  78. },
  79. /**
  80. * 用户点击右上角分享
  81. */
  82. onShareAppMessage() {
  83. // const promise = new Promise(resolve => {
  84. // setTimeout(() => {
  85. // resolve({
  86. // title: this.data.name
  87. // })
  88. // }, 2000)
  89. // }),
  90. return{
  91. title:this.data.name,
  92. path:'/pages/detail/detail?id=' + this.data.articleid
  93. }
  94. },
  95. // onShareTimeline: function() {
  96. // return {
  97. // title: this.data.name,
  98. // query: {'id':this.data.articleid}
  99. // }
  100. // }
  101. })