index.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <template>
  2. <!-- <button @click="h5Pay()">H5支付</button> -->
  3. </template>
  4. <script lang="ts">
  5. import Phone from "@/utils/phone";
  6. import axios from "axios";
  7. import { defineComponent } from "vue";
  8. type iosOrderUserInfo = {
  9. id: string;
  10. nickName: string;
  11. pxkm: string;
  12. loginCode: string;
  13. apsw: string;
  14. apt: string;
  15. };
  16. const myPhone = new Phone();
  17. const request = axios.create();
  18. //@ts-ignore
  19. window.iosOrder = (dictCode: string, userInfoStr: string) => {
  20. let userInfoObj: iosOrderUserInfo = JSON.parse(userInfoStr);
  21. //这是没审核的时候
  22. if (Number(userInfoObj.apsw) == 0) {
  23. let apt = Number(userInfoObj.apt);
  24. switch (apt) {
  25. case 1:
  26. window.setTimeout(() => {
  27. myPhone.ipyCallgo();
  28. }, 2500);
  29. break;
  30. case 2:
  31. request({
  32. url: "https://jsjp-admin1.zzxcx.net/jsjp-admin/open-api/wxjs/prepareOrder",
  33. method: "post",
  34. data: {
  35. dictCode,
  36. userId: userInfoObj.id,
  37. phoneType: myPhone.isIos() ? 1 : 2,
  38. },
  39. }).then((res: any) => {
  40. myPhone.spyCallgo(
  41. `weixin://app/wx606fa102dbc4b8ab/pay/?nonceStr=${
  42. res.data.data.nonceStr
  43. }&package=${window.encodeURIComponent(
  44. res.data.data.packageValue
  45. )}&partnerId=${res.data.data.partnerId}&prepayId=${
  46. res.data.data.prepayId
  47. }&timeStamp=${res.data.data.timeStamp}&sign=${window.encodeURIComponent(
  48. res.data.data.sign
  49. )}&signType=SHA1&_wechat_sdk_support_url_params=1`
  50. );
  51. });
  52. break;
  53. case 3:
  54. request({
  55. url: "https://jsjp-admin1.zzxcx.net/jsjp-admin/open-api/wxjs/h5PrepareOrder",
  56. method: "POST",
  57. data: {
  58. dictCode: dictCode,
  59. phoneType: myPhone.isIos() ? 1 : 2,
  60. userId: userInfoObj.id,
  61. },
  62. }).then((res: any) => {
  63. window.location.href = res.data.data.h5_url;
  64. });
  65. break;
  66. default:
  67. break;
  68. }
  69. } else if (Number(userInfoObj.apsw) == 1) {
  70. window.setTimeout(() => {
  71. myPhone.ipyCallgo();
  72. }, 2500);
  73. }
  74. //open-api/wxjs/prepareOrder
  75. // alert('调用了iosOrder')
  76. };
  77. export default defineComponent({
  78. setup() {
  79. const h5Pay = () => {
  80. request({
  81. url: "https://jsjp-admin1.zzxcx.net/jsjp-admin/open-api/wxjs/h5PrepareOrder",
  82. method: "POST",
  83. headers: {
  84. Referer: "https://jsjp-admin1.zzxcx.net/",
  85. },
  86. data: {
  87. dictCode: "121",
  88. phoneType: 1,
  89. userId: "1756024",
  90. },
  91. }).then((res: any) => {
  92. window.location.href = res.data.data.h5_url;
  93. });
  94. };
  95. return {
  96. h5Pay,
  97. };
  98. },
  99. });
  100. </script>
  101. <style lang="scss" scoped></style>