jmash-core-mp 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/.editorconfig +9 -9
  2. package/README.md +60 -60
  3. package/babel.config.json +34 -34
  4. package/eslint.config.mjs +7 -7
  5. package/lib/api/auth/index.d.ts +21 -21
  6. package/lib/api/auth/index.js +199 -199
  7. package/lib/api/auth/types.d.ts +86 -86
  8. package/lib/api/auth/types.js +9 -9
  9. package/lib/api/cms/index.d.ts +20 -20
  10. package/lib/api/cms/index.js +161 -161
  11. package/lib/api/cms/types.d.ts +200 -200
  12. package/lib/api/cms/types.js +1 -1
  13. package/lib/api/constant.d.ts +5 -5
  14. package/lib/api/constant.js +6 -6
  15. package/lib/api/dict/index.d.ts +18 -18
  16. package/lib/api/dict/index.js +34 -34
  17. package/lib/api/dict/types.d.ts +28 -28
  18. package/lib/api/dict/types.js +1 -1
  19. package/lib/api/dicts.d.ts +18 -18
  20. package/lib/api/dicts.js +67 -67
  21. package/lib/api/files/index.d.ts +25 -25
  22. package/lib/api/files/index.js +135 -135
  23. package/lib/api/files/types.d.ts +38 -38
  24. package/lib/api/files/types.js +1 -1
  25. package/lib/api/index.d.ts +4 -4
  26. package/lib/api/index.js +6 -6
  27. package/lib/api/myorgan/types.d.ts +22 -22
  28. package/lib/api/myorgan/types.js +1 -1
  29. package/lib/api/region/index.d.ts +7 -7
  30. package/lib/api/region/index.js +19 -19
  31. package/lib/api/region/types.d.ts +19 -19
  32. package/lib/api/region/types.js +1 -1
  33. package/lib/api/storage/index.d.ts +10 -10
  34. package/lib/api/storage/index.js +43 -43
  35. package/lib/api/storage/types.d.ts +28 -28
  36. package/lib/api/storage/types.js +1 -1
  37. package/lib/api/types.d.ts +42 -42
  38. package/lib/api/types.js +1 -1
  39. package/lib/app.mpx.d.ts +1 -1
  40. package/lib/components/auth-user/jmash-update-user.mpx.d.ts +1 -1
  41. package/lib/components/auth-user/jmash-user.mpx.d.ts +1 -1
  42. package/lib/components/cms/jmash-cms-acticle-list.mpx.d.ts +1 -1
  43. package/lib/components/cms/jmash-cms-article-item.mpx.d.ts +1 -1
  44. package/lib/components/cms/jmash-cms-article-view.mpx.d.ts +1 -0
  45. package/lib/components/cms/jmash-cms-article.mpx.d.ts +1 -1
  46. package/lib/components/cms/jmash-cms-like.mpx.d.ts +1 -1
  47. package/lib/components/common/jmash-upload-picture.mpx.d.ts +1 -0
  48. package/lib/components/core/jmash-login.mpx.d.ts +1 -0
  49. package/lib/index.d.ts +21 -21
  50. package/lib/index.js +14 -14
  51. package/lib/packages/pages/cms/cms-article-list.mpx.d.ts +1 -1
  52. package/lib/pages/index.mpx.d.ts +1 -0
  53. package/lib/store/user.d.ts +31 -31
  54. package/lib/store/user.js +227 -227
  55. package/lib/utils/common.d.ts +35 -35
  56. package/lib/utils/common.js +166 -166
  57. package/lib/utils/config.d.ts +5 -5
  58. package/lib/utils/config.js +29 -29
  59. package/lib/utils/db.d.ts +21 -21
  60. package/lib/utils/db.js +84 -84
  61. package/lib/utils/grpc.d.ts +5 -5
  62. package/lib/utils/grpc.js +20 -20
  63. package/lib/utils/net.d.ts +7 -7
  64. package/lib/utils/net.js +15 -15
  65. package/lib/utils/request.d.ts +2 -2
  66. package/lib/utils/request.js +123 -123
  67. package/mpx.config.js +27 -27
  68. package/package.json +1 -1
  69. package/postcss.config.js +11 -11
  70. package/project.config.json +24 -24
  71. package/project.private.config.json +13 -13
  72. package/public/index.html +15 -15
  73. package/src/api/auth/index.ts +227 -227
  74. package/src/api/auth/types.ts +166 -166
  75. package/src/api/cms/index.ts +218 -218
  76. package/src/api/cms/types.ts +379 -379
  77. package/src/api/constant.ts +6 -6
  78. package/src/api/dict/index.ts +44 -44
  79. package/src/api/dict/types.ts +49 -49
  80. package/src/api/dicts.ts +72 -72
  81. package/src/api/files/index.ts +163 -163
  82. package/src/api/files/types.ts +67 -67
  83. package/src/api/index.ts +11 -11
  84. package/src/api/myorgan/types.ts +42 -42
  85. package/src/api/region/index.ts +23 -23
  86. package/src/api/region/types.ts +36 -36
  87. package/src/api/storage/index.ts +62 -62
  88. package/src/api/storage/types.ts +54 -54
  89. package/src/api/types.ts +72 -72
  90. package/src/app.mpx +71 -71
  91. package/src/components/auth-user/jmash-logout.mpx +91 -91
  92. package/src/components/auth-user/jmash-update-user.mpx +386 -386
  93. package/src/components/auth-user/jmash-update-user.web.mpx +366 -366
  94. package/src/components/auth-user/jmash-user.mpx +359 -359
  95. package/src/components/cms/jmash-cms-acticle-list.mpx +182 -182
  96. package/src/components/cms/jmash-cms-article-item.mpx +241 -241
  97. package/src/components/cms/jmash-cms-article-view.mpx +131 -131
  98. package/src/components/cms/jmash-cms-article.mpx +68 -68
  99. package/src/components/cms/jmash-cms-like.mpx +151 -151
  100. package/src/components/common/jmash-avatar-edit.mpx +153 -153
  101. package/src/components/common/jmash-cascader-region.mpx +112 -112
  102. package/src/components/common/jmash-menu.mpx +129 -129
  103. package/src/components/common/jmash-none-data.mpx +82 -82
  104. package/src/components/common/jmash-pic-swiper.mpx +71 -71
  105. package/src/components/common/jmash-popup.mpx +137 -137
  106. package/src/components/common/jmash-search.mpx +126 -126
  107. package/src/components/common/jmash-single-btn.mpx +53 -53
  108. package/src/components/common/jmash-stepper.mpx +214 -214
  109. package/src/components/common/jmash-tab-bar.mpx +50 -50
  110. package/src/components/common/jmash-textarea.mpx +88 -88
  111. package/src/components/common/jmash-top-navigation.mpx +203 -203
  112. package/src/components/common/jmash-upload-picture.mpx +129 -126
  113. package/src/components/core/jmash-cms-protocol.mpx +66 -66
  114. package/src/components/core/jmash-login.ali.mpx +284 -284
  115. package/src/components/core/jmash-login.mpx +348 -348
  116. package/src/components/core/jmash-login.web.mpx +421 -421
  117. package/src/components/core/jmash-popup-login.ali.mpx +311 -311
  118. package/src/components/core/jmash-popup-login.mpx +415 -415
  119. package/src/components/core/jmash-popup-login.web.mpx +389 -389
  120. package/src/custom-tab-bar/index.mpx +10 -10
  121. package/src/global.d.ts +11 -11
  122. package/src/index.ts +71 -71
  123. package/src/packages/index.mpx +10 -10
  124. package/src/packages/pages/auth/cms-protocol.mpx +31 -31
  125. package/src/packages/pages/auth/login.mpx +59 -59
  126. package/src/packages/pages/auth/update-user.mpx +17 -17
  127. package/src/packages/pages/cms/cms-article-list.mpx +164 -164
  128. package/src/packages/pages/cms/cms-article.mpx +32 -32
  129. package/src/pages/basic-component.mpx +30 -30
  130. package/src/pages/half-home.mpx +58 -58
  131. package/src/pages/home.mpx +52 -52
  132. package/src/pages/home2.mpx +47 -47
  133. package/src/pages/index.mpx +13 -3
  134. package/src/pages/tabbar/home.mpx +77 -77
  135. package/src/pages/tabbar/my.mpx +80 -80
  136. package/src/store/user.ts +270 -270
  137. package/src/styles/index.scss +20 -20
  138. package/src/styles/vars.scss +27 -27
  139. package/src/utils/common.ts +179 -179
  140. package/src/utils/config.ts +35 -35
  141. package/src/utils/db.ts +100 -100
  142. package/src/utils/grpc.ts +21 -21
  143. package/src/utils/net.ts +18 -18
  144. package/src/utils/request.ts +134 -134
  145. package/static/ali/mini.project.json +4 -4
  146. package/static/dd/project.config.json +15 -15
  147. package/static/swan/project.swan.json +14 -14
  148. package/static/tt/project.config.json +11 -11
  149. package/static/wx/project.config.json +40 -40
  150. package/uno.config.js +9 -9
@@ -1,242 +1,242 @@
1
- /**
2
- * 文章内容列表item 组织组件
3
- * @param isInfo 是否是文章详情页 Boolean 默认值为false
4
- * @param style 样式 0:默认图片在右侧 1:默认图片在左侧 String 默认值为0
5
- * @param organTenant 租户 String
6
- * @param siteId 站点ID String
7
- * @param channelId 栏目ID String
8
- * @param channelAlias 栏目别名 String
9
- * @param pageSize 数量 String 默认值为5
10
- * @event info 文章详情点击事件,参数为文章项item
11
- */
12
- <template>
13
- <!-- 文章内容列表item -->
14
- <view class="{{ isInfo ? '' : 'article-main' }}">
15
- <!-- 默认图片在右侧的样式 枚举值为0 -->
16
- <block wx:for="{{ articleList }}" wx:key="index" wx:if="{{ style == '0' }}">
17
- <view class="{{ isInfo ? 'article-info' : 'article-border' }}" bind:tap="handleInfo" data-item="{{ item }}">
18
- <!-- 内容 -->
19
- <view class="cms-info">
20
- <view class="cms-left">
21
- <!-- 标题 -->
22
- <view class="cms-left-title">{{ item.infoTitle }}</view>
23
- <!-- 内容 -->
24
- <view class="cms-left-info">{{ item.intro }}</view>
25
- </view>
26
- <view bind:tap="handlePreview" data-url="{{ item.imgUrl }}">
27
- <image class="cms-right-image" src="{{ imageUrl + item.imgUrl }}" mode="widthFix" />
28
- </view>
29
- </view>
30
- <!-- 底部时间、点赞数、预览数 -->
31
- <jmash-cms-like organTenant="{{ organTenant }}" interactId="{{ item.infoId }}"
32
- publishDate="{{ item.publishDate }}"></jmash-cms-like>
33
- </view>
34
- </block>
35
- <!-- 默认图片在左侧的样式 枚举值为1 -->
36
- <block wx:for="{{ articleList }}" wx:key="index" wx:if="{{ style == '1' }}">
37
- <view class="{{ isInfo ? 'article-info' : 'article-border' }}" bind:tap="handleInfo" data-item="{{ item }}">
38
- <!-- 内容 -->
39
- <view class="cms-info">
40
- <view bind:tap="handlePreview" data-url="{{ item.imgUrl }}">
41
- <image class="cms-right-image" src="{{ imageUrl + item.imgUrl }}" mode="widthFix" />
42
- </view>
43
- <view class="cms-left">
44
- <!-- 标题 -->
45
- <view class="cms-left-title">{{ item.infoTitle }}</view>
46
- <!-- 内容 -->
47
- <view class="cms-left-info">{{ item.intro }}</view>
48
- </view>
49
- </view>
50
- <!-- 底部时间、点赞数、预览数 -->
51
- <jmash-cms-like organTenant="{{ organTenant }}" interactId="{{ item.infoId }}"
52
- publishDate="{{ item.publishDate }}"></jmash-cms-like>
53
- </view>
54
- </block>
55
- </view>
56
- </template>
57
-
58
- <script lang="ts">
59
- import mpx, { createComponent, ref, onMounted } from "@mpxjs/core";
60
- import { EventBase } from "../../api/types";
61
- import { cmsApi } from '../../api/cms';
62
- import { CmsInfoModel } from '../../api/cms/types';
63
-
64
- createComponent({
65
- properties: {
66
- // 是否更多详情
67
- isInfo: {
68
- type: Boolean,
69
- value: false
70
- },
71
- // 样式
72
- style: {
73
- type: String,
74
- value: "0",
75
- },
76
- // 组织租户
77
- organTenant: {
78
- type: String,
79
- value: ""
80
- },
81
- // 站点ID
82
- siteId: {
83
- type: String,
84
- value: ""
85
- },
86
- // 栏目ID
87
- channelId: {
88
- type: String,
89
- value: ""
90
- },
91
- // 栏目别名
92
- channelAlias: {
93
- type: String,
94
- value: ""
95
- },
96
- // 数量
97
- pageSize: {
98
- type: Number,
99
- value: 5
100
- },
101
- },
102
- setup(props) {
103
- let config = getApp().globalData.config;
104
- // 资源路径
105
- let resourceUrl = config.resourceUrl + '/images';
106
- // 文章列表
107
- let articleList = ref([] as CmsInfoModel[]);
108
- console.log("cms", props);
109
- onMounted(() => {
110
- cmsApi.findCmsInfoPage({
111
- tenant: props.organTenant || config.tenant,
112
- siteId: props.siteId,
113
- channelId: props.channelId,
114
- channelAlias: props.channelAlias,
115
- curPage: 1,
116
- pageSize: props.pageSize,
117
- }).then(res => {
118
- if (res.statusCode === 200) {
119
- articleList.value = res.data.results;
120
- }
121
- });
122
- });
123
- // 接口图片资源路径 容器宽高度150rpx 裁剪2倍
124
- let imageUrl = config.baseUrl + "/v1/file/image/clip/300/300/";
125
- return { resourceUrl, articleList, imageUrl }
126
- },
127
- methods: {
128
- // 点击详情事件
129
- handleInfo(e: EventBase) {
130
- let config = getApp().globalData.config;
131
- let item = e.currentTarget.dataset.item;
132
- mpx.navigateTo({
133
- url: '/jmash/pages/cms/cms-article?siteId=' + this.siteId + '&infoId=' + item.infoId,
134
- });
135
- // 浏览
136
- this.handelBrowse(this.organTenant || config.tenant, item.infoId);
137
- this.triggerEvent("info", item);
138
- },
139
- // 浏览
140
- handelBrowse(tenant: string, infoId: string) {
141
- const tempData = {
142
- // 用于检测重复请求的唯一字符串ID
143
- requestId: Math.random() * 10 + "",
144
- // 类型
145
- type: "information",
146
- // 关系
147
- relationId: infoId,
148
- // 租户
149
- tenant: tenant
150
- };
151
- cmsApi.createfrontBrowseRecord(tempData);
152
- },
153
- }
154
- })
155
- </script>
156
-
157
- <style lang="scss">
158
- @use "../../styles/index.scss" as *;
159
-
160
- .article-main {
161
- padding: 0 30rpx;
162
- border-radius: 20rpx;
163
- background-color: #fff;
164
- }
165
-
166
- // 有分割线列表
167
- .article-border {
168
- padding: 30rpx 0;
169
- border-bottom: 1rpx solid $border-line;
170
-
171
- // 分割线最后一条内容无分割线
172
- &:last-child {
173
- border: none;
174
- }
175
- }
176
-
177
- // 无分割线列表
178
- .article-info {
179
- padding: 30rpx;
180
- background-color: #fff;
181
- border-radius: 20rpx;
182
- margin-bottom: 20rpx;
183
- }
184
-
185
- .cms-info {
186
- display: flex;
187
- align-items: center;
188
- justify-content: space-between;
189
- gap: 30rpx;
190
- margin-bottom: 30rpx;
191
-
192
- // 文章左侧内容
193
- .cms-left {
194
- width: 450rpx;
195
- display: flex;
196
- flex-direction: column;
197
-
198
- .cms-left-title {
199
- color: #333;
200
- font-size: 28rpx;
201
- font-weight: 600;
202
- margin-bottom: 20rpx;
203
- overflow: hidden;
204
- /* 隐藏超出部分 */
205
- white-space: nowrap;
206
- /* 强制文本不换行 */
207
- text-overflow: ellipsis;
208
- /* 超出部分以省略号显示 */
209
- }
210
-
211
- .cms-left-info {
212
- color: #666;
213
- font-size: 26rpx;
214
- line-height: 37rpx;
215
- overflow: hidden;
216
- /* 隐藏超出部分 */
217
- display: -webkit-box;
218
- -webkit-box-orient: vertical;
219
- -webkit-line-clamp: 2;
220
- /* 文本只显示两行 */
221
- text-overflow: ellipsis;
222
- /* 超出部分以省略号显示 */
223
- }
224
- }
225
-
226
- // 文章右侧图片
227
- .cms-right-image {
228
- width: 150rpx;
229
- height: 150rpx;
230
- border-radius: 10rpx;
231
- }
232
- }
233
- </style>
234
-
235
- <script type="application/json">
236
- {
237
- "component": true,
238
- "usingComponents": {
239
- "jmash-cms-like": "./jmash-cms-like"
240
- }
241
- }
1
+ /**
2
+ * 文章内容列表item 组织组件
3
+ * @param isInfo 是否是文章详情页 Boolean 默认值为false
4
+ * @param style 样式 0:默认图片在右侧 1:默认图片在左侧 String 默认值为0
5
+ * @param organTenant 租户 String
6
+ * @param siteId 站点ID String
7
+ * @param channelId 栏目ID String
8
+ * @param channelAlias 栏目别名 String
9
+ * @param pageSize 数量 String 默认值为5
10
+ * @event info 文章详情点击事件,参数为文章项item
11
+ */
12
+ <template>
13
+ <!-- 文章内容列表item -->
14
+ <view class="{{ isInfo ? '' : 'article-main' }}">
15
+ <!-- 默认图片在右侧的样式 枚举值为0 -->
16
+ <block wx:for="{{ articleList }}" wx:key="index" wx:if="{{ style == '0' }}">
17
+ <view class="{{ isInfo ? 'article-info' : 'article-border' }}" bind:tap="handleInfo" data-item="{{ item }}">
18
+ <!-- 内容 -->
19
+ <view class="cms-info">
20
+ <view class="cms-left">
21
+ <!-- 标题 -->
22
+ <view class="cms-left-title">{{ item.infoTitle }}</view>
23
+ <!-- 内容 -->
24
+ <view class="cms-left-info">{{ item.intro }}</view>
25
+ </view>
26
+ <view bind:tap="handlePreview" data-url="{{ item.imgUrl }}">
27
+ <image class="cms-right-image" src="{{ imageUrl + item.imgUrl }}" mode="widthFix" />
28
+ </view>
29
+ </view>
30
+ <!-- 底部时间、点赞数、预览数 -->
31
+ <jmash-cms-like organTenant="{{ organTenant }}" interactId="{{ item.infoId }}"
32
+ publishDate="{{ item.publishDate }}"></jmash-cms-like>
33
+ </view>
34
+ </block>
35
+ <!-- 默认图片在左侧的样式 枚举值为1 -->
36
+ <block wx:for="{{ articleList }}" wx:key="index" wx:if="{{ style == '1' }}">
37
+ <view class="{{ isInfo ? 'article-info' : 'article-border' }}" bind:tap="handleInfo" data-item="{{ item }}">
38
+ <!-- 内容 -->
39
+ <view class="cms-info">
40
+ <view bind:tap="handlePreview" data-url="{{ item.imgUrl }}">
41
+ <image class="cms-right-image" src="{{ imageUrl + item.imgUrl }}" mode="widthFix" />
42
+ </view>
43
+ <view class="cms-left">
44
+ <!-- 标题 -->
45
+ <view class="cms-left-title">{{ item.infoTitle }}</view>
46
+ <!-- 内容 -->
47
+ <view class="cms-left-info">{{ item.intro }}</view>
48
+ </view>
49
+ </view>
50
+ <!-- 底部时间、点赞数、预览数 -->
51
+ <jmash-cms-like organTenant="{{ organTenant }}" interactId="{{ item.infoId }}"
52
+ publishDate="{{ item.publishDate }}"></jmash-cms-like>
53
+ </view>
54
+ </block>
55
+ </view>
56
+ </template>
57
+
58
+ <script lang="ts">
59
+ import mpx, { createComponent, ref, onMounted } from "@mpxjs/core";
60
+ import { EventBase } from "../../api/types";
61
+ import { cmsApi } from '../../api/cms';
62
+ import { CmsInfoModel } from '../../api/cms/types';
63
+
64
+ createComponent({
65
+ properties: {
66
+ // 是否更多详情
67
+ isInfo: {
68
+ type: Boolean,
69
+ value: false
70
+ },
71
+ // 样式
72
+ style: {
73
+ type: String,
74
+ value: "0",
75
+ },
76
+ // 组织租户
77
+ organTenant: {
78
+ type: String,
79
+ value: ""
80
+ },
81
+ // 站点ID
82
+ siteId: {
83
+ type: String,
84
+ value: ""
85
+ },
86
+ // 栏目ID
87
+ channelId: {
88
+ type: String,
89
+ value: ""
90
+ },
91
+ // 栏目别名
92
+ channelAlias: {
93
+ type: String,
94
+ value: ""
95
+ },
96
+ // 数量
97
+ pageSize: {
98
+ type: Number,
99
+ value: 5
100
+ },
101
+ },
102
+ setup(props) {
103
+ let config = getApp().globalData.config;
104
+ // 资源路径
105
+ let resourceUrl = config.resourceUrl + '/images';
106
+ // 文章列表
107
+ let articleList = ref([] as CmsInfoModel[]);
108
+ console.log("cms", props);
109
+ onMounted(() => {
110
+ cmsApi.findCmsInfoPage({
111
+ tenant: props.organTenant || config.tenant,
112
+ siteId: props.siteId,
113
+ channelId: props.channelId,
114
+ channelAlias: props.channelAlias,
115
+ curPage: 1,
116
+ pageSize: props.pageSize,
117
+ }).then(res => {
118
+ if (res.statusCode === 200) {
119
+ articleList.value = res.data.results;
120
+ }
121
+ });
122
+ });
123
+ // 接口图片资源路径 容器宽高度150rpx 裁剪2倍
124
+ let imageUrl = config.baseUrl + "/v1/file/image/clip/300/300/";
125
+ return { resourceUrl, articleList, imageUrl }
126
+ },
127
+ methods: {
128
+ // 点击详情事件
129
+ handleInfo(e: EventBase) {
130
+ let config = getApp().globalData.config;
131
+ let item = e.currentTarget.dataset.item;
132
+ mpx.navigateTo({
133
+ url: '/jmash/pages/cms/cms-article?siteId=' + this.siteId + '&infoId=' + item.infoId,
134
+ });
135
+ // 浏览
136
+ this.handelBrowse(this.organTenant || config.tenant, item.infoId);
137
+ this.triggerEvent("info", item);
138
+ },
139
+ // 浏览
140
+ handelBrowse(tenant: string, infoId: string) {
141
+ const tempData = {
142
+ // 用于检测重复请求的唯一字符串ID
143
+ requestId: Math.random() * 10 + "",
144
+ // 类型
145
+ type: "information",
146
+ // 关系
147
+ relationId: infoId,
148
+ // 租户
149
+ tenant: tenant
150
+ };
151
+ cmsApi.createfrontBrowseRecord(tempData);
152
+ },
153
+ }
154
+ })
155
+ </script>
156
+
157
+ <style lang="scss">
158
+ @use "../../styles/index.scss" as *;
159
+
160
+ .article-main {
161
+ padding: 0 30rpx;
162
+ border-radius: 20rpx;
163
+ background-color: #fff;
164
+ }
165
+
166
+ // 有分割线列表
167
+ .article-border {
168
+ padding: 30rpx 0;
169
+ border-bottom: 1rpx solid $border-line;
170
+
171
+ // 分割线最后一条内容无分割线
172
+ &:last-child {
173
+ border: none;
174
+ }
175
+ }
176
+
177
+ // 无分割线列表
178
+ .article-info {
179
+ padding: 30rpx;
180
+ background-color: #fff;
181
+ border-radius: 20rpx;
182
+ margin-bottom: 20rpx;
183
+ }
184
+
185
+ .cms-info {
186
+ display: flex;
187
+ align-items: center;
188
+ justify-content: space-between;
189
+ gap: 30rpx;
190
+ margin-bottom: 30rpx;
191
+
192
+ // 文章左侧内容
193
+ .cms-left {
194
+ width: 450rpx;
195
+ display: flex;
196
+ flex-direction: column;
197
+
198
+ .cms-left-title {
199
+ color: #333;
200
+ font-size: 28rpx;
201
+ font-weight: 600;
202
+ margin-bottom: 20rpx;
203
+ overflow: hidden;
204
+ /* 隐藏超出部分 */
205
+ white-space: nowrap;
206
+ /* 强制文本不换行 */
207
+ text-overflow: ellipsis;
208
+ /* 超出部分以省略号显示 */
209
+ }
210
+
211
+ .cms-left-info {
212
+ color: #666;
213
+ font-size: 26rpx;
214
+ line-height: 37rpx;
215
+ overflow: hidden;
216
+ /* 隐藏超出部分 */
217
+ display: -webkit-box;
218
+ -webkit-box-orient: vertical;
219
+ -webkit-line-clamp: 2;
220
+ /* 文本只显示两行 */
221
+ text-overflow: ellipsis;
222
+ /* 超出部分以省略号显示 */
223
+ }
224
+ }
225
+
226
+ // 文章右侧图片
227
+ .cms-right-image {
228
+ width: 150rpx;
229
+ height: 150rpx;
230
+ border-radius: 10rpx;
231
+ }
232
+ }
233
+ </style>
234
+
235
+ <script type="application/json">
236
+ {
237
+ "component": true,
238
+ "usingComponents": {
239
+ "jmash-cms-like": "./jmash-cms-like"
240
+ }
241
+ }
242
242
  </script>