Browse Source

获取二维码修改为返回微信地址

master
[zhengchao] 9 years ago
parent
commit
7c9a66389f
3 changed files with 38 additions and 87 deletions
  1. +20
    -20
      B3WeChat.Web/B3WeChat.Web.csproj
  2. +17
    -17
      B3WeChat/B3WeChat.csproj
  3. +1
    -50
      B3WeChat/Rpcs/ClientRpc.cs

+ 20
- 20
B3WeChat.Web/B3WeChat.Web.csproj View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -11,7 +11,7 @@
<AssemblyName>B3WeChat.Web</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<KeyContainerName>BwpApp</KeyContainerName></PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
@ -33,43 +33,43 @@
<Reference Include="Forks.EnterpriseServices, Version=3.1.0.0, Culture=neutral, PublicKeyToken=7254430f49d10aae, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Forks.EnterpriseServices.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
<Reference Include="Forks.Utils, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7254430f49d10aae, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Forks.Utils.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
<Reference Include="MainSystem, Version=1.3.0.0, Culture=neutral, PublicKeyToken=a04fa581c0f74d43, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\MainSystem.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
<Reference Include="MainSystem.Web, Version=1.3.0.0, Culture=neutral, PublicKeyToken=a04fa581c0f74d43, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\MainSystem.Web.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Private>False</Private></Reference>
<Reference Include="System"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Core"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Runtime.Serialization"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Web"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Web.Extensions"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Xml.Linq"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="Microsoft.CSharp"><SpecificVersion>False</SpecificVersion><Private>False</Private></Reference>
<Reference Include="System.Data"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Xml"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="Wpf, Version=1.3.0.0, Culture=neutral, PublicKeyToken=a04fa581c0f74d43, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Wpf.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
<Reference Include="Wpf.System, Version=1.3.0.0, Culture=neutral, PublicKeyToken=a04fa581c0f74d43, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Wpf.System.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
<Reference Include="Wpf.System.Web, Version=1.3.0.0, Culture=neutral, PublicKeyToken=a04fa581c0f74d43, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Wpf.System.Web.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Pages\WeChatReceive.cs" />
<Compile Include="..\..\..\version\Misc_version.cs"><Link>Misc_version.cs</Link></Compile><Compile Include="Pages\WeChatReceive.cs" />
<Compile Include="PluginClass.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
@ -77,7 +77,7 @@
<ProjectReference Include="..\B3WeChat\B3WeChat.csproj">
<Project>{9e680662-8323-494f-8140-237db0a9f0d9}</Project>
<Name>B3WeChat</Name>
</ProjectReference>
<Private>False</Private></ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.


+ 17
- 17
B3WeChat/B3WeChat.csproj View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -11,7 +11,7 @@
<AssemblyName>B3WeChat</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<KeyContainerName>BwpApp</KeyContainerName></PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
@ -33,35 +33,35 @@
<Reference Include="Forks.EnterpriseServices, Version=3.1.0.0, Culture=neutral, PublicKeyToken=7254430f49d10aae, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Forks.EnterpriseServices.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
<Reference Include="Forks.Utils, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7254430f49d10aae, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Forks.Utils.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
<Reference Include="MainSystem, Version=1.3.0.0, Culture=neutral, PublicKeyToken=a04fa581c0f74d43, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\MainSystem.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Private>False</Private></Reference>
<Reference Include="System"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Core"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Web"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Web.Extensions"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Xml.Linq"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Data.DataSetExtensions"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="Microsoft.CSharp"><SpecificVersion>False</SpecificVersion><Private>False</Private></Reference>
<Reference Include="System.Data"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="System.Xml"><SpecificVersion>False</SpecificVersion></Reference>
<Reference Include="Wpf, Version=1.3.0.0, Culture=neutral, PublicKeyToken=a04fa581c0f74d43, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Wpf.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
<Reference Include="Wpf.System, Version=1.3.0.0, Culture=neutral, PublicKeyToken=a04fa581c0f74d43, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\tsref\Debug\Wpf.System.dll</HintPath>
</Reference>
<Private>False</Private></Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="B3WeChatConfig.cs" />
<Compile Include="..\..\..\version\Misc_version.cs"><Link>Misc_version.cs</Link></Compile><Compile Include="B3WeChatConfig.cs" />
<Compile Include="BO\CustomerUser.cs" />
<Compile Include="BO\QRCodeScene.cs" />
<Compile Include="Entities\ErrorObject.cs" />


+ 1
- 50
B3WeChat/Rpcs/ClientRpc.cs View File

@ -62,52 +62,12 @@ namespace BWP.B3WeChat.Rpcs
{
string url = string.Empty;
string customer = GetDeviceNumber();
if (string.IsNullOrEmpty(customer))
return url;
url = ExistQRCode(customer, username);
if (!string.IsNullOrEmpty(url))
{
return url;
}
int sceneId = GetSceneId(customer, username);
string ticket = InOutMessageUtil.GenerateEQCode(30, sceneId);
string name = DateTime.Now.Ticks.ToString() + ".jpg";
string path = GetQRCodeDir() + name;
InOutMessageUtil.GetQRPic(ticket, path);
url = "/QRCodePic/" + name;
UpdateQRCode(sceneId, url);
url = string.Format("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={0}", ticket);
return url;
}
static void UpdateQRCode(int sceneId, string path)
{
var update = new DQUpdateDom(typeof(QRCodeScene));
update.Where.Conditions.Add(DQCondition.EQ("ID", sceneId));
update.Columns.Add(new DQUpdateColumn("Path", path));
update.Columns.Add(new DQUpdateColumn("OutTime", DateTime.Now.AddDays(30)));
using (var session = Dmo.NewSession())
{
session.ExecuteNonQuery(update);
}
}
static string ExistQRCode(string customer, string username)
{
string path = string.Empty;
var query = new DQueryDom(new JoinAlias(typeof(QRCodeScene)));
query.Columns.Add(DQSelectColumn.Field("Path"));
query.Columns.Add(DQSelectColumn.Field("OutTime"));
query.Where.Conditions.Add(DQCondition.EQ("Customer", customer));
query.Where.Conditions.Add(DQCondition.EQ("UserId", username));
query.Range = SelectRange.Top(1);
var result = query.EExecuteScalar<string, DateTime?>();
if (result.Item2.HasValue && result.Item2.Value > DateTime.Now)
{
path = result.Item1;
}
return path;
}
static int GetSceneId(string customer, string username)
{
var query = new DQueryDom(new JoinAlias(typeof(QRCodeScene)));
@ -133,15 +93,6 @@ namespace BWP.B3WeChat.Rpcs
return sceneId.Value;
}
static string GetQRCodeDir()
{
string dir = System.Environment.CurrentDirectory + "/QRCodePic/";
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
return dir;
}
}
}

Loading…
Cancel
Save