Commit f2ab0090e51384aabb2fea3037f12a7e9f4e3bdf

Authored by 杨鑫
2 parents 048313b9 e75eb290

Merge branch 'master' of http://39.98.150.180/webapp/GreenwayWeb

wenjuan/.editorconfig
@@ -7,7 +7,7 @@ indent_style = space @@ -7,7 +7,7 @@ indent_style = space
7 indent_size = 2 7 indent_size = 2
8 end_of_line = lf 8 end_of_line = lf
9 insert_final_newline = true 9 insert_final_newline = true
10 -trim_trailing_whitespace = true 10 +trim_trailing_whitespace = true
11 11
12 [*.md] 12 [*.md]
13 insert_final_newline = false 13 insert_final_newline = false
yslvdao-miniapp/main.js
1 import Vue from 'vue'; 1 import Vue from 'vue';
2 import App from './App'; 2 import App from './App';
3 import http from '@/utils/request.js' 3 import http from '@/utils/request.js'
4 -  
5 import uView from "uview-ui"; 4 import uView from "uview-ui";
6 - 5 +// import {decrypt,encrypt} from '@/utils/rsaEncrypt.js'
7 // 弹出框 6 // 弹出框
8 import DialogBox from './components/DialogBox/DialogBox'; 7 import DialogBox from './components/DialogBox/DialogBox';
9 8
10 Vue.config.productionTip = false 9 Vue.config.productionTip = false
11 Vue.prototype.$http = http 10 Vue.prototype.$http = http
  11 +// Vue.prototype.$decrypt = decrypt
12 Vue.prototype.$imgUrl = (url) => { 12 Vue.prototype.$imgUrl = (url) => {
13 return ("https://jy.scjysm.asia:18086/mefile/file/static" + url); 13 return ("https://jy.scjysm.asia:18086/mefile/file/static" + url);
14 } 14 }
15 -// Vue.prototype.$upload = "http://172.16.61.48/admin-server/file/upload"  
16 15
17 -Vue.prototype.$upload = "https://jy.scjysm.asia:18086/admin-server/file/upload" 16 +// Vue.prototype.$upload = "http://172.16.61.48/admin-server/file/upload"
18 17
  18 +// Vue.prototype.$upload = "https://jy.scjysm.asia:18086/admin-server/file/upload"
  19 +// Vue.prototype.$upload = "http://192.168.8.106:9003/miniio/upload"
  20 +Vue.prototype.$upload = "https://jy.scjysm.asia:18086/admin-server/miniio/upload"
  21 +Vue.prototype.$img = "http://172.16.61.48/cdwlMall"
19 // 全局组件 22 // 全局组件
20 Vue.component('DialogBox', DialogBox); 23 Vue.component('DialogBox', DialogBox);
21 24
yslvdao-miniapp/manifest.json
1 { 1 {
2 "name" : "绿道", 2 "name" : "绿道",
3 - "appid" : "__UNI__F034047", 3 + "appid" : "__UNI__93E0C91",
4 "description" : "", 4 "description" : "",
5 "versionName" : "1.0.2", 5 "versionName" : "1.0.2",
6 "versionCode" : "100", 6 "versionCode" : "100",
yslvdao-miniapp/pages.json
@@ -376,6 +376,19 @@ @@ -376,6 +376,19 @@
376 376
377 377
378 ], 378 ],
  379 + "subpackages": [{
  380 + "root": "pagesA",
  381 + "name": "pagesA",
  382 + "pages": [
  383 + {
  384 + "path": "leaseAdd/leaseAdd",
  385 + "style": {
  386 + "navigationBarBackgroundColor": "#FFFFFF",
  387 + "navigationBarTitleText": "商家入驻"
  388 + }
  389 + }
  390 + ]
  391 + }],
379 "globalStyle": { 392 "globalStyle": {
380 "navigationBarTextStyle": "black" 393 "navigationBarTextStyle": "black"
381 }, 394 },
yslvdao-miniapp/pages/accepting/accepting.vue
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
19 record.cereBasicInformationShop&&record.cereBasicInformationShop.detailedLocation?record.cereBasicInformationShop.detailedLocation:record.cereBasicInformationVenue&&record.cereBasicInformationVenue.detailedLocation?record.cereBasicInformationVenue.detailedLocation:'' 19 record.cereBasicInformationShop&&record.cereBasicInformationShop.detailedLocation?record.cereBasicInformationShop.detailedLocation:record.cereBasicInformationVenue&&record.cereBasicInformationVenue.detailedLocation?record.cereBasicInformationVenue.detailedLocation:''
20 }}</text> 20 }}</text>
21 </view> 21 </view>
22 - <view class="info-item" style="margin-bottom: 24rpx;" v-if="record.advertisingSpaceType"> 22 + <!-- <view class="info-item" style="margin-bottom: 24rpx;" v-if="record.advertisingSpaceType">
23 <text style="padding-right: 20rpx;">广告位类型:</text> 23 <text style="padding-right: 20rpx;">广告位类型:</text>
24 <text>{{record.advertisingSpaceType?record.advertisingSpaceType:'' 24 <text>{{record.advertisingSpaceType?record.advertisingSpaceType:''
25 }}</text> 25 }}</text>
@@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@
28 <text style="padding-right: 20rpx;" v-if="!record.advertisingSpaceType">租金:<span>¥1067/月</span></text> 28 <text style="padding-right: 20rpx;" v-if="!record.advertisingSpaceType">租金:<span>¥1067/月</span></text>
29 <text style="padding-right: 20rpx;" v-if="record.advertisingSpaceType">租金:<span>¥1067/天</span></text> 29 <text style="padding-right: 20rpx;" v-if="record.advertisingSpaceType">租金:<span>¥1067/天</span></text>
30 <text v-if="!record.advertisingSpaceType">面积:<span>81/m²</span></text> 30 <text v-if="!record.advertisingSpaceType">面积:<span>81/m²</span></text>
31 - </view> 31 + </view> -->
32 </view> 32 </view>
33 </view> 33 </view>
34 </view> 34 </view>
@@ -64,7 +64,7 @@ @@ -64,7 +64,7 @@
64 </view> 64 </view>
65 <view class="form-item" v-if="!record.advertisingSpaceType"> 65 <view class="form-item" v-if="!record.advertisingSpaceType">
66 <view class="label">经营主体</view> 66 <view class="label">经营主体</view>
67 - <text>{{record.operatingEntity}}</text> 67 + <text style="">{{record.operatingEntity}}</text>
68 </view> 68 </view>
69 <!-- 广告显示 --> 69 <!-- 广告显示 -->
70 <view class="form-item" label-top v-if="record.advertisingSpaceType"> 70 <view class="form-item" label-top v-if="record.advertisingSpaceType">
@@ -85,22 +85,40 @@ @@ -85,22 +85,40 @@
85 </view> 85 </view>
86 <view class="form-item"> 86 <view class="form-item">
87 <view class="label">身份证号码</view> 87 <view class="label">身份证号码</view>
88 - <text>{{record.idNumber || record.idCardNumber}}</text> 88 + <text>{{ record.idNumber || record.idCardNumber}}</text>
  89 + <!-- <text>{{$sm4.SM4Util(record.idCardNumber) }}</text> -->
89 </view> 90 </view>
90 <view class="form-item"> 91 <view class="form-item">
91 <view class="label">身份证有效期</view> 92 <view class="label">身份证有效期</view>
92 <text>{{record.idValidStart || record.idCardValidStart}}至 {{record.idValidEnd || record.idCardValidEnd}}</text> 93 <text>{{record.idValidStart || record.idCardValidStart}}至 {{record.idValidEnd || record.idCardValidEnd}}</text>
93 </view> 94 </view>
94 - <view class="form-item" label-top>  
95 - <view class="label">身份证照片</view> 95 +<!-- <view class="form-item" label-top>
  96 + <view class="label">身份证正面</view>
96 <view class="deom-box"> 97 <view class="deom-box">
97 <view class="img-deom"> 98 <view class="img-deom">
98 - <u-image width="304rpx" height="182rpx" :src="record.idPhotoFront || record.idCardPhotoFront"></u-image> 99 + <u-image width="304rpx" height="182rpx" :src="record.idPhotoBack || record.idCardPhotoBack"></u-image>
99 </view> 100 </view>
  101 + </view>
  102 + </view>
  103 + <view class="form-item" label-top>
  104 + <view class="label">身份证反面</view>
  105 + <view class="deom-box">
100 <view class="img-deom"> 106 <view class="img-deom">
101 <u-image width="304rpx" height="182rpx" :src="record.idPhotoBack || record.idCardPhotoBack"></u-image> 107 <u-image width="304rpx" height="182rpx" :src="record.idPhotoBack || record.idCardPhotoBack"></u-image>
102 </view> 108 </view>
103 </view> 109 </view>
  110 + </view> -->
  111 + <view class="form-item" label-top>
  112 + <view class="label">身份证正面</view>
  113 + <view class="img">
  114 + <u-image width="304rpx" height="182rpx" :src="record.idPhotoFront || record.idCardPhotoFront" ></u-image>
  115 + </view>
  116 + </view>
  117 + <view class="form-item" label-top>
  118 + <view class="label">身份证反面</view>
  119 + <view class="img">
  120 + <u-image width="304rpx" height="182rpx" :src="record.idPhotoBack || record.idCardPhotoBack" ></u-image>
  121 + </view>
104 </view> 122 </view>
105 <view class="form-item" label-top> 123 <view class="form-item" label-top>
106 <view class="label">企业授权书</view> 124 <view class="label">企业授权书</view>
@@ -125,6 +143,7 @@ @@ -125,6 +143,7 @@
125 </template> 143 </template>
126 144
127 <script> 145 <script>
  146 + // import {decryptedSM4} from '@/utils/rsaEncrypt.js'
128 export default { 147 export default {
129 data() { 148 data() {
130 return { 149 return {
@@ -132,11 +151,23 @@ @@ -132,11 +151,23 @@
132 151
133 } 152 }
134 }, 153 },
135 - onLoad(options) { 154 + async onLoad(options) {
136 const item = JSON.parse(decodeURIComponent(options.item)); 155 const item = JSON.parse(decodeURIComponent(options.item));
137 console.log('Received item:', item); 156 console.log('Received item:', item);
138 this.record = item 157 this.record = item
139 - }, 158 + if(this.record.idNumber) {
  159 + this.record.idNumber = await this.$http.sendRequest('/cereBusinessInfo/decode?str='+this.record.idNumber, 'GET',this.record.idNumber, 1).then(res => {
  160 + console.error(res.data.data)
  161 + return res.data.data
  162 + })
  163 + }
  164 + // if(this.record.idCardNumber) {
  165 + // this.record.idCardNumber = await this.$http.sendRequest('/cereBusinessInfo/decode?str='+this.record.idCardNumber, 'GET',this.record.idNumber, 1).then(res => {
  166 + // console.error(res.data.data)
  167 + // return res.data.data
  168 + // })
  169 + // }
  170 + },
140 methods: { 171 methods: {
141 Zhicheck(){ 172 Zhicheck(){
142 let payList ={ 173 let payList ={
@@ -187,4 +218,8 @@ @@ -187,4 +218,8 @@
187 218
188 <style scoped lang="scss"> 219 <style scoped lang="scss">
189 @import 'accepting.scss'; 220 @import 'accepting.scss';
  221 + text {
  222 + text-align: right;
  223 + word-wrap:break-word; word-break:break-all;width: 50%;line-height: 40rpx;
  224 + }
190 </style> 225 </style>
yslvdao-miniapp/pages/advertisementAdd/advertisementAdd - 副本 (2).vue 0 → 100644
  1 +<template>
  2 + <view class="page">
  3 + <view class="steps-box">
  4 + <u-steps :list="numList" :current="active"></u-steps>
  5 + </view>
  6 + <view>
  7 + <view v-show="active == 0">
  8 + <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250">
  9 + <view class="add-list">
  10 + <u-form-item label="投放时段" prop="scheduleTime" borderBottom>
  11 + <!-- <u-input v-model="model1.name" type="select" @click="toChangeTime"></u-input> -->
  12 + <u-input v-model="model1.scheduleTime" type="select" @click="TimeStratshow = true"
  13 + placeholder="请选择" />
  14 + <u-picker mode="time" v-model="TimeStratshow" :params="params"
  15 + @confirm="startTimeChange"></u-picker>
  16 + </u-form-item>
  17 + </view>
  18 + <view class="add-list">
  19 + <u-form-item label="跳转类型" prop="advertisementContent" borderBottom>
  20 + <u-input v-model="model1.advertisementContent"></u-input>
  21 + </u-form-item>
  22 + <u-form-item label="链接" prop="redirectUrl" borderBottom>
  23 + <u-input v-model="model1.redirectUrl"></u-input>
  24 + </u-form-item>
  25 + <u-form-item label="投放定价" prop="cpc" borderBottom>
  26 + <u-input v-model="model1.cpc"></u-input>
  27 + </u-form-item>
  28 + </view>
  29 + <view class="add-list">
  30 + <u-form-item label="封面图片" prop="coverImage" borderBottom labelPosition="top">
  31 + <u-upload :action="$upload" :auto-upload="true" ref="coverImage" :max-count="1"></u-upload>
  32 + </u-form-item>
  33 + </view>
  34 + <view class="add-list">
  35 + <u-form-item label="广告标题" prop="adTitle" borderBottom labelPosition="top">
  36 + <u-input v-model="model1.adTitle" />
  37 + </u-form-item>
  38 + </view>
  39 +
  40 + </u-form>
  41 + </view>
  42 +
  43 +
  44 +
  45 +
  46 + <view class="add-list" v-show='active == 1'>
  47 + <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250">
  48 + <u-form-item label="主体名称" prop="subjectName" borderBottom>
  49 + <u-input v-model="model1.subjectName"></u-input>
  50 + </u-form-item>
  51 + <u-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode" borderBottom>
  52 + <u-input v-model="model1.unifiedSocialCreditCode"></u-input>
  53 + </u-form-item>
  54 + <u-form-item label="类型" prop="type" borderBottom>
  55 + <u-input v-model="model1.type" type="select" @click="typeShow = true" placeholder='请选择类型' />
  56 + </u-form-item>
  57 + <u-form-item label="法定代表人" prop="legalRepresentative" borderBottom>
  58 + <u-input v-model="model1.legalRepresentative"></u-input>
  59 + </u-form-item>
  60 + <u-form-item label="经营范围" prop="businessScope" borderBottom>
  61 + <u-input v-model="model1.businessScope"></u-input>
  62 + </u-form-item>
  63 + <u-form-item label="注册资本" prop="registeredCapital" borderBottom>
  64 + <u-input v-model="model1.registeredCapital"></u-input>
  65 + </u-form-item>
  66 + <u-form-item label="成立日期" prop="establishmentDate" borderBottom>
  67 + <u-input v-model="model1.establishmentDate"></u-input>
  68 + </u-form-item>
  69 + <u-form-item label="住所" prop="address" borderBottom>
  70 + <u-input v-model="model1.address"></u-input>
  71 + </u-form-item>
  72 + <u-form-item label="邮箱地址" prop="emailAddress" borderBottom>
  73 + <u-input v-model="model1.emailAddress"></u-input>
  74 + </u-form-item>
  75 + <u-form-item label="经营开始时间" prop="businessStartDate" borderBottom>
  76 + <u-input v-model="model1.businessStartDate" type="select" @click="busStartshow = true"
  77 + placeholder="请选择" />
  78 + <u-picker mode="time" v-model="busStartshow" :params="params"
  79 + @confirm="busStTimeChange"></u-picker>
  80 + </u-form-item>
  81 + <u-form-item label="经营结束时间" prop="businessEndDate" borderBottom>
  82 + <u-input v-model="model1.businessEndDate" type="select" @click="busEndtshow = true"
  83 + placeholder="请选择" />
  84 + <u-picker mode="time" v-model="busEndtshow" :params="params"
  85 + @confirm="busEndTimeChange"></u-picker>
  86 + </u-form-item>
  87 + <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top">
  88 + <u-upload :action="$upload" :auto-upload="true" ref="businessLicense" :max-count="1"></u-upload>
  89 + </u-form-item>
  90 + </u-form>
  91 + </view>
  92 +
  93 +
  94 + <view v-show="active == 2">
  95 + <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :labelWidth="250">
  96 + <view class="add-list">
  97 + <u-form-item label="经营者姓名" prop="lesseeName" borderBottom>
  98 + <u-input v-model="model1.lesseeName"></u-input>
  99 + </u-form-item>
  100 + <u-form-item label="证件类型" prop="idCardType" borderBottom>
  101 + <u-input v-model="model1.idCardType" type="select" @click="IdtypeShow = true"
  102 + placeholder='请选择类型' />
  103 + </u-form-item>
  104 + <u-form-item label="身份证号码" prop="idCardNumber" borderBottom>
  105 + <u-input v-model="model1.idCardNumber"></u-input>
  106 + </u-form-item>
  107 + <u-form-item label="身份证有效开始时间" prop="idCardValidStart" borderBottom>
  108 + <u-input v-model="model1.idCardValidStart" type="select" @click="idCardStartshow = true"
  109 + placeholder="请选择" />
  110 + <u-picker mode="time" v-model="idCardStartshow" :params="params1"
  111 + @confirm="idCardStTimeChange"></u-picker>
  112 + </u-form-item>
  113 + <u-form-item label="身份证有效结束时间" prop="idCardValidEnd" borderBottom>
  114 + <u-input v-model="model1.idCardValidEnd" type="select" @click="idCardEndtshow = true"
  115 + placeholder="请选择" />
  116 + <u-picker mode="time" v-model="idCardEndtshow" :params="params1"
  117 + @confirm="idCardEndTimeChange"></u-picker>
  118 + </u-form-item>
  119 + </view>
  120 + <view class="add-list">
  121 + <view class="deom-box">
  122 + <view class="img-deom">
  123 + <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idCardPhotoFront">
  124 + <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover"
  125 + hover-stay-time="150">
  126 + <u-image width="304rpx" height="182rpx"
  127 + :src="$imgUrl('/uploadID1.png')"></u-image>
  128 + </view>
  129 + </u-upload>
  130 + <text>点击上传证件人像面</text>
  131 + </view>
  132 + <view class="img-deom">
  133 + <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idCardPhotoBack">
  134 + <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover"
  135 + hover-stay-time="150">
  136 + <u-image width="304rpx" height="182rpx"
  137 + :src="$imgUrl('/uploadID2.png')"></u-image>
  138 + </view>
  139 + </u-upload>
  140 + <text>点击上传证件国徽面</text>
  141 + </view>
  142 + </view>
  143 + </view>
  144 + <view class="add-list">
  145 + <view style="line-height: 60rpx;">上传示例</view>
  146 + <view class="deom-box">
  147 + <view class="img-deom">
  148 + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/front-icon.png')"></u-image>
  149 + <text>人脸示例图</text>
  150 + </view>
  151 + <view class="img-deom">
  152 + <u-image width="304rpx" height="182rpx" :src="$imgUrl('/back-icon.png')"></u-image>
  153 + <text>国徽面示例图</text>
  154 + </view>
  155 + </view>
  156 + </view>
  157 + <text
  158 + style="display: inline-block; font-size: 24rpx; line-height: 30px; margin: 24rpx 30rpx 0;">请拍摄证件原件,保证照片拍摄清晰,取图完整,不反光。</text>
  159 + <view class="add-list" labelPosition="left" :model="model1" :rules="rules" ref="uForm"
  160 + :labelWidth="250">
  161 + <u-form-item label="是否为法人" prop="isLegalPerson" borderBottom>
  162 + <u-radio-group v-model="model1.isLegalPerson">
  163 + <u-radio name="1" value="1">是</u-radio>
  164 + <u-radio name="0" value="0">否</u-radio>
  165 + </u-radio-group>
  166 + </u-form-item>
  167 + <u-form-item label="企业授权书" prop="enterpriseAuthorization" borderBottom labelPosition="top">
  168 +
  169 + <u-upload :action="$upload" :auto-upload="true" ref="enter" :max-count="1"></u-upload>
  170 + </u-form-item>
  171 + </view>
  172 + </u-form>
  173 + </view>
  174 + </view>
  175 +
  176 + <u-select v-model="typeShow" :list="activesType" @confirm="typeChange"></u-select>
  177 + <u-select v-model="IdtypeShow" :list="idType" @confirm="IdtypeChange"></u-select>
  178 + <!-- 保存按钮 -->
  179 + <view class="page-footer">
  180 + <u-button style="background-color: #DFE0E4; flex: 1; margin: 0 10px;" @click="toBefor"
  181 + v-if="active != 0">上一步</u-button>
  182 + <u-button type="success" style="flex: 1; margin: 0 10px;" @click="toNext" v-if="active != 2">下一步</u-button>
  183 + <u-button type="success" style="flex: 1; margin: 0 10px;" @click="go" v-if="active == 2">提交申请</u-button>
  184 + </view>
  185 + </view>
  186 +</template>
  187 +
  188 +<script>
  189 + export default {
  190 + data() {
  191 + return {
  192 + active: 0,
  193 + numList: [{
  194 + name: '租赁信息'
  195 + }, {
  196 + name: '主体信息'
  197 + }, {
  198 + name: '经营者信息'
  199 + }],
  200 + model1: {
  201 + scheduleTime: '',
  202 + advertisementContent: '',
  203 + redirectUrl: '',
  204 + coverImage: '',
  205 + adTitle: '',
  206 + cpc:'',
  207 + subjectName: '',
  208 + unifiedSocialCreditCode: '',
  209 + type: '',
  210 + legalRepresentative: '',
  211 + businessScope: '',
  212 + registeredCapital: '',
  213 + establishmentDate: '',
  214 + address: '',
  215 + emailAddress: '',
  216 + businessStartDate: '',
  217 + businessEndDate: '',
  218 + businessLicense: '',
  219 + lesseeName: '',
  220 + idCardType: '',
  221 + idCardNumber: '',
  222 + idCardValidStart: '',
  223 + idCardValidEnd: '',
  224 + isLegalPerson: '0',
  225 + idCardPhotoFront:'',
  226 + idCardPhotoBack:'',
  227 + enterpriseAuthorization: '',
  228 + auditStatus: '1'
  229 + },
  230 + rules: {},
  231 + // 类型
  232 + showType: false,
  233 + params: {
  234 + year: true,
  235 + month: true,
  236 + day: true,
  237 + hour: true,
  238 + minute: true,
  239 + second: true
  240 + },
  241 + params1: {
  242 + year: true,
  243 + month: true,
  244 + day: true
  245 + },
  246 + TimeStratshow: false,
  247 + typeShow: false,
  248 + activesType: [{
  249 + value: 1,
  250 + label: '个人'
  251 + }, {
  252 + value: 2,
  253 + label: '企业'
  254 + }],
  255 + idType: [{
  256 + value: 1,
  257 + label: '身份证'
  258 + }, ],
  259 + IdtypeShow: false,
  260 + busStartshow: false,
  261 + busEndtshow: false,
  262 + idCardStartshow: false,
  263 + idCardEndtshow: false,
  264 + params: {
  265 + year: true,
  266 + month: true,
  267 + day: true,
  268 + },
  269 + ziyuanId: '',
  270 + ziyuanType:'',
  271 +
  272 + }
  273 + },
  274 + onLoad(option) {
  275 + this.ziyuanId = option.ids
  276 + this.ziyuanType = option.type
  277 + },
  278 + onShow() {
  279 + let shopId = {
  280 + shopId:uni.getStorageSync('shopId') || ''
  281 + }
  282 + const isLogin = uni.getStorageSync('token');
  283 + if (isLogin =='') {
  284 + // 如果未登录,跳转到登录页面
  285 + uni.navigateTo({
  286 + url: '/pages/login/login'
  287 + })
  288 + }else{
  289 + let page={
  290 + condition:2
  291 + }
  292 + this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => {
  293 + if(res.data.code !="20004"){
  294 + this.shopMsg = res.data.data
  295 + this.Islogin= false
  296 + this.$http.sendRequest('/index/index', 'POST',page).then(res => {
  297 + //成功回调
  298 + this.tongji = res.data.data
  299 + })
  300 + }else{
  301 + uni.navigateTo({
  302 + url: '/pages/login/login'
  303 + })
  304 + }
  305 + })
  306 + }
  307 +
  308 + },
  309 + methods: {
  310 + typeChange(e) {
  311 + this.model1.type = e[0].label;
  312 + },
  313 + getCurrentTime() {
  314 + const now = new Date();
  315 + const year = now.getFullYear();
  316 + const month = ('0' + (now.getMonth() + 1)).slice(-2);
  317 + const day = ('0' + now.getDate()).slice(-2);
  318 + const hours = ('0' + now.getHours()).slice(-2);
  319 + const minutes = ('0' + now.getMinutes()).slice(-2);
  320 + const seconds = ('0' + now.getSeconds()).slice(-2);
  321 +
  322 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  323 + },
  324 + go() {
  325 + let coverImg = []
  326 + let files = []
  327 + let idCardOne = []
  328 + let idCardTwo = []
  329 + let enterS = []
  330 + // // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)
  331 + coverImg = this.$refs.coverImage.lists.filter(val => {
  332 + return val.progress == 100;
  333 + })
  334 + coverImg.map(item => {
  335 + this.model1.coverImage = item.response.data.url
  336 + })
  337 + files = this.$refs.businessLicense.lists.filter(val => {
  338 + return val.progress == 100;
  339 + })
  340 +
  341 + files.map(item => {
  342 + this.model1.businessLicense = item.response.data.url
  343 + })
  344 + idCardOne = this.$refs.idCardPhotoFront.lists.filter(val => {
  345 + return val.progress == 100;
  346 + })
  347 + idCardOne.map(item => {
  348 + this.model1.idCardPhotoFront = item.response.data.url
  349 +
  350 + })
  351 + idCardTwo = this.$refs.idCardPhotoBack.lists.filter(val => {
  352 + return val.progress == 100;
  353 + })
  354 + idCardTwo.map(item => {
  355 + this.model1.idCardPhotoBack = item.response.data.url
  356 + })
  357 + enterS = this.$refs.enter.lists.filter(val => {
  358 + return val.progress == 100;
  359 + })
  360 + enterS.map(item => {
  361 + this.model1.enterpriseAuthorization = item.response.data.url
  362 + })
  363 + this.model1.rentalResourcesId = this.ziyuanId
  364 + this.model1.advertisingSpaceType = this.ziyuanType
  365 + this.model1.applicant = uni.getStorageSync('shopId')
  366 + this.model1.applicationTime = this.getCurrentTime()
  367 + this.$http.sendRequest('/cereAdvertiserInfo/add', 'POST', this.model1, 1).then(res => {
  368 + uni.navigateTo({
  369 + url: '/pages/record/record'
  370 + })
  371 + })
  372 + },
  373 + // toChangeTime(val) {
  374 + // uni.navigateTo({
  375 + // url: `/pages/advertisementTime/advertisementTime?val=${val}`
  376 + // })
  377 + // },
  378 + // 上一步
  379 + toBefor() {
  380 + this.active = +this.active - 1;
  381 + },
  382 + // 下一步
  383 + toNext() {
  384 + this.active = +this.active + 1;
  385 + },
  386 + startTimeChange(val) {
  387 + this.model1.scheduleTime = this.timeChange(val)
  388 + },
  389 + timeChange(val) {
  390 + const {
  391 + year,
  392 + month,
  393 + day,
  394 + } = val;
  395 + return `${year}-${month}-${day}`;
  396 + },
  397 + leiXpops(val) {
  398 + this.model1.intentionalBusinessType = val[0].label
  399 + },
  400 + busStTimeChange(val) {
  401 + this.model1.businessStartDate = this.timeChange(val)
  402 + this.model1.businessEndDate = ''
  403 + },
  404 + busEndTimeChange(val) {
  405 + const time = this.timeChange(val);
  406 + if (new Date(time).getTime() > new Date(this.model1.businessStartDate).getTime()) {
  407 + this.model1.businessEndDate = time
  408 + } else {
  409 + this.$refs.uToast.show({
  410 + title: '结束时间不能小于开始时间',
  411 + type: 'error',
  412 + })
  413 + }
  414 + },
  415 + idCardStTimeChange(val) {
  416 + this.model1.idCardValidStart = this.timeChange1(val)
  417 + this.model1.idCardValidEnd = ''
  418 + },
  419 + idCardEndTimeChange(val) {
  420 + const time = this.timeChange1(val);
  421 + if (new Date(time).getTime() > new Date(this.model1.idCardValidStart).getTime()) {
  422 + this.model1.idCardValidEnd = time
  423 + } else {
  424 + this.$refs.uToast.show({
  425 + title: '结束时间不能小于开始时间',
  426 + type: 'error',
  427 + })
  428 + }
  429 + },
  430 + IdtypeChange(e) {
  431 + this.model1.idCardType = e[0].label;
  432 + },
  433 + timeChange1(val) {
  434 + const {
  435 + year,
  436 + month,
  437 + day
  438 + } = val;
  439 + return `${year}-${month}-${day}`;
  440 + },
  441 + }
  442 + }
  443 +</script>
  444 +
  445 +<style scoped lang="scss">
  446 + @import 'advertisementAdd.scss';
  447 +</style>
0 \ No newline at end of file 448 \ No newline at end of file
yslvdao-miniapp/pages/advertisementAdd/advertisementAdd.vue
@@ -28,7 +28,9 @@ @@ -28,7 +28,9 @@
28 </view> 28 </view>
29 <view class="add-list"> 29 <view class="add-list">
30 <u-form-item label="封面图片" prop="coverImage" borderBottom labelPosition="top"> 30 <u-form-item label="封面图片" prop="coverImage" borderBottom labelPosition="top">
31 - <u-upload :action="$upload" :auto-upload="true" ref="coverImage" :max-count="1"></u-upload> 31 + <u-upload :action="$upload" :auto-upload="false" ref="businessLicense" :max-count="1"
  32 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'coverImage')"></u-upload>
  33 + <!-- <u-upload :action="$upload" :auto-upload="true" ref="coverImage" :max-count="1"></u-upload> -->
32 </u-form-item> 34 </u-form-item>
33 </view> 35 </view>
34 <view class="add-list"> 36 <view class="add-list">
@@ -36,7 +38,7 @@ @@ -36,7 +38,7 @@
36 <u-input v-model="model1.adTitle" /> 38 <u-input v-model="model1.adTitle" />
37 </u-form-item> 39 </u-form-item>
38 </view> 40 </view>
39 - 41 +
40 </u-form> 42 </u-form>
41 </view> 43 </view>
42 44
@@ -85,7 +87,9 @@ @@ -85,7 +87,9 @@
85 @confirm="busEndTimeChange"></u-picker> 87 @confirm="busEndTimeChange"></u-picker>
86 </u-form-item> 88 </u-form-item>
87 <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top"> 89 <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top">
88 - <u-upload :action="$upload" :auto-upload="true" ref="businessLicense" :max-count="1"></u-upload> 90 + <u-upload :action="$upload" :auto-upload="false" ref="businessLicense" :max-count="1"
  91 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'businessLicense')"></u-upload>
  92 + <!-- <u-upload :action="$upload" :auto-upload="true" ref="businessLicense" :max-count="1"></u-upload> -->
89 </u-form-item> 93 </u-form-item>
90 </u-form> 94 </u-form>
91 </view> 95 </view>
@@ -104,13 +108,13 @@ @@ -104,13 +108,13 @@
104 <u-form-item label="身份证号码" prop="idCardNumber" borderBottom> 108 <u-form-item label="身份证号码" prop="idCardNumber" borderBottom>
105 <u-input v-model="model1.idCardNumber"></u-input> 109 <u-input v-model="model1.idCardNumber"></u-input>
106 </u-form-item> 110 </u-form-item>
107 - <u-form-item label="身份证有效开始时间" prop="idCardValidStart" borderBottom> 111 + <u-form-item label="有效开始时间" prop="idCardValidStart" borderBottom>
108 <u-input v-model="model1.idCardValidStart" type="select" @click="idCardStartshow = true" 112 <u-input v-model="model1.idCardValidStart" type="select" @click="idCardStartshow = true"
109 placeholder="请选择" /> 113 placeholder="请选择" />
110 <u-picker mode="time" v-model="idCardStartshow" :params="params1" 114 <u-picker mode="time" v-model="idCardStartshow" :params="params1"
111 @confirm="idCardStTimeChange"></u-picker> 115 @confirm="idCardStTimeChange"></u-picker>
112 </u-form-item> 116 </u-form-item>
113 - <u-form-item label="身份证有效结束时间" prop="idCardValidEnd" borderBottom> 117 + <u-form-item label="有效结束时间" prop="idCardValidEnd" borderBottom>
114 <u-input v-model="model1.idCardValidEnd" type="select" @click="idCardEndtshow = true" 118 <u-input v-model="model1.idCardValidEnd" type="select" @click="idCardEndtshow = true"
115 placeholder="请选择" /> 119 placeholder="请选择" />
116 <u-picker mode="time" v-model="idCardEndtshow" :params="params1" 120 <u-picker mode="time" v-model="idCardEndtshow" :params="params1"
@@ -120,17 +124,21 @@ @@ -120,17 +124,21 @@
120 <view class="add-list"> 124 <view class="add-list">
121 <view class="deom-box"> 125 <view class="deom-box">
122 <view class="img-deom"> 126 <view class="img-deom">
123 - <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idCardPhotoFront"> 127 + <u-upload :action="$upload" :custom-btn="true"
  128 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'idCardPhotoFront')"
  129 + :auto-upload="false" :max-count="1" ref="idPhotoFront">
124 <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" 130 <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover"
125 hover-stay-time="150"> 131 hover-stay-time="150">
126 <u-image width="304rpx" height="182rpx" 132 <u-image width="304rpx" height="182rpx"
127 :src="$imgUrl('/uploadID1.png')"></u-image> 133 :src="$imgUrl('/uploadID1.png')"></u-image>
128 - </view> 134 + </view>
129 </u-upload> 135 </u-upload>
130 <text>点击上传证件人像面</text> 136 <text>点击上传证件人像面</text>
131 </view> 137 </view>
132 <view class="img-deom"> 138 <view class="img-deom">
133 - <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idCardPhotoBack"> 139 + <u-upload :action="$upload" :custom-btn="true"
  140 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'idCardPhotoBack')"
  141 + :auto-upload="false" :max-count="1" ref="idPhotoBack">
134 <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" 142 <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover"
135 hover-stay-time="150"> 143 hover-stay-time="150">
136 <u-image width="304rpx" height="182rpx" 144 <u-image width="304rpx" height="182rpx"
@@ -165,8 +173,10 @@ @@ -165,8 +173,10 @@
165 </u-radio-group> 173 </u-radio-group>
166 </u-form-item> 174 </u-form-item>
167 <u-form-item label="企业授权书" prop="enterpriseAuthorization" borderBottom labelPosition="top"> 175 <u-form-item label="企业授权书" prop="enterpriseAuthorization" borderBottom labelPosition="top">
168 -  
169 - <u-upload :action="$upload" :auto-upload="true" ref="enter" :max-count="1"></u-upload> 176 + <u-upload :action="$upload" ref="enter" :max-count="1"
  177 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'enterpriseAuthorization')"
  178 + :auto-upload="false"></u-upload>
  179 + <!-- <u-upload :action="$upload" :auto-upload="true" ref="enter" :max-count="1"></u-upload> -->
170 </u-form-item> 180 </u-form-item>
171 </view> 181 </view>
172 </u-form> 182 </u-form>
@@ -203,7 +213,7 @@ @@ -203,7 +213,7 @@
203 redirectUrl: '', 213 redirectUrl: '',
204 coverImage: '', 214 coverImage: '',
205 adTitle: '', 215 adTitle: '',
206 - cpc:'', 216 + cpc: '',
207 subjectName: '', 217 subjectName: '',
208 unifiedSocialCreditCode: '', 218 unifiedSocialCreditCode: '',
209 type: '', 219 type: '',
@@ -222,8 +232,8 @@ @@ -222,8 +232,8 @@
222 idCardValidStart: '', 232 idCardValidStart: '',
223 idCardValidEnd: '', 233 idCardValidEnd: '',
224 isLegalPerson: '0', 234 isLegalPerson: '0',
225 - idCardPhotoFront:'',  
226 - idCardPhotoBack:'', 235 + idCardPhotoFront: '',
  236 + idCardPhotoBack: '',
227 enterpriseAuthorization: '', 237 enterpriseAuthorization: '',
228 auditStatus: '1' 238 auditStatus: '1'
229 }, 239 },
@@ -267,7 +277,7 @@ @@ -267,7 +277,7 @@
267 day: true, 277 day: true,
268 }, 278 },
269 ziyuanId: '', 279 ziyuanId: '',
270 - ziyuanType:'', 280 + ziyuanType: '',
271 281
272 } 282 }
273 }, 283 },
@@ -276,98 +286,133 @@ @@ -276,98 +286,133 @@
276 this.ziyuanType = option.type 286 this.ziyuanType = option.type
277 }, 287 },
278 onShow() { 288 onShow() {
279 - let shopId = {  
280 - shopId:uni.getStorageSync('shopId') || ''  
281 - }  
282 - const isLogin = uni.getStorageSync('token');  
283 - if (isLogin =='') {  
284 - // 如果未登录,跳转到登录页面  
285 - uni.navigateTo({  
286 - url: '/pages/login/login'  
287 - })  
288 - }else{  
289 - let page={  
290 - condition:2  
291 - }  
292 - this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => {  
293 - if(res.data.code !="20004"){  
294 - this.shopMsg = res.data.data  
295 - this.Islogin= false  
296 - this.$http.sendRequest('/index/index', 'POST',page).then(res => {  
297 - //成功回调  
298 - this.tongji = res.data.data  
299 - })  
300 - }else{  
301 - uni.navigateTo({  
302 - url: '/pages/login/login'  
303 - })  
304 - }  
305 - })  
306 - }  
307 - 289 + let shopId = {
  290 + shopId: uni.getStorageSync('shopId') || ''
  291 + }
  292 + const isLogin = uni.getStorageSync('token');
  293 + if (isLogin == '') {
  294 + // 如果未登录,跳转到登录页面
  295 + uni.navigateTo({
  296 + url: '/pages/login/login'
  297 + })
  298 + } else {
  299 + let page = {
  300 + condition: 2
  301 + }
  302 + this.$http.sendRequest('/shop/getById', 'POST', shopId).then(res => {
  303 + if (res.data.code != "20004") {
  304 + this.shopMsg = res.data.data
  305 + this.Islogin = false
  306 + this.$http.sendRequest('/index/index', 'POST', page).then(res => {
  307 + //成功回调
  308 + this.tongji = res.data.data
  309 + })
  310 + } else {
  311 + uni.navigateTo({
  312 + url: '/pages/login/login'
  313 + })
  314 + }
  315 + })
  316 + }
  317 +
308 }, 318 },
309 methods: { 319 methods: {
  320 + onsuccess1(e, file, fileList, ziduan) {
  321 + console.error(e, file, fileList, ziduan)
  322 + uni.uploadFile({
  323 + url: this.$upload, // 仅为示例,请替换为您的服务器上传接口
  324 + filePath: e[0].url,
  325 + name: 'file', // 后端接收的文件参数名
  326 + formData: {
  327 + filePath: 'xcx', // 其他表单数据
  328 + },
  329 + success: (uploadFileRes) => {
  330 + this.model1[ziduan] = this.$img + JSON.parse(uploadFileRes.data).data
  331 +
  332 + console.log('上传成功', this.model1);
  333 + uni.showToast({
  334 + title: '上传成功',
  335 + icon: 'success',
  336 + });
  337 + },
  338 + fail: (err) => {
  339 + console.error('上传失败', err);
  340 + uni.showToast({
  341 + title: '上传失败',
  342 + icon: 'none',
  343 + });
  344 + },
  345 + });
  346 + },
310 typeChange(e) { 347 typeChange(e) {
311 this.model1.type = e[0].label; 348 this.model1.type = e[0].label;
312 }, 349 },
313 - getCurrentTime() {  
314 - const now = new Date();  
315 - const year = now.getFullYear();  
316 - const month = ('0' + (now.getMonth() + 1)).slice(-2);  
317 - const day = ('0' + now.getDate()).slice(-2);  
318 - const hours = ('0' + now.getHours()).slice(-2);  
319 - const minutes = ('0' + now.getMinutes()).slice(-2);  
320 - const seconds = ('0' + now.getSeconds()).slice(-2);  
321 -  
322 - return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;  
323 - }, 350 + getCurrentTime() {
  351 + const now = new Date();
  352 + const year = now.getFullYear();
  353 + const month = ('0' + (now.getMonth() + 1)).slice(-2);
  354 + const day = ('0' + now.getDate()).slice(-2);
  355 + const hours = ('0' + now.getHours()).slice(-2);
  356 + const minutes = ('0' + now.getMinutes()).slice(-2);
  357 + const seconds = ('0' + now.getSeconds()).slice(-2);
  358 +
  359 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  360 + },
324 go() { 361 go() {
325 - let coverImg = []  
326 - let files = []  
327 - let idCardOne = []  
328 - let idCardTwo = []  
329 - let enterS = []  
330 - // // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)  
331 - coverImg = this.$refs.coverImage.lists.filter(val => {  
332 - return val.progress == 100;  
333 - })  
334 - coverImg.map(item => {  
335 - this.model1.coverImage = item.response.data.url  
336 - })  
337 - files = this.$refs.businessLicense.lists.filter(val => {  
338 - return val.progress == 100;  
339 - })  
340 -  
341 - files.map(item => {  
342 - this.model1.businessLicense = item.response.data.url  
343 - })  
344 - idCardOne = this.$refs.idCardPhotoFront.lists.filter(val => {  
345 - return val.progress == 100;  
346 - })  
347 - idCardOne.map(item => {  
348 - this.model1.idCardPhotoFront = item.response.data.url  
349 -  
350 - })  
351 - idCardTwo = this.$refs.idCardPhotoBack.lists.filter(val => {  
352 - return val.progress == 100;  
353 - })  
354 - idCardTwo.map(item => {  
355 - this.model1.idCardPhotoBack = item.response.data.url  
356 - })  
357 - enterS = this.$refs.enter.lists.filter(val => {  
358 - return val.progress == 100;  
359 - })  
360 - enterS.map(item => {  
361 - this.model1.enterpriseAuthorization = item.response.data.url  
362 - }) 362 + // let coverImg = []
  363 + // let files = []
  364 + // let idCardOne = []
  365 + // let idCardTwo = []
  366 + // let enterS = []
  367 + // // // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)
  368 + // coverImg = this.$refs.coverImage.lists.filter(val => {
  369 + // return val.progress == 100;
  370 + // })
  371 + // coverImg.map(item => {
  372 + // this.model1.coverImage = item.response.data.url
  373 + // })
  374 + // files = this.$refs.businessLicense.lists.filter(val => {
  375 + // return val.progress == 100;
  376 + // })
  377 +
  378 + // files.map(item => {
  379 + // this.model1.businessLicense = item.response.data.url
  380 + // })
  381 + // idCardOne = this.$refs.idCardPhotoFront.lists.filter(val => {
  382 + // return val.progress == 100;
  383 + // })
  384 + // idCardOne.map(item => {
  385 + // this.model1.idCardPhotoFront = item.response.data.url
  386 +
  387 + // })
  388 + // idCardTwo = this.$refs.idCardPhotoBack.lists.filter(val => {
  389 + // return val.progress == 100;
  390 + // })
  391 + // idCardTwo.map(item => {
  392 + // this.model1.idCardPhotoBack = item.response.data.url
  393 + // })
  394 + // enterS = this.$refs.enter.lists.filter(val => {
  395 + // return val.progress == 100;
  396 + // })
  397 + // enterS.map(item => {
  398 + // this.model1.enterpriseAuthorization = item.response.data.url
  399 + // })
363 this.model1.rentalResourcesId = this.ziyuanId 400 this.model1.rentalResourcesId = this.ziyuanId
364 this.model1.advertisingSpaceType = this.ziyuanType 401 this.model1.advertisingSpaceType = this.ziyuanType
365 this.model1.applicant = uni.getStorageSync('shopId') 402 this.model1.applicant = uni.getStorageSync('shopId')
366 this.model1.applicationTime = this.getCurrentTime() 403 this.model1.applicationTime = this.getCurrentTime()
  404 + console.error({
  405 + ...this.model1
  406 + })
  407 + // return
367 this.$http.sendRequest('/cereAdvertiserInfo/add', 'POST', this.model1, 1).then(res => { 408 this.$http.sendRequest('/cereAdvertiserInfo/add', 'POST', this.model1, 1).then(res => {
368 - uni.navigateTo({  
369 - url: '/pages/record/record'  
370 - }) 409 + uni.showToast({
  410 + title: '提交成功',
  411 + icon: 'none',
  412 + });
  413 + setTimeout(() => {
  414 + uni.navigateBack()
  415 + }, 1000)
371 }) 416 })
372 }, 417 },
373 // toChangeTime(val) { 418 // toChangeTime(val) {
yslvdao-miniapp/pages/home/home.scss
@@ -357,7 +357,14 @@ @@ -357,7 +357,14 @@
357 align-items: center; 357 align-items: center;
358 } 358 }
359 .card_title{ 359 .card_title{
360 - font-size:16px; 360 + // font-size:16px;
  361 + font-size: 30rpx;
  362 + font-weight: bold;
  363 + }
  364 + .card_more{
  365 + // font-size:16px;
  366 + color: #555555;
  367 + font-size: 21rpx;
361 } 368 }
362 } 369 }
363 .other-business { 370 .other-business {
yslvdao-miniapp/pages/home/home.vue
@@ -267,13 +267,16 @@ @@ -267,13 +267,16 @@
267 </view> 267 </view>
268 268
269 <view class="cardHome"> 269 <view class="cardHome">
270 - <view class="card_home"> 270 + <view class="card_home" >
271 <view class="card_title">营销推广活动</view> 271 <view class="card_title">营销推广活动</view>
272 - <view class="card_more" @click="goDetail('/pages/marketing/marketingList/marketingList')">查看更多 ></view> 272 + <view style="align-items: center;" class="card_more" @click="goDetail('/pages/marketing/marketingList/marketingList')">
  273 + 查看更多
  274 + <u-icon name="arrow-right" color="#555555" size="19"></u-icon>
  275 + </view>
273 </view> 276 </view>
274 <view style="width:100%;margin-top:10px;" class="other-business"> 277 <view style="width:100%;margin-top:10px;" class="other-business">
275 <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120" > 278 <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120" >
276 - <view v-for="(item, index) in yingxiaoData" :key="item.id" class="scroll-view-item_H" @click="toDetail(item.id, '/pages/marketing/marketingDetail/marketingDetail')"> 279 + <view v-for="(item, index) in yingxiaoData" :key="item.id" class="scroll-view-item_H" @click="toDetailhd(item)">
277 <view class="business-card"> 280 <view class="business-card">
278 <u-image :showLoading="true" :src="item.coverImage" width="100%" height="210rpx"></u-image> 281 <u-image :showLoading="true" :src="item.coverImage" width="100%" height="210rpx"></u-image>
279 <view class="business-card-title"> 282 <view class="business-card-title">
@@ -289,9 +292,16 @@ @@ -289,9 +292,16 @@
289 </view> 292 </view>
290 293
291 <view class="cardHome"> 294 <view class="cardHome">
292 - <view class="card_home"> 295 + <!-- <view class="card_home">
  296 + <view class="card_title">商务合作</view>
  297 + <view class="card_more" >查看更多 ></view>
  298 + </view> -->
  299 + <view class="card_home" >
293 <view class="card_title">商务合作</view> 300 <view class="card_title">商务合作</view>
294 - <view class="card_more" @click="goDetail('/pages/business/businessList/businessList')">查看更多 ></view> 301 + <view style="align-items: center;" class="card_more" @click="goDetail('/pages/business/businessList/businessList')">
  302 + 查看更多
  303 + <u-icon name="arrow-right" color="#555555" size="19"></u-icon>
  304 + </view>
295 </view> 305 </view>
296 <view style="width:100%;margin-top:10px;" class="other-business"> 306 <view style="width:100%;margin-top:10px;" class="other-business">
297 <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120" > 307 <scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120" >
@@ -307,7 +317,7 @@ @@ -307,7 +317,7 @@
307 </view> 317 </view>
308 </view> 318 </view>
309 </view> 319 </view>
310 - 320 + <view style="height: 250rpx;"></view>
311 <!-- tabbar --> 321 <!-- tabbar -->
312 <tabbar :tabBarShow="0"></tabbar> 322 <tabbar :tabBarShow="0"></tabbar>
313 </view> 323 </view>
@@ -370,6 +380,12 @@ @@ -370,6 +380,12 @@
370 this.onCouponTab(0) 380 this.onCouponTab(0)
371 }, 381 },
372 methods: { 382 methods: {
  383 + toDetailhd(items) {
  384 + let msg = JSON.stringify(items)
  385 + uni.navigateTo({
  386 + url: `/pages/marketing/marketingDetail/marketingDetail?item=${msg}`
  387 + })
  388 + },
373 getALL(){ 389 getALL(){
374 let pagesize = { 390 let pagesize = {
375 pageNumber: 1, 391 pageNumber: 1,
yslvdao-miniapp/pages/leaseAdd/leaseAdd.vue
@@ -59,8 +59,12 @@ @@ -59,8 +59,12 @@
59 <u-picker mode="time" v-model="busEndtshow" :params="params" 59 <u-picker mode="time" v-model="busEndtshow" :params="params"
60 @confirm="busEndTimeChange"></u-picker> 60 @confirm="busEndTimeChange"></u-picker>
61 </u-form-item> 61 </u-form-item>
62 - <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top"> 62 + <!-- <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top">
63 <u-upload :action="$upload" :auto-upload="true" ref="businessLicense" :max-count="1"></u-upload> 63 <u-upload :action="$upload" :auto-upload="true" ref="businessLicense" :max-count="1"></u-upload>
  64 + </u-form-item> -->
  65 + <u-form-item label="营业执照" prop="businessLicense" borderBottom labelPosition="top">
  66 + <u-upload :action="$upload" :auto-upload="false" ref="businessLicense" :max-count="1"
  67 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'businessLicense')"></u-upload>
64 </u-form-item> 68 </u-form-item>
65 </u-form> 69 </u-form>
66 </view> 70 </view>
@@ -77,13 +81,13 @@ @@ -77,13 +81,13 @@
77 <u-form-item label="身份证号码" prop="idNumber" borderBottom> 81 <u-form-item label="身份证号码" prop="idNumber" borderBottom>
78 <u-input v-model="model1.idNumber"></u-input> 82 <u-input v-model="model1.idNumber"></u-input>
79 </u-form-item> 83 </u-form-item>
80 - <u-form-item label="身份证有效开始时间" prop="idValidStart" borderBottom> 84 + <u-form-item label="有效开始时间" prop="idValidStart" borderBottom>
81 <u-input v-model="model1.idValidStart" type="select" @click="idCardStartshow = true" 85 <u-input v-model="model1.idValidStart" type="select" @click="idCardStartshow = true"
82 placeholder="请选择" /> 86 placeholder="请选择" />
83 <u-picker mode="time" v-model="idCardStartshow" :params="params1" 87 <u-picker mode="time" v-model="idCardStartshow" :params="params1"
84 @confirm="idCardStTimeChange"></u-picker> 88 @confirm="idCardStTimeChange"></u-picker>
85 </u-form-item> 89 </u-form-item>
86 - <u-form-item label="身份证有效结束时间" prop="idValidEnd" borderBottom> 90 + <u-form-item label="有效结束时间" prop="idValidEnd" borderBottom>
87 <u-input v-model="model1.idValidEnd" type="select" @click="idCardEndtshow = true" 91 <u-input v-model="model1.idValidEnd" type="select" @click="idCardEndtshow = true"
88 placeholder="请选择" /> 92 placeholder="请选择" />
89 <u-picker mode="time" v-model="idCardEndtshow" :params="params1" 93 <u-picker mode="time" v-model="idCardEndtshow" :params="params1"
@@ -93,7 +97,9 @@ @@ -93,7 +97,9 @@
93 <view class="add-list"> 97 <view class="add-list">
94 <view class="deom-box"> 98 <view class="deom-box">
95 <view class="img-deom"> 99 <view class="img-deom">
96 - <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idPhotoFront"> 100 + <u-upload :action="$upload" :custom-btn="true"
  101 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'idPhotoFront')"
  102 + :auto-upload="false" :max-count="1" ref="idPhotoFront">
97 <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" 103 <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover"
98 hover-stay-time="150"> 104 hover-stay-time="150">
99 <u-image width="304rpx" height="182rpx" 105 <u-image width="304rpx" height="182rpx"
@@ -103,7 +109,9 @@ @@ -103,7 +109,9 @@
103 <text>点击上传证件人像面</text> 109 <text>点击上传证件人像面</text>
104 </view> 110 </view>
105 <view class="img-deom"> 111 <view class="img-deom">
106 - <u-upload :action="$upload" :custom-btn="true" :max-count="1" ref="idPhotoBack"> 112 + <u-upload :action="$upload" :custom-btn="true"
  113 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'idPhotoBack')"
  114 + :auto-upload="false" :max-count="1" ref="idPhotoBack">
107 <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover" 115 <view slot="addBtn" class="slot-btn" hover-class="slot-btn__hover"
108 hover-stay-time="150"> 116 hover-stay-time="150">
109 <u-image width="304rpx" height="182rpx" 117 <u-image width="304rpx" height="182rpx"
@@ -138,8 +146,10 @@ @@ -138,8 +146,10 @@
138 </u-radio-group> 146 </u-radio-group>
139 </u-form-item> 147 </u-form-item>
140 <u-form-item label="企业授权书" prop="enter" borderBottom labelPosition="top"> 148 <u-form-item label="企业授权书" prop="enter" borderBottom labelPosition="top">
141 -  
142 - <u-upload :action="$upload" :auto-upload="true" ref="enter" :max-count="1"></u-upload> 149 + <u-upload :action="$upload" ref="enter" :max-count="1"
  150 + @on-choose-complete="(response, file, fileList) => onsuccess1(response, file, fileList, 'enterpriseAuthorization')"
  151 + :auto-upload="false"></u-upload>
  152 + <!-- <u-upload :action="$upload" :auto-upload="true" ref="enter" :max-count="1"></u-upload> -->
143 </u-form-item> 153 </u-form-item>
144 </view> 154 </view>
145 </u-form> 155 </u-form>
@@ -189,7 +199,7 @@ @@ -189,7 +199,7 @@
189 idNumber: '', 199 idNumber: '',
190 idValidStart: '', 200 idValidStart: '',
191 idValidEnd: '', 201 idValidEnd: '',
192 - idPhotoFront:'', 202 + idPhotoFront: '',
193 idPhotoBack: '', 203 idPhotoBack: '',
194 isLegalPerson: '', 204 isLegalPerson: '',
195 enterpriseAuthorization: '', 205 enterpriseAuthorization: '',
@@ -236,91 +246,136 @@ @@ -236,91 +246,136 @@
236 this.ziyuanId = option.ids 246 this.ziyuanId = option.ids
237 }, 247 },
238 onShow() { 248 onShow() {
239 - let shopId = {  
240 - shopId:uni.getStorageSync('shopId') || ''  
241 - }  
242 - const isLogin = uni.getStorageSync('token');  
243 - if (isLogin =='') {  
244 - // 如果未登录,跳转到登录页面  
245 - uni.navigateTo({  
246 - url: '/pages/login/login'  
247 - })  
248 - }else{  
249 - let page={  
250 - condition:2  
251 - }  
252 - this.$http.sendRequest('/shop/getById', 'POST',shopId).then(res => {  
253 - if(res.data.code !="20004"){  
254 - this.shopMsg = res.data.data  
255 - this.Islogin= false  
256 - this.$http.sendRequest('/index/index', 'POST',page).then(res => {  
257 - //成功回调  
258 - this.tongji = res.data.data  
259 - })  
260 - }else{  
261 - uni.navigateTo({  
262 - url: '/pages/login/login'  
263 - })  
264 - }  
265 - })  
266 - }  
267 - 249 + let shopId = {
  250 + shopId: uni.getStorageSync('shopId') || ''
  251 + }
  252 + const isLogin = uni.getStorageSync('token');
  253 + if (isLogin == '') {
  254 + // 如果未登录,跳转到登录页面
  255 + uni.navigateTo({
  256 + url: '/pages/login/login'
  257 + })
  258 + } else {
  259 + let page = {
  260 + condition: 2
  261 + }
  262 + this.$http.sendRequest('/shop/getById', 'POST', shopId).then(res => {
  263 + if (res.data.code != "20004") {
  264 + this.shopMsg = res.data.data
  265 + this.Islogin = false
  266 + this.$http.sendRequest('/index/index', 'POST', page).then(res => {
  267 + //成功回调
  268 + this.tongji = res.data.data
  269 + })
  270 + } else {
  271 + uni.navigateTo({
  272 + url: '/pages/login/login'
  273 + })
  274 + }
  275 + })
  276 + }
  277 +
268 }, 278 },
269 methods: { 279 methods: {
  280 + onsuccess1(e, file, fileList, ziduan) {
  281 + console.error(e, file, fileList, ziduan)
  282 + uni.uploadFile({
  283 + url: this.$upload, // 仅为示例,请替换为您的服务器上传接口
  284 + filePath: e[0].url,
  285 + name: 'file', // 后端接收的文件参数名
  286 + formData: {
  287 + filePath: 'xcx', // 其他表单数据
  288 + },
  289 + success: (uploadFileRes) => {
  290 + if (ziduan == 'businessLicense') {
  291 + this.model1.businessLicense = this.$img + JSON.parse(uploadFileRes.data).data
  292 + console.error(this.model1.businessLicense)
  293 + } else if (ziduan == 'idPhotoFront') {
  294 + this.model1.idPhotoFront = this.$img + JSON.parse(uploadFileRes.data).data
  295 + } else if (ziduan == 'idPhotoBack') {
  296 + this.model1.idPhotoBack = this.$img + JSON.parse(uploadFileRes.data).data
  297 + } else {
  298 + this.model1.enterpriseAuthorization = this.$img + JSON.parse(uploadFileRes.data)
  299 + .data
  300 + }
  301 +
  302 + console.log('上传成功', this.model1);
  303 + uni.showToast({
  304 + title: '上传成功',
  305 + icon: 'success',
  306 + });
  307 + },
  308 + fail: (err) => {
  309 + console.error('上传失败', err);
  310 + uni.showToast({
  311 + title: '上传失败',
  312 + icon: 'none',
  313 + });
  314 + },
  315 + });
  316 + },
270 typeChange(e) { 317 typeChange(e) {
271 this.model1.entityType = e[0].label; 318 this.model1.entityType = e[0].label;
272 }, 319 },
273 -getCurrentTime() {  
274 - const now = new Date();  
275 - const year = now.getFullYear();  
276 - const month = ('0' + (now.getMonth() + 1)).slice(-2);  
277 - const day = ('0' + now.getDate()).slice(-2);  
278 - const hours = ('0' + now.getHours()).slice(-2);  
279 - const minutes = ('0' + now.getMinutes()).slice(-2);  
280 - const seconds = ('0' + now.getSeconds()).slice(-2); 320 + getCurrentTime() {
  321 + const now = new Date();
  322 + const year = now.getFullYear();
  323 + const month = ('0' + (now.getMonth() + 1)).slice(-2);
  324 + const day = ('0' + now.getDate()).slice(-2);
  325 + const hours = ('0' + now.getHours()).slice(-2);
  326 + const minutes = ('0' + now.getMinutes()).slice(-2);
  327 + const seconds = ('0' + now.getSeconds()).slice(-2);
281 328
282 - return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;  
283 - }, 329 + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  330 + },
284 go() { 331 go() {
285 - let files = []  
286 - let idCardOne = []  
287 - let idCardTwo = []  
288 - let enter = []  
289 - // // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)  
290 - files = this.$refs.businessLicense.lists.filter(val => {  
291 - return val.progress == 100;  
292 - })  
293 - files.map(item => {  
294 - this.model1.businessLicense = item.response.data.url  
295 - })  
296 - idCardOne = this.$refs.idPhotoFront.lists.filter(val => {  
297 - return val.progress == 100;  
298 - })  
299 - idCardOne.map(item => {  
300 - this.model1.idPhotoFront = item.response.data.url 332 + // let files = []
  333 + // let idCardOne = []
  334 + // let idCardTwo = []
  335 + // let enter = []
  336 + // // // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)
  337 + // files = this.$refs.businessLicense.lists.filter(val => {
  338 + // return val.progress == 100;
  339 + // })
  340 + // files.map(item => {
  341 + // this.model1.businessLicense = item.response.data.url
  342 + // })
  343 + // idCardOne = this.$refs.idPhotoFront.lists.filter(val => {
  344 + // return val.progress == 100;
  345 + // })
  346 + // idCardOne.map(item => {
  347 + // this.model1.idPhotoFront = item.response.data.url
  348 +
  349 + // })
  350 + // idCardTwo = this.$refs.idPhotoBack.lists.filter(val => {
  351 + // return val.progress == 100;
  352 + // })
  353 + // idCardTwo.map(item => {
  354 + // this.model1.idPhotoBack = item.response.data.url
  355 + // })
  356 + // enter = this.$refs.enter.lists.filter(val => {
  357 + // return val.progress == 100;
  358 + // })
  359 + // enter.map(item => {
  360 + // this.model1.enterpriseAuthorization = item.response.data.url
  361 + // })
301 362
302 - })  
303 - idCardTwo = this.$refs.idPhotoBack.lists.filter(val => {  
304 - return val.progress == 100;  
305 - })  
306 - idCardTwo.map(item => {  
307 - this.model1.idPhotoBack = item.response.data.url  
308 - })  
309 - enter = this.$refs.enter.lists.filter(val => {  
310 - return val.progress == 100;  
311 - })  
312 - enter.map(item => {  
313 - this.model1.enterpriseAuthorization = item.response.data.url  
314 - })  
315 -  
316 this.model1.rentalResourcesId = this.ziyuanId 363 this.model1.rentalResourcesId = this.ziyuanId
317 this.model1.applicant = uni.getStorageSync('shopId') 364 this.model1.applicant = uni.getStorageSync('shopId')
318 this.model1.applicationTime = this.getCurrentTime() 365 this.model1.applicationTime = this.getCurrentTime()
319 - 366 + console.error(this.model1)
  367 + // return
320 this.$http.sendRequest('/cereBusinessInfo/add', 'POST', this.model1, 1).then(res => { 368 this.$http.sendRequest('/cereBusinessInfo/add', 'POST', this.model1, 1).then(res => {
321 - uni.redirectTo({  
322 - url: '/pages/record/record'  
323 - }) 369 + // uni.redirectTo({
  370 + // url: '/pages/record/record'
  371 + // })
  372 + uni.showToast({
  373 + title: '提交成功',
  374 + icon: 'none',
  375 + });
  376 + setTimeout(() => {
  377 + uni.navigateBack()
  378 + }, 1000)
324 }) 379 })
325 }, 380 },
326 // 上一步 381 // 上一步
yslvdao-miniapp/pages/login/login.scss
@@ -36,17 +36,18 @@ @@ -36,17 +36,18 @@
36 /* 填写 */ 36 /* 填写 */
37 .input-info{ 37 .input-info{
38 padding: 0 6%; 38 padding: 0 6%;
39 - margin: 80rpx 0 40rpx 0; 39 + // margin: 80rpx 0 40rpx 0;
40 .info{ 40 .info{
41 display: flex; 41 display: flex;
42 align-items:center; 42 align-items:center;
43 justify-content: space-between; 43 justify-content: space-between;
44 width: 100%; 44 width: 100%;
45 height: 100rpx; 45 height: 100rpx;
46 - background-color: #F2F4F6;  
47 - border-radius: 20rpx; 46 + background-color: #fff;
  47 + border-radius: 32rpx;
48 margin-bottom: 40rpx; 48 margin-bottom: 40rpx;
49 padding: 0 30rpx 0 40rpx; 49 padding: 0 30rpx 0 40rpx;
  50 + border: 2rpx solid rgba(15,187,89,0.1804);
50 input{ 51 input{
51 width: 70%; 52 width: 70%;
52 height: 100%; 53 height: 100%;
@@ -105,8 +106,8 @@ @@ -105,8 +106,8 @@
105 justify-content: center; 106 justify-content: center;
106 width: 88%; 107 width: 88%;
107 height: 90rpx; 108 height: 90rpx;
108 - background-color:#3f9b6a;  
109 - border-radius: 10rpx; 109 + background-color:#0FBB59;
  110 + border-radius: 32rpx;
110 color: #FFFFFF; 111 color: #FFFFFF;
111 font-size: 32rpx; 112 font-size: 32rpx;
112 } 113 }
yslvdao-miniapp/pages/my/my.vue
@@ -18,18 +18,18 @@ @@ -18,18 +18,18 @@
18 <view class="user-info" @click="myMsg"> 18 <view class="user-info" @click="myMsg">
19 <view class="portrait"> 19 <view class="portrait">
20 <image :src="$imgUrl('/img/head.jpg')" v-if="Islogin"></image> 20 <image :src="$imgUrl('/img/head.jpg')" v-if="Islogin"></image>
21 - <image :src="shopMsg.shopLogo" v-else></image> 21 + <image :src="shopMsg.shopLogo?shopMsg.shopLogo:$imgUrl('/img/head.jpg')" v-else></image>
22 </view> 22 </view>
23 <view class="info"> 23 <view class="info">
24 <view class="nickname"> 24 <view class="nickname">
25 <text v-if="Islogin">请登录</text> 25 <text v-if="Islogin">请登录</text>
26 - <text v-else >{{shopMsg.shopName}}</text> 26 + <text v-else >{{shopMsg.shopName || '用户'}}</text>
27 </view> 27 </view>
28 <view class="rank"> 28 <view class="rank">
29 <view class="rank-box"> 29 <view class="rank-box">
30 <image :src="$imgUrl('/vip.png')" ></image> 30 <image :src="$imgUrl('/vip.png')" ></image>
31 <text v-if="Islogin"></text> 31 <text v-if="Islogin"></text>
32 - <text v-else >{{shopMsg.shopReturn.returnAdress}}有限公司</text> 32 + <text v-else-if="shopMsg.shopReturn.returnAdress">{{shopMsg.shopReturn.returnAdress}}有限公司</text>
33 </view> 33 </view>
34 </view> 34 </view>
35 </view> 35 </view>
@@ -308,6 +308,47 @@ @@ -308,6 +308,47 @@
308 this.getALL() 308 this.getALL()
309 }, 309 },
310 methods: { 310 methods: {
  311 + isshop() {
  312 + uni.navigateTo({
  313 + url: '/pagesA/leaseAdd/leaseAdd'
  314 + })
  315 + return
  316 + this.$http.sendRequest('/cerePlatformMerchant/queryByPage', 'POST', {
  317 + "pageSize": 10,
  318 + pageNumber: 0,
  319 + phone: uni.getStorageSync('user').phone
  320 + }, 2).then(res => {
  321 + //成功回调
  322 + if (res.data.data.content.length > 0) {
  323 + let c1 = res.data.data.content[0]
  324 + console.error({
  325 + ...c1
  326 + })
  327 + if (c1.checkState == '1') {
  328 + uni.showToast({
  329 + icon: 'none',
  330 + title: '正在审核中',
  331 + duration: 3000
  332 + });
  333 + } else if (c1.checkState == '3') {
  334 + uni.showToast({
  335 + icon: 'none',
  336 + title: '审核已被拒绝 请重新提交',
  337 + duration: 3000
  338 + });
  339 + setTimeout(() => {
  340 + uni.navigateTo({
  341 + url: '/pagesA/leaseAdd/leaseAdd'
  342 + })
  343 + }, 3000)
  344 + }
  345 + } else {
  346 + uni.navigateTo({
  347 + url: '/pagesA/leaseAdd/leaseAdd'
  348 + })
  349 + }
  350 + })
  351 + },
311 getALL(){ 352 getALL(){
312 this.pageindex.createUser =uni.getStorageSync('shopId') 353 this.pageindex.createUser =uni.getStorageSync('shopId')
313 this.$http.sendRequest('/cerePromotion/queryByPage', 'POST', this.pageindex,1).then(res => { 354 this.$http.sendRequest('/cerePromotion/queryByPage', 'POST', this.pageindex,1).then(res => {
yslvdao-miniapp/pages/record/record.scss
@@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
24 display: flex; 24 display: flex;
25 justify-content: center; 25 justify-content: center;
26 align-items: center; 26 align-items: center;
27 - width: 30%; 27 + // width: 30%;
28 height: 100%; 28 height: 100%;
29 background-color: #fff; 29 background-color: #fff;
30 padding: 10rpx 16rpx; 30 padding: 10rpx 16rpx;
yslvdao-miniapp/utils/request.js
@@ -13,16 +13,18 @@ const sendRequest = (url, method = &#39;GET&#39;, data = {}, baseUrl,contentType) =&gt; { @@ -13,16 +13,18 @@ const sendRequest = (url, method = &#39;GET&#39;, data = {}, baseUrl,contentType) =&gt; {
13 types = 'application/json'; 13 types = 'application/json';
14 } 14 }
15 var bases = '' 15 var bases = ''
  16 + console.error(baseUrl)
16 if(baseUrl == 1){ 17 if(baseUrl == 1){
17 bases = 'https://jy.scjysm.asia:18086/admin-server' + url; 18 bases = 'https://jy.scjysm.asia:18086/admin-server' + url;
18 // bases = 'http://8.130.38.56:8027/admin-server' + url; 19 // bases = 'http://8.130.38.56:8027/admin-server' + url;
19 - // bases = 'http://192.168.2.193:9003' + url; 20 + // bases = 'http://192.168.8.106:9003' + url;
20 21
21 22
22 }else{ 23 }else{
  24 +
23 // bases = 'http://8.130.38.56:8027/business-server' + url; 25 // bases = 'http://8.130.38.56:8027/business-server' + url;
24 - bases = 'http://192.168.8.106:9004' + url;  
25 - // bases = 'https://jy.scjysm.asia:18086/merchant-business' + url; 26 + // bases = 'http://192.168.8.106:9004' + url;
  27 + bases = 'https://jy.scjysm.asia:18086/merchant-business' + url;
26 28
27 } 29 }
28 var token = uni.getStorageSync('token') || ''; 30 var token = uni.getStorageSync('token') || '';
yslvdao-miniapp/utils/rsaEncrypt.js
1 -import JSEncrypt from './jsencrypt' 1 +import * as CryptoSM4 from 'sm-crypto';
2 2
3 // 密钥对生成 http://web.chacuo.net/netrsakeypair 3 // 密钥对生成 http://web.chacuo.net/netrsakeypair
4 4
@@ -7,17 +7,44 @@ const publicKey = &#39;MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArEAGYSWFuRIiPS3M2 @@ -7,17 +7,44 @@ const publicKey = &#39;MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArEAGYSWFuRIiPS3M2
7 const privateKey = 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCsQAZhJYW5EiI9LczatgFJdYgX3bnWzYCxDxKEpHUoonZ+HN8gfl10YtntKVyUb/IlMsanoHpbvopEbPcPkqpra/gASIgvUar9Tg9YT53rN/AwSODVL8MbK0G1jJAnyR46pl7MMNnxypEDTZi8oEKYno0Je2dUZ5FIssR5NwU8WSh020GfUbdQDMTpc5VE2rosqcAz8qjeBl87/1Ux0wqZrvaPv7Cg7at9VC49Kd+urI2jkZ6jg2yVlnMlzhzwfrcAkcueJrUhDjmZKCx0DN4QqktH21vz1MERUw2v4jq0nyTRNnyltTomypkNjCiRr9JvgiBSGEX45XWj37331pwhAgMBAAECggEAKo6nBNmAcHlKfFMUifTt3HhtZ3ggsjGT2isfKCZ5y9BX9lCr0Btoe5jwvue5N/NwoEArVL8RfBlXkBBb+j0CXggO/gLtosNKu8rNf8QsADGR5lwbMJDcY5oMYg6YjzvhfBwez9RCBLtHmMlTM0dlLM//iJg0r2XnP07rvAccBAybbQrobwb+t3UY3388rVWEfdU7SJ3lYA+LxneFZMhol1YhB179IzFeVJYipbrockK2LURa21xbDdsd1jFoYTIP7JDh27qfAluV5sN+5aM4QqNFCnvVEqM/1x1ITwEE9aGzoxHywJ0xAhLujqA3fGgkGuawPQkDvtHPqEZmBaM8AQKBgQDULCp7GVYI66RgUYXeF7dhs9hD+vqsQOkePZmfN0/0AlioWNUmGlybk2ivzPKuGzJrBQ/Hk7c67wyOBwQtiC4I1v/c7yQa+kp4673nJOy90OIt/1MNxMPux10cO3TrRv8uqT/LOncg35hNyBEh9UVjoWH/qlFfoXMznX2Vr4jOxQKBgQDP1LuQ/aTzORcvprmqVFAXaDjNtgp8I93TXXW2iv1Pw+EM/T1xMdjhRi5qRD0KaU7/dRuDloN94mTG/y4htMxcusJGAotJQCWE8M7cb/o27F/FikoVSoHbfBfZe1zODuksuJIsknP0W18PCo8qldg2F9IJ1GfF1pl90WsJvIVtrQKBgDnOzsQ7YvWLPn3/uDmKvKwiFApxl1rXVKyom/KFX4NcIEu96FU5WYIJ57v+WyCUyGfgOSxnUsT73K/VuY2uTNybt5q6jVvMVf4cPOF9bgNJplZh+n8F3VxxdSz8Bh8UePJ9qqP0igCq6xRGLmTSLtW2Yr0F6qXjlz+46T6fVOcBAoGBAMGsvDJMvLfQHxRP6buaIJz/idfh6flvrxt2f+jhs1fu8T2ajPR8gGDGdyCegMfABVc4ObCxxc28+S8cxE+y3bMYc0ysuEJF3fD6O7vfOiyOsF01Fv6qVUNFbDBGruBzssXzJn0U6avwrjAlJe+IfllCb4CriR0rdBR04KvNHAZtAoGBALMec9nn6PDOjCXdKjHEAkAmopfatShJI1KRC8TTnPjMvAbCsuUWezUkTj7S9ZN81F6tPaS+DdeE4CD7T7/EfjRtfxbMwPZ6b4gaXdZgCigSqa3HVh2fUD5Wlfypl3r50pKzmW6POG/o/a466bgh9CkylBpqgKfeQyNNLpE1HZA/' 7 const privateKey = 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCsQAZhJYW5EiI9LczatgFJdYgX3bnWzYCxDxKEpHUoonZ+HN8gfl10YtntKVyUb/IlMsanoHpbvopEbPcPkqpra/gASIgvUar9Tg9YT53rN/AwSODVL8MbK0G1jJAnyR46pl7MMNnxypEDTZi8oEKYno0Je2dUZ5FIssR5NwU8WSh020GfUbdQDMTpc5VE2rosqcAz8qjeBl87/1Ux0wqZrvaPv7Cg7at9VC49Kd+urI2jkZ6jg2yVlnMlzhzwfrcAkcueJrUhDjmZKCx0DN4QqktH21vz1MERUw2v4jq0nyTRNnyltTomypkNjCiRr9JvgiBSGEX45XWj37331pwhAgMBAAECggEAKo6nBNmAcHlKfFMUifTt3HhtZ3ggsjGT2isfKCZ5y9BX9lCr0Btoe5jwvue5N/NwoEArVL8RfBlXkBBb+j0CXggO/gLtosNKu8rNf8QsADGR5lwbMJDcY5oMYg6YjzvhfBwez9RCBLtHmMlTM0dlLM//iJg0r2XnP07rvAccBAybbQrobwb+t3UY3388rVWEfdU7SJ3lYA+LxneFZMhol1YhB179IzFeVJYipbrockK2LURa21xbDdsd1jFoYTIP7JDh27qfAluV5sN+5aM4QqNFCnvVEqM/1x1ITwEE9aGzoxHywJ0xAhLujqA3fGgkGuawPQkDvtHPqEZmBaM8AQKBgQDULCp7GVYI66RgUYXeF7dhs9hD+vqsQOkePZmfN0/0AlioWNUmGlybk2ivzPKuGzJrBQ/Hk7c67wyOBwQtiC4I1v/c7yQa+kp4673nJOy90OIt/1MNxMPux10cO3TrRv8uqT/LOncg35hNyBEh9UVjoWH/qlFfoXMznX2Vr4jOxQKBgQDP1LuQ/aTzORcvprmqVFAXaDjNtgp8I93TXXW2iv1Pw+EM/T1xMdjhRi5qRD0KaU7/dRuDloN94mTG/y4htMxcusJGAotJQCWE8M7cb/o27F/FikoVSoHbfBfZe1zODuksuJIsknP0W18PCo8qldg2F9IJ1GfF1pl90WsJvIVtrQKBgDnOzsQ7YvWLPn3/uDmKvKwiFApxl1rXVKyom/KFX4NcIEu96FU5WYIJ57v+WyCUyGfgOSxnUsT73K/VuY2uTNybt5q6jVvMVf4cPOF9bgNJplZh+n8F3VxxdSz8Bh8UePJ9qqP0igCq6xRGLmTSLtW2Yr0F6qXjlz+46T6fVOcBAoGBAMGsvDJMvLfQHxRP6buaIJz/idfh6flvrxt2f+jhs1fu8T2ajPR8gGDGdyCegMfABVc4ObCxxc28+S8cxE+y3bMYc0ysuEJF3fD6O7vfOiyOsF01Fv6qVUNFbDBGruBzssXzJn0U6avwrjAlJe+IfllCb4CriR0rdBR04KvNHAZtAoGBALMec9nn6PDOjCXdKjHEAkAmopfatShJI1KRC8TTnPjMvAbCsuUWezUkTj7S9ZN81F6tPaS+DdeE4CD7T7/EfjRtfxbMwPZ6b4gaXdZgCigSqa3HVh2fUD5Wlfypl3r50pKzmW6POG/o/a466bgh9CkylBpqgKfeQyNNLpE1HZA/'
8 8
9 9
10 -// 加密  
11 -export function encrypt(txt) {  
12 - const encryptor = new JSEncrypt()  
13 - encryptor.setPublicKey(publicKey) // 设置公钥  
14 - return encryptor.encrypt(txt) // 对需要加密的数据进行加密  
15 -} 10 +const DEFAULT_KEY ="cda4442f102f6396eea76902e37ad7cb";
  11 +const DEFAULT_IV = "8bd8a83221742111c7532b7275a7fe9c";
16 12
17 -// 解密  
18 -export function decrypt(txt) {  
19 - const encryptor = new JSEncrypt()  
20 - encryptor.setPrivateKey(privateKey)  
21 - return encryptor.decrypt(txt)  
22 -}  
23 13
  14 +function stringToHex(str){
  15 + let hex = Array.prototype.map.call(str, (c) => {
  16 + return c.charCodeAt(0).toString(16);
  17 + }).join("");
  18 + return hex;
  19 +}
  20 +
  21 +const pwdKey = stringToHex(DEFAULT_KEY) //密钥替换为后端密钥
  22 +
  23 +function encryptedSM4(text) {
  24 + const gmCryptConfigSet = {
  25 + padding: DEFAULT_KEY,
  26 + mode: 'cbc',
  27 + iv: DEFAULT_IV,
  28 + output: 'string'
  29 + };
  30 + return CryptoSM4.sm4.encrypt(JSON.stringify(text), DEFAULT_KEY, gmCryptConfigSet)
  31 +}
  32 +
  33 +
  34 +function decryptedSM4(text) {
  35 + const gmCryptConfigGet = {
  36 + padding: DEFAULT_KEY,
  37 + mode: 'cbc',
  38 + iv: DEFAULT_IV,
  39 + output: 'string'
  40 + };
  41 + const originData = CryptoSM4.sm4.decrypt(text, DEFAULT_KEY, gmCryptConfigGet);
  42 + const charCodes = originData.split('').map(char => char.charCodeAt(0));
  43 + // 过滤掉字符码等于0的字节
  44 + const filteredCharCodes = charCodes.filter(code => code !== 0);
  45 + const decryptData = filteredCharCodes.map(code => String.fromCharCode(code)).join('')
  46 + // 将过滤后的字符码数组转换回字符串
  47 + console.error(decryptData)
  48 + return JSON.parse(decryptData)
  49 +}
  50 +module.exports.decryptedSM4 = decryptedSM4
24 \ No newline at end of file 51 \ No newline at end of file