zoukankan      html  css  js  c++  java
  • 支持多语言、多用户、多数据库、完美URL之路过秋天版博客发布[绝对有杀伤力的博客]

    前言:

    经过历时近N周的重构,终于要发布首版了,本次发布版本的从功能上讲绝对有杀伤力,目前网上还难以找到完全支持本博客所支持的功能的博客。

    不过,目前版本博客还不够完善,只具备了最基本的功能,完整功能等进一步开发。

     编辑说明:

    为了保持正常演示,维持治安:根据大伙刚才对演示的测试做了以下修正: 

    a:修正了下博客带"<>"标签引起页面的加载的错误问题。

    b
    :关于在登陆或注册时添加"'"号引发的异常,配置文件已关闭了错误信息输出。

    c:有人登陆我示例博客改文章和删除文件,已把测试密码从123456修掉了。
    [从这里发现,博客里少了修改密码功能..-_-..汗一个,晚上回去加下,明天之前再发布修正版]

    欢迎大伙继续搞破坏测试

    一:本博客所支持的外围功能说明

    1:多国语言支持:中/英/法/日/韩/德/印/俄/意/+自定义 共10种语言

    说明:

    为什么是10种,不是N种?
    这是因为本博客开放语言文件给美工,即由模版制作人负责对语言文件的翻译,因此需要提前约定。

    那美工是怎么维护多国语言的?
    相当的简单,对美工来说就是html

    一份全局的language.html,对前后台翻译都有效:一行一条翻译如:
    <div id="china" eng="China" cus="拼音">中文</div>
    默认内置为中文,其它:eng为english的前3字母、cus为custom的前3字母,其它语言类推。

    如何可以随意在其它html中使用翻译?

    示例:index.html中:
    <href="sys/china" key="china" >[中文,早晚被替换,写什么都无所谓]</a>
    在任意标签中,只要加入key="china",相应的内置文本即会被多国语言所翻译

    再细说明:美工完全可以按传统的开发方式开发,最后只需要在需要翻译的地方加入 key="语言ID",即可实现翻译功能。

    那语言是怎么转换的?
    只要在任意地方加入链接:
    <href="/lang/china">转向中文</a>,:<href="/lang/english">转向E文</a>
    因此预定10种语言,其实就是对10种约定的链接做处理而已,其它链接将被忽略,下面列出支持的10种语言枚举:

         public enum LanguageKey
        {
            /// 
    <summary>
            /// 中文
            /// 
    </summary>
            China,
            /// 
    <summary>
            /// 英文
            /// 
    </summary>
            English,
            /// 
    <summary>
            /// 法语
            /// 
    </summary>
            French,

            /// 
    <summary>
            /// 德语
            /// 
    </summary>
            German,

            /// 
    <summary>
            /// 韩语
            /// 
    </summary>
            Korean,

            /// 
    <summary>
            /// 日语
            /// 
    </summary>
            Japanese,

            /// 
    <summary>
            /// 印地语
            /// 
    </summary>
            Hindi,

            /// 
    <summary>
            ///  俄语
            /// 
    </summary>
            Russian,

            /// 
    <summary>
            /// 意大利语
            /// 
    </summary>
            Italian,
            /// 
    <summary>
            /// 自定义语言
            /// 
    </summary>
            Custom
        }

    2:自定义URL支持:目录级转向或自定义任意后缀转向

    说明:

    默认支持纯目录级URL重写转向,如果需要自定义后缀,或者只能使用指定后缀,增加或开启配置文件一行搞定:

    <!--启用带后缀Url转向-->
    <add key="UrlAspx" value=".shtml"/>

    如何使用纯目录级URL转向?即如:http://www.cyqdata.com/cyq1162/article/detail/26

    在IIS6中,需要添加通用映射扩展,网站属性-》主目录-》配置-》映射-》添加通用映射扩展

    在IIS7中,好像默认支持,不需要添加映射扩展。

    如果你是买了虚拟主机,不方便设置IIS,可使用默认IIS6支持的任意后缀如.shtml或.axd等。

    设置之后访问路径仅是在Url结尾增加相应后缀。

    3:多数据库支持:支持 CYQ.Data 框架 所支持的多种数据库

    说明:

    目前支持Access、MSSQL系列、Oracle等数据库,切换数据库,不用动代码,只需要更换配置文件数据库链接

    <appSettings>

      
    <!--Access数据库名称[可带相对路径]-->
      
    <add key="AccessDbNameForWeb" value="myspace.mdb"/>
     
    </appSettings>

    <connectionStrings>
      
    <!-- Access数据库链接示例-->
      
    <add name="Conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}" providerName="System.Data.OleDb"/>
      
    <!-- MSSQL数据库链接示例-->
      
    <!-- <add name="Conn" connectionString="server=.;database=myspace;uid=sa;pwd=123456"  providerName="System.Data.SqlClient"/>-->
      
    <!-- Oracle数据库链接示例-->
      
    <!--<add name="Conn" connectionString="Provider=MSDAORA;Data Source=MySpace;User ID=sa;Password=123456" providerName="System.Data.OracleClient"/>-->
     
    </connectionStrings>

    4:域名支持:支持使用二级域名开多人博客

    说明:

    网站支持泛解析方式访问网站如:http://cyq1162.cyqdata.com 等同于 http://www.cyqdata.com/cyq1162

    同时支持使用二级使用博客如:http://blog.cyqdata.com/cyq1162

    对于此支持,仅需要一行配置文件:

    <!--是否启用二级域名做为博客域名,如启用,则为myname.blog.cyqdata.com-->
     
    <add key="Www" value="blog"/>

    5:子目录支持:完可以全放到子目录[虚拟目录]里运行

    说明:

    没办法,太穷了,只买了一个虚拟主机,主机上已放了网站了,但主机允许开子目录。
    这时候,子目录也能开多人博客,配置二级域名使用,那是多省钱省力。
    对于虚拟目录方式,需要加一行配置文件:
    <!--虚拟目录名称,启用虚拟目录[即子目录]建站时设置,最后一"/"不加也不影响,加了好一点-->
    <add key="VirtualPath" value="cyqdata/"/>

    6:高性能

    说明:

    1:缓存提升

    有很多人很关注整体性能,本博内置三级缓存:

    一级缓存表结构:就那么几个表,缓存几乎不站内存

    二级二缓存原始美工html:缓存原始html可省去加载html时间,大大提升速度,同时使用提取共同部分方式来截断相同的代码部分处理,性能更超越。

    三级缓存页面[可配置]:允许对只需要的页面或模块做缓存,做到有的放矢,节省内存。

    2:html压缩

    如果你看一下html代码,你将看到没有空格换行的html,大大节省了输出的html字节大小。

    7:多皮肤支持与制作

    说明:

    由于本人非美工专业,只能先提供一套模块,对于用户,可以自由制作皮肤,完全可以采用先制作,后补充的方式。

    即:制作完html页面后,需要进行翻译的,加Key="指定ID“

         既要填充相应内容的,查找相应的ID加进去即可。

        完全可忽略系统提供的css皮肤和名称,不用遵守任意css名称或tag名称

        具体后面会提供相应的指导文章。

    8:支持自定义语言

    说明:

    在制作Css模块之后,可以制作自己的语言,人家中英,你可以中雷,只要稍许说明,即该掌握,不就加key="xxx"

    9:技术语言隐藏

    说明:

    很多网站都制作成后不需望别人看出是什么语言制作的,本博客完美的URL即可隐去这一点。
    没有ViewState没有aspx没有ascx没有其它标识。
    也许有人会看请示头,你把IIS默认输出的请求头:网站属性-》Http头->自定义请求头->ASP.NET X-Powered-By给删了,看人家还怎么看。
    一般人估计都猜不出了,高高手就略过了~~

    10:无JS平台,可外挂JS

    说明:

    本博客目前运行在无js的平台,因此支持直接手机访问也不成问题,无需要另建wap站。

    对于js,本博客将采取外挂js的方式,允许在有js时提供更为丰富的展示方式。

    11:本博客采用 CYQ.Data 数据层 框架 [强大的外挂]做为底层数据框架,如有需要,很方便即可扩展到其它数据库

    12:支持多用户

    这么重要的一点,差点忘了说了。

    其它:后来再补充了......

    二:本博客所支持的内围功能及演示地址

    说明:

    这里不做详细说明,具体演示请看:http://www.cyqdata.com/

    演示版本[为上一周代码],没更新到最新,现在即将发布的是完成于昨天昨晚的。

    本博客不对其DLL进行混淆加密,大伙自觉点即可,欢迎支持原创。

    晚点会增加输入过滤,大伙就别着急着输入脚本影响它人浏览 

    三:具体下载地址

    [置顶]CYQ.Data 轻量数据层之路 bug反馈、优化建议、最新框架下载

    四:欢迎css高手js外挂高手

    如果有css高手或js外挂高手,对本博客开发了相应的css或js外挂验证或展示,

    欢迎提供原作者一份,本人在测试通过后,将为其署名在以后的新版本博客中。

    最后结言:

    如此有杀伤力的博客,绝无仅用,世上不多,欢迎下载,欢迎使用:

    随便一放,一个自己的博客出来了

    随便一放,一个多用户博客出来了

    随便一放,一个能经营的平台出来了

    随便一放,等我继续开发其它功能了,哈哈~~~
  • 相关阅读:
    【Python 开发】第三篇:python 实用小工具
    【Python 开发】第二篇 :Python安装
    【Linux 运维】 安装PHP工具Composer
    【shell 每日一练6】初始化安装Mysql并修改密码
    【zabbix 监控】第三章 创建主机组和主机
    【Docker】第一篇 Docker的初始化安装部署
    【shell 练习5】编写简单的多级菜单
    【zabbix 监控】第二章 安装测试被监控主机
    【zabbix 监控】第一章 zabbix的安装配置
    1数组和字符串题解
  • 原文地址:https://www.cnblogs.com/cyq1162/p/1871508.html
Copyright © 2011-2022 走看看