From bdfec44c9f3a37dbbe05bf14a252ffec04132a86 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 06 九月 2022 21:24:28 +0800 Subject: [PATCH] Merge branch 'develop' --- src/templates/zshare/verifycard/baseform/index.jsx | 100 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 92 insertions(+), 8 deletions(-) diff --git a/src/templates/zshare/verifycard/baseform/index.jsx b/src/templates/zshare/verifycard/baseform/index.jsx index 5159200..49dbd06 100644 --- a/src/templates/zshare/verifycard/baseform/index.jsx +++ b/src/templates/zshare/verifycard/baseform/index.jsx @@ -4,6 +4,7 @@ import { Form, Row, Col, Select, Radio, Tooltip, Input } from 'antd' import { QuestionCircleOutlined } from '@ant-design/icons' +import Api from '@/api' import asyncComponent from '@/utils/asyncComponent' import './index.scss' @@ -20,17 +21,69 @@ state = { wxTemps: [], + selectTemp: null, miniTemps: [], } componentDidMount() { + const { verify } = this.props let wxTemps = sessionStorage.getItem('wxTemplates') - let miniTemps = sessionStorage.getItem('wxMiniTemplates') - wxTemps = wxTemps ? JSON.parse(wxTemps) : [] - miniTemps = miniTemps ? JSON.parse(miniTemps) : [] + if (window.GLOB.WXAppID && !wxTemps) { + Api.wxAccessToken().then(res => { + let wxtoken = res.oa_access_token || '' + // let minitoken = res.mini_access_token || '' + + if (wxtoken) { + Api.wxNginxRequest(`cgi-bin/template/get_all_private_template?access_token=${wxtoken}`, 'get').then(res => { + let temps = [] + if (res.template_list) { + temps = res.template_list.filter(item => item.primary_industry) + let selectTemp = temps.filter(item => item.template_id === verify.wxTemplateId)[0] - this.setState({wxTemps, miniTemps}) + if (selectTemp) { + selectTemp.content = selectTemp.content.replace(/\r\n|\n/g, '<br/>') + selectTemp.example = selectTemp.example.replace(/\r\n|\n/g, '<br/>') + } + + this.setState({wxTemps: temps, selectTemp}) + } + + sessionStorage.setItem('wxTemplates', JSON.stringify(temps)) + localStorage.setItem('wxTemplates', JSON.stringify(temps)) + + localStorage.removeItem('wxTemplates') + }) + } else { + sessionStorage.setItem('wxTemplates', JSON.stringify([])) + localStorage.setItem('wxTemplates', JSON.stringify([])) + + localStorage.removeItem('wxTemplates') + } + // if (minitoken) { + // Api.wxNginxRequest(`wxaapi/newtmpl/gettemplate?access_token=${minitoken}`, 'get').then(res => { + // if (res.errmsg === 'ok' && res.data) { + // sessionStorage.setItem('wxMiniTemplates', JSON.stringify(res.data)) + // } else { + // sessionStorage.setItem('wxMiniTemplates', JSON.stringify([])) + // } + // }) + // } else { + // sessionStorage.setItem('wxMiniTemplates', JSON.stringify([])) + // } + }) + } else if (wxTemps) { + wxTemps = JSON.parse(wxTemps) + + let selectTemp = wxTemps.filter(item => item.template_id === verify.wxTemplateId)[0] + + if (selectTemp) { + selectTemp.content = selectTemp.content.replace(/\r\n|\n/g, '<br/>') + selectTemp.example = selectTemp.example.replace(/\r\n|\n/g, '<br/>') + } + + this.setState({wxTemps, selectTemp}) + } } handleConfirm = () => { @@ -72,6 +125,10 @@ _verify.wxNoteLinkMenuId = '' _verify.wxNoteCallback = 'false' _verify.wxNoteKeys = null + + if (this.state.selectTemp) { + this.setState({selectTemp: null}) + } } this.props.onChange(_verify) @@ -89,6 +146,7 @@ const { verify } = this.props let _verify = {...verify, wxTemplateId: val} + let selectTemp = {content: option.props.content.replace(/\r\n|\n/g, '<br/>'), example: option.props.example.replace(/\r\n|\n/g, '<br/>')} let keys = [] if (option.props.content) { @@ -116,6 +174,8 @@ return item }) + + this.setState({selectTemp}) this.props.onChange(_verify) } @@ -150,7 +210,7 @@ render() { const { unionFields, verify, notes, card } = this.props - const { wxTemps } = this.state + const { wxTemps, selectTemp } = this.state const formItemLayout = { labelCol: { xs: { span: 24 }, @@ -295,7 +355,7 @@ <Form.Item label="娑堟伅妯℃澘" required> <Select value={verify.wxTemplateId} onSelect={this.onWxTemplateChange}> {wxTemps.map(option => - <Select.Option key={option.template_id} content={option.content} value={option.template_id}> + <Select.Option key={option.template_id} content={option.content} example={option.example} value={option.template_id}> {option.title} </Select.Option> )} @@ -336,7 +396,7 @@ </Col> : null} {verify.wxNoteLink === 'miniProgram' ? <Col span={8}> <Form.Item label={ - <Tooltip placement="bottomLeft" title={`璺宠浆鑷冲皬绋嬪簭鎸囧畾鑿滃崟锛岀┖鍊奸粯璁よ烦杞嚦灏忕▼搴忛椤点�俙}> + <Tooltip placement="top" title="娣诲姞鑿滃崟ID鍙烦杞嚦灏忕▼搴忔寚瀹氶〉闈紝绌哄�奸粯璁よ烦杞嚦灏忕▼搴忛椤点�傛敞锛氭暟鎹噷涓鏋滄湁bid瀛楁锛堝�间笉涓虹┖锛夛紝鎵撳紑灏忕▼搴忔椂浼氬仛涓築ID浼犲叆椤甸潰涓��"> <QuestionCircleOutlined className="mk-form-tip" /> 鑿滃崟ID </Tooltip> @@ -361,7 +421,31 @@ <ColorSketch value={item.color || '#ffffff'} onChange={(val, hex) => {this.onWxNoteColorChange(item.key, hex)}} /> </Form.Item> </Col>) : null} - + {selectTemp && verify.wxNoteKeys ? <Col span={24} className="wx-note"> + <div className="note-wrap"> + <div className="note"> + <p>鍐呭绀轰緥</p> + <div dangerouslySetInnerHTML={{ __html: selectTemp.example }}></div> + </div> + </div> + <div className="note-wrap"> + <div className="note"> + <p>妯℃澘淇℃伅</p> + <div dangerouslySetInnerHTML={{ __html: selectTemp.content }}></div> + </div> + </div> + <div className="note-wrap"> + <div className="note"> + <p>娑堟伅浣�</p> + <div> + <p>openid: "鎺ユ敹鑰卭penid",</p> + <p>send_id: "闃查噸鍏d",</p> + {verify.wxNoteKeys.map(item => <p>{item.value}: "=> {item.key}",</p>)} + <p>bid: "璺宠浆灏忕▼搴忔椂锛屽彲浣滀负BID銆�"</p> + </div> + </div> + </div> + </Col> : null} </Row> </Form> ) -- Gitblit v1.8.0