以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  一个项目多个公司的微信公众号,做区分  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=112802)

--  作者:fubblyc
--  发布时间:2018/1/3 10:40:00
--  一个项目多个公司的微信公众号,做区分
甜老师,一个项目里多个公司微信公众号,设计中控服务器,怎么区分不同公司的 CreateTime 和 AccessTocken 呢。。
Static CreateTime As Date 
Static AccessTocken As String


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180103102137.png
图片点击可在新窗口打开查看


Dim AppId As String= Args(0)
Dim AppSecret As String = Args(1)
Dim gongsi As String = args(2)


Static CreateTime As Date \'记录最近一次生成access_token的时间
Static AccessTocken As String \'记录最近一次生成的access_token

Dim tp As TimeSpan = Date.Now - CreateTime
Dim url As String = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}"
If tp.TotalSeconds > 3600 Then
    Dim hc As New HttpClient(CExp(url,AppId,AppSecret))
    Dim ret As String = hc.GetData()
    If ret = "" Then \'如果失败,再尝试一次
        hc.GetData()
    End If
    CreateTime = Date.Now()
    Dim jo As JObject = JObject.Parse(ret)
    If jo("errcode") Is Nothing Then
        AccessTocken = jo("access_token")
    Else
        MessageBox.show("获取access_token失败,原因:" & vbcrlf & jo("errmsg").ToString)
    End If
End If
Return AccessTocken

[此贴子已经被作者于2018/1/3 10:52:55编辑过]

--  作者:有点蓝
--  发布时间:2018/1/3 11:07:00
--  
1、使用表格记录CreateTime 和 AccessTocken ,使用AppId和AppSecret 做主键
2、使用字典记录,使用AppId+AppSecret 做键

--  作者:有点甜
--  发布时间:2018/1/3 11:09:00
--  

用一个全局变量->字典,存放CreateTime 、AccessTocken吧。

 

或者,你可以把数据保存在一个表格里面,加一个公司列。根据公司列查找读取值。


--  作者:fubblyc
--  发布时间:2018/1/3 12:07:00
--  
恩恩。谢谢蓝老师,甜老师。
我用数据库保存。以后有增加新的公众号,只需在数据库里增加相应的信息就可以了。不用再在项目里去添加。
不过这样的话每次都要去读取数据库。
应该不会影响服务器数据库太大的性能哈?
[此贴子已经被作者于2018/1/3 12:07:00编辑过]

--  作者:有点甜
--  发布时间:2018/1/3 12:44:00
--  
以下是引用fubblyc在2018/1/3 12:07:00的发言:
恩恩。谢谢蓝老师,甜老师。
我用数据库保存。以后有增加新的公众号,只需在数据库里增加相应的信息就可以了。不用再在项目里去添加。
不过这样的话每次都要去读取数据库。
应该不会影响服务器数据库太大的性能哈?
[此贴子已经被作者于2018/1/3 12:07:00编辑过]

 

这个表一般是加载出来的,数据是保存在内存里面的,对数据库没有任何影响。