예제 #1
0
파일: Main.cs 프로젝트: tabs/SS.Reward
        public override void Startup(IService service)
        {
            RecordRepository = new RecordRepository();

            service
            .AddDatabaseTable(RecordRepository.TableName, RecordRepository.TableColumns)
            .AddSiteMenu(siteId => new Menu
            {
                Text      = "文章打赏",
                IconClass = "ion-social-yen",
                Menus     = new List <Menu>
                {
                    new Menu
                    {
                        Text = "文章打赏记录",
                        Href = "pages/records.html"
                    },
                    new Menu
                    {
                        Text = "文章打赏设置",
                        Href = "pages/settings.html"
                    }
                }
            })
            .AddStlElementParser(StlReward.ElementName, StlReward.Parse);

            //service.RestApiGet += Service_RestApiGet;
            //service.RestApiPost += Service_RestApiPost;
        }
예제 #2
0
 public override void Startup(IService service)
 {
     service
     .AddDatabaseTable(OAuthDao.TableName, OAuthDao.Columns)
     .AddStlElementParser(StlLogin.ElementName, StlLogin.Parse)
     .AddStlElementParser(StlLogout.ElementName, StlLogout.Parse)
     .AddStlElementParser(StlRegister.ElementName, StlRegister.Parse)
     .AddSystemMenu(() => new Menu
     {
         Text = "第三方登录设置",
         Href = "pages/settings.html"
     })
     ;
 }
예제 #3
0
        public override void Startup(IService service)
        {
            Instance = this;

            var configInfo = Utils.GetConfigInfo();

            service
            .AddDatabaseTable(GroupDao.TableName, GroupDao.Columns)
            .AddDatabaseTable(GroupUserDao.TableName, GroupUserDao.Columns)
            .AddDatabaseTable(OAuthDao.TableName, OAuthDao.Columns)
            .AddDatabaseTable(MenuDao.TableName, MenuDao.Columns)
            .AddStlElementParser(StlHome.ElementName, StlHome.Parse)
            .AddPluginMenu(new Menu
            {
                Text   = "用户中心",
                Href   = configInfo.HomeUrl,
                Target = "_blank",
                Menus  = new List <Menu>
                {
                    new Menu
                    {
                        Text = "用户中心设置",
                        Href = $"{nameof(PageSettings)}.aspx"
                    },
                    new Menu
                    {
                        Text = "用户投稿设置",
                        Href = $"{nameof(PageWriting)}.aspx"
                    },
                    new Menu
                    {
                        Text = "扩展菜单设置",
                        Href = $"{nameof(PageMenu)}.aspx"
                    },
                    //new Menu
                    //{
                    //    Text = "进入用户中心",
                    //    Href = FilesApi.GetRootUrl("home"),
                    //    Target = "_blank"
                    //}
                }
            })
            ;

            service.ApiGet  += Service_ApiGet;
            service.ApiPost += Service_ApiPost;

            var homeDirectoryPath = Path.Combine(PhysicalApplicationPath, "home");
            var versionFilePath   = Path.Combine(homeDirectoryPath, $"{Version}.txt");

            if (!Utils.IsDirectoryExists(homeDirectoryPath) || !Utils.IsFileExists(versionFilePath))
            {
                Utils.DeleteDirectoryIfExists(homeDirectoryPath);

                var distDirectoryPath = PluginApi.GetPluginPath("dist");
                Utils.CopyDirectory(distDirectoryPath, homeDirectoryPath, true);

                var indexHtml = Utils.ReadText(Path.Combine(distDirectoryPath, "index.html"), Encoding.UTF8);
                indexHtml = Regex.Replace(indexHtml, "domainAPI:\"[^\"]*\"", $@"domainAPI:""{PluginApi.GetPluginApiUrl()}""");

                Utils.WriteText(Path.Combine(homeDirectoryPath, "index.html"), indexHtml);

                Utils.WriteText(versionFilePath, DateTime.Now.ToString(CultureInfo.CurrentCulture));
            }
        }
예제 #4
0
파일: Main.cs 프로젝트: newlysoft/SS.Reward
        public void Startup(IContext context, IService service)
        {
            DataApi    = context.DataApi;
            ConfigApi  = context.ConfigApi;
            ParseApi   = context.ParseApi;
            FilesApi   = context.FilesApi;
            AdminApi   = context.AdminApi;
            ContentApi = context.ContentApi;

            DatabaseType     = context.Environment.DatabaseType;
            ConnectionString = context.Environment.ConnectionString;

            Dao       = new Dao();
            RecordDao = new RecordDao();

            service
            .AddDatabaseTable(RecordDao.TableName, RecordDao.Columns)
            .AddSiteMenu(siteId => new Menu
            {
                Text      = "文章打赏",
                IconClass = "ion-social-yen",
                Menus     = new List <Menu>
                {
                    new Menu
                    {
                        Text = "文章打赏设置",
                        Href = $"{nameof(PageSettings)}.aspx"
                    },
                    new Menu
                    {
                        Text = "文章打赏记录",
                        Href = $"{nameof(PageRecords)}.aspx"
                    }
                }
            })
            .AddStlElementParser(StlReward.ElementName, StlReward.Parse)
            .AddJsonPost((request, name) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiPay)))
                {
                    return(StlReward.ApiPay(request));
                }
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiPaySuccess)))
                {
                    return(StlReward.ApiPaySuccess(request));
                }
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiWeixinInterval)))
                {
                    return(StlReward.ApiWeixinInterval(request));
                }

                return(null);
            })
            .AddHttpGet((request, name) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiQrCode)))
                {
                    return(StlReward.ApiQrCode(request));
                }

                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            })
            .AddHttpPost((request, name, id) =>
            {
                if (Utils.EqualsIgnoreCase(name, nameof(StlReward.ApiWeixinNotify)))
                {
                    return(StlReward.ApiWeixinNotify(request, id));
                }

                return(new HttpResponseMessage(HttpStatusCode.NotFound));
            });
        }