Ver código fonte

feat: "国内用户隐藏Airwallex钱包"

wangzeyu@tom.com 2 anos atrás
pai
commit
c95d9bb23e

+ 4 - 0
src/service/airwallex/index.js

@@ -20,3 +20,7 @@ export function getPaymentById(paymentId) {
     return axios.get(`/PAY-SERVER/api/airwallex/getPaymentById/${paymentId}`);
 }
 
+// 获取用户钱包详情
+export function getWallet(id) {
+    return axios.get(`/PAY-SERVER/tAirwallexWallet/getWallet?adminId=${id}`);
+}

+ 4 - 0
src/service/user.js

@@ -23,4 +23,8 @@ export function Api_getArea(params) {
 // 地址回显
 export function Api_getAreaDetail(params) {
   return axios.get(`/SZWL-SERVER/tArea/getById`, {params});
+}
+// 是否海外用户
+export function getIfForeign(adminId) {
+  return axios.get(`/SZWL-SERVER/tAdmin/getIfForeign/${adminId}`);
 }

+ 10 - 6
src/views/airwallex/caPayment.vue

@@ -12,7 +12,8 @@
         <br>
         <!-- 付款原因 -->
         <van-cell-group inset>
-            <van-field v-model="reason" required is-link readonly label="付款原因" placeholder="选择付款原因" @click="showPicker = true" />
+            <van-field v-model="reason" required is-link readonly label="付款原因" placeholder="选择付款原因"
+                @click="showPicker = true" />
             <van-popup v-model:show="showPicker" round position="bottom">
                 <van-picker :columns="columns" @cancel="showPicker = false" @confirm="onConfirm" />
             </van-popup>
@@ -20,9 +21,12 @@
 
         <br>
         <!-- 交易附言 -->
-        <van-cell-group inset>
-            <van-field v-model="reference" required label="交易附言" placeholder="此信息可能会展示在收款方银行账单上,帮助收款方甄别此付款。" :rules="[{ required: true, message: '此项为必填项'}]" />
-        </van-cell-group>
+        <van-form>
+            <van-cell-group inset>
+                <van-field v-model="reference" required label="交易附言" placeholder="此信息可能会展示在收款方银行账单上,帮助收款方甄别此付款。"
+                    :rules="[{ required: true, message: '此项为必填项' }]" />
+            </van-cell-group>
+        </van-form>
 
         <br>
         <!-- 备注(选填) -->
@@ -149,7 +153,7 @@ export default {
         const handleSubmit = async () => {
             if (caPaymentReq !== null) {
 
-                if(reference.value === '') {
+                if (reference.value === '') {
                     regerenceError.value = true;
                     return;
                 }
@@ -173,7 +177,7 @@ export default {
                 console.log("resultResp>>>", resultsResp);
                 console.log("paymentId>>>", resultsResp.data);
 
-                if(resultsResp) {
+                if (resultsResp) {
                     router.push({
                         path: '/paymentDetail',
                         query: {

+ 25 - 4
src/views/airwallex/index.vue

@@ -9,7 +9,7 @@
         <br>
         <div class="cell-container">
             <van-cell-group inset>
-                <van-cell title="创建款单" is-link to="/airwallexPayout" />
+                <van-cell title="创建款单" is-link to="/airwallexPayout" />
                 <van-cell title="付款详情页" is-link to="/paymentDetail" />
                 <van-cell title="去百度" is-link url="https://www.baidu.com" />
             </van-cell-group>
@@ -25,14 +25,35 @@
 import { useRouter } from 'vue-router';
 import sHeader from "@/components/SimpleHeader";
 import { styleUrl } from '../../common/js/utils';
+import { ref, onMounted } from 'vue';
+import { getWallet } from '@/service/airwallex/index';
 
 export default {
     setup() {
+        styleUrl("airwallex")
         const router = useRouter();
-
         // TODO: 设置默认金额为 100
-        const amount = 100; 
-        styleUrl("airwallex")
+        const amount = ref(0.00);
+
+        const loginUserStr = localStorage.getItem('loginUser');
+        const loginUser = JSON.parse(loginUserStr);
+        const adminId = loginUser.id;
+
+        console.log("adminId>>>", adminId);
+
+        onMounted(async () => {
+            try {
+                // 请求后端接口: 获取钱包信息
+                const resp = await getWallet(adminId);
+                console.log("resp>>>", resp);
+                console.log("resp.data>>>", resp.data);
+                // amount = resp.data.;
+            } catch (error) {
+                console.error(error);
+                // 处理异常情况
+            }
+        })
+
         const handleWithdraw = () => {
 
             // 导航到提现页面

+ 16 - 13
src/views/register.vue

@@ -139,6 +139,8 @@ export default {
       time: 0
     });
 
+    let phoneOrEmailStr = ref('');
+
     const router = useRouter();
 
     // 注册点击
@@ -148,15 +150,17 @@ export default {
         return false;
       }
       const { data } = await tAdminSave({
-        username: username.value,
-        name: name.value,
-        password: md5(password.value),
-        ifForeign: ifForeign.value,
-        phone: phone.value,
-        email: email.value,
-        code: code.value,
-        companyType: '0',
+          username: username.value,
+          name: name.value,
+          password: md5(password.value),
+          ifForeign: ifForeign.value,
+          // phone: phone.value,
+          // email: email.value,
+          phoneOrEmail: phoneOrEmailStr,
+          code: code.value,
+          companyType: '0'
       });
+
       if (data.code === '00000') {
         Toast('注册成功');
         router.push({ path: '/login' });
@@ -165,19 +169,18 @@ export default {
       }
     };
 
-    let phoneOrEmail = '';
     // 发送验证码
     const seedVerCode = async () => {
       if (ifForeign.value === '1') {
-        phoneOrEmail = email.value;
+        phoneOrEmailStr = email.value;
       } else if (ifForeign.value === '0' && logonMode.value === '10') {
-        phoneOrEmail = phone.value;
+        phoneOrEmailStr = phone.value;
       } else {
-        phoneOrEmail = email.value;
+        phoneOrEmailStr = email.value;
       }
       const { data } = await sentRegisterCode({
         ifForeign: ifForeign.value,
-        phoneOrEmail: phoneOrEmail
+        phoneOrEmail: phoneOrEmailStr
       });
       console.log('seedVerCodeSuccess', data);
       if (data.code === '00000') {

+ 18 - 3
src/views/user.vue

@@ -133,7 +133,7 @@
           </div>
 
           <!-- Airwallex 钱包 -->
-          <div class="taskListRow flex-col" @click="pushPageList('/airwallex')">
+          <div v-if="isAbroad" class="taskListRow flex-col" @click="pushPageList('/airwallex')">
             <div class="taskIcon airwallexIcon"></div>
             <div class="taskRight">
               <div class="taskTitle">{{ $t("user.airwallex") }}</div>
@@ -215,7 +215,7 @@ import {
   $M_PhoneTest,
 } from "@/common/js/utils";
 import { useRouter } from "vue-router";
-import { tAdminGetRelation, tAdminSetRelationAdmin } from "@/service/user";
+import { tAdminGetRelation, tAdminSetRelationAdmin, getIfForeign } from "@/service/user";
 import { Toast } from "vant";
 import { useI18n } from "vue-i18n";
 import { styleUrl } from "../common/js/utils";
@@ -443,9 +443,22 @@ export default {
         isInWeChat.value = true;
       }
     };
+    const isAbroad = ref(false);
+    const checkIsAbroad = async () => {
+      try {
+        const { data } = await getIfForeign(user.id);
+        console.log("isAbroad >>> ", data);
 
+        if (data.data === '1') {
+          isAbroad.value = true;
+        }
+      } catch (error) {
+        console.error(error);
+      }
+    };
     onMounted(() => {
       checkInWechat();
+      checkIsAbroad();
     })
     // 获取回显的值
     const getAreaName = (e) => {
@@ -475,8 +488,10 @@ export default {
       areaPopFinish,
       isInWeChat,
       getAreaName,
+      isAbroad,
+      checkIsAbroad
     };
-  },
+  }
 };
 </script>