• 大小: 295KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C#
  • 标签: 微信签到  

资源简介

实例源码,签到没实现重复签到,考虑到用于考勤,可以提取第一次签到和最后一次签到做为上班和下班考勤。可根据经纬度和公司的经纬度计算距离来实现是否在公司操作的。 有三个表,cache做缓存,临时记录token,这个可以改用iis的cache或者其他keyvalue数据库。location表记录两种来源的地理位置信息。sign表记录签到信息。 因为偷懒,没建立业务层项目,部分业务逻辑混合到数据层,大家可以自己整理。 有完整的业务代码,学习微信开发难得的参考资料。涉及到js-sdk\accesstoken、签名等

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using DotNetOpenAuth.SDK;

namespace DotNetOpenAuth.DataAccess
{//来自:http://www.DotNetOpenAuth.com
    public class Caches
    {
        /// 
        /// 添加缓存,如果存在则更新
        /// 

        /// 
        /// 
        /// 
        /// 
        public static int AddCache(string name string itemValue int expires)
        {
            try
            {
                string sqlStr = @“IF EXISTS(SELECT id FROM wxCache WHERE Name=@Name)
BEGIN
UPDATE wxCache SET ItemValue=@ItemValueExpires=@Expires WHERE Name=@Name
END
ELSE
BEGIN
INSERT INTO wxCache VALUES(@Name@ItemValue@Expires)
END
;SELECT @@IDENTITY“;

                SqlParameter[] Params = new SqlParameter[3];
                Params[0] = new SqlParameter() { ParameterName = “@Name“ SqlDbType = SqlDbType.VarChar Value = name Direction = ParameterDirection.Input };
                Params[1] = new SqlParameter() { ParameterName = “@ItemValue“ SqlDbType = SqlDbType.VarChar Value = itemValue Direction = ParameterDirection.Input };
                Params[2] = new SqlParameter() { ParameterName = “@Expires“ SqlDbType = SqlDbType.VarChar Value = expires.ToString() Direction = ParameterDirection.Input };
               
                return Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.Conn CommandType.Text sqlStr Params));
            }
            catch
            {
            }
            return 0;
        }

        public static string GetAccessToken(string corpid string corpsecret)
        {
            AccessToken at = new AccessToken();
            at.errcode = -1;

            string sql = “SELECT TOP 1 ItemValueExpires FROM wxCache WHERE Name=‘access_token‘“;
            DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.Conn CommandType.Text sql).Tables[0];
            bool result = false;
            if (dt != null)
            {
                try
                {
                    if (dt.Rows.Count > 0)
                    {
                        at.expires_in = Convert.ToInt32(dt.Rows[0][“Expires“]);
                        if (at.expires_in * 1000 > OpenApi.GetTime())
                        {
                            at.errcode = 0;
                            at.errmsg = “ok“;
                            at.access_token = dt.Rows[0][“ItemValue“].ToString();
                            result = true;
                        }                       
                    }
                }
                catch
                {
                }
                finally
                {
                    dt.Dispose();
                }
            }
            if(!result)
            {
                at = OpenApi.GetAccessToken(corpid corpsecret);
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-06-02 10:33  DotNetOpenAuth.DataAccess\
     目录           0  2015-05-29 10:58  DotNetOpenAuth.DataAccess\bin\
     目录           0  2015-06-02 13:59  DotNetOpenAuth.DataAccess\bin\Debug\
     文件       28672  2015-06-02 13:59  DotNetOpenAuth.DataAccess\bin\Debug\DotNetOpenAuth.DataAccess.dll
     文件       69120  2015-06-02 13:59  DotNetOpenAuth.DataAccess\bin\Debug\DotNetOpenAuth.DataAccess.pdb
     文件       17408  2015-06-02 13:59  DotNetOpenAuth.DataAccess\bin\Debug\DotNetOpenAuth.SDK.dll
     文件       36352  2015-06-02 13:59  DotNetOpenAuth.DataAccess\bin\Debug\DotNetOpenAuth.SDK.pdb
     目录           0  2015-05-29 10:58  DotNetOpenAuth.DataAccess\bin\Release\
     文件        4979  2015-06-02 13:44  DotNetOpenAuth.DataAccess\Caches.cs
     文件        2794  2015-06-02 10:35  DotNetOpenAuth.DataAccess\DotNetOpenAuth.DataAccess.csproj
     文件        3331  2015-06-02 10:40  DotNetOpenAuth.DataAccess\Location.cs
     目录           0  2015-05-29 10:55  DotNetOpenAuth.DataAccess\obj\
     目录           0  2015-06-02 13:59  DotNetOpenAuth.DataAccess\obj\Debug\
     文件        6449  2015-06-02 10:33  DotNetOpenAuth.DataAccess\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件         670  2015-06-02 13:59  DotNetOpenAuth.DataAccess\obj\Debug\DotNetOpenAuth.DataAccess.csproj.FileListAbsolute.txt
     文件        7107  2015-06-02 13:59  DotNetOpenAuth.DataAccess\obj\Debug\DotNetOpenAuth.DataAccess.csprojResolveAssemblyReference.cache
     文件       28672  2015-06-02 13:59  DotNetOpenAuth.DataAccess\obj\Debug\DotNetOpenAuth.DataAccess.dll
     文件       69120  2015-06-02 13:59  DotNetOpenAuth.DataAccess\obj\Debug\DotNetOpenAuth.DataAccess.pdb
     目录           0  2015-05-29 10:55  DotNetOpenAuth.DataAccess\obj\Debug\TempPE\
     目录           0  2015-05-29 10:55  DotNetOpenAuth.DataAccess\Properties\
     文件        1370  2015-05-29 10:55  DotNetOpenAuth.DataAccess\Properties\AssemblyInfo.cs
     文件        1887  2015-06-02 13:57  DotNetOpenAuth.DataAccess\Sign.cs
     文件      153017  2015-05-29 13:33  DotNetOpenAuth.DataAccess\SqlHelper.cs
     目录           0  2015-06-02 14:03  DotNetOpenAuth.Document\
     文件         429  2015-05-26 17:20  DotNetOpenAuth.Document\Readme.txt
     文件        7987  2015-05-26 17:23  DotNetOpenAuth.Document\Sample.cs
     文件        4259  2015-06-02 10:47  DotNetOpenAuth.Document\数据表.SQL
     目录           0  2015-06-02 10:35  DotNetOpenAuth.SDK\
     目录           0  2015-05-26 15:36  DotNetOpenAuth.SDK\bin\
     目录           0  2015-06-02 13:59  DotNetOpenAuth.SDK\bin\Debug\
     文件       27136  2015-05-26 16:13  DotNetOpenAuth.SDK\bin\Debug\DotNetOpenAuth.dll
............此处省略66个文件信息

评论

共有 条评论

相关资源