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 51  
52 52 // ========== PAY 模块 ==========
53 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 55 PAY_CHANNEL_CODE: 'pay_channel_code', // 支付渠道编码类型
59 56 PAY_ORDER_STATUS: 'pay_order_status', // 商户支付订单状态
... ...
yudao-ui-admin/src/views/pay/app/components/aliPayChannelForm.vue
... ... @@ -8,36 +8,32 @@
8 8 <template slot="append">%</template>
9 9 </el-input>
10 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 12 <el-input v-model="form.aliPayConfig.appId" placeholder="请输入开放平台APPID" clearable :style="{width: '100%'}">
13 13 </el-input>
14 14 </el-form-item>
15 15 <el-form-item label-width="180px" label="渠道状态" prop="status">
16 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 18 {{ dict.label }}
19 19 </el-radio>
20 20 </el-radio-group>
21 21 </el-form-item>
22 22 <el-form-item label-width="180px" label="网关地址" prop="aliPayConfig.serverUrl">
23 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 26 </el-radio-group>
28 27 </el-form-item>
29 28 <el-form-item label-width="180px" label="算法类型" prop="aliPayConfig.signType">
30 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 31 </el-radio-group>
35 32 </el-form-item>
36 33 <el-form-item label-width="180px" label="公钥类型" prop="aliPayConfig.mode">
37 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 37 </el-radio-group>
42 38 </el-form-item>
43 39 <div v-if="form.aliPayConfig.mode === 1">
... ... @@ -122,7 +118,6 @@
122 118 </div>
123 119 </template>
124 120 <script>
125   -import {DICT_TYPE, getDictDatas} from "@/utils/dict";
126 121 import {createChannel, getChannel, updateChannel} from "@/api/pay/channel";
127 122  
128 123 const defaultForm = {
... ... @@ -167,71 +162,19 @@ export default {
167 162 title:'',
168 163 form: JSON.parse(JSON.stringify(defaultForm)),
169 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 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 180 watch: {
... ... @@ -252,7 +195,6 @@ export default {
252 195 }
253 196 }
254 197 },
255   -
256 198 methods: {
257 199 init() {
258 200 getChannel(this.transferParam.appId, this.transferParam.payCode)
... ... @@ -292,10 +234,8 @@ export default {
292 234 this.$modal.msgSuccess("修改成功");
293 235 this.close();
294 236 }
295   -
296 237 })
297 238 } else {
298   -
299 239 createChannel(data).then(response => {
300 240 if (response.code === 0) {
301 241 this.$modal.msgSuccess("新增成功");
... ...
yudao-ui-admin/src/views/pay/app/index.vue
... ... @@ -213,7 +213,9 @@
213 213 <el-button @click="cancel">取 消</el-button>
214 214 </div>
215 215 </el-dialog>
216   - <wechat-channel-form :transferParam="channelParam"></wechat-channel-form>
  216 +
  217 + <!-- 弹窗 -->
  218 + <wechat-channel-form :transferParam="channelParam" />
217 219 <ali-pay-channel-form :transferParam="channelParam"></ali-pay-channel-form>
218 220 </div>
219 221 </template>
... ...