test.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <template>
  2. <view class="">
  3. <button @click="createOrder">创建订单 </button>
  4. </view>
  5. </template>
  6. <script>
  7. export default {
  8. name: '',
  9. data() {
  10. return {
  11. count:0
  12. };
  13. },
  14. mounted() {
  15. },
  16. methods: {
  17. createOrder() {
  18. //初始化js脚本
  19. this.initScript()
  20. //获取Fmopt
  21. this.fetchFmopt()
  22. //获取sessionId
  23. this.loadScriptFunc("", this.fetchSessionId())
  24. //打印数据
  25. this.cacheOrderData()
  26. },
  27. cacheOrderData() {
  28. let _this = this
  29. setTimeout(() => {
  30. _this.$nextTick(function() {
  31. try {
  32. _this.count++
  33. console.log("sessionId:" + window.sessionId);
  34. console.log("fingerprint:" + _fmOpt.getinfo());
  35. _this.cache(window.sessionId,_fmOpt.getinfo())
  36. } catch (e) {
  37. console.log(_this.count);
  38. if (_this.count < 10) {
  39. _this.cacheOrderData()
  40. }
  41. }
  42. })
  43. }, 20)
  44. },
  45. cache(sessionId,fingerprint){
  46. let orderResult = {
  47. fingerprint:encodeURIComponent(fingerprint),
  48. sessionId,
  49. }
  50. this.$cache.put('orderResult',orderResult)
  51. },
  52. initScript() {
  53. let monitorURL = "https://static.tongdun.net/monitor/monitor.js"
  54. this.loadScript(monitorURL)
  55. let tfdURL = "https://j.changyoyo.com/static/js/common/tfd.js"
  56. this.loadScript(tfdURL)
  57. let jqueryURL = "https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"
  58. this.loadScript(jqueryURL)
  59. },
  60. fetchFmopt() {
  61. window._fmOpt = {
  62. partner: 'changyou',
  63. appName: 'changyou_web',
  64. token: 'changyou' + "-" + new Date().getTime() + "-" +
  65. Math.random().toString(16).substr(2),
  66. fmb: true,
  67. success: function(data) {
  68. console.log('blackbox: ', data)
  69. },
  70. fpHost: "https://fp.tongdun.net"
  71. };
  72. var cimg = new Image(1, 1);
  73. cimg.onload = function() {
  74. _fmOpt.imgLoaded = true;
  75. };
  76. cimg.src =
  77. "https://fp.tongdun.net/fp/clear.png?partnerCode=changyou&appName=changyou_web&tokenId=" +
  78. _fmOpt.token;
  79. var fm = document.createElement('script');
  80. fm.type = 'text/javascript';
  81. fm.async = true;
  82. fm.src = ('https:' == document.location.protocol ? 'https://' : 'http://') +
  83. 'static.tongdun.net/v3/fm.js?ver=0.1&t=' + (new Date().getTime() / 3600000).toFixed(0);
  84. var s = document.getElementsByTagName('script')[0];
  85. s.parentNode.insertBefore(fm,
  86. s);
  87. },
  88. loadScript(src) {
  89. var script = document.createElement('script');
  90. script.src = src;
  91. document.body.appendChild(script);
  92. },
  93. loadScriptFunc(url, callback) {
  94. callback = typeof callback === 'function' ? callback : function() {};
  95. var head = document.getElementsByTagName('head')[0];
  96. var script = document.createElement('script');
  97. script.type = 'text/javascript';
  98. script.src = url;
  99. script.onreadystatechange = function() {
  100. if (this.readyState == "loaded" || this.readyState == "complete") {
  101. callback();
  102. }
  103. }
  104. script.onload = callback;
  105. head.appendChild(script);
  106. },
  107. fetchSessionId() {
  108. var url, ts, sessionId, appId, appkey;
  109. if (document.domain === 'm.changyoyo.com') {
  110. url = "tfd.changyoyo.com";
  111. } else {
  112. url = "101.132.237.10";
  113. }
  114. appId = "5308e20b";
  115. appkey = "3daf27ea2fe840ada6af8e1ec0d7b760";
  116. ts = new Date().getTime();
  117. sessionId = "changyo-pc-" + ts + "-" + Math.random().toString(16).substr(2);
  118. window.sessionId = sessionId;
  119. [document.getElementsByTagName('script')[0].parentNode.appendChild(document.createElement('script')).src =
  120. "http://" +
  121. url + "/did/js/dp.js?appId=" + appId + "&appkey=" + appkey + "&sessionId=" + sessionId +
  122. "&ts=" +
  123. ts
  124. ][0];
  125. },
  126. }
  127. };
  128. </script>
  129. <style lang="scss" scoped>
  130. </style>