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:&nbsp;&nbsp;"鎺ユ敹鑰卭penid",</p>
+                  <p>send_id:&nbsp;&nbsp;"闃查噸鍏d",</p>
+                  {verify.wxNoteKeys.map(item => <p>{item.value}:&nbsp;&nbsp;"=&gt; {item.key}",</p>)}
+                  <p>bid:&nbsp;&nbsp;"璺宠浆灏忕▼搴忔椂锛屽彲浣滀负BID銆�"</p>
+                </div>
+              </div>
+            </div>
+          </Col> : null}
         </Row>
       </Form>
     )

--
Gitblit v1.8.0