Просмотр исходного кода

1.统一病史信息表单样式2.处理文章图片回显地址逻辑

wzz недель назад: 2
Родитель
Сommit
71e2867273
2 измененных файлов с 23 добавлено и 3 удалено
  1. 14 1
      src/pages/index/articleDetail.vue
  2. 9 2
      src/pages/sickForm/history.vue

+ 14 - 1
src/pages/index/articleDetail.vue

@@ -57,13 +57,26 @@ export default {
         // 这里拿的是静态 HTML 文件,不是 JSON,关掉自动 JSON 解析,直接拿原始文本
         dataType: 'text',
         success: (res) => {
-          this.article.content = typeof res.data === 'string' ? res.data : ''
+          const raw = typeof res.data === 'string' ? res.data : ''
+          this.article.content = this.resolveImgSrc(raw)
         },
         fail: (err) => {
           console.error('getContent failed', this.contentUrl, err)
         },
       })
     },
+    // 后台正文里的图片路径不统一:有的自己已经带了 /tingli/ 前缀,有的没带,
+    // 不能用 mp-html 的 domain 属性一次性拼(不管设成带不带 /tingli 都会对一半、错一半),
+    // 改成自己按每个 src 分别判断补全
+    resolveImgSrc(html) {
+      const originMatch = getApp().globalData.shareUrl.match(/^(https?:\/\/[^/]+)/)
+      const origin = originMatch ? originMatch[1] : ''
+      if (!origin) return html
+      return html.replace(/(<img[^>]*\bsrc=")(\/[^"]*)(")/g, (match, prefix, path, suffix) => {
+        const full = path.indexOf('/tingli/') === 0 ? (origin + path) : (origin + '/tingli' + path)
+        return prefix + full + suffix
+      })
+    },
   },
 }
 </script>

+ 9 - 2
src/pages/sickForm/history.vue

@@ -491,13 +491,20 @@ export default {
 }
 .picker-class-box {
 	color: #333;
+	font-size: 12px;
 	border: 1px solid #e5e5e5;
 	border-radius: 8rpx;
 	padding: 0 20rpx;
-	height: 70rpx;
-	line-height: 70rpx;
+	height: 72rpx;
+	line-height: 72rpx;
 	box-sizing: border-box;
 }
+// uni-data-checkbox(性别/有无孩子/工作地点)选项文字默认是 34rpx + #8c8c8c,
+// 比 uni-easyinput 实际渲染的输入文字(12px/#333)和上面的 picker 明显更大更浅,三种控件文字观感不统一,这里统一改成一致的字号和颜色
+:deep(.checklist-text) {
+	font-size: 24rpx !important;
+	color: #333 !important;
+}
 .footer-btn {
 	width: 94%;
 	height: 100rpx;