简单干净的C#方法设计案例:SFCUI.AjaxValue()之一

python实现问卷星自动填写(可以跳过智能验证) 最近有一个社会实践需要做问卷调查,突发奇想搞一个自动化脚本,省事省米。 阅读详情

之一,之二,之三

有很多时候,需要我们在代码中执行很多重复的工作,这时候要涉及到如何使用可复用的方法来解决重复性问题。

比如一个项目管理系统,要求在不同的页面的不同位置都能调整任务的估算工作量,而且要使用Ajax方法(因为每次调整后都要实时看到总计),应该如何做呢?

从操作步骤上看,大致分为这么几步:

0. 显示当前的值(应该看上去能修改的样子)

1. 点击当前值,弹出一个小窗口,里边是可能的取值(比如0.25, 0.5, 1, 2, 3,5……天),且显示为链接(因此用户会去点)

2. 点击其中一个链接(Ajax链接),执行某个Ajax功能

3. 若成功,应该返回新的数值

4. 如果需要,更新某些计算结果(如调整后的总工时等)

大致业务界面如下:

右边绿框中显示的就是当前值(上下还有很多这种当前值),所有工作完成后,需要刷新左侧带阴影区域(第一是黄框中的总额;此外由于这个任务还显示在左边的区域中,所以第二还要同步更新左边下面的蓝框中的数值)。

要一步一步地实现这些技术上并不太难,无非是

0. 把当前值显示为一个DIV

1. 点击当前值,用jquery toggle出一个另一个平时隐藏的DIV,里边放好了所有可能的取值

这些“可能的值”应该是用某种方法读取来的,否则容易乱;每个值,都是一个Ajax链接

2. 点击其中一个链接(Ajax链接),执行某个Ajax功能,这个功能应该是比如Efforts/AjaxSetEffortPlanned?itemID=XX&effortPlanned=YY之类的

3. 若成功,应该返回新的数值,所以把1中的每个Ajax链接的UpdateTargetID设为0中的DIV即可

4. 成功回来后刷新左边的区域,重新计算和现实(这里假设已经有了个js函数叫做function refreshLeftPad())

但是,如果有很多页面都要这个功能,而且以后还有其他的类似功能(调整当前负责人、完成状态之类的……),那么代码就会臃肿重复,怎么办呢?封装。

封装的原则

下面这个原则是我2001年的师傅关宏超说的,后来一直被我们发扬光大,叫做“最小信息原则”:

最小信息原则:方法接口应只传递最必须的业务信息。

包括两个层面:

1. 技术数据不要传递

2. 业务数据不能重复

到底说的是什么意思呢?请看下一篇

Python自动化填写问卷星问卷 本文使用pyhton实现常见的问卷星问卷自动化填写。如果出现智能验证,本文还不能有效绕过问卷星提交时出现的智能检测,还需要手动点击智能检测才能完成问卷的填写。 在网络问卷中,我们常见的问题有单选题、多选题和李克勤量表题,如下图: 单选题: 多选题: 李克勤量表题: 本文就是实现了以上问题的问卷星问卷自动填写功能,大家可以根据自己问卷的需要添加其他问题的自动化填写功能。 本文的半自动化填写问卷程序需要依赖浏览器驱动,笔者使用的是谷歌浏览器,所以需要下载chromedriver,且版本需要和目前自己的浏览 阅读详情

相关推荐

Python爬虫拓展应用:最新版本问卷星自动刷,包括解决智能验证、滑块等问题

python爬虫 2021年9月份最新版本问卷星自动刷,包括解决智能验证、滑块等问题Python爬虫自动刷“问卷星”网站问卷爬虫运行准备爬虫运行代码代码解释KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 Python爬虫自动刷“问卷星”网站问卷 最近发现女朋友要收集几百份问卷数据,看她可怜巴巴的到处找人互助和填写问卷,我便查阅了相关资料,做了这个问卷自动刷。因为我女朋友是人文专业的,我深知很多文科的同学都需要进行痛苦的问卷收集,他们很需要这样的一款问卷自

Thomas_Neo的博客 4231

Python selenium自动化刷问卷+绕过智能验证

  学校思政实践要收集1500份问卷,待在家里无聊就简单写了个用selenium模块实现的自动填写问卷xing问卷的小程序。   基本思路很简单:   1.先打开问卷的网址,按F12进开发者模式分析页面HTML,找到题目的选项按钮对应的HTML代码(例如:Q1的四个选项按钮都在a标签内,且rel属性值分别为q1_1,q1_2,q1_3,q1_4);   2.在py中用slenium的find_element_by_xpath+click()方法实现模拟点击按钮,例如: q1 = random() if 0

Polaris的博客 1万+

问卷星爬虫(带验证码)

本爬虫若自己修改需要一定的编程基础,可参考http://blog.csdn.net/gcs1024/article/details/78559488

简单干净的C#方法设计案例:SFCUI.AjaxValue()之三

之一,之二,之三之前讲到,方法声明为: @SFCUI.AjaxValue(story.ID, effortValue.ToString(), Effort.EffortPlannedValues, "/SFC/Efforts/AjaxSetEffortPlanned?itemID=" + story.ID + "&value={0}", ajaxOnSuccess: "r...

diaogan4202的博客 111

问卷星自动随机填写脚本js插件免费最新版

问卷星自动随机填写脚本js插件是由作者Ahaochan分享的一个浏览器扩展插件。目前支持单选题,多选题,比重题,有需要自动填写的题型。 什么是脚本? 脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。 js脚本各浏览器安装教程 各浏览器对本方法的支持有所不同: Chrome---设置后直

SFC编程入门_倍福SFC编程入门与示例_twincatplc中sfc_sfc_

倍福plc twincat3 SFC编程入门

简单干净的C#方法设计案例:SFCUI.AjaxValue()之二

之一,之二,之三 先重温一下原则:最小信息原则:方法接口应只传递最必须的业务信息。包括两个层面:1. 技术信息不要暴露2. 业务信息不能重复业务信息分析先别管技术问题,想一想做这个事情需要哪些数据才能完成?1. 原来的值是多少(显示用)2. 可能的值有哪些(选择用)3. 点一个值后,应该执行什么操作(这个是核心业务)4. 返回后做什么(刷新用)还有一些问题哪去了?5. 返回的值刷新到哪里?这个调用

陈勇的博客 - Scrum 敏捷开发培训咨询,绩效管理,团队管理,《火星人敏捷开发手册》 6458

OpenMythos深度解析

本文深入解析了kyegomez/OpenMythos项目如何从第一性原理重建Claude Mythos的核心架构。该项目并非直接复制Claude,而是基于公开论文和实验结果推测其可能的设计理念,构建了包含多模态注意力、深度推理引擎、知识检索模块等六大核心组件的模块化架构。重点剖析了分组查询注意力(GQA)的实现细节,展示了KV头扩展等关键技术。该项目已成为大模型开源社区最受关注的研究之一,为理解Claude的架构思想提供了有价值的参考。

Crown_22的博客 518
上一篇: IT职场人生系列之二十:危险职业(下)
下一篇: 简单干净的C#方法设计案例:SFCUI.AjaxValue()之二
火星人陈勇
博客等级 码龄18年 4899粉丝 381原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值