Octopus-common文件夹解析

html_header.html

程序全局的头部<head></head>标签之间的代码,最最主要的功能就是根据不同的页面加载不同的样式表。

html_footer.html

程序的底部</body>标签之前,主要就是加载全局的js脚本,遵循“头部样式底部脚本的原则”

_OCT.html

定义了系统中使用的一些业务实例,实例在全局可用,最最靠前的一个wid部件

_SEO.html

定义系统的SEO三要素

_Self_Js.html

定义每个页面的一些个性化的js脚本,每个页面运行的js代码多少有些差异,我想让每个页面只加载并运行只属于自己的代码。我把它单独成一个wid部件,方便被各个页面所引用,这是早期的设计。后面我使用VH助手,对这个部件进行计算,并将计算结果压缩输出。VH是什么?后期我会讲解。此部件的输出调用在html_footer.html页面,在加载了所有的代码之后使用$VH.OutString(true)来输出这个部件。

_t_js.html

是我喜欢测试一些js代码在页面中运行的效果,测试通过之后将代码在拷贝到lib.js中

51.html

顾名思义,此处写网站的统计代码,单独分离出来,有好有坏,好处就是你可以只将此部件在需要统计的页面引用。

Octopus-系统解析-OctService基类定义

OctService页面服务类,请求上下文

封装了9个属性

数据:UserData,LangItems

用户:SessionID,CustomerID,IsLogin,Customer

业务:CartID,Currency,Language

下面我来说说这几个属性是怎么初始化的,小伙伴先有一个大概的了解,其实非常的简单,理解程序代码要先理解代码的执行流程。执行的流程必然有先后的顺序,下面我让大家看看Octopuscart的先后顺序是怎么走的。

在静态构造函数中加载语言包,静态构造函数只需要执行一次

此时LangItems被初始化

在构造函数中初始化:货币,语言,购物车ID


注意:构造函数中不能获得Session对象,所以此时不能对session进行任何的操作,但是可以对cookie进行操作
货币,语言,购物车ID会被保存到客户端的Cookie中,所以我们先在此处做一次初始化【PS:语言的暂时没用到】

以货币为例:货币在前台页面可以切换。

初始化过程是:先获取系统配置的货币–》Currency具有默认的值–》从cookie中读取客户端的货币代码–》根据此代码对Currency设置–》回写货币代码到cookie【重新刷新了客户端cookie的生命周期】

语言和购物车ID都是这个初始化过程,不过我的项目中语言没有实现,代码逻辑和货币一模一样,可以照葫芦画瓢。

到此时我们已经初始化了4个属性了:

LangItems–Currency–Language–CartID小伙伴继续往下走!

在ProcessRequest中此时Session才可以使用,所以此处可以判断用户是否登陆

HttpContext.Current.Session.SessionID就可以用了,所以一下子就能拿到SessionID,那么如果用户登陆了,就可以检查session,判断是否登陆了获取登陆用户的ID。

判断逻辑非常简单,根据OCKeys.Session_User_ID键值在会话中获取顾客的ID,如果顾客的ID>0,表示当前用户登陆了。

除此之外,还对cookie进行了检查,如果用户选择记住用户选项,那么看看cookie中保存的信息是否有效。如果有效,用于也处于登陆状态。

到此处我们就初始化了SessionID—IsLogin—CustomerID—Customer 等4个选项哦!对了是不是少了一个呢?UserData:UserData我是用来存取数据用的,它在用户登陆的时候会用到,此处先不做介绍。

Octopus-乡间小记-第001期

001: 关于系统中自定义实体带来的弊端
死板不够灵活,查询是灵活多样的,获取数据之前我们不晓得需要什么字段的数据,如果事先定义好一个实体对象,那么获取的数据只能就是定义的类型,这个类型中有些字段我们不需要,但是它被定义了,我们可以初始化这些字段数据,但是总是感觉不好,你定义了,但是在此处查询中你又没有用到它,感觉啰嗦,所以使用通用的一个自定义实体。

002:以点打面

编写文章的时候采用以一点打面的手法来操作。比如写文章的时候可以从一个点入手,Octopus的Url重写;Octopus某个数据表设计手法等等,从细微之处入手,文章慢慢展开娓娓道来,不要一开始就将主题开展的特别宽泛。

【C#】-操作符-?-单引号

最终结果 int? 单引号的含义
C#中不允许对值类型 赋值为空类型,但是赋值空类型有时候是非常有用的【和数据库对应】
”?(单问号)“修饰符,是System.Nullable的缩写形式,比如int?代表是可空的整形,例如:int? a = 1 或者 int? b=null。Nullable类型具有一个HasValue的bool类型只读属性,当Nullable类型实例的该属性为true时,则表示该实例是非空实例,包含一个已知值Value,HasValue为false时,访问Value属性将导致System.InvalidOperationException。

Octopus-backend目录文件说明列表

Backend_ShoppingCart.html 购物车页面调用的模块

_w_cart_empty.html购物车为空模块
_w_cart_mobile.html手机端展示
_w_cart_pc.html电脑端展示
_w_coupon.html判断优惠码消息提示
_w_coupon_code.html展示优惠码
_w_layer.htmlloading遮盖层

Backend_New_Shipping.html 确认客户收货地址页面调用的模块

_w_backend_new_shipping_hidden.html隐藏的提交参数
_w_address_detail.html遍历客户的收货地址
_w_get_ship_list.html遍历送货方式列表

Backend_New_Payment.html 确认客户账单地址页面调用的模块

_w_payment_order_detail_V2.html展示订单详情
_w_address_detail_for_payment.html展示地址详情
_w_get_pay_list.html展示支付方式

Backend_Complete.html 填写信用卡信息完成支付页面Backend_Complete_Western_Union.html 单独使用西联支付的说明页面Backend_Edit_Address.html 编辑【收货】地址页面Backend_Change_Payment_Address.html 修改添加账单地址的页面Backend_Login.html 登陆页面

_Form_Login.html

Backend_Register.html 注册页面

_w_address_form_div.html注册表单:收货地址信息部分
_w_address_reg_div.html注册表单:用户信息部分

_Backend_footer.html backend头部_Backend_header.html backend尾部共计15个wid的小模块,9个页面

【IIS】-How to delete old ssl certificate IIS

Issue: you need to delete an old or expired certificate from an IIS Web Server (IIS 7 through IIS 8).

Solution:

1) Open Internet Information Service (IIS) Manager
2) Select Web Server > Click Server Certificates
3) Right click the certificate and click Remove

delete old ssl certificate IIS

The above steps will remove the certificate from the server’s personal certificate store. It’s important to note that your IIS server may still be serving the old certificate despite it being deleted.

碎碎念-项目的疑惑

对于系统中的很多地方我不确定是不是要改?因为具体的业务需求我不知道
到底是要做?还是不要做呢?这让我心中很疑惑。
这个月已经过去了24天了,我在这套系统上花的时间非常的多。
但是我一直不满意,可是我又找不出不满意的地方在哪里?我该往那个方向努力
哪些地方要在继续升级?优化?这没有一个实际的参考和判断,没有反馈。
一切都是我自己凭借对程序的理解而改进的。
这样下去的话永远都不是头儿,我需要想出一个办法来解决这个问题。
这套系统想要继续成长,就需要有用户使用它,考研它。但是目前却没有这个条件
而我自己有自己的局限性,所知道仅仅是冰山一角,这样对程序的升级非常的不利

碎碎念-遇到问题

遇到几个问题
其中部分问题已经有了解答
怎样进行愉快的资源发布?
本地进行发布 然后上传替换数据库
要不要做资源的迁移工作呢?
将xvideo的数据迁移到mongodb
晚上大把的时间该怎么办?使用任务清单?
思维导图确实有一些问题在里面,因为我之前试试单纯的做了知识搬迁
晚上应该抽一些固定的时间 来使用思维导图做知识构建
假想有人给自己下了一个指令
已经实现了关闭注册登陆的功能
现在的blog 有很多的地方不完美
现在的blog支持两种 图片的导入方式
第一种就是直接存在PostImage库里
第二种就是存储在Mongodb中
分离开图片信息 以后数据采集还是建议单独的分离开
以后还是能够从设计上屏蔽掉一些问题
比如PostImage
找几个好的网站仿制并发现它们的需求
基于以问题点为核心的思维导图构建 比如List排序
我现在还有那些地方需要提高
还有那些地方需要改进
用流程图的方法 画出程序流程图 帮助自己思考
并让其中的逻辑呈现出来
只做精品资源的思想
回归远点 回归初衷
当书中都没有办法解决时 只能自己创造方法了
现在的很多东西都只能自己测试 比如torrent
在需求都不清楚的情况下 我该怎么办?
如何达到最终几个亿的资产份额?
如何充分的利用自己的时间?
心劲儿 如果这股心劲儿没了 人也基本就废了
已经实现了Blog全局函数的写发 分页的调用
我想要得到一种方法或者一种算法
仿造别人 做sex 无法奏效 比如使用会员制注册的方式等等
我必须找到我自己的一种方式
我要使用 asp.net 下的自己的 控制的发信账户来发信