Commit da529851bd142ccd9dff47abcbf8b8acc1e0cb64
1 parent
654b70c5
mall + pay:
1. 简化支付宝支付的配置界面
Showing
3 changed files
with
21 additions
and
82 deletions
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> |