【调度系统】广东民航医疗快线调度系统源代码
wzp
2025-05-14 a023d5daed320eb4dbf6cfb8c28529d41cf5f9c3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %> 
<% Session.CodePage=65001 %> 
<% Response.charset = "utf-8" %>
<!--#include virtual="/inc/odbc.asp"-->
<!--#include virtual="/inc/function.asp"-->
<!--#include virtual="/inc/core.asp"-->
<!--#include virtual="/inc/JsonPost.gds"-->
<%
Set rs = Server.CreateObject("ADODB.Recordset")
Set rsDt = Server.CreateObject("ADODB.Recordset")
 
method=trim(Request("method"))
errcode=""
if method="" Then
    errcode=40001
    errmsg="invalid method"
end If
 
'时间戳验证----------
UnixTime=trim(Request("UnixTime"))
Call MD5_UnixTime(UnixTime)
'时间戳验证---end
 
'签名验证----------
ApiSign=trim(Request("Sign"))
if ApiSign="" Then
    errcode=40005
    errmsg="invalid Sign"
else
    '待签名字符串
    ReDim arr(Request.QueryString.Count+Request.Form.Count,2)
    Dim v                       '所有表单值
    Dim t                       '所有表单数量
    v=Request.QueryString
    If v<>"" And Request.Form<>"" Then
        v=v&"&"&Request.Form
    ElseIf Request.Form<>"" Then
        v=Request.Form
    End If
    t=Request.QueryString.Count+Request.Form.Count
    For i=0 To t-1
     arr(i,1)=Split(Split(v,"&")(i),"=")(0)
     arr(i,2)=Split(Split(v,"&")(i),"=")(1)
    Next
    For i = 0 To t-1
        For j = i + 1 To t-1
            If arr(i,1) > arr(j,1) Then
                tmp1 = arr(i,1)
                arr(i,1) = arr(j,1)
                arr(j,1) = tmp1
                tmp2 = arr(i,2)
                arr(i,2) = arr(j,2)
                arr(j,2) = tmp2
            End If
        Next
    Next
    For i = 0 To t-1
        'response.write arr(i,1) & "=" & arr(i,2) & "<br>"
        If arr(i,1)="Sign" Then
            reserve=arr(i,2)
        else
            If arr(i,2)="timestamp" Then arr(i,2)=Date() &" "& Time()
            sParaSort=sParaSort & arr(i,1) & arr(i,2)
            sParaRunning=sParaRunning &"&"& arr(i,1) &"="& arr(i,2)
        End if
    Next
    sign_type       = "MD5"
    input_charset="utf-8"
    stringA=sParaSort&key
    'response.write sParaSort & "<br>"
    Private Function BuildRequestMysign(sParaSort)
        '获得签名结果
         Select Case sign_type
            Case "MD5" BuildRequestMysign = Md5Sign(sParaSort,key,input_charset)
            Case Else BuildRequestMysign = ""
         End Select
    End Function
    sParaSort=BuildRequestMysign(sParaSort)
    If CStr(ApiSign)<>CStr(sParaSort) And ApiSign<>"vic" Then
        errcode=40006
        errmsg="invalid Sign"
        '签名调试
        If is_test="1" Then errmsg="invalid stringA:"&stringA&",Sign:"&sParaSort
    End If
End If
'签名验证---end
 
If errcode="" then
    select case method
    case "weixin_Appid"    '微信支付AppID查询
            weixinID=UnitID'微信号ID
 
            sql="select * from IntroducerUnitData where UnitState=3 and UnitID="&weixinID
            rs.open sql,objConn,1,1
            if not rs.eof Then
                UnitName    = rs("UnitName")
                UnitState    = rs("UnitState")
                wx_OriginalID=rs("wx_OriginalID")
                wx_APPID=rs("wx_APPID")
                wx_APPSECRET=rs("wx_APPSECRET")
                wx_access_tokenID=rs("wx_access_tokenID")
                wx_access_tokenTime=rs("wx_access_tokenTime")
                wx_jsapi_ticketID=rs("wx_jsapi_ticketID")
                wx_jsapi_ticketTime=rs("wx_jsapi_ticketTime")
                pay_mch_id=rs("pay_mch_id")
                pay_mch_key=rs("pay_mch_key")
                errcode=1
            Else
                errcode=40010
                errmsg="invalid APPID"
            End If
            rs.close()
 
            '可选项
            js_code=trim(Request("js_code"))'登录时获取的 code
 
            '写入默认值
            %>
            
            <%
            If errcode=1 Then
                If weixinID="1" Then    '企业号
                    jsapi_ticket=Getjsapi_ticket_qy(weixinID,wx_jsapi_ticketID,wx_jsapi_ticketTime)
                Else
                    jsapi_ticket=GetAccess_token_wx(weixinID,wx_jsapi_ticketID,wx_jsapi_ticketTime)
                End If
                
                If wx_APPID<>"" Then
                    If js_code<>"" Then
                        If UnitState="3" Then
                            OpenIDJson=GetOpenID_CX(js_code)
                        else
                            OpenIDJson=GetOpenID2(js_code)
                        End If
                        OpenIDJson=",""OpenIDJson"":["&OpenIDJson&"]"
                    End If
                    webJson="{""method"":""weixin_Appid"",""result"":1,""weixin_Name"":"""&UnitName&""",""wx_APPID"":"""&wx_APPID&""",""wx_APPSECRET"":"""",""access_token"":"""&wx_access_tokenID&""",""jsapi_ticket"":"""&wx_jsapi_ticketID&""",""mch_id"":"""&pay_mch_id&""",""mch_key"":"""&pay_mch_key&""",""wx_OriginalID"":"""&wx_OriginalID&""""&OpenIDJson&"}"
                    'webJson="{""method"":""weixin_Appid"",""result"":1,""weixin_Name"":"""&UnitName&""",""wx_APPID"":"""&wx_APPID&""",""access_token"":"""&wx_access_tokenID&""",""jsapi_ticket"":"""&wx_jsapi_ticketID&""",""mch_id"":"""&pay_mch_id&""",""mch_key"":"""&pay_mch_key&""",""wx_OriginalID"":"""&wx_OriginalID&""""&OpenIDJson&"}"
                    '记录微信返回结果
                    If OpenIDJson<>"" then
                    'sql="Insert into TVDV.dbo.API_Json (method,Json,reserve,is_Json) values ('weixinAPP_OpenID','"&OpenIDJson&"','"&js_code&"',"&weixinAPP&")"
                    'objConn.Execute sql
                    End If
                Else
                    errcode=40003
                    errmsg="invalid weixin_Appid"
 
                End If
            End If
    '微信支付AppID查询 end
 
    case "weixin_FormidSave"    '记录用户微信Formid
        UserID        = trim(Request("UserID"))        '用户唯一ID
        openId        = trim(Request("openId"))        '接收者(用户)的 openid
        formID        = trim(Request("formID"))        '用户微信Formid
        formID_status= trim(Request("formID_status"))'formID可用次数
 
        '写入默认值
        If formID_status="" Then formID_status=1
        result=0
 
        If openid="" Then
            result=2
            errcode=40008
            errmsg="invalid openid"
        ElseIf UnitID="" Then
            result=2
            errcode=40009
            errmsg="invalid APPID"
        ElseIf formID="" Then
            result=2
            errcode=40010
            errmsg="invalid formID"
        ElseIf UserID="" Then
            result=2
            errcode=40011
            errmsg="invalid UserID"
        End If
        If result=0 Then
            sql="INSERT INTO weixinUserFormID (formID_detail,formID_openId,formID_UnitID,formID_UserID,formID_status) VALUES ('"&formID&"','"&openId&"',"&UnitID&","&UserID&","&formID_status&")"
            objConn.Execute sql
            webJson="{""method"":""weixin_FormidSave"",""result"":1}"
        End If
    '记录用户微信Formid end
 
    case "weixin_MessageSend"    '微信发送模板信息
            UserID        = trim(Request("UserID"))        '用户唯一ID
            openid        = trim(Request("openid"))        '接收者(用户)的 openid
            template_id    = trim(Request("template_id"))    '所需下发的模板消息的id
            form_id        = trim(Request("form_id"))        '表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
            data1        = trim(Request("data"))            '模板内容,不填则下发空模板
 
            '可选项
            page=trim(Request("page"))    '点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
 
            '写入默认值
            If weixinAPP="" Then weixinAPP=1    'V俱乐部服务号
            result=0
 
            If openid="" Then
                result=2
                errcode=40008
                errmsg="invalid openid"
            ElseIf UnitID="" Then
                result=2
                errcode=40012
                errmsg="invalid UnitID"
            ElseIf form_id="" Then
                result=2
                errcode=40010
                errmsg="invalid form_id"
            ElseIf form_id="" Then
                result=2
                errcode=40010
                errmsg="invalid form_id"
            ElseIf data1="" Then
                result=2
                errcode=40011
                errmsg="invalid data"
            End If
            If UnitID<>"" Then
                weixinID=UnitID'微信号ID
 
                sql="select * from IntroducerUnitData where UnitState=3 and UnitID="&weixinID
                rs.open sql,objConn,1,1
                if not rs.eof Then
                    UnitName    = rs("UnitName")
                    UnitState    = rs("UnitState")
                    wx_OriginalID=rs("wx_OriginalID")
                    wx_APPID=rs("wx_APPID")
                    wx_APPSECRET=rs("wx_APPSECRET")
                    wx_access_tokenID=rs("wx_access_tokenID")
                    wx_access_tokenTime=rs("wx_access_tokenTime")
                    wx_jsapi_ticketID=rs("wx_jsapi_ticketID")
                    wx_jsapi_ticketTime=rs("wx_jsapi_ticketTime")
                    pay_mch_id=rs("pay_mch_id")
                    pay_mch_key=rs("pay_mch_key")
                    errcode=1
                Else
                    errcode=40010
                    errmsg="invalid APPID"
                End If
                rs.close()
 
                '可选项
                js_code=trim(Request("js_code"))'登录时获取的 code
 
                '写入默认值
                %>
                
                <%
                If errcode=1 Then
                    If weixinID="1" Then    '企业号
                        access_token=Getjsapi_ticket_qy(weixinID,wx_jsapi_ticketID,wx_jsapi_ticketTime)
                    Else
                        access_token=GetAccess_token_wx(weixinID,wx_jsapi_ticketID,wx_jsapi_ticketTime)
                    End If
                    appUrl="https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token="&access_token
                End If
            Else
                result=2
                errcode=40007
                errmsg="invalid UnitID"
            End If
            If result=0 Then
                If form_id<>"" Then
                    sql="update weixinUserFormID set formID_status=formID_status-1 where formID_detail='"&form_id&"' and formID_openId='"&openid&"'"
                    objConn.Execute sql
                End If
                args1    = "{"
                args1    = args1&"""touser"":"""&openid&""""
                args1    = args1&",""template_id"":"""&template_id&""""
                args1    = args1&",""page"":"""&page&""""
                args1    = args1&",""form_id"":"""&form_id&""""
                args1    = args1&",""data"":"&data1
                'args1    = args1&",""data"":{""keyword1"": {""value"":""2016723793"",""color"":""#173177""},""keyword2"": {""value"":""2017-06-30 17:03:29"",""color"":""#173177""},""keyword3"": {""value"":""V7澳洲进口牛肉 牛腩 500g"",""color"":""#173177""},""keyword4"": {""value"":""33元"",""color"":""#173177""}}"
                args1    = args1&"}"
                'Response.Write appUrl&"<br>"&args1&"<br>"
                webJson=PostBody(appUrl,args1)
                'sql="Insert into API_Json (method,Json,reserve,is_Json) values ('weixin_MessageSend','"&webJson&args1&"','',"&weixinAPP&")"
                'objConn.Execute sql
                'webJson="{""method"":""weixin_MessageSend"",""result"":1}"
            End If
    '微信发送模板信息 end
 
 
    case "weixin_UrlScheme"    '获取URL Scheme
            path        = trim(Request("path"))
            
            '可选项
            query        = trim(Request("query"))
            If query<>"" Then
                query    = Replace(query,"|","&")
                query    = Replace(query,"*","=")
            End If
 
            '写入默认值
            If UnitID<>"" Then
                weixinID=UnitID'微信号ID
 
                sql="select * from IntroducerUnitData where UnitState=3 and UnitID="&weixinID
                rs.open sql,objConn,1,1
                if not rs.eof Then
                    UnitName    = rs("UnitName")
                    UnitState    = rs("UnitState")
                    wx_OriginalID=rs("wx_OriginalID")
                    wx_APPID=rs("wx_APPID")
                    wx_APPSECRET=rs("wx_APPSECRET")
                    wx_access_tokenID=rs("wx_access_tokenID")
                    wx_access_tokenTime=rs("wx_access_tokenTime")
                    wx_jsapi_ticketID=rs("wx_jsapi_ticketID")
                    wx_jsapi_ticketTime=rs("wx_jsapi_ticketTime")
                    pay_mch_id=rs("pay_mch_id")
                    pay_mch_key=rs("pay_mch_key")
                    errcode=1
                Else
                    errcode=40010
                    errmsg="invalid APPID"
                End If
                rs.close()
 
                '可选项
                js_code=trim(Request("js_code"))'登录时获取的 code
 
                '写入默认值
                %>
                
                <%
                If errcode=1 Then
                    If weixinID="1" Then    '企业号
                        access_token=Getjsapi_ticket_qy(weixinID,wx_jsapi_ticketID,wx_jsapi_ticketTime)
                    Else
                        access_token=GetAccess_token_wx(weixinID,wx_jsapi_ticketID,wx_jsapi_ticketTime)
                    End If
                    appUrl="https://api.weixin.qq.com/wxa/generatescheme?access_token="&access_token
                End If
            Else
                result=2
                errcode=40007
                errmsg="invalid UnitID"
            End If
            If result=0 Then
                args1    = "{"
                args1    = args1&"""jump_wxa"":{""path"":"""&path&""",""query"":"""&query&"""}"
                args1    = args1&",""is_expire"":true"                            '生成的 scheme 码类型,到期失效:true,永久有效:false。
                args1    = args1&",""expire_type"":1"                            '到期失效的 scheme 码失效类型,失效时间:0,失效间隔天数:1
                args1    = args1&",""expire_interval"":7"                        '到期失效的 scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填
                'args1    = args1&",""expire_time"":"&ToUnixTime(now(), +8)&""    '到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填
                args1    = args1&"}"
                'Response.Write appUrl&"<br>"&args1&"<br>"
                webJson=PostBody(appUrl,args1)
                'sql="Insert into API_Json (method,Json,reserve,is_Json) values ('weixin_MessageSend','"&webJson&args1&"','',"&weixinAPP&")"
                'objConn.Execute sql
                'webJson="{""method"":""weixin_MessageSend"",""result"":1}"
            End If
    ' 获取URL Scheme end
 
    case else
        errcode=40002
        errmsg="invalid method"
    end Select
End If
 
If Left(errcode,1)="4" Or webJson="" Then
    If errcode="" Then
        errcode=-1
        errmsg="error"
    End If
    webJson="{""APPID"":"""&APPID&""",""method"":"""&method&""",""result"":2,""errcode"":"&errcode&",""errmsg"":"""&errmsg&"""}"
    Call OA_Running(UnitID,webJson)
Else
    OkJson="{""APPID"":"""&APPID&""",""method"":"""&method&""",""result"":1,""Running"":"""&sParaRunning&"""}"
    'Call OA_Running(UnitID,OkJson)
End If
 
Response.Write webJson
 
%>
 
<%If method="Article_detail" And trim(Request("aa"))="1" then%>
<textarea><%=webJson%></textarea>
<%End if%>