Example #1
0
 public PluginPackAttribute GetAttribute()
 {
     if (this._attr == null)
     {
         this._attr = PluginUtil.GetAttribute(this);
     }
     return this._attr;
 }
Example #2
0
        /// <summary>
        /// 获取插件
        /// </summary>
        /// <param name="workerIndent"></param>
        /// <returns></returns>
        public static IPlugin GetPlugin(string workerIndent, out PluginPackAttribute attr)
        {
            var plugins = BasePluginHost.plugins;

            foreach (IPlugin p in plugins.Keys)
            {
                if (String.Compare(workerIndent, plugins[p].WorkIndent, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    attr = plugins[p];
                    return p;
                }
            }

            attr = null;
            return null;
        }
Example #3
0
        public static void Init(IPlugin plugin)
        {
            app = plugin;
            PluginAttr = plugin.GetAttribute();
            initCfg(PluginAttr);
            InitWeixin(PluginAttr.Settings);

            //提供微信支付信息
            var weixinPay_PartnerId = PluginAttr.Settings["WeixinPay_PartnerId"];
            var weixinPay_Key = PluginAttr.Settings["WeixinPay_Key"];
            var weixinPay_AppId = PluginAttr.Settings["WeixinPay_AppId"];
            var weixinPay_AppKey = PluginAttr.Settings["WeixinPay_AppKey"];
            var weixinPay_TenpayNotify = PluginAttr.Settings["WeixinPay_TenpayNotify"];
            var tenPayV3_MchId = PluginAttr.Settings["TenPayV3_MchId"];
            var tenPayV3_Key = PluginAttr.Settings["TenPayV3_Key"];
            var tenPayV3_AppId = PluginAttr.Settings["TenPayV3_AppId"];
            var tenPayV3_AppSecret = PluginAttr.Settings["TenPayV3_AppSecret"];
            var tenPayV3_TenpayNotify = PluginAttr.Settings["TenPayV3_TenpayNotify"];
            var weixinPayInfo = new TenPayInfo(weixinPay_PartnerId, weixinPay_Key, weixinPay_AppId, weixinPay_AppKey, weixinPay_TenpayNotify);
            TenPayInfoCollection.Register(weixinPayInfo);
            var tenPayV3Info = new TenPayV3Info(tenPayV3_AppId, tenPayV3_AppSecret, tenPayV3_MchId, tenPayV3_Key,
            tenPayV3_TenpayNotify);
            TenPayV3InfoCollection.Register(tenPayV3Info);
        }
Example #4
0
        private static void initCfg(PluginPackAttribute attr)
        {
            //初始化配置
            bool isChanged = false;
            if (!attr.Settings.Contains("WeixinPay_PartnerId"))
            {
                attr.Settings.Set("WeixinPay_PartnerId", "");
                isChanged = true;
            }
            if (!attr.Settings.Contains("WeixinPay_Key"))
            {
                attr.Settings.Set("WeixinPay_Key", "");
                isChanged = true;
            }
            if (!attr.Settings.Contains("WeixinPay_AppId"))
            {
                attr.Settings.Set("WeixinPay_AppId", "");
                isChanged = true;
            }
            if (!attr.Settings.Contains("WeixinPay_AppKey"))
            {
                attr.Settings.Set("WeixinPay_AppKey", "");
                isChanged = true;
            }
            if (!attr.Settings.Contains("WeixinPay_TenpayNotify"))
            {
                attr.Settings.Set("WeixinPay_TenpayNotify", "");
                isChanged = true;
            }
            if (!attr.Settings.Contains("TenPayV3_MchId"))
            {
                attr.Settings.Set("TenPayV3_MchId", "");
                isChanged = true;
            }

            if (!attr.Settings.Contains("TenPayV3_Key"))
            {
                attr.Settings.Set("TenPayV3_Key", "");
                isChanged = true;
            }

            if (!attr.Settings.Contains("TenPayV3_AppId"))
            {
                attr.Settings.Set("TenPayV3_AppId", "");
                isChanged = true;
            }
            if (!attr.Settings.Contains("TenPayV3_AppSecret"))
            {
                attr.Settings.Set("TenPayV3_AppSecret", "");
                isChanged = true;
            }
            if (!attr.Settings.Contains("TenPayV3_TenpayNotify"))
            {
                attr.Settings.Set("TenPayV3_TenpayNotify", "");
                isChanged = true;
            }

            if (!attr.Settings.Contains("Weixin_AppId"))
            {
                attr.Settings.Set("Weixin_AppId", "填写微信AppId");
                isChanged = true;
            }

            if (!attr.Settings.Contains("Weixin_AppSecret"))
            {
                attr.Settings.Set("Weixin_AppSecret", "填写微信AppSecret");
                isChanged = true;
            }

            if (!attr.Settings.Contains("Weixin_AppEncodeString"))
            {
                attr.Settings.Set("Weixin_AppEncodeString", "填写微信App解密字符串");
                isChanged = true;
            }

            if (!attr.Settings.Contains("Weixin_Token"))
            {
                attr.Settings.Set("Weixin_Token", "填写微信token");
                isChanged = true;
            }

            if (!attr.Settings.Contains("Weixin_ApiDomain"))
            {
                attr.Settings.Set("Weixin_ApiDomain", "填写用于对接微信的域名:如http://www.ops.cc/weixin/。");
                isChanged = true;
            }

            if (!attr.Settings.Contains("Weixin_WelcomeMessage"))
            {
                attr.Settings.Set("Weixin_WelcomeMessage", "欢迎来到微信!");
                isChanged = true;
            }

            if (!attr.Settings.Contains("Weixin_EnterMessage"))
            {
                attr.Settings.Set("Weixin_EnterMessage", "");
                isChanged = true;
            }

            if (!attr.Settings.Contains("Weixin_MenuButtons"))
            {
                attr.Settings.Set("Weixin_MenuButtons", "填写微信自定义按钮");
                isChanged = true;
            }

            if (isChanged) attr.Settings.Flush();
        }