抖音c端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

965 lines
32 KiB

  1. <!--基础元素-->
  2. <template name="wxParseVideo">
  3. <!--增加video标签支持,并循环添加-->
  4. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  5. <video class="{{item.classStr}} wxParse-{{item.tag}}-video" src="{{item.attr.src}}"></video>
  6. </view>
  7. </template>
  8. <template name="wxParseImg">
  9. <image class="{{item.classStr}} wxParse-{{item.tag}}" data-from="{{item.from}}" data-src="{{item.attr.src}}"
  10. data-idx="{{item.imgIndex}}" src="{{item.attr.src}}" bindload="wxParseImgLoad" bindtap="wxParseImgTap"
  11. mode="widthFix" style="width:{{item.width}}px;" />
  12. </template>
  13. <template name="WxEmojiView">
  14. <view class="WxEmojiView wxParse-inline" style="{{item.styleStr}}">
  15. <block tt:for="{{item.textArray}}" tt:key="">
  16. <block class="{{item.text == '\\n' ? 'wxParse-hide':''}}" tt:if="{{item.node == 'text'}}">{{item.text}}</block>
  17. <block tt:elif="{{item.node == 'element'}}">
  18. <image class="wxEmoji" src="{{item.baseSrc}}{{item.text}}" />
  19. </block>
  20. </block>
  21. </view>
  22. </template>
  23. <template name="WxParseBr">
  24. <text>\n</text>
  25. </template>
  26. <!--入口模版-->
  27. <template name="wxParse">
  28. <block tt:for="{{wxParseData}}" tt:key="">
  29. <template is="wxParse0" tt:if="{{item.tag !='style'}}" data="{{item}}" />
  30. </block>
  31. </template>
  32. <!--循环模版-->
  33. <template name="wxParse0">
  34. <!--<template is="wxParse1" data="{{item}}" />-->
  35. <!--判断是否是标签节点-->
  36. <block tt:if="{{item.node == 'element'}}">
  37. <block tt:if="{{item.tag == 'button'}}">
  38. <button type="default" size="mini">
  39. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  40. <template is="wxParse1" data="{{item}}" />
  41. </block>
  42. </button>
  43. </block>
  44. <!--li类型-->
  45. <block tt:elif="{{item.tag == 'li'}}">
  46. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  47. <view class="{{item.classStr}} wxParse-li-inner">
  48. <view class="{{item.classStr}} wxParse-li-text">
  49. <view class="{{item.classStr}} wxParse-li-circle"></view>
  50. </view>
  51. <view class="{{item.classStr}} wxParse-li-text">
  52. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  53. <template is="wxParse1" data="{{item}}" />
  54. </block>
  55. </view>
  56. </view>
  57. </view>
  58. </block>
  59. <!--video类型-->
  60. <block tt:elif="{{item.tag == 'video'}}">
  61. <template is="wxParseVideo" data="{{item}}" />
  62. </block>
  63. <!--img类型-->
  64. <block tt:elif="{{item.tag == 'img'}}">
  65. <template is="wxParseImg" data="{{item}}" />
  66. </block>
  67. <!--a类型-->
  68. <block tt:elif="{{item.tag == 'a'}}">
  69. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  70. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  71. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  72. <template is="wxParse1" data="{{item}}" />
  73. </block>
  74. </view>
  75. </block>
  76. <block tt:elif="{{item.tag == 'table'}}">
  77. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  78. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  79. <template is="wxParse1" data="{{item}}" />
  80. </block>
  81. </view>
  82. </block>
  83. <block tt:elif="{{item.tag == 'br'}}">
  84. <template is="WxParseBr"></template>
  85. </block>
  86. <!--其他块级标签-->
  87. <block tt:elif="{{item.tagType == 'block'}}">
  88. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  89. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  90. <template is="wxParse1" data="{{item}}" />
  91. </block>
  92. </view>
  93. </block>
  94. <!--内联标签-->
  95. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  96. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  97. <template is="wxParse1" data="{{item}}" />
  98. </block>
  99. </view>
  100. </block>
  101. <!--判断是否是文本节点-->
  102. <block tt:elif="{{item.node == 'text'}}">
  103. <!--如果是,直接进行-->
  104. <template is="WxEmojiView" data="{{item}}" />
  105. </block>
  106. </template>
  107. <!--循环模版-->
  108. <template name="wxParse1">
  109. <!--判断是否是标签节点-->
  110. <block tt:if="{{item.node == 'element'&&item.tag !='style'}}">
  111. <block tt:if="{{item.tag == 'button'}}">
  112. <button type="default" size="mini">
  113. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  114. <template is="wxParse2" data="{{item}}" />
  115. </block>
  116. </button>
  117. </block>
  118. <!--li类型-->
  119. <block tt:elif="{{item.tag == 'li'}}">
  120. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  121. <view class="{{item.classStr}} wxParse-li-inner">
  122. <view class="{{item.classStr}} wxParse-li-text">
  123. <view class="{{item.classStr}} wxParse-li-circle"></view>
  124. </view>
  125. <view class="{{item.classStr}} wxParse-li-text">
  126. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  127. <template is="wxParse2" data="{{item}}" />
  128. </block>
  129. </view>
  130. </view>
  131. </view>
  132. </block>
  133. <!--video类型-->
  134. <block tt:elif="{{item.tag == 'video'}}">
  135. <template is="wxParseVideo" data="{{item}}" />
  136. </block>
  137. <!--img类型-->
  138. <block tt:elif="{{item.tag == 'img'}}">
  139. <template is="wxParseImg" data="{{item}}" />
  140. </block>
  141. <!--a类型-->
  142. <block tt:elif="{{item.tag == 'a'}}">
  143. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  144. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  145. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  146. <template is="wxParse2" data="{{item}}" />
  147. </block>
  148. </view>
  149. </block>
  150. <block tt:elif="{{item.tag == 'br'}}">
  151. <template is="WxParseBr"></template>
  152. </block>
  153. <!--其他块级标签-->
  154. <block tt:elif="{{item.tagType == 'block'}}">
  155. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  156. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  157. <template is="wxParse2" data="{{item}}" />
  158. </block>
  159. </view>
  160. </block>
  161. <!--内联标签-->
  162. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  163. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  164. <template is="wxParse2" data="{{item}}" />
  165. </block>
  166. </view>
  167. </block>
  168. <!--判断是否是文本节点-->
  169. <block tt:elif="{{item.node == 'text'}}">
  170. <!--如果是,直接进行-->
  171. <template is="WxEmojiView" data="{{item}}" />
  172. </block>
  173. </template>
  174. <!--循环模版-->
  175. <template name="wxParse2">
  176. <!--<template is="wxParse3" data="{{item}}" />-->
  177. <!--判断是否是标签节点-->
  178. <block tt:if="{{item.node == 'element'}}">
  179. <block tt:if="{{item.tag == 'button'}}">
  180. <button type="default" size="mini">
  181. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  182. <template is="wxParse3" data="{{item}}" />
  183. </block>
  184. </button>
  185. </block>
  186. <!--li类型-->
  187. <block tt:elif="{{item.tag == 'li'}}">
  188. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  189. <view class="{{item.classStr}} wxParse-li-inner">
  190. <view class="{{item.classStr}} wxParse-li-text">
  191. <view class="{{item.classStr}} wxParse-li-circle"></view>
  192. </view>
  193. <view class="{{item.classStr}} wxParse-li-text">
  194. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  195. <template is="wxParse3" data="{{item}}" />
  196. </block>
  197. </view>
  198. </view>
  199. </view>
  200. </block>
  201. <!--video类型-->
  202. <block tt:elif="{{item.tag == 'video'}}">
  203. <template is="wxParseVideo" data="{{item}}" />
  204. </block>
  205. <!--img类型-->
  206. <block tt:elif="{{item.tag == 'img'}}">
  207. <template is="wxParseImg" data="{{item}}" />
  208. </block>
  209. <!--a类型-->
  210. <block tt:elif="{{item.tag == 'a'}}">
  211. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  212. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  213. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  214. <template is="wxParse3" data="{{item}}" />
  215. </block>
  216. </view>
  217. </block>
  218. <block tt:elif="{{item.tag == 'br'}}">
  219. <template is="WxParseBr"></template>
  220. </block>
  221. <!--其他块级标签-->
  222. <block tt:elif="{{item.tagType == 'block'}}">
  223. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  224. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  225. <template is="wxParse3" data="{{item}}" />
  226. </block>
  227. </view>
  228. </block>
  229. <!--内联标签-->
  230. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  231. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  232. <template is="wxParse3" data="{{item}}" />
  233. </block>
  234. </view>
  235. </block>
  236. <!--判断是否是文本节点-->
  237. <block tt:elif="{{item.node == 'text'&&item.tag !='style'}}">
  238. <!--如果是,直接进行-->
  239. <template is="WxEmojiView" data="{{item}}" />
  240. </block>
  241. </template>
  242. <!--循环模版-->
  243. <template name="wxParse3">
  244. <!--<template is="wxParse4" data="{{item}}" />-->
  245. <!--判断是否是标签节点-->
  246. <block tt:if="{{item.node == 'element'}}">
  247. <block tt:if="{{item.tag == 'button'}}">
  248. <button type="default" size="mini">
  249. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  250. <template is="wxParse4" data="{{item}}" />
  251. </block>
  252. </button>
  253. </block>
  254. <!--li类型-->
  255. <block tt:elif="{{item.tag == 'li'}}">
  256. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  257. <view class="{{item.classStr}} wxParse-li-inner">
  258. <view class="{{item.classStr}} wxParse-li-text">
  259. <view class="{{item.classStr}} wxParse-li-circle"></view>
  260. </view>
  261. <view class="{{item.classStr}} wxParse-li-text">
  262. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  263. <template is="wxParse4" data="{{item}}" />
  264. </block>
  265. </view>
  266. </view>
  267. </view>
  268. </block>
  269. <!--video类型-->
  270. <block tt:elif="{{item.tag == 'video'}}">
  271. <template is="wxParseVideo" data="{{item}}" />
  272. </block>
  273. <!--img类型-->
  274. <block tt:elif="{{item.tag == 'img'}}">
  275. <template is="wxParseImg" data="{{item}}" />
  276. </block>
  277. <!--a类型-->
  278. <block tt:elif="{{item.tag == 'a'}}">
  279. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  280. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  281. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  282. <template is="wxParse4" data="{{item}}" />
  283. </block>
  284. </view>
  285. </block>
  286. <block tt:elif="{{item.tag == 'br'}}">
  287. <template is="WxParseBr"></template>
  288. </block>
  289. <!--其他块级标签-->
  290. <block tt:elif="{{item.tagType == 'block'}}">
  291. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  292. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  293. <template is="wxParse4" data="{{item}}" />
  294. </block>
  295. </view>
  296. </block>
  297. <!--内联标签-->
  298. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  299. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  300. <template is="wxParse4" data="{{item}}" />
  301. </block>
  302. </view>
  303. </block>
  304. <!--判断是否是文本节点-->
  305. <block tt:elif="{{item.node == 'text'}}">
  306. <!--如果是,直接进行-->
  307. <template is="WxEmojiView" data="{{item}}" />
  308. </block>
  309. </template>
  310. <!--循环模版-->
  311. <template name="wxParse4">
  312. <!--<template is="wxParse5" data="{{item}}" />-->
  313. <!--判断是否是标签节点-->
  314. <block tt:if="{{item.node == 'element'}}">
  315. <block tt:if="{{item.tag == 'button'}}">
  316. <button type="default" size="mini">
  317. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  318. <template is="wxParse5" data="{{item}}" />
  319. </block>
  320. </button>
  321. </block>
  322. <!--li类型-->
  323. <block tt:elif="{{item.tag == 'li'}}">
  324. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  325. <view class="{{item.classStr}} wxParse-li-inner">
  326. <view class="{{item.classStr}} wxParse-li-text">
  327. <view class="{{item.classStr}} wxParse-li-circle"></view>
  328. </view>
  329. <view class="{{item.classStr}} wxParse-li-text">
  330. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  331. <template is="wxParse5" data="{{item}}" />
  332. </block>
  333. </view>
  334. </view>
  335. </view>
  336. </block>
  337. <!--video类型-->
  338. <block tt:elif="{{item.tag == 'video'}}">
  339. <template is="wxParseVideo" data="{{item}}" />
  340. </block>
  341. <!--img类型-->
  342. <block tt:elif="{{item.tag == 'img'}}">
  343. <template is="wxParseImg" data="{{item}}" />
  344. </block>
  345. <!--a类型-->
  346. <block tt:elif="{{item.tag == 'a'}}">
  347. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  348. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  349. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  350. <template is="wxParse5" data="{{item}}" />
  351. </block>
  352. </view>
  353. </block>
  354. <block tt:elif="{{item.tag == 'br'}}">
  355. <template is="WxParseBr"></template>
  356. </block>
  357. <!--其他块级标签-->
  358. <block tt:elif="{{item.tagType == 'block'}}">
  359. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  360. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  361. <template is="wxParse5" data="{{item}}" />
  362. </block>
  363. </view>
  364. </block>
  365. <!--内联标签-->
  366. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  367. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  368. <template is="wxParse5" data="{{item}}" />
  369. </block>
  370. </view>
  371. </block>
  372. <!--判断是否是文本节点-->
  373. <block tt:elif="{{item.node == 'text'}}">
  374. <!--如果是,直接进行-->
  375. <template is="WxEmojiView" data="{{item}}" />
  376. </block>
  377. </template>
  378. <!--循环模版-->
  379. <template name="wxParse5">
  380. <!--<template is="wxParse6" data="{{item}}" />-->
  381. <!--判断是否是标签节点-->
  382. <block tt:if="{{item.node == 'element'}}">
  383. <block tt:if="{{item.tag == 'button'}}">
  384. <button type="default" size="mini">
  385. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  386. <template is="wxParse6" data="{{item}}" />
  387. </block>
  388. </button>
  389. </block>
  390. <!--li类型-->
  391. <block tt:elif="{{item.tag == 'li'}}">
  392. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  393. <view class="{{item.classStr}} wxParse-li-inner">
  394. <view class="{{item.classStr}} wxParse-li-text">
  395. <view class="{{item.classStr}} wxParse-li-circle"></view>
  396. </view>
  397. <view class="{{item.classStr}} wxParse-li-text">
  398. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  399. <template is="wxParse6" data="{{item}}" />
  400. </block>
  401. </view>
  402. </view>
  403. </view>
  404. </block>
  405. <!--video类型-->
  406. <block tt:elif="{{item.tag == 'video'}}">
  407. <template is="wxParseVideo" data="{{item}}" />
  408. </block>
  409. <!--img类型-->
  410. <block tt:elif="{{item.tag == 'img'}}">
  411. <template is="wxParseImg" data="{{item}}" />
  412. </block>
  413. <!--a类型-->
  414. <block tt:elif="{{item.tag == 'a'}}">
  415. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  416. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  417. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  418. <template is="wxParse6" data="{{item}}" />
  419. </block>
  420. </view>
  421. </block>
  422. <block tt:elif="{{item.tag == 'br'}}">
  423. <template is="WxParseBr"></template>
  424. </block>
  425. <!--其他块级标签-->
  426. <block tt:elif="{{item.tagType == 'block'}}">
  427. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  428. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  429. <template is="wxParse6" data="{{item}}" />
  430. </block>
  431. </view>
  432. </block>
  433. <!--内联标签-->
  434. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  435. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  436. <template is="wxParse6" data="{{item}}" />
  437. </block>
  438. </view>
  439. </block>
  440. <!--判断是否是文本节点-->
  441. <block tt:elif="{{item.node == 'text'}}">
  442. <!--如果是,直接进行-->
  443. <template is="WxEmojiView" data="{{item}}" />
  444. </block>
  445. </template>
  446. <!--循环模版-->
  447. <template name="wxParse6">
  448. <!--<template is="wxParse7" data="{{item}}" />-->
  449. <!--判断是否是标签节点-->
  450. <block tt:if="{{item.node == 'element'}}">
  451. <block tt:if="{{item.tag == 'button'}}">
  452. <button type="default" size="mini">
  453. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  454. <template is="wxParse7" data="{{item}}" />
  455. </block>
  456. </button>
  457. </block>
  458. <!--li类型-->
  459. <block tt:elif="{{item.tag == 'li'}}">
  460. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  461. <view class="{{item.classStr}} wxParse-li-inner">
  462. <view class="{{item.classStr}} wxParse-li-text">
  463. <view class="{{item.classStr}} wxParse-li-circle"></view>
  464. </view>
  465. <view class="{{item.classStr}} wxParse-li-text">
  466. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  467. <template is="wxParse7" data="{{item}}" />
  468. </block>
  469. </view>
  470. </view>
  471. </view>
  472. </block>
  473. <!--video类型-->
  474. <block tt:elif="{{item.tag == 'video'}}">
  475. <template is="wxParseVideo" data="{{item}}" />
  476. </block>
  477. <!--img类型-->
  478. <block tt:elif="{{item.tag == 'img'}}">
  479. <template is="wxParseImg" data="{{item}}" />
  480. </block>
  481. <!--a类型-->
  482. <block tt:elif="{{item.tag == 'a'}}">
  483. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  484. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  485. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  486. <template is="wxParse7" data="{{item}}" />
  487. </block>
  488. </view>
  489. </block>
  490. <block tt:elif="{{item.tag == 'br'}}">
  491. <template is="WxParseBr"></template>
  492. </block>
  493. <!--其他块级标签-->
  494. <block tt:elif="{{item.tagType == 'block'}}">
  495. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  496. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  497. <template is="wxParse7" data="{{item}}" />
  498. </block>
  499. </view>
  500. </block>
  501. <!--内联标签-->
  502. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  503. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  504. <template is="wxParse7" data="{{item}}" />
  505. </block>
  506. </view>
  507. </block>
  508. <!--判断是否是文本节点-->
  509. <block tt:elif="{{item.node == 'text'}}">
  510. <!--如果是,直接进行-->
  511. <template is="WxEmojiView" data="{{item}}" />
  512. </block>
  513. </template>
  514. <!--循环模版-->
  515. <template name="wxParse7">
  516. <!--<template is="wxParse8" data="{{item}}" />-->
  517. <!--判断是否是标签节点-->
  518. <block tt:if="{{item.node == 'element'}}">
  519. <block tt:if="{{item.tag == 'button'}}">
  520. <button type="default" size="mini">
  521. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  522. <template is="wxParse8" data="{{item}}" />
  523. </block>
  524. </button>
  525. </block>
  526. <!--li类型-->
  527. <block tt:elif="{{item.tag == 'li'}}">
  528. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  529. <view class="{{item.classStr}} wxParse-li-inner">
  530. <view class="{{item.classStr}} wxParse-li-text">
  531. <view class="{{item.classStr}} wxParse-li-circle"></view>
  532. </view>
  533. <view class="{{item.classStr}} wxParse-li-text">
  534. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  535. <template is="wxParse8" data="{{item}}" />
  536. </block>
  537. </view>
  538. </view>
  539. </view>
  540. </block>
  541. <!--video类型-->
  542. <block tt:elif="{{item.tag == 'video'}}">
  543. <template is="wxParseVideo" data="{{item}}" />
  544. </block>
  545. <!--img类型-->
  546. <block tt:elif="{{item.tag == 'img'}}">
  547. <template is="wxParseImg" data="{{item}}" />
  548. </block>
  549. <!--a类型-->
  550. <block tt:elif="{{item.tag == 'a'}}">
  551. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  552. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  553. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  554. <template is="wxParse8" data="{{item}}" />
  555. </block>
  556. </view>
  557. </block>
  558. <block tt:elif="{{item.tag == 'br'}}">
  559. <template is="WxParseBr"></template>
  560. </block>
  561. <!--其他块级标签-->
  562. <block tt:elif="{{item.tagType == 'block'}}">
  563. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  564. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  565. <template is="wxParse8" data="{{item}}" />
  566. </block>
  567. </view>
  568. </block>
  569. <!--内联标签-->
  570. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  571. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  572. <template is="wxParse8" data="{{item}}" />
  573. </block>
  574. </view>
  575. </block>
  576. <!--判断是否是文本节点-->
  577. <block tt:elif="{{item.node == 'text'}}">
  578. <!--如果是,直接进行-->
  579. <template is="WxEmojiView" data="{{item}}" />
  580. </block>
  581. </template>
  582. <!--循环模版-->
  583. <template name="wxParse8">
  584. <!--<template is="wxParse9" data="{{item}}" />-->
  585. <!--判断是否是标签节点-->
  586. <block tt:if="{{item.node == 'element'}}">
  587. <block tt:if="{{item.tag == 'button'}}">
  588. <button type="default" size="mini">
  589. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  590. <template is="wxParse9" data="{{item}}" />
  591. </block>
  592. </button>
  593. </block>
  594. <!--li类型-->
  595. <block tt:elif="{{item.tag == 'li'}}">
  596. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  597. <view class="{{item.classStr}} wxParse-li-inner">
  598. <view class="{{item.classStr}} wxParse-li-text">
  599. <view class="{{item.classStr}} wxParse-li-circle"></view>
  600. </view>
  601. <view class="{{item.classStr}} wxParse-li-text">
  602. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  603. <template is="wxParse9" data="{{item}}" />
  604. </block>
  605. </view>
  606. </view>
  607. </view>
  608. </block>
  609. <!--video类型-->
  610. <block tt:elif="{{item.tag == 'video'}}">
  611. <template is="wxParseVideo" data="{{item}}" />
  612. </block>
  613. <!--img类型-->
  614. <block tt:elif="{{item.tag == 'img'}}">
  615. <template is="wxParseImg" data="{{item}}" />
  616. </block>
  617. <!--a类型-->
  618. <block tt:elif="{{item.tag == 'a'}}">
  619. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  620. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  621. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  622. <template is="wxParse9" data="{{item}}" />
  623. </block>
  624. </view>
  625. </block>
  626. <block tt:elif="{{item.tag == 'br'}}">
  627. <template is="WxParseBr"></template>
  628. </block>
  629. <!--其他块级标签-->
  630. <block tt:elif="{{item.tagType == 'block'}}">
  631. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  632. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  633. <template is="wxParse9" data="{{item}}" />
  634. </block>
  635. </view>
  636. </block>
  637. <!--内联标签-->
  638. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  639. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  640. <template is="wxParse9" data="{{item}}" />
  641. </block>
  642. </view>
  643. </block>
  644. <!--判断是否是文本节点-->
  645. <block tt:elif="{{item.node == 'text'}}">
  646. <!--如果是,直接进行-->
  647. <template is="WxEmojiView" data="{{item}}" />
  648. </block>
  649. </template>
  650. <!--循环模版-->
  651. <template name="wxParse9">
  652. <!--<template is="wxParse10" data="{{item}}" />-->
  653. <!--判断是否是标签节点-->
  654. <block tt:if="{{item.node == 'element'}}">
  655. <block tt:if="{{item.tag == 'button'}}">
  656. <button type="default" size="mini">
  657. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  658. <template is="wxParse10" data="{{item}}" />
  659. </block>
  660. </button>
  661. </block>
  662. <!--li类型-->
  663. <block tt:elif="{{item.tag == 'li'}}">
  664. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  665. <view class="{{item.classStr}} wxParse-li-inner">
  666. <view class="{{item.classStr}} wxParse-li-text">
  667. <view class="{{item.classStr}} wxParse-li-circle"></view>
  668. </view>
  669. <view class="{{item.classStr}} wxParse-li-text">
  670. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  671. <template is="wxParse10" data="{{item}}" />
  672. </block>
  673. </view>
  674. </view>
  675. </view>
  676. </block>
  677. <!--video类型-->
  678. <block tt:elif="{{item.tag == 'video'}}">
  679. <template is="wxParseVideo" data="{{item}}" />
  680. </block>
  681. <!--img类型-->
  682. <block tt:elif="{{item.tag == 'img'}}">
  683. <template is="wxParseImg" data="{{item}}" />
  684. </block>
  685. <!--a类型-->
  686. <block tt:elif="{{item.tag == 'a'}}">
  687. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  688. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  689. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  690. <template is="wxParse10" data="{{item}}" />
  691. </block>
  692. </view>
  693. </block>
  694. <block tt:elif="{{item.tag == 'br'}}">
  695. <template is="WxParseBr"></template>
  696. </block>
  697. <!--其他块级标签-->
  698. <block tt:elif="{{item.tagType == 'block'}}">
  699. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  700. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  701. <template is="wxParse10" data="{{item}}" />
  702. </block>
  703. </view>
  704. </block>
  705. <!--内联标签-->
  706. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  707. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  708. <template is="wxParse10" data="{{item}}" />
  709. </block>
  710. </view>
  711. </block>
  712. <!--判断是否是文本节点-->
  713. <block tt:elif="{{item.node == 'text'}}">
  714. <!--如果是,直接进行-->
  715. <template is="WxEmojiView" data="{{item}}" />
  716. </block>
  717. </template>
  718. <!--循环模版-->
  719. <template name="wxParse10">
  720. <!--<template is="wxParse11" data="{{item}}" />-->
  721. <!--判断是否是标签节点-->
  722. <block tt:if="{{item.node == 'element'}}">
  723. <block tt:if="{{item.tag == 'button'}}">
  724. <button type="default" size="mini">
  725. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  726. <template is="wxParse11" data="{{item}}" />
  727. </block>
  728. </button>
  729. </block>
  730. <!--li类型-->
  731. <block tt:elif="{{item.tag == 'li'}}">
  732. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  733. <view class="{{item.classStr}} wxParse-li-inner">
  734. <view class="{{item.classStr}} wxParse-li-text">
  735. <view class="{{item.classStr}} wxParse-li-circle"></view>
  736. </view>
  737. <view class="{{item.classStr}} wxParse-li-text">
  738. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  739. <template is="wxParse11" data="{{item}}" />
  740. </block>
  741. </view>
  742. </view>
  743. </view>
  744. </block>
  745. <!--video类型-->
  746. <block tt:elif="{{item.tag == 'video'}}">
  747. <template is="wxParseVideo" data="{{item}}" />
  748. </block>
  749. <!--img类型-->
  750. <block tt:elif="{{item.tag == 'img'}}">
  751. <template is="wxParseImg" data="{{item}}" />
  752. </block>
  753. <!--a类型-->
  754. <block tt:elif="{{item.tag == 'a'}}">
  755. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  756. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  757. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  758. <template is="wxParse11" data="{{item}}" />
  759. </block>
  760. </view>
  761. </block>
  762. <block tt:elif="{{item.tag == 'br'}}">
  763. <template is="WxParseBr"></template>
  764. </block>
  765. <!--其他块级标签-->
  766. <block tt:elif="{{item.tagType == 'block'}}">
  767. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  768. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  769. <template is="wxParse11" data="{{item}}" />
  770. </block>
  771. </view>
  772. </block>
  773. <!--内联标签-->
  774. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  775. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  776. <template is="wxParse11" data="{{item}}" />
  777. </block>
  778. </view>
  779. </block>
  780. <!--判断是否是文本节点-->
  781. <block tt:elif="{{item.node == 'text'}}">
  782. <!--如果是,直接进行-->
  783. <template is="WxEmojiView" data="{{item}}" />
  784. </block>
  785. </template>
  786. <!--循环模版-->
  787. <template name="wxParse11">
  788. <!--<template is="wxParse12" data="{{item}}" />-->
  789. <!--判断是否是标签节点-->
  790. <block tt:if="{{item.node == 'element'}}">
  791. <block tt:if="{{item.tag == 'button'}}">
  792. <button type="default" size="mini">
  793. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  794. <template is="wxParse12" data="{{item}}" />
  795. </block>
  796. </button>
  797. </block>
  798. <!--li类型-->
  799. <block tt:elif="{{item.tag == 'li'}}">
  800. <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}">
  801. <view class="{{item.classStr}} wxParse-li-inner">
  802. <view class="{{item.classStr}} wxParse-li-text">
  803. <view class="{{item.classStr}} wxParse-li-circle"></view>
  804. </view>
  805. <view class="{{item.classStr}} wxParse-li-text">
  806. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  807. <template is="wxParse12" data="{{item}}" />
  808. </block>
  809. </view>
  810. </view>
  811. </view>
  812. </block>
  813. <!--video类型-->
  814. <block tt:elif="{{item.tag == 'video'}}">
  815. <template is="wxParseVideo" data="{{item}}" />
  816. </block>
  817. <!--img类型-->
  818. <block tt:elif="{{item.tag == 'img'}}">
  819. <template is="wxParseImg" data="{{item}}" />
  820. </block>
  821. <!--a类型-->
  822. <block tt:elif="{{item.tag == 'a'}}">
  823. <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}"
  824. data-src="{{item.attr.href}}" style="{{item.styleStr}}">
  825. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  826. <template is="wxParse12" data="{{item}}" />
  827. </block>
  828. </view>
  829. </block>
  830. <block tt:elif="{{item.tag == 'br'}}">
  831. <template is="WxParseBr"></template>
  832. </block>
  833. <!--其他块级标签-->
  834. <block tt:elif="{{item.tagType == 'block'}}">
  835. <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}">
  836. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  837. <template is="wxParse12" data="{{item}}" />
  838. </block>
  839. </view>
  840. </block>
  841. <!--内联标签-->
  842. <view tt:else class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}">
  843. <block tt:for="{{item.nodes}}" tt:for-item="item" tt:key="">
  844. <template is="wxParse12" data="{{item}}" />
  845. </block>
  846. </view>
  847. </block>
  848. <!--判断是否是文本节点-->
  849. <block tt:elif="{{item.node == 'text'}}">
  850. <!--如果是,直接进行-->
  851. <template is="WxEmojiView" data="{{item}}" />
  852. </block>
  853. </template>