智云SRM-WEBAPI(目前客户通用API)
王 垚
2022-07-06 7797383d4df8e2d5842f794b0ef3c6dec05c7b63
api可配置
2个文件已添加
2个文件已修改
158 ■■■■■ 已修改文件
WebAPI/Config/kdapi.config 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/InvokeHelper.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Utility/Util.cs 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Config/kdapi.config
New file
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="DbId" value="5f9258a311401c"></add>
        <add key="UserName" value="Administrator"></add>
        <add key="PassWord" value="qaz!@#123"></add>
        <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add>
        <add key="DataBaseName" value="http://localhost/K3Cloud/"></add>
    </appSettings>
</configuration>
WebAPI/InvokeHelper.cs
@@ -4,33 +4,27 @@
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using WebAPI.Utility;
namespace WebAPI
{
    public static class InvokeHelper
    {
        //private static string CloudUrl = "http://localhost/k3cloud/";//K/3 Cloud 业务站点地址
        //private static string CloudUrl = "http://60.190.4.42:9002/k3cloud/";//K/3 Cloud 业务站点地址
        //private static string CloudUrl = "http://47.96.97.237/k3cloud/";//K/3 Cloud 业务站点地址
        //private static string CloudUrl = "http://60.190.4.42:9002/K3CLOUD/";//夏宝
        private static string CloudUrl = "http://192.168.1.238:9002/K3CLOUD/";//夏宝
        private static string CloudUrl = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "KDApiUrl");//K/3 Cloud 业务站点地址
        /// <summary>
        /// 登陆
        /// </summary>
        public static string Login()
        {
            var dbId = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DbId");
            var useName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "UserName");
            var pwd = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "PassWord");
            HttpClient httpClient = new HttpClient();
            httpClient.Url = string.Concat(CloudUrl, "Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc");
            //var loginResult = client.ValidateLogin("61b14ea86f5c8a", "Administrator", "sharbo@2012", 2052); 夏宝备份测试账套
            //var loginResult = client.ValidateLogin("61a5bea53ffc61", "Administrator", "1234.com", 2052);夏宝正式账套
            List<object> Parameters = new List<object>();
            Parameters.Add("61a5bea53ffc61");//账套标示
            Parameters.Add("Administrator");//用户名
            Parameters.Add("1234.com");//密码
            Parameters.Add(dbId);//账套标示
            Parameters.Add(useName);//用户名
            Parameters.Add(pwd);//密码
            Parameters.Add(2052);//2052代表中文
            httpClient.Content = JsonConvert.SerializeObject(Parameters);
WebAPI/Utility/Util.cs
New file
@@ -0,0 +1,124 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace WebAPI.Utility
{
    public class Util
    {
        public static string GetObjectType(object obj)
        {
            var isType = false;
            isType = obj.GetType() == typeof(string);
            if (isType)
            {
                return "string";
            }
            isType = obj.GetType() == typeof(double);
            if (isType)
            {
                return "double";
            }
            isType = obj.GetType() == typeof(long);
            if (isType)
            {
                return "long";
            }
            isType = obj.GetType() == typeof(DateTime);
            if (isType)
            {
                return "date";
            }
            isType = obj.GetType() == typeof(int);
            if (isType)
            {
                return "int";
            }
            isType = obj.GetType() == typeof(decimal);
            if (isType)
            {
                return "decimal";
            }
            return "string";
        }
        public static JObject JsonVerify(string json)
        {
            if (string.IsNullOrEmpty(json))
            {
                throw new Exception("参数不能为空");
            }
            try
            {
                return JObject.Parse(json.ToString().Replace("\r", "").Replace("\n", "").Replace("\t", ""));
            }
            catch (Exception)
            {
                throw;
            }
        }
        //public static T DeepCopy<T>(T obj)
        //{
        //    object retval;
        //    using (MemoryStream ms = new MemoryStream())
        //    {
        //        XmlSerializer xml = new XmlSerializer(typeof(T));
        //        xml.Serialize(ms, obj);
        //        ms.Seek(0, SeekOrigin.Begin);
        //        retval = xml.Deserialize(ms);
        //        ms.Close();
        //    }
        //    return (T)retval;
        //}
        public static String GetConfigKey(String configPath, String key)
        {
            Configuration ConfigurationInstance = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap()
            {
                ExeConfigFilename = configPath
            }, ConfigurationUserLevel.None);
            if (ConfigurationInstance.AppSettings.Settings[key] != null)
                return ConfigurationInstance.AppSettings.Settings[key].Value;
            else
                return string.Empty;
        }
        public static bool SetConfigKey(String configPath, String key, String vls)
        {
            try
            {
                Configuration ConfigurationInstance = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap()
                {
                    ExeConfigFilename = configPath
                }, ConfigurationUserLevel.None);
                if (ConfigurationInstance.AppSettings.Settings[key] != null)
                    ConfigurationInstance.AppSettings.Settings[key].Value = vls;
                else
                    ConfigurationInstance.AppSettings.Settings.Add(key, vls);
                ConfigurationInstance.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection("appSettings");
                return true;
            }
            catch
            {
                return false;
            }
        }
    }
}
WebAPI/WebAPI.csproj
@@ -175,6 +175,7 @@
    <Content Include="HtmlPage.html" />
    <Content Include="HtmlPage1.html" />
    <Content Include="Index.html" />
    <Content Include="Config\kdapi.config" />
    <None Include="Scripts\jquery-1.6.4-vsdoc.js" />
    <Content Include="Scripts\jquery-1.6.4.js" />
    <Content Include="Scripts\jquery-1.6.4.min.js" />
@@ -218,6 +219,7 @@
    <Compile Include="MyHub.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Startup.cs" />
    <Compile Include="Utility\Util.cs" />
  </ItemGroup>
  <ItemGroup>
    <Content Include="packages.config" />