Commit da529851bd142ccd9dff47abcbf8b8acc1e0cb64

Authored by YunaiV
1 parent 654b70c5

mall + pay:

1. 简化支付宝支付的配置界面
yudao-ui-admin/src/utils/dict.js
@@ -51,9 +51,6 @@ export const DICT_TYPE = { @@ -51,9 +51,6 @@ export const DICT_TYPE = {
51 51
52 // ========== PAY 模块 ========== 52 // ========== PAY 模块 ==========
53 PAY_CHANNEL_WECHAT_VERSION: 'pay_channel_wechat_version', // 微信渠道版本 53 PAY_CHANNEL_WECHAT_VERSION: 'pay_channel_wechat_version', // 微信渠道版本
54 - PAY_CHANNEL_ALIPAY_SIGN_TYPE: 'pay_channel_alipay_sign_type', // 支付渠道支付宝算法类型  
55 - PAY_CHANNEL_ALIPAY_MODE: 'pay_channel_alipay_mode', // 支付宝公钥类型  
56 - PAY_CHANNEL_ALIPAY_SERVER_TYPE: 'pay_channel_alipay_server_type', // 支付宝网关地址  
57 54
58 PAY_CHANNEL_CODE: 'pay_channel_code', // 支付渠道编码类型 55 PAY_CHANNEL_CODE: 'pay_channel_code', // 支付渠道编码类型
59 PAY_ORDER_STATUS: 'pay_order_status', // 商户支付订单状态 56 PAY_ORDER_STATUS: 'pay_order_status', // 商户支付订单状态
yudao-ui-admin/src/views/pay/app/components/aliPayChannelForm.vue
@@ -8,36 +8,32 @@ @@ -8,36 +8,32 @@
8 <template slot="append">%</template> 8 <template slot="append">%</template>
9 </el-input> 9 </el-input>
10 </el-form-item> 10 </el-form-item>
11 - <el-form-item label-width="180px" label="开放平台APPID" prop="aliPayConfig.appId"> 11 + <el-form-item label-width="180px" label="开放平台 APPID" prop="aliPayConfig.appId">
12 <el-input v-model="form.aliPayConfig.appId" placeholder="请输入开放平台APPID" clearable :style="{width: '100%'}"> 12 <el-input v-model="form.aliPayConfig.appId" placeholder="请输入开放平台APPID" clearable :style="{width: '100%'}">
13 </el-input> 13 </el-input>
14 </el-form-item> 14 </el-form-item>
15 <el-form-item label-width="180px" label="渠道状态" prop="status"> 15 <el-form-item label-width="180px" label="渠道状态" prop="status">
16 <el-radio-group v-model="form.status" size="medium"> 16 <el-radio-group v-model="form.status" size="medium">
17 - <el-radio v-for="dict in statusDictDatas" :key="parseInt(dict.value)" :label="parseInt(dict.value)"> 17 + <el-radio v-for="dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)" :key="parseInt(dict.value)" :label="parseInt(dict.value)">
18 {{ dict.label }} 18 {{ dict.label }}
19 </el-radio> 19 </el-radio>
20 </el-radio-group> 20 </el-radio-group>
21 </el-form-item> 21 </el-form-item>
22 <el-form-item label-width="180px" label="网关地址" prop="aliPayConfig.serverUrl"> 22 <el-form-item label-width="180px" label="网关地址" prop="aliPayConfig.serverUrl">
23 <el-radio-group v-model="form.aliPayConfig.serverUrl" size="medium"> 23 <el-radio-group v-model="form.aliPayConfig.serverUrl" size="medium">
24 - <el-radio v-for="dict in aliPayServerDatas" :key="dict.value" :label="dict.value">  
25 - {{ dict.label }}  
26 - </el-radio> 24 + <el-radio label="https://openapi.alipay.com/gateway.do">线上环境</el-radio>
  25 + <el-radio label="https://openapi-sandbox.dl.alipaydev.com/gateway.do">沙箱环境</el-radio>
27 </el-radio-group> 26 </el-radio-group>
28 </el-form-item> 27 </el-form-item>
29 <el-form-item label-width="180px" label="算法类型" prop="aliPayConfig.signType"> 28 <el-form-item label-width="180px" label="算法类型" prop="aliPayConfig.signType">
30 <el-radio-group v-model="form.aliPayConfig.signType" size="medium"> 29 <el-radio-group v-model="form.aliPayConfig.signType" size="medium">
31 - <el-radio v-for="dict in aliPaySignTypeDatas" :key="dict.value" :label="dict.value">  
32 - {{ dict.label }}  
33 - </el-radio> 30 + <el-radio key="RSA2" label="RSA2">RSA2</el-radio>
34 </el-radio-group> 31 </el-radio-group>
35 </el-form-item> 32 </el-form-item>
36 <el-form-item label-width="180px" label="公钥类型" prop="aliPayConfig.mode"> 33 <el-form-item label-width="180px" label="公钥类型" prop="aliPayConfig.mode">
37 <el-radio-group v-model="form.aliPayConfig.mode" size="medium"> 34 <el-radio-group v-model="form.aliPayConfig.mode" size="medium">
38 - <el-radio v-for="dict in aliPayModeDatas" :key="parseInt(dict.value)" :label="parseInt(dict.value)">  
39 - {{ dict.label }}  
40 - </el-radio> 35 + <el-radio key="公钥模式" :label="1">公钥模式</el-radio>
  36 + <el-radio key="证书模式" :label="2">证书模式</el-radio>
41 </el-radio-group> 37 </el-radio-group>
42 </el-form-item> 38 </el-form-item>
43 <div v-if="form.aliPayConfig.mode === 1"> 39 <div v-if="form.aliPayConfig.mode === 1">
@@ -122,7 +118,6 @@ @@ -122,7 +118,6 @@
122 </div> 118 </div>
123 </template> 119 </template>
124 <script> 120 <script>
125 -import {DICT_TYPE, getDictDatas} from "@/utils/dict";  
126 import {createChannel, getChannel, updateChannel} from "@/api/pay/channel"; 121 import {createChannel, getChannel, updateChannel} from "@/api/pay/channel";
127 122
128 const defaultForm = { 123 const defaultForm = {
@@ -167,71 +162,19 @@ export default { @@ -167,71 +162,19 @@ export default {
167 title:'', 162 title:'',
168 form: JSON.parse(JSON.stringify(defaultForm)), 163 form: JSON.parse(JSON.stringify(defaultForm)),
169 rules: { 164 rules: {
170 - feeRate: [{  
171 - required: true,  
172 - message: '请输入渠道费率',  
173 - trigger: 'blur'  
174 - }],  
175 - 'aliPayConfig.appId': [{  
176 - required: true,  
177 - message: '请输入开放平台上创建的应用的 ID',  
178 - trigger: 'blur'  
179 - }],  
180 - status: [{  
181 - required: true,  
182 - message: '渠道状态不能为空',  
183 - trigger: 'blur'  
184 - }],  
185 - 'aliPayConfig.serverUrl': [{  
186 - required: true,  
187 - message: '请传入网关地址',  
188 - trigger: 'blur'  
189 - }],  
190 - 'aliPayConfig.signType': [{  
191 - required: true,  
192 - message: '请传入签名算法类型',  
193 - trigger: 'blur'  
194 - }],  
195 - 'aliPayConfig.mode': [{  
196 - required: true,  
197 - message: '公钥类型不能为空',  
198 - trigger: 'blur'  
199 - }],  
200 - 'aliPayConfig.privateKey': [{  
201 - required: true,  
202 - message: '请输入商户私钥',  
203 - trigger: 'blur'  
204 - }],  
205 - 'aliPayConfig.alipayPublicKey': [{  
206 - required: true,  
207 - message: '请输入支付宝公钥字符串',  
208 - trigger: 'blur'  
209 - }],  
210 - 'aliPayConfig.appCertContent': [{  
211 - required: true,  
212 - message: '请上传商户公钥应用证书',  
213 - trigger: 'blur'  
214 - }],  
215 - 'aliPayConfig.alipayPublicCertContent': [{  
216 - required: true,  
217 - message: '请上传支付宝公钥证书',  
218 - trigger: 'blur'  
219 - }],  
220 - 'aliPayConfig.rootCertContent': [{  
221 - required: true,  
222 - message: '请上传指定根证书',  
223 - trigger: 'blur'  
224 - }], 165 + feeRate: [{ required: true, message: '请输入渠道费率', trigger: 'blur' }],
  166 + status: [{ required: true, message: '渠道状态不能为空', trigger: 'blur' }],
  167 + 'aliPayConfig.appId': [{ required: true, message: '请输入开放平台上创建的应用的 ID', trigger: 'blur' }],
  168 + 'aliPayConfig.serverUrl': [{ required: true, message: '请传入网关地址', trigger: 'blur' }],
  169 + 'aliPayConfig.signType': [{ required: true, message: '请传入签名算法类型', trigger: 'blur' }],
  170 + 'aliPayConfig.mode': [{ required: true, message: '公钥类型不能为空', trigger: 'blur'}],
  171 + 'aliPayConfig.privateKey': [{ required: true, message: '请输入商户私钥', trigger: 'blur' }],
  172 + 'aliPayConfig.alipayPublicKey': [{ required: true, message: '请输入支付宝公钥字符串', trigger: 'blur' }],
  173 + 'aliPayConfig.appCertContent': [{ required: true, message: '请上传商户公钥应用证书', trigger: 'blur' }],
  174 + 'aliPayConfig.alipayPublicCertContent': [{ required: true, message: '请上传支付宝公钥证书', trigger: 'blur'}],
  175 + 'aliPayConfig.rootCertContent': [{ required: true, message: '请上传指定根证书', trigger: 'blur' }],
225 }, 176 },
226 fileAccept: ".crt", 177 fileAccept: ".crt",
227 - // 渠道状态 数据字典  
228 - statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS),  
229 - // 支付宝加密方式  
230 - aliPaySignTypeDatas: getDictDatas(DICT_TYPE.PAY_CHANNEL_ALIPAY_SIGN_TYPE),  
231 - // 版本状态 数据字典  
232 - aliPayModeDatas: getDictDatas(DICT_TYPE.PAY_CHANNEL_ALIPAY_MODE),  
233 - // 支付宝网关地址  
234 - aliPayServerDatas: getDictDatas(DICT_TYPE.PAY_CHANNEL_ALIPAY_SERVER_TYPE),  
235 } 178 }
236 }, 179 },
237 watch: { 180 watch: {
@@ -252,7 +195,6 @@ export default { @@ -252,7 +195,6 @@ export default {
252 } 195 }
253 } 196 }
254 }, 197 },
255 -  
256 methods: { 198 methods: {
257 init() { 199 init() {
258 getChannel(this.transferParam.appId, this.transferParam.payCode) 200 getChannel(this.transferParam.appId, this.transferParam.payCode)
@@ -292,10 +234,8 @@ export default { @@ -292,10 +234,8 @@ export default {
292 this.$modal.msgSuccess("修改成功"); 234 this.$modal.msgSuccess("修改成功");
293 this.close(); 235 this.close();
294 } 236 }
295 -  
296 }) 237 })
297 } else { 238 } else {
298 -  
299 createChannel(data).then(response => { 239 createChannel(data).then(response => {
300 if (response.code === 0) { 240 if (response.code === 0) {
301 this.$modal.msgSuccess("新增成功"); 241 this.$modal.msgSuccess("新增成功");
yudao-ui-admin/src/views/pay/app/index.vue
@@ -213,7 +213,9 @@ @@ -213,7 +213,9 @@
213 <el-button @click="cancel">取 消</el-button> 213 <el-button @click="cancel">取 消</el-button>
214 </div> 214 </div>
215 </el-dialog> 215 </el-dialog>
216 - <wechat-channel-form :transferParam="channelParam"></wechat-channel-form> 216 +
  217 + <!-- 弹窗 -->
  218 + <wechat-channel-form :transferParam="channelParam" />
217 <ali-pay-channel-form :transferParam="channelParam"></ali-pay-channel-form> 219 <ali-pay-channel-form :transferParam="channelParam"></ali-pay-channel-form>
218 </div> 220 </div>
219 </template> 221 </template>