转载:使用delphi+intraweb进行微信开发1--微信平台接入

示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改。

 

iw14.0.50来了,在新的版本中最吸引我的就是增加了完善的httphandler功能:终于可以直接在地址栏输入url打开iw功能页面了;可以自由使用EasyUI等js框架了;显示模式对话框也不再七绕八绕惹人烦了;呵呵,我感觉iw第一次接近主流web开发工具了!

兴奋过了,来尝试一下吧。其实iw的坑还是挺多的,虽然已经接近主流了,但是,后面慢慢都会说到…

1、新建一个iw工程,选择Stand Alone Server / Service ,这种模式下进行开发是最理想的,调试很方便,正式发布时可以再建立一个library型的工程发布到.net服务器上。(是的,大家没有看错,现在iw已经脱离了isapi模式,可以像部署.net mvc4应用一样部署到iis上,后面会解释,.net虚拟主机也可以发布iw应用了!巨大的进步。)

 

2、保存工程后在工程中添加一个新的单元文件,例如起名为wxapi.pas,这个文件中的代码将承担微信接入工作。代码如下:

interface 

uses 
  ClassesIW.Content.BaseSystem.SysUtils,HTTPAppIWApplication
  IW.HTTP.RequestIW.HTTP.Reply

type 
  /// <summary> 
  /// 从TContentBase继承下来的类,就相当于asp.net中的httphandler 
  /// </summary> 
  TWxApi class(TContentBase
  protected 
   function Execute(aRequestTHttpRequestaReplyTHttpReplyconst aPathnamestringaSessionTIWApplicationaParamsTStrings): Booleanoverride
  public 
    constructor Createoverride
  end

implementation 

uses 
  ServerControllerUserSessionUnitCrypt.SHA1

{ TWxApi } 

constructor TWxApi.Create
begin 
  inherited
  // 文件不需要真实存在 
  FileMustExist := False
end

function TWxApi.Execute(aRequestTHttpRequestaReplyTHttpReply
  const aPathnamestringaSessionTIWApplication
  aParamsTStrings): Boolean
var 
  signaturestring
  timestampstring
  noncestring
  echostrstring
  strsTStringList
  tmpStrstring
begin 
  Result := True

  signature := aParams.Values['signature']; 
  timestamp := aParams.Values['timestamp']; 
  nonce := aParams.Values['nonce']; 
  echostr := aParams.Values['echostr']; 

  strs := TStringList.Create
  strs.Add('MyTestToken');    // Token,要和微信接口配置信息保持一致 
  strs.Add(timestamp); 
  strs.Add(nonce); 
  strs.Sort

  tmpStr := strs[0]+strs[1]+strs[2]; 
  tmpStr := SHA1(AnsiString(tmpstr)); 

  

转载于:https://www.cnblogs.com/zeromuisc/articles/5495798.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值