浏览代码

feat(merchant):商家认证和商家信息存储到vuex,图片上传待处理,细节待调整

liude 1 年之前
父节点
当前提交
4728ea6a3d

+ 1 - 1
src/pages/merchant/mine/index.vue

@@ -139,7 +139,7 @@
 
     onLoad() {
       // this.getHeight();
-      this.showAut = true;
+      this.showAut = false;
     },
 
     methods: {

+ 97 - 0
src/pages/merchant/mine/openStore/components/ImgsUpload - copy.vue

@@ -0,0 +1,97 @@
+<template>
+	<view class="imgs-upload-container">
+    <u-upload :fileList="fileList" @afterRead="afterRead" @delete="deletePic" multiple :maxCount="1"
+      width="275" height="150">
+      <image src="https://cdn.uviewui.com/uview/demo/upload/positive.png" mode="widthFix"
+        style="width: 670rpx;height: 150px;"></image>
+    </u-upload>
+    
+	</view>
+</template>
+
+<script>
+export default {
+		props:{
+			filelist:{
+				type:Array
+			},
+			value:{
+				type:Number
+			}
+		},
+		data() {
+			return {
+				fileList: [],
+				img_upload_list: [],
+			}
+		},
+		onLoad(option) {
+		},
+		mounted() {
+		},
+		methods: {
+			// 删除图片
+			deletePic(event) {
+				this[`fileList${event.name}`].splice(event.index, 1)
+				this.img_upload_list.splice(event.index, 1)
+			},
+			// 新增图片
+			async afterRead(event) {
+				// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
+				const { index, file} = event
+				let lists = [].concat(event.file)
+				let fileListLen = this[`fileList${event.name}`].length
+				lists.map((item) => {
+					this[`fileList${event.name}`].push({
+						...item,
+						status: 'uploading',
+						message: '上传中'
+					})
+				})
+				for (let i = 0; i < lists.length; i++) {
+					const result = await this.uploadFilePromise(lists[i].url)
+					let item = this[`fileList${event.name}`][fileListLen]
+					this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
+						status: 'success',
+						message: '',
+						url: result
+					}))
+					fileListLen++
+				}
+			},
+			uploadFilePromise(url) {
+				return new Promise((resolve, reject) => {
+					let a = uni.uploadFile({
+						url: `/maintain/file`, // 仅为示例,非真实的接口地址
+						filePath: url,
+						name: 'file',
+						header: {
+							Authorization: localStorage.getItem('App-Token')
+						},
+						formData: {},
+						success: (res) => {
+							setTimeout(() => {
+								resolve(res.data.data)
+								this.img_upload_list.push(JSON.parse(res.data).data.relativePath)
+								this.$emit('update:filelist', this.img_upload_list)
+							}, 1000)
+						}
+					});
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.upload-textbox {
+		margin-top: 10rpx;
+
+		.upload-img {
+			width: 80rpx;
+			height: 80rpx;
+		}
+
+		.span-box {}
+	}
+</style>

+ 94 - 85
src/pages/merchant/mine/openStore/components/ImgsUpload.vue

@@ -1,97 +1,106 @@
 <template>
-	<view class="imgs-upload-container">
-    <u-upload :fileList="fileList" @afterRead="afterRead" @delete="deletePic" multiple :maxCount="1"
-      width="275" height="150">
+  <view class="imgs-upload-container">
+    <u-upload :fileList="fileList" @afterRead="afterRead" @delete="deletePic" multiple :maxCount="1" width="275"
+      height="150">
       <image src="https://cdn.uviewui.com/uview/demo/upload/positive.png" mode="widthFix"
-        style="width: 670rpx;height: 150px;"></image>
+        style="width: 670rpx; height: 150px"></image>
     </u-upload>
-    
-	</view>
+  </view>
 </template>
 
 <script>
-export default {
-		props:{
-			filelist:{
-				type:Array
-			},
-			value:{
-				type:Number
-			}
-		},
-		data() {
-			return {
-				fileList: [],
-				img_upload_list: [],
-			}
-		},
-		onLoad(option) {
-		},
-		mounted() {
-		},
-		methods: {
-			// 删除图片
-			deletePic(event) {
-				this[`fileList${event.name}`].splice(event.index, 1)
-				this.img_upload_list.splice(event.index, 1)
-			},
-			// 新增图片
-			async afterRead(event) {
-				// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
-				const { index, file} = event
-				let lists = [].concat(event.file)
-				let fileListLen = this[`fileList${event.name}`].length
-				lists.map((item) => {
-					this[`fileList${event.name}`].push({
-						...item,
-						status: 'uploading',
-						message: '上传中'
-					})
-				})
-				for (let i = 0; i < lists.length; i++) {
-					const result = await this.uploadFilePromise(lists[i].url)
-					let item = this[`fileList${event.name}`][fileListLen]
-					this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
-						status: 'success',
-						message: '',
-						url: result
-					}))
-					fileListLen++
-				}
-			},
-			uploadFilePromise(url) {
-				return new Promise((resolve, reject) => {
-					let a = uni.uploadFile({
-						url: `/maintain/file`, // 仅为示例,非真实的接口地址
-						filePath: url,
-						name: 'file',
-						header: {
-							Authorization: localStorage.getItem('App-Token')
-						},
-						formData: {},
-						success: (res) => {
-							setTimeout(() => {
-								resolve(res.data.data)
-								this.img_upload_list.push(JSON.parse(res.data).data.relativePath)
-								this.$emit('update:filelist', this.img_upload_list)
-							}, 1000)
-						}
-					});
-				})
-			},
-		}
-	}
+  import {
+    BASE_URL,
+    uploadFile
+  } from '@/utils/request';
+  export default {
+    props: {
+      filelist: {
+        type: Array,
+      },
+      value: {
+        type: Number,
+      },
+    },
+    data() {
+      return {
+        fileList: [],
+        img_upload_list: [],
+      };
+    },
+    onLoad(option) {},
+    mounted() {},
+    methods: {
+      deletePic(event) {
+        this[`fileList${event.name}`].splice(event.index, 1);
+        this.img_upload_list.splice(event.index, 1);
+      },
+      async afterRead(event) {
+        let lists = [].concat(event.file);
+        let fileListLen = this[`fileList${event.name}`].length;
+
+        lists.map(item => {
+          this[`fileList${event.name}`].push({
+            ...item,
+            status: 'uploading',
+            message: '上传中',
+          });
+        });
+
+        for (let i = 0; i < lists.length; i++) {
+          const result = await this.uploadFilePromise(lists[i].url);
+          let item = this[`fileList${event.name}`][fileListLen];
+          this[`fileList${event.name}`].splice(
+            fileListLen,
+            1,
+            Object.assign(item, {
+              status: 'success',
+              message: '',
+              url: result,
+            }),
+          );
+          fileListLen++;
+        }
+      },
+      uploadFilePromise(url) {
+        uploadFile(url).then(res => {
+          console.log(res, "6666666666666");
+        })
+        return
+        return new Promise((resolve, reject) => {
+          const access_token = this.$store.getters.access_token;
+          let a = uni.uploadFile({
+            url: `${BASE_URL}/maintain/file`,
+            filePath: url,
+            name: 'File',
+            header: {
+              Authorization: `Bearer ${access_token}`,
+              'Content-Type': 'application/json; charset=utf-8',
+            },
+            formData: {},
+            success: res => {
+              setTimeout(() => {
+                resolve(res.data.data);
+                // this.img_upload_list.push(JSON.parse(res.data).data.relativePath)
+                this.$emit('update:filelist', this.img_upload_list);
+              }, 1000);
+            },
+          });
+        });
+      },
+    },
+  };
 </script>
 
 <style lang="scss" scoped>
-	.upload-textbox {
-		margin-top: 10rpx;
+  .upload-textbox {
+    margin-top: 10rpx;
 
-		.upload-img {
-			width: 80rpx;
-			height: 80rpx;
-		}
+    .upload-img {
+      width: 80rpx;
+      height: 80rpx;
+    }
 
-		.span-box {}
-	}
+    .span-box {}
+  }
 </style>

+ 166 - 134
src/pages/merchant/mine/openStore/corporateInformation.vue

@@ -1,11 +1,15 @@
 <template>
   <view class="container">
-    <u-form :model="form" ref="uForm" labelPosition="left" labelWidth="80" :rules="rules">
+    <u-form :model="legalInfo" ref="uForm" labelPosition="left" labelWidth="80" :rules="rules">
       <view class="content-box">
         <view class="content-item">
           <u-form-item prop="corporateName" required label="法人名称" right>
             <view class="item-r">
-              <u--input placeholder="请输入法人名称" border="surround" v-model="form.corporateName"></u--input>
+              <u--input
+                placeholder="请输入法人名称"
+                border="surround"
+                v-model="legalInfo.corporateName"
+              ></u--input>
             </view>
           </u-form-item>
         </view>
@@ -13,7 +17,7 @@
         <view class="content-item">
           <u-form-item prop="sexName" required label="性别" right @click="showSex = true">
             <view class="item-r">
-              <u--input placeholder="请选择性别" border="surround" v-model="form.sexName" />
+              <u--input placeholder="请选择性别" border="surround" v-model="legalInfo.sexName" />
             </view>
           </u-form-item>
         </view>
@@ -21,7 +25,11 @@
         <view class="content-item">
           <u-form-item prop="idNumber" required label="证件号" right>
             <view class="item-r">
-              <u--input placeholder="请输入证件号" border="surround" v-model="form.idNumber"></u--input>
+              <u--input
+                placeholder="请输入证件号"
+                border="surround"
+                v-model="legalInfo.idNumber"
+              ></u--input>
             </view>
           </u-form-item>
         </view>
@@ -29,7 +37,12 @@
         <view class="content-item">
           <u-form-item prop="documentType" required label="证件类型" right>
             <view class="item-r">
-              <u--input placeholder="居民身份证" border="surround" v-model="form.documentType" disabled></u--input>
+              <u--input
+                placeholder="居民身份证"
+                border="surround"
+                v-model="legalInfo.documentType"
+                disabled
+              ></u--input>
             </view>
           </u-form-item>
         </view>
@@ -37,7 +50,11 @@
         <view class="content-item">
           <u-form-item prop="validity" required label="有效期" right @click="showPicker = true">
             <view class="item-r">
-              <u--input placeholder="请输入证件有效期" border="surround" v-model="form.validity"></u--input>
+              <u--input
+                placeholder="请输入证件有效期"
+                border="surround"
+                v-model="legalInfo.validity"
+              ></u--input>
             </view>
           </u-form-item>
         </view>
@@ -61,162 +78,177 @@
     <button class="btn" @click="handlerSkipNext">下一步</button>
 
     <!-- 性别 -->
-    <u-action-sheet :show="showSex" :actions="actions" title="请选择性别" description="如果选择保密会报错" @close="showSex = false"
-      @select="sexSelect">
+    <u-action-sheet
+      :show="showSex"
+      :actions="actions"
+      title="请选择性别"
+      description="如果选择保密会报错"
+      @close="showSex = false"
+      @select="sexSelect"
+    >
     </u-action-sheet>
 
     <!-- 时间 -->
-    <u-datetime-picker :show="showPicker" v-model="valueDate" mode="datetime" @cancel="showPicker = false"
-      @confirm="handleConfirm"></u-datetime-picker>
+    <u-datetime-picker
+      :show="showPicker"
+      v-model="valueDate"
+      mode="datetime"
+      @cancel="showPicker = false"
+      @confirm="handleConfirm"
+    ></u-datetime-picker>
   </view>
 </template>
 
 <script>
-  import ImgsUpload from '@/pages/merchant/mine/openStore/components/ImgsUpload.vue';
-  export default {
-    components: {
-      ImgsUpload,
-    },
-    data() {
-      return {
-        filelist: [],
-        showSex: false,
-        showPicker: false,
-        valueDate: Number(new Date()),
-        actions: [{
-            index: '1',
-            name: '男',
-          },
-          {
-            index: '2',
-            name: '女',
-          },
-          {
-            index: '0',
-            name: '保密',
-          },
-        ],
-        form: {
-          corporateName: '',
-          sexName: '',
-          idNumber: '',
-          validity: '',
-          frontImage: '',
-          reverseImage: '',
+import ImgsUpload from '@/pages/merchant/mine/openStore/components/ImgsUpload.vue';
+export default {
+  components: {
+    ImgsUpload,
+  },
+  data() {
+    return {
+      filelist: [],
+      showSex: false,
+      showPicker: false,
+      valueDate: Number(new Date()),
+      actions: [
+        {
+          index: '1',
+          name: '男',
         },
-        rules: {
-          corporateName: {
-            type: 'string',
-            required: true,
-            message: '请输入法人名称',
-            trigger: ['blur', 'change'],
-          },
-          sexName: {
-            type: 'string',
-            required: true,
-            message: '请选择性别',
-            trigger: ['blur', 'change'],
-          },
-          idNumber: {
-            type: 'string',
-            required: true,
-            message: '请输入证件号',
-            trigger: ['blur', 'change'],
-          },
-          validity: {
-            type: 'string',
-            required: true,
-            message: '请输入证件有效期',
-            trigger: ['blur', 'change'],
-          },
+        {
+          index: '2',
+          name: '女',
         },
-      };
-    },
-    methods: {
-      // 跳转到4/4资质信息
-      handlerSkipNext() {
+        {
+          index: '0',
+          name: '保密',
+        },
+      ],
+      legalInfo: {
+        corporateName: '',
+        sexName: '',
+        idNumber: '',
+        validity: '',
+        frontImage: '',
+        reverseImage: '',
+      },
+      rules: {
+        corporateName: {
+          type: 'string',
+          required: true,
+          message: '请输入法人名称',
+          trigger: ['blur', 'change'],
+        },
+        sexName: {
+          type: 'string',
+          required: true,
+          message: '请选择性别',
+          trigger: ['blur', 'change'],
+        },
+        idNumber: {
+          type: 'string',
+          required: true,
+          message: '请输入证件号',
+          trigger: ['blur', 'change'],
+        },
+        validity: {
+          type: 'string',
+          required: true,
+          message: '请输入证件有效期',
+          trigger: ['blur', 'change'],
+        },
+      },
+    };
+  },
+  methods: {
+    // 跳转到4/4资质信息
+    handlerSkipNext() {
+      this.$store.commit("SET_LEGALINFO", this.legalInfo)
+      setTimeout(() => {
         uni.navigateTo({
           url: '/pages/merchant/mine/openStore/qualificationInformation',
         });
-        console.log(this.form);
-      },
-      change(e) {
-        console.log('e:', e);
-      },
-      sexSelect(e) {
-        // this.model1.userInfo.sex = e.name
-        // this.$refs.uForm.validateField('userInfo.sex')
-      },
-      handleConfirm(value) {
-        console.log(value);
-        this.showPicker = false;
-      },
+      }, 1500);
+      console.log(this.legalInfo);
+    },
+    change(e) {
+      console.log('e:', e);
+    },
+    sexSelect(e) {
+      // this.model1.userInfo.sex = e.name
+      // this.$refs.uForm.validateField('userInfo.sex')
     },
-  };
+    handleConfirm(value) {
+      console.log(value);
+      this.showPicker = false;
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-  .container {
-    background-color: #f7f7f7 !important;
-    padding-bottom: 40rpx;
-
-    .top-box {
-      color: #666666;
-      font-size: 26rpx;
-      text-align: center;
-      padding: 20rpx 40rpx;
-      background-color: #fff;
-    }
-
-    .content-box {
-      padding: 20rpx 40rpx;
-      background-color: #fff;
-      margin: 10rpx 0;
+.container {
+  background-color: #f7f7f7 !important;
+  padding-bottom: 40rpx;
+
+  .top-box {
+    color: #666666;
+    font-size: 26rpx;
+    text-align: center;
+    padding: 20rpx 40rpx;
+    background-color: #fff;
+  }
 
-      .content-item {
-        .item-r {
-          background-color: #f7f7f7;
-          border-radius: 20rpx;
+  .content-box {
+    padding: 20rpx 40rpx;
+    background-color: #fff;
+    margin: 10rpx 0;
 
-          .data_select {
-            width: 90%;
-          }
+    .content-item {
+      .item-r {
+        background-color: #f7f7f7;
+        border-radius: 20rpx;
 
-          ::v-deep .u-form-item {
-            width: 100%;
-          }
+        .data_select {
+          width: 90%;
+        }
 
-          ::v-deep .u-form-item__body {
-            padding: 0;
-          }
+        ::v-deep .u-form-item {
+          width: 100%;
         }
-      }
 
-      .upload-text {
-        text-align: center;
-        color: #666666;
-        font-size: 28rpx;
-        margin-top: 20rpx;
+        ::v-deep .u-form-item__body {
+          padding: 0;
+        }
       }
     }
 
-    .btn {
-      background-color: #5992bb !important;
-      color: #fff;
-      font-size: 32rpx;
-      border-radius: 40rpx;
-      margin-top: 100rpx;
-      margin-bottom: 100rpx;
-      width: 95%;
+    .upload-text {
+      text-align: center;
+      color: #666666;
+      font-size: 28rpx;
+      margin-top: 20rpx;
     }
   }
 
-  ::v-deep .uni-select {
-    border: none !important;
+  .btn {
+    background-color: #5992bb !important;
+    color: #fff;
+    font-size: 32rpx;
+    border-radius: 40rpx;
+    margin-top: 100rpx;
+    margin-bottom: 100rpx;
+    width: 95%;
   }
+}
 
-  ::v-deep .uni-select__input-placeholder {
-    font-size: 28rpx !important;
-    color: #cbced4 !important;
-  }
+::v-deep .uni-select {
+  border: none !important;
+}
+
+::v-deep .uni-select__input-placeholder {
+  font-size: 28rpx !important;
+  color: #cbced4 !important;
+}
 </style>

+ 3 - 2
src/pages/merchant/mine/openStore/messageSubmit.vue

@@ -81,8 +81,9 @@ export default {
     color: #fff;
     font-size: 32rpx;
     border-radius: 40rpx;
-    margin-top: 40rpx;
-    width: 55%;
+    margin-top: 100rpx;
+    margin-bottom: 100rpx;
+    width: 90%;
   }
 }
 </style>

+ 20 - 19
src/pages/merchant/mine/openStore/openStoreAppealDetail.vue

@@ -7,19 +7,19 @@
 
     <view class="content-item">
       <view class="item-l">
-        <p>负责人 : {{ merchantAuthList.legalRepresentativeName || "--" }}</p>
-        <p>手机号 : {{ merchantAuthList.mobileNumber || "--" }}</p>
+        <p>负责人 : {{ merchantAuthList.legalRepresentativeName || '--' }}</p>
+        <p>手机号 : {{ merchantAuthList.mobileNumber || '--' }}</p>
       </view>
       <img class="img" src="@/static/mine/icon_mine_underReview.png" alt="" />
     </view>
 
     <view class="content-item">
       <view class="item-l">
-        <p>店名 :  {{ merchant.name || "--" }}</p>
-        <p>店铺类型 : {{ merchantAuthList.mobileNumber || "--" }}</p>
-        <p>手机号 :   {{ merchantAuthList.mobileNumber || "--" }}</p>
-        <p>所在地 :  {{ merchantAuthList.storeAddress || "--" }}</p>
-        <p>详细地址 :  {{ merchant.address || "--" }}</p>
+        <p>店名 : {{ merchant.name || '--' }}</p>
+        <p>店铺类型 : {{ merchantAuthList.mobileNumber || '--' }}</p>
+        <p>手机号 : {{ merchantAuthList.mobileNumber || '--' }}</p>
+        <p>所在地 : {{ merchantAuthList.storeAddress || '--' }}</p>
+        <p>详细地址 : {{ merchant.address || '--' }}</p>
       </view>
     </view>
 
@@ -36,10 +36,10 @@
 
     <view class="content-item2">
       <view class="item-l">
-        <p>法人姓名 :  {{ merchantAuthList.legalRepresentativeName || "--" }}</p>
-        <p>性别 :  {{ merchantAuthList.legalRepresentativeGender || "--" }}</p>
-        <p>证件号码 : {{ merchantAuthList.idCardNumber || "--" }}</p>
-        <p>有效期 :  {{ merchantAuthList.idCardExpirationDate || "--" }}</p>
+        <p>法人姓名 : {{ merchantAuthList.legalRepresentativeName || '--' }}</p>
+        <p>性别 : {{ merchantAuthList.legalRepresentativeGender || '--' }}</p>
+        <p>证件号码 : {{ merchantAuthList.idCardNumber || '--' }}</p>
+        <p>有效期 : {{ merchantAuthList.idCardExpirationDate || '--' }}</p>
       </view>
       <view class="item2-box">
         <img class="img2" src="@/static/logo.png" alt="" />
@@ -53,9 +53,9 @@
 
     <view class="content-item2">
       <view class="item-l">
-        <p>证件名称 :  营业执照</p>
-        <p>证件编号 :  {{ merchantAuthList.mobileNumber || "--" }}</p>
-        <p>有效期 : {{ merchantAuthList.mobileNumber || "--" }}</p>
+        <p>证件名称 : 营业执照</p>
+        <p>证件编号 : {{ merchantAuthList.mobileNumber || '--' }}</p>
+        <p>有效期 : {{ merchantAuthList.mobileNumber || '--' }}</p>
       </view>
       <view class="item2-box">
         <img class="img2" src="@/static/logo.png" alt="" />
@@ -65,16 +65,15 @@
 
     <view class="content-item2">
       <view class="item-l">
-        <p>证件名称 :  经营许可证</p>
-        <p>证件编号 :  {{ merchantAuthList.mobileNumber || "--" }}</p>
-        <p>有效期 : {{ merchantAuthList.mobileNumber || "--" }}</p>
+        <p>证件名称 : 经营许可证</p>
+        <p>证件编号 : {{ merchantAuthList.mobileNumber || '--' }}</p>
+        <p>有效期 : {{ merchantAuthList.mobileNumber || '--' }}</p>
       </view>
       <view class="item2-box">
         <img class="img2" src="@/static/logo.png" alt="" />
         <view class="img-text">证件正面图</view>
       </view>
     </view>
-
   </view>
 </template>
 
@@ -88,7 +87,6 @@ export default {
     };
   },
   methods: {
-
     async getMerchantAuth() {
       let res = await getMerchantAuthData();
       console.log('@@@res', res);
@@ -96,6 +94,9 @@ export default {
       if (res.code == 200) {
         this.merchantAuthList = res.data;
         this.merchant = res.data = res.data.merchant;
+
+        // 将数据存储到vuex中
+        this.$store.commit('SET_MERCHANTINFO', res.data);
       }
     },
   },

+ 32 - 25
src/pages/merchant/mine/openStore/qualificationInformation.vue

@@ -1,7 +1,7 @@
 <template>
   <view class="container">
     <!-- <u-form :model="form" ref="uForm" labelPosition="left" labelWidth="80" :rules="rules"> -->
-    <u-form :model="form" ref="uForm" labelPosition="left" labelWidth="80">
+    <u-form :model="aptitudeInfo" ref="uForm" labelPosition="left" labelWidth="80">
       <!-- =====================证件类型===================== -->
       <view class="content-box">
         <view class="content-item">
@@ -11,17 +11,12 @@
         </view>
 
         <view class="content-item">
-          <u-form-item
-            prop="businessLicenseId"
-            required
-            label="证件编号"
-            right
-          >
+          <u-form-item prop="businessLicenseId" required label="证件编号" right>
             <view class="item-r">
               <u--input
                 placeholder="请输入证件编号"
                 border="surround"
-                v-model="form.businessLicenseId"
+                v-model="aptitudeInfo.businessLicenseId"
               />
             </view>
           </u-form-item>
@@ -39,8 +34,7 @@
               <u--input
                 placeholder="请输入证件有效期"
                 border="surround"
-                v-model="form.businessLicenseDate"
-               
+                v-model="aptitudeInfo.businessLicenseDate"
               />
             </view>
           </u-form-item>
@@ -62,17 +56,12 @@
           </u-form-item>
         </view>
         <view class="content-item">
-          <u-form-item
-            prop="businessLicenseNumberValid"
-            required
-            label="证件编号"
-            right
-          >
+          <u-form-item prop="businessLicenseNumberValid" required label="证件编号" right>
             <view class="item-r">
               <u--input
                 placeholder="请输入证件编号"
                 border="surround"
-                v-model="form.businessLicenseNumberValid"
+                v-model="aptitudeInfo.businessLicenseNumberValid"
               />
             </view>
           </u-form-item>
@@ -89,7 +78,7 @@
               <u--input
                 placeholder="请输入证件有效期"
                 border="surround"
-                v-model="form.businessLicenseExpirationDateValid"
+                v-model="aptitudeInfo.businessLicenseExpirationDateValid"
               />
             </view>
           </u-form-item>
@@ -118,11 +107,14 @@
 
 <script>
 import ImgsUpload from '@/pages/merchant/mine/openStore/components/ImgsUpload.vue';
+import { addMerchantAuth } from '@/api/merchant/merchantAuth';
+import { mapGetters } from 'vuex';
+
 export default {
   data() {
     return {
       filelist: [],
-      form: {
+      aptitudeInfo: {
         businessLicenseId: '',
         businessLicenseDate: '',
         frontImage: '',
@@ -161,22 +153,37 @@ export default {
     };
   },
   components: { ImgsUpload },
+  computed: {
+    ...mapGetters(['storeInfo']),
+  },
   methods: {
     // 跳转到提交成功页面
     handlerSkipNext() {
-      uni.navigateTo({
-        url: '/pages/merchant/mine/openStore/messageSubmit',
+      console.log(this, "EEE");
+      /* 发起认证 */
+      addMerchantAuth().then(res => {
+        console.log(res);
+
+        /* 将数据存储 */
+        this.$store.commit('SET_APTITUDEINFO', this.aptitudeInfo);
+
+        /* 路由跳转 */
+        setTimeout(() => {
+          uni.navigateTo({
+            url: '/pages/merchant/mine/openStore/messageSubmit',
+          });
+        }, 2000);
       });
 
-      console.log(this.form);
+      console.log(this.aptitudeInfo);
     },
     change(e) {
       console.log('e:', e);
     },
     handleConfirm(value) {
-        console.log(value);
-        this.showPicker = false;
-      },
+      console.log(value);
+      this.showPicker = false;
+    },
   },
 };
 </script>

+ 0 - 216
src/pages/merchant/mine/openStore/storeInformation copy.vue

@@ -1,216 +0,0 @@
-<template>
-  <view class="container">
-    <view class="top-box">
-      为了方便我们与您尽快联系达成合作,请如实填写以下资料,谢谢您的支持与配合
-    </view>
-    
-    <view class="content-box">
-      <view class="content-item">
-        <view class="item-l"> 负责人 </view>
-        <view class="item-r">
-          <u--input
-            placeholder="请输入负责人名称"
-            border="surround"
-            v-model="authInfo.person"
-          ></u--input>
-        </view>
-      </view>
-      <view class="content-item">
-        <view class="item-l"> 手机号码 </view>
-        <view class="item-r">
-          <u--input
-            placeholder="请输入手机号码"
-            border="surround"
-            v-model="authInfo.phone"
-            type="number"
-          ></u--input>
-        </view>
-      </view>
-    </view>
-    <!-- 暂时注释 -->
-    <!-- <view class="content-box">
-      <view class="content-item">
-        <view class="item-l"> 主营服务 </view>
-        <view class="item-r">
-          <u--input placeholder="请选择主营服务" border="surround" suffixIcon="arrow-right" v-model="value" ></u--input> 111
-          <uni-data-select
-            class="data_select"
-            placeholder="请选择主营服务"
-            v-model="value1"
-            :localdata="range"
-            @change="change"
-          ></uni-data-select>
-          <u-icon name="arrow-right" color="#97989A" size="18"></u-icon>
-        </view>
-      </view>
-      <view class="content-item">
-        <view class="item-l"> 辅营服务 </view>
-        <view class="item-r">
-          <u--input placeholder="请选择辅营服务" border="surround" suffixIcon="arrow-right" v-model="value"
-            ></u--input>
-          <uni-data-select
-            class="data_select"
-            placeholder="请选择辅营服务"
-            v-model="value1"
-            :localdata="range"
-            @change="change"
-          ></uni-data-select>
-          <u-icon name="arrow-right" color="#97989A" size="18"></u-icon>
-        </view>
-      </view>
-    </view> -->
-
-    <view class="content-box">
-      <view class="content-item">
-        <view class="item-l"> 店铺名称 </view>
-        <view class="item-r">
-          <u--input
-            placeholder="请输入店铺名称"
-            border="surround"
-            v-model="authInfo.shopName"
-          ></u--input>
-        </view>
-      </view>
-      <view class="content-item">
-        <view class="item-l"> 所在地 </view>
-        <view class="item-r">
-          <u--input
-            placeholder="请选择所在地"
-            border="surround"
-            suffixIcon="arrow-right"
-            v-model="value"
-          ></u--input>
-        </view>
-      </view>
-      <view class="content-item">
-        <view class="item-l"> 详细地址 </view>
-        <view class="item-r">
-          <u--input placeholder="请输入门店详细地址" border="surround" v-model="value"></u--input>
-        </view>
-      </view>
-    </view>
-
-    <view class="content-box">
-      <imgs-upload :filelist.sync="filelist"></imgs-upload>
-      <p class="upload-text">店铺门面图(需要包含完整牌匾)</p>
-    </view>
-
-    <view class="content-box">
-      <imgs-upload :filelist.sync="filelist"></imgs-upload>
-      <p class="upload-text">店内真实环境图</p>
-    </view>
-
-    <button class="btn" @click="handlerSkipNext">下一步</button>
-  </view>
-</template>
-
-<script>
-import ImgsUpload from '@/pages/merchant/mine/openStore/components/ImgsUpload.vue';
-export default {
-  data() {
-    return {
-      fileList: [],
-      authInfo: {
-        shopName: '', //店铺名
-        person: "",
-        phone: ""
-      },
-      // range: [
-      //   {
-      //     value: 0,
-      //     text: '篮球',
-      //   },
-      //   {
-      //     value: 1,
-      //     text: '足球',
-      //   },
-      //   {
-      //     value: 2,
-      //     text: '游泳',
-      //   },
-      // ],
-    };
-  },
-  components: { ImgsUpload },
-  methods: {
-    handlerSkipNext() {
-      uni.navigateTo({
-        url: '/pages/merchant/mine/openStore/corporateInformation',
-      });
-    },
-    change(e) {
-      console.log('e:', e);
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.container {
-  background-color: #f7f7f7 !important;
-  padding-bottom: 40rpx;
-  .top-box {
-    color: #666666;
-    font-size: 26rpx;
-    text-align: center;
-    padding: 20rpx 40rpx;
-    background-color: #fff;
-  }
-
-  .content-box {
-    padding: 20rpx 40rpx;
-    background-color: #fff;
-    margin: 10rpx 0;
-
-    .content-item {
-      display: flex;
-      align-items: center;
-      justify-content: space-around;
-      width: 100%;
-      margin: 20rpx 0;
-
-      .item-l {
-        width: 30%;
-      }
-
-      .item-r {
-        width: 70%;
-        background-color: #f7f7f7;
-        border-radius: 20rpx;
-        display: flex;
-
-        .data_select {
-          width: 90%;
-        }
-      }
-    }
-    .upload-text {
-      text-align: center;
-      color: #666666;
-      font-size: 28rpx;
-      margin-top: 20rpx;
-    }
-  }
-
-  .btn {
-    background-color: #5992bb !important;
-    color: #fff;
-    font-size: 32rpx;
-    border-radius: 40rpx;
-    margin-top: 40rpx;
-    width: 95%;
-  }
-}
-
-::v-deep .u-input__content__field-wrapper__field.data-v-fdbb9fe6 {
-}
-
-::v-deep .uni-select {
-  border: none !important;
-}
-
-::v-deep .uni-select__input-placeholder {
-  font-size: 28rpx !important;
-  color: #cbced4 !important;
-}
-</style>

+ 207 - 179
src/pages/merchant/mine/openStore/storeInformation.vue

@@ -4,20 +4,27 @@
       为了方便我们与您尽快联系达成合作,请如实填写以下资料,谢谢您的支持与配合
     </view>
 
-    <u-form :model="form" ref="uForm" labelPosition="left" :rules="rules" labelWidth="80">
-      <!-- <u-form :model="form" ref="uForm" labelPosition="left" labelWidth="80"> -->
+    <u-form :model="storeInfo" ref="uForm" labelPosition="left" :rules="rules" labelWidth="80">
       <view class="content-box">
         <view class="content-item">
           <u-form-item prop="name" required label="姓名" right>
             <view class="item-r">
-              <u--input placeholder="请输入负责人名称" border="surround" v-model="form.name"></u--input>
+              <u--input
+                placeholder="请输入负责人名称"
+                border="surround"
+                v-model="storeInfo.name"
+              ></u--input>
             </view>
           </u-form-item>
         </view>
         <view class="content-item">
           <u-form-item prop="mobileNumber" required label="手机号码" right>
             <view class="item-r">
-              <u--input placeholder="请输入手机号码" border="surround" v-model="form.mobileNumber"></u--input>
+              <u--input
+                placeholder="请输入手机号码"
+                border="surround"
+                v-model="storeInfo.mobileNumber"
+              ></u--input>
             </view>
           </u-form-item>
         </view>
@@ -26,21 +33,34 @@
         <view class="content-item">
           <u-form-item prop="storeName" required label="店铺名称" right>
             <view class="item-r">
-              <u--input placeholder="请输入店铺名称" border="surround" v-model="form.storeName"></u--input>
+              <u--input
+                placeholder="请输入店铺名称"
+                border="surround"
+                v-model="storeInfo.storeName"
+              ></u--input>
             </view>
           </u-form-item>
         </view>
         <view class="content-item">
           <u-form-item prop="area" required label="所在地区" right>
             <view class="item-r">
-              <u--input placeholder="请选择所在地区" border="surround" v-model="form.area" @focus="handlerChange"></u--input>
+              <u--input
+                placeholder="请选择所在地区"
+                border="surround"
+                v-model="storeInfo.area"
+                @focus="handlerChange"
+              ></u--input>
             </view>
           </u-form-item>
         </view>
         <view class="content-item">
           <u-form-item prop="storeAddress" required label="详细地址" right>
             <view class="item-r">
-              <u--input placeholder="请输入门店详细地址" border="surround" v-model="form.storeAddress"></u--input>
+              <u--input
+                placeholder="请输入门店详细地址"
+                border="surround"
+                v-model="storeInfo.storeAddress"
+              ></u--input>
             </view>
           </u-form-item>
         </view>
@@ -51,7 +71,6 @@
           <imgs-upload :filelist.sync="filelist"></imgs-upload>
           <p class="upload-text">店铺门面图(需要包含完整牌匾)</p>
         </u-form-item>
-
       </view>
 
       <view class="content-box">
@@ -64,212 +83,221 @@
     <button class="btn" @click="handlerSkipNext">下一步</button>
 
     <!-- 地区 -->
-    <u-picker :show="show" ref="uPicker" :columns="cityList" @confirm="confirm" @change="changeHandler"
-      @cancel="show = false"></u-picker>
+    <u-picker
+      :show="show"
+      ref="uPicker"
+      :columns="cityList"
+      @confirm="confirm"
+      @change="changeHandler"
+      @cancel="show = false"
+    ></u-picker>
   </view>
 </template>
 
 <script>
-  import ImgsUpload from '@/pages/merchant/mine/openStore/components/ImgsUpload.vue';
-  // 导入城市js文件
-  import cityData from '@/utils/city';
-  export default {
-    components: {
-      ImgsUpload,
-    },
-    data() {
-      return {
-        fileList: [],
-        form: {
-          area: '',
-          storeAddress: "",
-          name: "",
-          mobileNumber: "",
-          storeName: "",
-          shopFacade: "",
-          realFacade: ""
+import ImgsUpload from '@/pages/merchant/mine/openStore/components/ImgsUpload.vue';
+// 导入城市js文件
+import cityData from '@/utils/city';
+export default {
+  components: {
+    ImgsUpload,
+  },
+  data() {
+    return {
+      fileList: [],
+      storeInfo: {
+        area: '',
+        storeAddress: '',
+        name: '',
+        mobileNumber: '',
+        storeName: '',
+        shopFacade: '',
+        realFacade: '',
+      },
+      rules: {
+        name: {
+          type: 'string',
+          required: true,
+          message: '请输入负责人名称',
+          trigger: ['blur', 'change'],
         },
-        rules: {
-          name: {
-            type: 'string',
-            required: true,
-            message: '请输入负责人名称',
-            trigger: ['blur', 'change']
-          },
-          storeName: {
-            type: 'string',
-            required: true,
-            message: '请输入店铺名',
-            trigger: ['blur', 'change']
-          },
-          storeAddress: {
-            type: 'string',
+        storeName: {
+          type: 'string',
+          required: true,
+          message: '请输入店铺名',
+          trigger: ['blur', 'change'],
+        },
+        storeAddress: {
+          type: 'string',
+          required: true,
+          message: '请输入详细地址',
+          trigger: ['blur', 'change'],
+        },
+        mobileNumber: [
+          {
             required: true,
-            message: '请输入详细地址',
-            trigger: ['blur', 'change']
+            message: '请输入手机号码',
+            trigger: ['blur', 'change'],
           },
-          mobileNumber: [{
-              required: true,
-              message: '请输入手机号码',
-              trigger: ['blur', 'change'],
+          {
+            validator: (rule, value, callback) => {
+              return uni.$u.test.mobile(value);
             },
-            {
-              validator: (rule, value, callback) => {
-                return uni.$u.test.mobile(value);
-              },
-              message: '手机号码不正确',
-              trigger: ['change', 'blur'],
-            }
-          ],
-          area: [{
+            message: '手机号码不正确',
+            trigger: ['change', 'blur'],
+          },
+        ],
+        area: [
+          {
             required: true,
             message: '请选择所在地区',
             trigger: ['change', 'blur'],
-          }, ],
-        },
-        //显示选择器
-        show: false,
-        // 打开选择器显示默认城市
-        cityList: [],
-        cityLevel1: [],
-        cityLevel2: [],
-        cityLevel3: [],
-      };
-    },
-    onShow() {
-      this.initCityData()
-    },
-    methods: {
-      initCityData() {
-        // 遍历城市js
-        cityData.forEach((item1, index1) => {
-          let temp2 = [];
-          this.cityLevel1.push(item1.provinceName);
+          },
+        ],
+      },
+      show: false, //显示选择器
+      // 打开选择器显示默认城市
+      cityList: [],
+      cityLevel1: [],
+      cityLevel2: [],
+      cityLevel3: [],
+    };
+  },
+  onShow() {
+    this.initCityData();
+  },
+  methods: {
+    initCityData() {
+      // 遍历城市js
+      cityData.forEach((item1, index1) => {
+        let temp2 = [];
+        this.cityLevel1.push(item1.provinceName);
 
-          let temp4 = [];
-          let temp3 = [];
-          // 遍历市
-          item1.cities.forEach((item2, index2) => {
-            temp2.push(item2.cityName);
-            // 遍历区
-            item2.counties.forEach((item3, index3) => {
-              temp3.push(item3.countyName);
-            });
-            temp4[index2] = temp3;
-            temp3 = [];
+        let temp4 = [];
+        let temp3 = [];
+        // 遍历市
+        item1.cities.forEach((item2, index2) => {
+          temp2.push(item2.cityName);
+          // 遍历区
+          item2.counties.forEach((item3, index3) => {
+            temp3.push(item3.countyName);
           });
-          this.cityLevel3[index1] = temp4;
-          this.cityLevel2[index1] = temp2;
+          temp4[index2] = temp3;
+          temp3 = [];
         });
-        // 选择器默认城市
-        this.cityList.push(this.cityLevel1, this.cityLevel2[0], this.cityLevel3[0][0]);
-      },
-      // 选中时执行
-      changeHandler(e) {
-        const {
-          columnIndex,
-          index,
-          indexs,
-          value,
-          values,
-          // 微信小程序无法将picker实例传出来,只能通过ref操作
-          picker = this.$refs.uPicker,
-        } = e;
-        if (columnIndex === 0) {
-          // 选择第一列数据时
-          // 设置第二列关联数据
-          picker.setColumnValues(1, this.cityLevel2[index]);
-          // 设置第三列关联数据
-          picker.setColumnValues(2, this.cityLevel3[index][columnIndex]);
-        } else if (columnIndex === 1) {
-          // 选择第二列数据时
-          // 设置第三列关联数据
-          picker.setColumnValues(2, this.cityLevel3[indexs[0]][index]);
-        }
-      },
-      // 单击确认按钮时执行
-      confirm(e) {
-        this.form.area = e.value.join("")
-        // 隐藏城市选择器
-        this.show = false;
-      },
-      handlerChange() {
-        this.show = true;
-      },
-      handlerSkipNext() {
+        this.cityLevel3[index1] = temp4;
+        this.cityLevel2[index1] = temp2;
+      });
+      // 选择器默认城市
+      this.cityList.push(this.cityLevel1, this.cityLevel2[0], this.cityLevel3[0][0]);
+    },
+    // 选中时执行
+    changeHandler(e) {
+      const {
+        columnIndex,
+        index,
+        indexs,
+        value,
+        values,
+        // 微信小程序无法将picker实例传出来,只能通过ref操作
+        picker = this.$refs.uPicker,
+      } = e;
+      if (columnIndex === 0) {
+        // 选择第一列数据时 设置第二列关联数据
+        picker.setColumnValues(1, this.cityLevel2[index]);
+        // 设置第三列关联数据
+        picker.setColumnValues(2, this.cityLevel3[index][columnIndex]);
+      } else if (columnIndex === 1) {
+        // 选择第二列数据时 设置第三列关联数据
+        picker.setColumnValues(2, this.cityLevel3[indexs[0]][index]);
+      }
+    },
+    // 单击确认按钮时执行
+    confirm(e) {
+      this.storeInfo.area = e.value.join('');
+      // 隐藏城市选择器
+      this.show = false;
+    },
+    handlerChange() {
+      this.show = true;
+    },
+    handlerSkipNext() {
+      this.$store.commit('SET_STOREINFO', this.storeInfo);
+      setTimeout(() => {
         uni.navigateTo({
           url: '/pages/merchant/mine/openStore/corporateInformation',
         });
-        console.log(this.form, "@this.form");
+      }, 1500);
 
-      },
+      console.log(this.storeInfo, '@this.storeInfo');
     },
-  };
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-  .container {
-    background-color: #f7f7f7 !important;
-    padding-bottom: 40rpx;
+.container {
+  background-color: #f7f7f7 !important;
+  padding-bottom: 40rpx;
 
-    .top-box {
-      color: #666666;
-      font-size: 26rpx;
-      text-align: center;
-      padding: 20rpx 40rpx;
-      background-color: #fff;
-    }
-
-    .content-box {
-      padding: 20rpx 40rpx;
-      background-color: #fff;
-      margin: 10rpx 0;
+  .top-box {
+    color: #666666;
+    font-size: 26rpx;
+    text-align: center;
+    padding: 20rpx 40rpx;
+    background-color: #fff;
+  }
 
-      .content-item {
-        .item-r {
-          background-color: #f7f7f7;
-          border-radius: 20rpx;
-          display: flex;
+  .content-box {
+    padding: 20rpx 40rpx;
+    background-color: #fff;
+    margin: 10rpx 0;
 
-          .data_select {
-            width: 90%;
-          }
+    .content-item {
+      .item-r {
+        background-color: #f7f7f7;
+        border-radius: 20rpx;
+        display: flex;
 
-          ::v-deep .u-form-item {
-            width: 100%;
-          }
+        .data_select {
+          width: 90%;
+        }
 
-          ::v-deep .u-form-item__body {
-            padding: 0;
-          }
+        ::v-deep .u-form-item {
+          width: 100%;
         }
-      }
 
-      .upload-text {
-        text-align: center;
-        color: #666666;
-        font-size: 28rpx;
-        margin-top: 20rpx;
+        ::v-deep .u-form-item__body {
+          padding: 0;
+        }
       }
     }
 
-    .btn {
-      background-color: #5992bb !important;
-      color: #fff;
-      font-size: 32rpx;
-      border-radius: 40rpx;
-      margin-top: 100rpx;
-      margin-bottom: 100rpx;
-      width: 95%;
+    .upload-text {
+      text-align: center;
+      color: #666666;
+      font-size: 28rpx;
+      margin-top: 20rpx;
     }
   }
 
-  ::v-deep .uni-select {
-    border: none !important;
+  .btn {
+    background-color: #5992bb !important;
+    color: #fff;
+    font-size: 32rpx;
+    border-radius: 40rpx;
+    margin-top: 100rpx;
+    margin-bottom: 100rpx;
+    width: 95%;
   }
+}
 
-  ::v-deep .uni-select__input-placeholder {
-    font-size: 28rpx !important;
-    color: #cbced4 !important;
-  }
+::v-deep .uni-select {
+  border: none !important;
+}
+
+::v-deep .uni-select__input-placeholder {
+  font-size: 28rpx !important;
+  color: #cbced4 !important;
+}
 </style>

+ 47 - 0
src/store/modules/data copy.js

@@ -0,0 +1,47 @@
+import { setCache, getCache } from '@/utils/cache';
+
+export default {
+  state: () => ({
+    location: getCache('location') || {
+      longitude: 0,
+      latitude: 0,
+    },
+    categories: getCache('categories') || [],
+    merchantAuth: getCache('merchantAuth') || {
+      storeInfo: {}, //店铺信息
+      legalInfo: {}, //法人信息
+      aptitudeInfo: {}, //资质信息
+    },
+    // 商家个人信息
+    merchantInfo: getCache('merchantInfo') || {},
+  }),
+
+  mutations: {
+    SET_LOCATION(state, data) {
+      state.location = data;
+      setCache('location', state.location);
+    },
+    SET_CATEGORIES(state, data) {
+      state.categories = data;
+      setCache('categories', state.categories);
+    },
+    SET_STOREINFO(state, data) {
+      state.merchantAuth.storeInfo = data;
+      console.log(state.merchantAuth.storeInfo);
+      setCache('storeInfo', state.merchantAuth.storeInfo);
+    },
+    SET_LEGALINFO(state, data) {
+      state.merchantAuth.legalInfo = data;
+      setCache('legalInfo', state.merchantAuth.legalInfo);
+    },
+    SET_APTITUDEINFO(state, data) {
+      state.merchantAuth.aptitudeInfo = data;
+      setCache('aptitudeInfo', state.merchantAuth.aptitudeInfo);
+    },
+    SET_MERCHANTINFO(state, data) {
+      state.merchantInfo = data;
+      setCache('merchantInfo', state.merchantInfo);
+    },
+  },
+  actions: {},
+};

+ 20 - 0
src/store/modules/data.js

@@ -7,6 +7,10 @@ export default {
       latitude: 0,
     },
     categories: getCache('categories') || [],
+    storeInfo: getCache('storeInfo') || {},  //店铺信息
+    legalInfo: getCache('legalInfo') || {},  //法人信息
+    aptitudeInfo: getCache('aptitudeInfo') || {}, //资质信息
+    merchantInfo: getCache('merchantInfo') || {}, // 商家个人信息
   }),
 
   mutations: {
@@ -18,6 +22,22 @@ export default {
       state.categories = data;
       setCache('categories', state.categories);
     },
+    SET_STOREINFO(state, data) {
+      state.storeInfo = data;
+      setCache('storeInfo', state.storeInfo);
+    },
+    SET_LEGALINFO(state, data) {
+      state.legalInfo = data;
+      setCache('legalInfo', state.legalInfo);
+    },
+    SET_APTITUDEINFO(state, data) {
+      state.aptitudeInfo = data;
+      setCache('aptitudeInfo', state.aptitudeInfo);
+    },
+    SET_MERCHANTINFO(state, data) {
+      state.merchantInfo = data;
+      setCache('merchantInfo', state.merchantInfo);
+    },
   },
   actions: {},
 };

+ 6 - 4
src/utils/request.js

@@ -3,9 +3,11 @@ import {
 } from '@/utils/system';
 import store from '@/store';
 
- const BASE_URL = 'http://192.168.68.77:11000';
- // const BASE_URL = 'http://192.168.43.175:11000';
+export const BASE_URL = 'http://192.168.68.77:11000';
+// const BASE_URL = 'http://192.168.43.175:11000';
 // const BASE_URL = 'https://test.api.chelvc.com';
+
+
 const TIME_OUT = 60000;
 const errStatus = {
   200: '成功',
@@ -70,7 +72,7 @@ export function request(options) {
             reject(res);
             break
           default:
-           resolve(res.data);
+            resolve(res.data);
         }
       },
       fail: err => {
@@ -109,7 +111,7 @@ export async function uploadFile(filePath) {
     uni.uploadFile({
       url: BASE_URL + '/maintain/file',
       filePath: filePath,
-      name: 'file',
+      name: 'File',
       header: {
         Authorization: `Bearer ${access_token}`,
         'Content-Type': 'application/json; charset=utf-8',

+ 0 - 5
src/utils/system.js

@@ -1,8 +1,3 @@
-/*
- * @Author: yizhiyang
- * @Date: 2023-12-02 12:12:39
- * @Description:
- */
 //获取系统信息
 function getSystemInfoAsync() {
   return new Promise((resolve, reject) => {