以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于移植C#代码问题。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81307)

--  作者:ycwk
--  发布时间:2016/2/24 11:08:00
--  关于移植C#代码问题。
最近在研究钉钉的接口,有如下几个问题一直困扰着我,还请老师指教。
1.关于c# 中引用的各命名空间怎么处理?  如  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;之类的
2.关于类的定义,方法的定义? 是放在全局代码还是内部函数中?      

3.外部的DLL,特别是json的dll,怎么引用?

4.语法上要注意的细节?  

一直移植不成功,还请指教。

我在foxtable 的内部函数中增加了一个post函数
Dim encoding As System.Text.Encoding = System.Text.Encoding.GetEncoding("utf-8")\'编码格式   
   
        Dim strURL As String = args(0)
        Dim request As  System.Net.HttpWebRequest         
        request = directcast(System.Net.HttpWebRequest.Create(strURL),system.net.httpwebrequest)
       \' System.Net.HttpWebRequest = DirectCast(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)     
         request.Method = "POST"
        request.C
        Dim paraUrlCoded   As String = args(1)
        \'Byte[] payload
        Dim payload() As Byte
        payload = System .Text. Encoding.UTF8.GetBytes (paraUrlCoded)
        request.ContentLength = payload. Length
        Dim writer As system.IO.Stream = request. GetRequestStream()    \' by wk 

        writer.Write (payload, 0, payload .Length)
        writer.Close ()
        Dim response As  System.Net.HttpWebResponse 
        \'response = (System .Net. HttpWebResponse)request .GetResponse()
         response = DirectCast(request.GetResponse, System.Net.HttpWebResponse)
        \'response = System .Net. HttpWebResponse.request .GetResponse()

        Dim s As System.IO.Stream
        s = response.GetResponseStream()
        Dim StrDate As String = ""
        Dim strValue As String  = ""
    
       \'Using
       Dim Reader As System.IO.StreamReader = New System.IO.StreamReader(s, encoding) 
       
       \'Dim Reader As StreamReader = new StreamReader(s, Encoding .UTF8)
       \'End using
  
     

      Do While (StrDate = Reader.ReadLine()) <> ""
        
            \'strValue =strValue + StrDate & vbcrlf &
         strValue =strValue + StrDate
             
       Loop

       MessageBox.Show(strvalue)

        Return Nothing


然后在窗口中设计了一个按钮:

Dim access_token As String= "xxxx"
Dim url As String  = "https://oapi.dingtalk.com/message/send?access_token=" & access_token


Dim param As String = "{""access_token"":""xxxxx""}"
\'MessageBox.Show(param)

Functions.Execute("Post",url,param)


但是无法运行成功,还望指教。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:dddemo7.rar




 

--  作者:ycwk
--  发布时间:2016/2/24 11:09:00
--  
如果能帮忙把c#的代码移植成为foxtable的试用版格式学习下就更好了。 很着急,还忘指教!!!
--  作者:大红袍
--  发布时间:2016/2/24 11:14:00
--  

1、http://www.foxtable.com/help/topics/1936.htm

 

2、写到全局代码

 

3、看1

 

4、代码没问题

 

转换c#代码参考 http://codeconverter.sharpdevelop.net/SnippetConverter.aspx

 


--  作者:ycwk
--  发布时间:2016/2/24 12:14:00
--  
1.关于dll的问题,在身份证读卡器那一节里面提示,第三方托管的dll不要引用,用import就可以,问题是我怎么判断是不是托管的dll?  .net写的就是托管的?  非.net写的就是非托管的?


--  作者:大红袍
--  发布时间:2016/2/24 12:22:00
--  

 能引用的进来,然后执行代码如msgbox(1)不报错的,就是可托管的。

 

 


--  作者:ycwk
--  发布时间:2016/2/24 21:51:00
--  
目前已成功post,可以发送企业会话消息,但是还需要发送个人会话消息(需要获取cid),其中有一个问题:
在钉钉开发文档中有一个地方需要引用  js文件,然后调用其中的方法,请问我把这个文件下载下来了 怎么引用这个文件? 


页面引入 js文件说明:
http://ddtalk.github.io/dingTalkDoc/?spm=a3140.7785475.0.0.85TzJS#通用


引用该js文件后,要调用其中的 pickconversation方法获取会话信息即cid,  怎么调?
http://ddtalk.github.io/dingTalkDoc/?spm=a3140.7785475.0.0.85TzJS#获取会话信息


--  作者:大红袍
--  发布时间:2016/2/24 22:12:00
--  

不明白你什么意思,你的钉钉是一个网页应用跟foxtable没有任何关系。

 

 


--  作者:大红袍
--  发布时间:2016/2/24 22:22:00
--  

如果要做:直接用C#.net搭建一个网站,然后和钉钉交互;

 

或者是:你做一个html,里面可以引入js,然后参考webbrowser和js的交互

 

下载信息  [文件大小:10.3 KB  下载次数:55]
图片点击可在新窗口打开查看点击浏览该文件:js与webbrowser交互.rar

参考内容 http://webkafa.blog.163.com/blog/static/17483446320109145540790/

 


--  作者:ycwk
--  发布时间:2016/2/25 13:42:00
--  
我的意思是,钉钉官方提供了一个js文件(见附件),里面定义了,

全局变量、命名空间

直接引入dingtalk.js会得到一个全局变量dd,支持amd、cmd引入方式

全局变量dd,命名空间:设备(dd.device)、业务(dd.biz)


请问该如何引用这个文件?        使得程序中可以使用如下结构?
 dd.config({
    agentId: \'\', // 必填,微应用ID
    corpId: \'\',//必填,企业ID
    timeStamp: , // 必填,生成签名的时间戳
    nonceStr: \'\', // 必填,生成签名的随机串
    signature: \'\', // 必填,签名
    jsApiList: [\'device.notification.alert\', \'device.notification.confirm\'] // 必填,需要使用的jsapi列表
});

--  作者:大红袍
--  发布时间:2016/2/25 14:16:00
--  

 只有网站或者网页可以引用js文件。