✨ feat: 对接商户编辑接口
This commit is contained in:
parent
18275de237
commit
1616860da0
|
@ -969,4 +969,9 @@ export const resendCardCode = (data) => {
|
|||
return req("post", baseurl + "/order/resendCardCode", data)
|
||||
}
|
||||
|
||||
/* 设置开发信息 */
|
||||
export const setResellMerchant = (data) => {
|
||||
return req("post", baseurl + "/reseller/resellMerchant/set", data)
|
||||
}
|
||||
|
||||
export { req }
|
||||
|
|
|
@ -36,9 +36,9 @@ const Column = [
|
|||
width: "20%"
|
||||
},
|
||||
{
|
||||
title: "商户 ID",
|
||||
name: "code",
|
||||
prop: "code",
|
||||
title: "商户编号",
|
||||
name: "merchant",
|
||||
prop: "merchant[merchant_id]",
|
||||
type: "normal",
|
||||
width: "20%"
|
||||
},
|
||||
|
@ -228,7 +228,7 @@ export default class acclist extends React.Component {
|
|||
|
||||
/* 开放信息 */
|
||||
openInformation(row) {
|
||||
sessionStorage.setItem("dataInfo", JSON.stringify(row))
|
||||
sessionStorage.setItem("merchant", JSON.stringify(row))
|
||||
sessionStorage.setItem("pathname2", "distributor-merchant")
|
||||
let activeRou = [
|
||||
{
|
||||
|
|
|
@ -1,31 +1,74 @@
|
|||
import FormItem from "@/components/form-item/main"
|
||||
import Form from "@/components/form/main"
|
||||
import Ipt from "@/components/input/main"
|
||||
import { useRef, useState } from "react"
|
||||
import { Button, Card, CopyButton, Notify, Radio, RadioGroup } from "zent"
|
||||
import { omit } from "lodash-es"
|
||||
import { useEffect, useRef, useState } from "react"
|
||||
import { Button, Card, Checkbox, CopyButton, Input, Notify, Radio, RadioGroup } from "zent"
|
||||
import { setResellMerchant } from "@/assets/api"
|
||||
import "./index"
|
||||
export default function Merchant() {
|
||||
const [state, setState] = useState({
|
||||
merchantCallbacks: "",
|
||||
merchantId: "",
|
||||
systemRSA: "",
|
||||
merchantRSA: "",
|
||||
subscribe: 1
|
||||
reseller_id: "",
|
||||
merchant_id: "",
|
||||
marketing_notify_url: [""],
|
||||
custom_rsa_public_key: "",
|
||||
encrypt_type: 2,
|
||||
subscribe_event: [],
|
||||
loading: false
|
||||
})
|
||||
const fromRef = useRef()
|
||||
const rules = {
|
||||
merchantId: [{ type: "required", message: "请获取商户编号" }],
|
||||
systemRSAPublic: [{ type: "required", message: "请获取营销系统RSA公钥" }],
|
||||
systemRSAPrivate: [{ type: "required", message: "请获取营销系统RSA私钥" }],
|
||||
merchantRSA: [{ type: "required", message: "请获取商户侧RSA公钥" }],
|
||||
merchantCallbacks: [{ type: "required", message: "请输入商户回调通知网关地址" }]
|
||||
merchant_id: [
|
||||
{ type: "required", message: "请输入商户编号" },
|
||||
{
|
||||
type: "regExp",
|
||||
message: "请输入正确的商户号",
|
||||
reg: /^[A-Za-z0-9]+$/
|
||||
}
|
||||
],
|
||||
custom_rsa_public_key: [{ type: "required", message: "请输入商户侧RSA公钥" }],
|
||||
marketing_notify_url: [
|
||||
{ type: "required", message: "请输入商户回调通知网关地址" },
|
||||
{
|
||||
type: "regExp",
|
||||
message: "请输入合法的回调通知网关地址",
|
||||
reg: /(https?|ftp|file):\/\/[-A-Za-z0-9+&@#\/%?=~_|!:,.;]+[-A-Za-z0-9+&@#\/%=~_|]/
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
const { merchant, id } = JSON.parse(sessionStorage.getItem("merchant"))
|
||||
setState({ ...state, reseller_id: id, ...merchant })
|
||||
}, [])
|
||||
|
||||
/* 提交 */
|
||||
function submit() {
|
||||
const valid = fromRef.current.validator()
|
||||
if (valid) {
|
||||
console.log(state)
|
||||
setState({ loading: true })
|
||||
const data = omit(state, [
|
||||
"create_time",
|
||||
"id",
|
||||
"status",
|
||||
"update_time",
|
||||
"rsa_private_key",
|
||||
"rsa_public_key",
|
||||
"loading"
|
||||
])
|
||||
setResellMerchant(data).then(({ code, message }) => {
|
||||
if (code === 200) {
|
||||
Notify.success(message)
|
||||
let clr = null
|
||||
clr = setTimeout(() => {
|
||||
window.history.go(-1)
|
||||
clearTimeout(clr)
|
||||
}, 1000)
|
||||
} else {
|
||||
Notify.success(message)
|
||||
}
|
||||
setState({ loading: false })
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,27 +77,27 @@ export default function Merchant() {
|
|||
<Card style={{ width: "100%" }} title={"更新信息"}>
|
||||
<div className="adddistributor merchantForm">
|
||||
<Form model={state} rules={rules} ref={fromRef}>
|
||||
<FormItem labelname="商户编号" prop="merchantId">
|
||||
<FormItem labelname="商户编号">
|
||||
<Ipt
|
||||
onChange={(value) => setState({ ...state, merchantId: value })}
|
||||
onClearItem={() => setState({ ...state, merchantId: "" })}
|
||||
onChange={(value) => setState({ ...state, merchant_id: value })}
|
||||
onClearItem={() => setState({ ...state, merchant_id: "" })}
|
||||
countShow={false}
|
||||
value={state.merchantId}
|
||||
value={state.merchant_id}
|
||||
placeholder={"请输入商户编号"}
|
||||
labelWidth={"0px"}
|
||||
maxLength={32}
|
||||
maxLength={20}
|
||||
height={"36px"}
|
||||
width={"520px"}
|
||||
alignment={"left"}
|
||||
/>
|
||||
</FormItem>
|
||||
<FormItem labelname="商户回调通知网关地址" prop="merchantCallbacks">
|
||||
<FormItem labelname="商户回调通知网关地址" prop="marketing_notify_url">
|
||||
<Ipt
|
||||
onChange={(value) => setState({ ...state, merchantCallbacks: value })}
|
||||
onClearItem={() => setState({ ...state, merchantCallbacks: "" })}
|
||||
onChange={(value) => setState({ ...state, marketing_notify_url: value })}
|
||||
onClearItem={() => setState({ ...state, marketing_notify_url: "" })}
|
||||
countShow={false}
|
||||
value={state.merchantCallbacks}
|
||||
placeholder={"请输入商户回调通知网关地址"}
|
||||
value={state.marketing_notify_url}
|
||||
placeholder={"请输入网关地址"}
|
||||
labelWidth={"0px"}
|
||||
maxLength={32}
|
||||
height={"36px"}
|
||||
|
@ -62,24 +105,21 @@ export default function Merchant() {
|
|||
alignment={"left"}
|
||||
/>
|
||||
</FormItem>
|
||||
<FormItem labelname="营销系统RSA公钥" prop="systemRSAPublic">
|
||||
{state.rsa_public_key ? (
|
||||
<FormItem labelname="营销系统RSA公钥" prop="rsa_public_key">
|
||||
<div className="phonet">
|
||||
<Ipt
|
||||
onChange={(value) => setState({ ...state, systemRSAPublic: value })}
|
||||
disabled
|
||||
onClearItem={(e) => setState({ ...state, systemRSAPublic: "" })}
|
||||
countShow={false}
|
||||
value={state.systemRSAPublic}
|
||||
placeholder={"请获取营销系统RSA公钥"}
|
||||
value={state.rsa_public_key}
|
||||
disabled
|
||||
labelWidth={"0px"}
|
||||
maxLength={32}
|
||||
height={"36px"}
|
||||
width={"520px"}
|
||||
alignment={"left"}
|
||||
/>
|
||||
{state.systemRSAPublic ? (
|
||||
<CopyButton
|
||||
text={"RSA公钥:" + state.systemRSAPublic}
|
||||
text={state.rsa_public_key}
|
||||
onCopySuccess={() => {
|
||||
Notify.clear()
|
||||
Notify.success("复制成功!")
|
||||
|
@ -87,29 +127,25 @@ export default function Merchant() {
|
|||
>
|
||||
<Button type="info">复制RSA公钥</Button>
|
||||
</CopyButton>
|
||||
) : (
|
||||
<Button type="info">获取RSA公钥</Button>
|
||||
)}
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem labelname="营销系统RSA私钥" prop="systemRSAPrivate">
|
||||
) : null}
|
||||
{state.rsa_private_key ? (
|
||||
<FormItem labelname="营销系统RSA私钥" prop="rsa_private_key">
|
||||
<div className="phonet">
|
||||
<Ipt
|
||||
onChange={(value) => setState({ ...state, systemRSAPrivate: value })}
|
||||
disabled
|
||||
onClearItem={(e) => setState({ ...state, systemRSAPrivate: "" })}
|
||||
countShow={false}
|
||||
value={state.systemRSAPrivate}
|
||||
placeholder={"请获取营销系统RSA私钥"}
|
||||
value={state.rsa_private_key}
|
||||
disabled
|
||||
labelWidth={"0px"}
|
||||
maxLength={32}
|
||||
height={"36px"}
|
||||
width={"520px"}
|
||||
alignment={"left"}
|
||||
/>
|
||||
{state.systemRSAPrivate ? (
|
||||
{state.rsa_private_key ? (
|
||||
<CopyButton
|
||||
text={"RSA私钥:" + state.systemRSAPrivate}
|
||||
text={state.rsa_private_key}
|
||||
onCopySuccess={() => {
|
||||
Notify.clear()
|
||||
Notify.success("复制成功!")
|
||||
|
@ -117,55 +153,51 @@ export default function Merchant() {
|
|||
>
|
||||
<Button type="info">复制RSA私钥</Button>
|
||||
</CopyButton>
|
||||
) : (
|
||||
<Button type="info">获取RSA私钥</Button>
|
||||
)}
|
||||
) : null}
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem labelname="商户侧RSA公钥" prop="merchantRSA">
|
||||
<div className="phonet">
|
||||
<Ipt
|
||||
disabled
|
||||
onChange={(value) => setState({ ...state, merchantRSA: value })}
|
||||
onClearItem={(e) => setState({ ...state, merchantRSA: "" })}
|
||||
countShow={false}
|
||||
value={state.merchantRSA}
|
||||
placeholder={"请获取商户侧RSA公钥"}
|
||||
) : null}
|
||||
<FormItem labelname="商户侧RSA公钥" prop="custom_rsa_public_key">
|
||||
<Input
|
||||
type="textarea"
|
||||
autoSize
|
||||
onChange={({ target }) =>
|
||||
setState({ ...state, custom_rsa_public_key: target.value })
|
||||
}
|
||||
value={state.custom_rsa_public_key}
|
||||
placeholder={"请输入商户侧RSA公钥"}
|
||||
labelWidth={"0px"}
|
||||
maxLength={32}
|
||||
height={"36px"}
|
||||
width={"520px"}
|
||||
alignment={"left"}
|
||||
/>
|
||||
{state.merchantRSA ? (
|
||||
<CopyButton
|
||||
text={"RSA公钥:" + state.merchantRSA}
|
||||
onCopySuccess={() => {
|
||||
Notify.clear()
|
||||
Notify.success("复制成功!")
|
||||
}}
|
||||
>
|
||||
<Button type="info">复制RSA公钥</Button>
|
||||
</CopyButton>
|
||||
) : (
|
||||
<Button type="info">获取RSA公钥</Button>
|
||||
)}
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem labelname="订阅事件" prop="subscribe">
|
||||
<FormItem labelname="加密算法" prop="encrypt_type">
|
||||
<RadioGroup
|
||||
onChange={({ target }) => setState({ ...state, subscribe: target.value })}
|
||||
value={state.subscribe}
|
||||
onChange={({ target }) => setState({ ...state, encrypt_type: target.value })}
|
||||
value={state.encrypt_type}
|
||||
>
|
||||
<Radio value={1}>是</Radio>
|
||||
<Radio value={0}>否</Radio>
|
||||
<Radio value={2}>RSA</Radio>
|
||||
<Radio value={1}>定制算法</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
<FormItem labelname="订阅事件" prop="subscribe_event" required="">
|
||||
<Checkbox.Group
|
||||
value={state.subscribe_event}
|
||||
onChange={(value) =>
|
||||
setState({
|
||||
...state,
|
||||
subscribe_event: value
|
||||
})
|
||||
}
|
||||
>
|
||||
<Checkbox value={"KEY.USED"}>key码核销通知</Checkbox>
|
||||
</Checkbox.Group>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</div>
|
||||
</Card>
|
||||
<div className="distributorbtn">
|
||||
<Button type="primary" onClick={submit}>
|
||||
<Button type="primary" onClick={submit} loading={state.loading}>
|
||||
提交
|
||||
</Button>
|
||||
<Button type="normal" onClick={() => window.history.back()}>
|
||||
|
|
Loading…
Reference in New Issue