index.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <template>
  2. <div id="msg">
  3. <span>{{ msg }}</span>
  4. <div>
  5. {{userAgent}}
  6. </div>
  7. </div>
  8. </template>
  9. <script setup lang="ts">
  10. import Phone from "@/utils/phone";
  11. import axios, { AxiosPromise } from "axios";
  12. import { ref } from 'vue'
  13. type iosOrderUserInfo = {
  14. id : string;
  15. nickName : string;
  16. pxkm : string;
  17. loginCode : string;
  18. apsw : string;
  19. apt : string;
  20. };
  21. const baseUrl =
  22. import.meta.env.MODE === "production"
  23. ? "https://jsjp-admin.zzxcx.net/jsjp-admin/"
  24. : "https://jsjp-admin1.zzxcx.net/jsjp-admin/";
  25. const msg = ref('未调用的初始状态')
  26. const myPhone = new Phone();
  27. const request = axios.create();
  28. const userAgent = ref(window.navigator.userAgent)
  29. //@ts-ignore
  30. window.iosOrder = (dictCode : string, userInfoStr : string, goodsType : string) => {
  31. let userInfoObj : iosOrderUserInfo = JSON.parse(userInfoStr);
  32. //这是没审核的时候
  33. if (Number(userInfoObj.apsw) == 0) {
  34. let apt = Number(userInfoObj.apt);
  35. switch (apt) {
  36. case 1:
  37. window.setTimeout(() => {
  38. myPhone.ipyCallgo();
  39. }, 2500);
  40. break;
  41. case 2:
  42. request({
  43. url: baseUrl + "open-api/wxjs/prepareOrder",
  44. method: "post",
  45. data: {
  46. dictCode,
  47. userId: userInfoObj.id,
  48. phoneType: myPhone.isIos() ? 1 : 2,
  49. goodsType: goodsType
  50. },
  51. }).then((res : any) => {
  52. if (res.data.code == 200) {
  53. myPhone.spyCallgo(
  54. `weixin://app/wx606fa102dbc4b8ab/pay/?nonceStr=${res.data.data.nonceStr
  55. }&package=${window.encodeURIComponent(
  56. res.data.data.packageValue
  57. )}&partnerId=${res.data.data.partnerId}&prepayId=${res.data.data.prepayId
  58. }&timeStamp=${res.data.data.timeStamp}&sign=${window.encodeURIComponent(
  59. res.data.data.sign
  60. )}&signType=SHA1&_wechat_sdk_support_url_params=1`
  61. );
  62. }
  63. else {
  64. console.log('下单错误')
  65. //数字转字符串
  66. myPhone.errCallgo(res.data.code + ":" + res.data.msg);
  67. }
  68. });
  69. break;
  70. case 3:
  71. request({
  72. url: baseUrl + "open-api/wxjs/h5PrepareOrder",
  73. method: "POST",
  74. data: {
  75. dictCode: dictCode,
  76. phoneType: myPhone.isIos() ? 1 : 2,
  77. userId: userInfoObj.id,
  78. goodsType: goodsType
  79. },
  80. }).then((res : any) => {
  81. if (res.data.code == 200) {
  82. if (res.data.data.h5_url) {
  83. console.log(res.data.data)
  84. msg.value = JSON.stringify(res.data)
  85. window.location.href = res.data.data.h5_url;
  86. } else {
  87. console.log(res.data)
  88. }
  89. } else {
  90. console.log('下单错误')
  91. //数字转字符串
  92. myPhone.errCallgo(res.data.code + ":" + res.data.msg);
  93. }
  94. });
  95. break;
  96. default:
  97. break;
  98. }
  99. } else if (Number(userInfoObj.apsw) == 1) {
  100. window.setTimeout(() => {
  101. myPhone.ipyCallgo();
  102. }, 2500);
  103. }
  104. //open-api/wxjs/prepareOrder
  105. // alert('调用了iosOrder')
  106. };
  107. myPhone.ladCallgo()
  108. </script>
  109. <style scoped></style>