<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %> <% Session.CodePage=65001 %> <% Response.charset = "utf-8" %> <% 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) & "
" 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 & "
" 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&"
"&args1&"
" 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&"
"&args1&"
" 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%> <%End if%>