index.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import request from '@/helpers/request'
  2. import { state } from '@/state'
  3. import { defineComponent } from 'vue'
  4. import styles from './index.module.less'
  5. // 预览协议 - 原生实名认证使用
  6. export default defineComponent({
  7. name: 'preview-protocol',
  8. data() {
  9. return {
  10. protocolHTML: '' as any
  11. }
  12. },
  13. async mounted() {
  14. let type = 'REGISTER'
  15. const queryType = this.$route.query.type
  16. if (queryType) {
  17. type = queryType.toString()
  18. } else {
  19. if (state.platformType === 'STUDENT') {
  20. type = 'REGISTER'
  21. } else {
  22. type = 'REGISTER_TEACHER'
  23. }
  24. }
  25. try {
  26. // 判断是否有协议内容
  27. if (!this.protocolHTML) {
  28. const { data } = await request.get(
  29. state.platformApi + '/open/userContractRecord/queryLatestContractTemplate',
  30. {
  31. params: {
  32. contractType: type || 'REGISTER'
  33. }
  34. }
  35. )
  36. this.protocolHTML = data.contractTemplateContent || ''
  37. }
  38. } catch {
  39. //
  40. }
  41. },
  42. render() {
  43. return (
  44. <div id="mProtocol">
  45. <div class={styles.mProtocol} v-html={this.protocolHTML}></div>
  46. </div>
  47. )
  48. }
  49. })