代码改变世界

随笔分类 - MVC

【微信支付】分享一个失败的案例

2018-06-04 08:24 by stoneniqiu, 4854 阅读, 收藏, 编辑
摘要:这个项目是去年做的,开始客户还在推广,几个月后发现服务器已经关掉了。这是一个发图片猜谜语的应用,用户猜对了分红包,所得奖金可以提现。开发的时候对需求都不太看好,觉得用户粘性太低了。今天就把所有的程序拿了出来放在了github上。供有兴趣的伙伴玩耍。 产品逻辑 用户从公众号直接进来,可以做两件事,一个 阅读全文

关于IM的一些思考与实践

2018-03-22 23:32 by stoneniqiu, 752 阅读, 收藏, 编辑
摘要:上一篇简单的实现了一个聊天网页,但这个太简单,消息全广播,没有用户认证和已读未读处理,主要的意义是走通了websocket-sharp做服务端的可能性。那么一个完整的IM还需要实现哪些部分? 一、发消息 用户A想要发给用户B,首先是将消息推送到服务器,服务器将拿到的toid和内容包装成一个完整的me 阅读全文

【微信开发】-- 企业转账到用户

2017-01-22 00:25 by stoneniqiu, 21531 阅读, 收藏, 编辑
摘要:在微信公众号支付的API中没有这个接口,如果企业需要给用户转账,或者让用户提现或者给用户发红包等需要再商户平台中的产品中心分别开通。 一、开通功能 开通就是点击一下,很简单。但需要注意的是支持向用户转账的账户和收到用户付款的账户不是同一个,而为了满足此功能,你需要先用财付通进行充值(交易中心--资金 阅读全文

【微信开发】-- 公众号支付

2017-01-20 08:33 by stoneniqiu, 7309 阅读, 收藏, 编辑
摘要:公众号支付就是在微信里面的H5页面唤起微信支付,不用扫码即可付款的功能。做这个功能首先要明确的就是,只有和商户号mch_id匹配的appid才能成功支付。商户号在注册成功的时候就会将相关信息发送到邮箱里面。而唤起支付的一个关键是靠openid拿到统一下单。而openid是和appid一一对应的。也就 阅读全文

【微信开发】【Asp.net MVC】-- 微信分享功能

2017-01-15 09:09 by stoneniqiu, 16669 阅读, 收藏, 编辑
摘要:内嵌在微信中的网页,右上角都会有一个默认的分享功能。如下图所示,第一个为自定义的效果,第二个为默认的效果。实现了自定义的分享链接是不是更让人有点击的欲望?下面讲解下开发的过程。 一、准备,设置js接口安全域名 这需要使用微信的jssdk,先需要在微信公众号后台进行设置:公众号设置-->功能设置--> 阅读全文

NPOI导出多张图片到Excel

2017-01-10 23:14 by stoneniqiu, 2905 阅读, 收藏, 编辑
摘要:常用NPOI导出数据到excel,但没有试过如何导出图片。NPOI最大的特点就是不依赖于Excel组件,服务端不需要安装Excel。在单元格中插入图片主要是用HSSFClientAnchor对象。他有8个参数。 前面四个表示在单元格中两个点的位置,后面四个表示是哪个单元格。先看代码。 每一张表只能有 阅读全文

微信硬件H5面板开发(二) ---- 实现一个灯的控制

2016-09-06 08:53 by stoneniqiu, 5370 阅读, 收藏, 编辑
摘要:在第一节中讲解了openApi的调用,这一篇讲一下如何实现一个灯的控制。就用微信提供的lamp例子来做,将代码扒下来(实在是没办法,没有示例),整合到自己的项目中。lamp源码:http://files.cnblogs.com/files/stoneniqiu/lamp.zip。 你可以自己扒,带参 阅读全文

微信硬件H5面板开发(一) ---- 调用openApi

2016-08-08 08:36 by stoneniqiu, 7502 阅读, 收藏, 编辑
摘要:微信硬件平台是微信推出连接物与人,物与物的IOT解决方案。也就是说可以通过微信控制各种智能设备。比如一些蓝牙设备、空调、电视等等。 我本身不懂硬件(虽然是电子信息专业),硬件是北航的两个研究生在弄,小团队里我负责开发H5自定义面板,刚开始看官方文档各种迷糊,对于jssdk、jsapi、Airkiss 阅读全文

Asp.Net MVC 扩展 Html.ImageFor 方法详解

2016-07-02 08:09 by stoneniqiu, 3372 阅读, 收藏, 编辑
摘要:背景: 在Asp.net MVC中定义模型的时候,DataType有DataType.ImageUrl这个类型,但htmlhelper却无法输出一个img,当用脚手架自动生成一些form或表格的时候,这些Url字段总是需要再手动改一次,特别是我想在img上面包裹一个a标签。并限定大小,比如: 方法1 阅读全文

微信支付之退款

2016-06-15 08:29 by stoneniqiu, 15374 阅读, 收藏, 编辑
摘要:先吐槽下微信的文档和demo,重要的步骤信息没有强调清楚,.net的demo就没有跑成功过。 1.微信扫码登录 2.微信PC端支付 几经摸索才走通这个退款功能。下面介绍下微信支付退款功能的开发步骤: 一、下载证书并导入到系统 微信退款是需要证书的,这个证书不是官方demo中的证书,而是需要自己在微信 阅读全文

微信扫码支付+Asp.Net MVC

2016-05-25 08:15 by stoneniqiu, 9988 阅读, 收藏, 编辑
摘要:这里的扫码支付指的是PC网站上面使用微信支付,也就是官方的模式二,网站是Asp.net MVC,整理如下。(demo在最下方) 一、准备工作 使用的微信API中的统一下单方法,关键的参数是‘公众账号ID(appid)’,‘商户号(mch_id)’和’商户支付密钥(KEY)‘,所以首先要有一个审核过的 阅读全文

【源码笔记】Nop定时任务

2016-01-28 08:13 by stoneniqiu, 1419 阅读, 收藏, 编辑
摘要:网站需要定时执行不同的任务,比如清理无效的数据、定时发送mail等,Nop的这个定时任务设计比较好,简单的说就是将所有任务相同的属性持久化,具体的执行通过继承接口来实现。 持久化对象:ScheduleTask ScheduleTask定义了Seconds,Type等属性,分别记录执行周期和任务类型。 阅读全文

FTP文件管理

2015-12-23 11:17 by stoneniqiu, 2112 阅读, 收藏, 编辑
摘要:因为网站有下载文件需要和网站分离,使用到了FTP管理文件,这里做一个简单的整理。1.安装FTP和安装iis一样。全部勾选。设置站点名称和路径。设置ip。身份授权选择所有用户,可以读写。完成之后 IIS就会出现:2.添加FTP用户计算机-->管理-->本地用户和组。 添加用户,描述为FTP。这里要设置... 阅读全文

Portal.MVC —— nopcommerce的简化版

2015-12-04 08:21 by stoneniqiu, 6294 阅读, 收藏, 编辑
摘要:Portal.MVC 简介 项目是基于MVC4+EF,带有角色,权限,用户中心及账户相关(登录,注册,修改密码,找回密码等)等基本功能。参考的开源项目 nopcommerce,这是一个电商架构的MVC项目,我对其进行了简化,之前主要是方便我自己搭建一些小的网站。包含前台和后台。 界面浏览 1.首页。 阅读全文

Form认证的几点说明

2015-11-23 17:35 by stoneniqiu, 419 阅读, 收藏, 编辑
摘要:有的页面需要用户认证之后才可以进入,通常都是在Filter的OnActionExecuting方法中我们需要获取当前用户。有两种情况不必登录:1.用户是登录的,也就是认证过的。2.用户上次登录了,但没有退出就关闭了页面,且还Cookie还没有过期。这个时候Request.IsAuthentica... 阅读全文

【读书笔记】WebApi 和 SPA(单页应用)--knockout的使用

2015-06-29 00:48 by stoneniqiu, 2783 阅读, 收藏, 编辑
摘要:Web API从MVC4开始出现,可以服务于Asp.Net下的任何web应用,本文将介绍Web api在单页应用中的使用。什么是单页应用?Single-Page Application最常用的定义:一个最初内容只包含html和JavaScript,后续操作通过Restful风格的web服务传输... 阅读全文

【读书笔记】Ninject 在MVC5中的使用

2015-06-23 13:19 by stoneniqiu, 4472 阅读, 收藏, 编辑
摘要:从MVC3中就开始接触Ninject这个IOC工具。也一直是MVC Framework系列书籍中推荐的IOC工具,当然还有优秀的Autofac等。性能和使用上面个有千秋。下面先看一下Ninject的使用: 1.添加Ninject。工具-->Nuget程序包管理器-->程序包管理器控制台,输入下... 阅读全文

【吉光片羽】MVC 导出Word的两种方式

2014-10-16 09:03 by stoneniqiu, 4140 阅读, 收藏, 编辑
摘要:1.直接将Html转成Word。MVC自带FileResult很好用。Html中我们也可以嵌入自己的样式。 html: 姓名 成绩 张山 ... 阅读全文

Asp.Net MVC中使用ACE模板之Jqgrid

2014-06-30 00:42 by stoneniqiu, 13944 阅读, 收藏, 编辑
摘要:第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究。它本身是基于bootstrap和jqueryui,但更nice,整合之后为后台开发节省了大量时间。目前已经投入到了两个项目中。发现虽然不是完美,整体效果还是不错,特此分享给园友。这一节先讲其中的Jqgrid。按照国际惯例,先上两张图。 阅读全文

【源码笔记】BlogEngine.Net 中的权限管理

2014-05-19 08:21 by stoneniqiu, 2018 阅读, 收藏, 编辑
摘要:BlogEngine.Net 是个功能点很全面的开源博客系统,容易安装和实现定制,开放接口支持TrackBack,可以定义主题配置数据源等等。可谓五脏俱全,这里先记录一下它基于Membership的权限管理,文章有点长了,花了不少时间。这只是对知识的一个梳理,并不是要推荐用这种方式做权限管理,分享一下BlogEngine实现的方式。所以园友们各取所需。 阅读全文

Asp.Net MVC 分页、检索、排序整体实现

2014-05-08 08:05 by stoneniqiu, 5613 阅读, 收藏, 编辑
摘要:很多时候需要这样的功能,对表格进行分页、排序和检索。这个有很多实现的方式,有现成的表格控件、用前端的mvvm,用户控件。但很多时候看着很漂亮的东西你想进一步控制的时候却不那么如意。这里自己实现一次,功能不是高大全,但求一个清楚明白,也欢迎园友拍砖。前端是bootstrap3+jPaginate,后台基于membership。没什么难点 阅读全文

AngularJS 初印象------对比 Asp.net MVC

2014-04-20 00:58 by stoneniqiu, 2141 阅读, 收藏, 编辑
摘要:之前就早耳闻前端MVC的一些框架,微软自家的Knockout.js,google家的AngularJs,还有Backone。但未曾了解,也不解为什么前端也要这么分。这两天看了AngularJs的官方教程倒是吃了一惊(专业前端的就不要见怪我的out了),这小小的js,五脏俱全,不但有model,controller,view,这三个重要元素,还有Templates,Filter,Routing,依赖注入的DI都有,还有一套 Jasmine 框架下的单元测试! 阅读全文

Asp.Net MVC Filter 实现方式和作用范围控制

2014-04-10 08:22 by stoneniqiu, 1650 阅读, 收藏, 编辑
摘要:MVC中的Filte 简单又优雅的实现了AOP ,在日志,权限,缓存和异常处理等方面用的比较多。但本文不是讨论Filter这些功能点,而是总结Filter实现的方式。说实现也不太准确,也就是它的呈现方式。自带有四种Filter(借用了Liam wang的图) 阅读全文

【读书笔记】Asp.Net MVC 上传图片到数据库(会的绕行)

2014-03-17 08:30 by stoneniqiu, 3556 阅读, 收藏, 编辑
摘要:之前上传图片的做法都是上传到服务器上的文件夹中,再将url保存到数据库。其实在MVC中将图片上传到数据库很便捷的事情,而且不用去存url了。而且这种方式支持ie6(ie6不支持jquery自动提交form,认为其不安全,这里form是主动点击提交的,所以就没有这个问题,而uploadify自动提交是flash的方式)。一、建立模型 场景是假设我们需要给一个Product编辑一张图片。在模型中,先定义好两个属性,ImageData和ImageType public class Product { [HiddenInput(DisplayValue=false)] ... 阅读全文

Xaml/Xml 实现对象与存储分离

2014-02-10 14:10 by stoneniqiu, 1294 阅读, 收藏, 编辑
摘要:刚开始用xml存储东西的时候都是不断的在xml文件里面添加或者修改xml的节点,这个是很常见的做法,这方面的博客也很多我也就不介绍了。但其实在小批量存储的时候我们可以直接将对象存进xml/xaml,使用的时候将整个对象加载出来,操作完成后再保存下去,这种做法没有什么技术难点,但我只是觉得更加的面相对象,模型和存储可以分开,模型的接口可以暴露出来,让前端的或者后台的调用,而存储可以换成xml/xaml和数据库。这样的好处就不言而喻了。 阅读全文

仿花田:相亲网站 意中人 已在GitHub上开源

2013-12-04 10:26 by stoneniqiu, 11063 阅读, 收藏, 编辑
摘要:在园友的强烈呼唤下,我还是负责任的分享给大家,因为对代码比较熟悉一下,还是有些问题要说明,不然别人看起来会比较费劲。说实话除了这个bootstrap的界面风格和这件事情本身对大家有吸引力之外,内部的逻辑,结构,可能有些捉襟见肘,会让大家见笑,大牛们完全可以略过.现在源码已经让我推到GitHub上面去了。我先从头到尾的介绍一下,然后说一些存在的问题。也希望大家给出更好的建议。 阅读全文

仿花田:内部相亲网站 意中人(Asp.net MVC,Bootstrap2)

2013-12-02 16:28 by stoneniqiu, 7940 阅读, 收藏, 编辑
摘要:起因: 那是七月份了,看见单身的同事在上花田网,当时觉得风格比较清新,还没有世纪佳缘等那些网站那么商业化,加上又看到了bootrstrap,于是就想做个demo出来玩玩。中间自己又在做其他的事情,和web没有关系,也想没事的时候也可以练练web,到上个星期,干脆就发布在公司的内网了。没想到同事们mail一传,现在都有200多个人(我的公司是个制造业,这边全部的职工有2w+的人,除了产线上的小妹妹们,有电脑的也有好几千)注册了。 阅读全文

ASP.Net MVC3 图片上传详解(form.js,bootstrap)

2013-11-19 19:32 by stoneniqiu, 4566 阅读, 收藏, 编辑
摘要:图片上传的插件很多,但很多时候还是不能切合我们的需求,我这里给大家分享个我用一个form,file实现上传四张图片的小demo。完全是用jquery前后交互,没有用插件。 基本思路:用户点击相关div触发file元素打开浏览框----》用setInterval不断检测file文件是否选中文件---》选中之后触发form自动提交到后台---》后台将文件存储到临时文件夹返回图片在临时文件夹的地址---》窗口提示上传功能并预览图片---》用户点击发布---》后台保存图片(移动到指定文件夹,并存入数据库) 阅读全文

一次外企QQ面试

2013-09-26 22:28 by stoneniqiu, 6032 阅读, 收藏, 编辑
摘要:ASP.NET MVC QQ面试 阅读全文

EntityFramework5.0 数据迁移笔记--解决模型变化重建数据库的问题

2013-06-04 17:29 by stoneniqiu, 1925 阅读, 收藏, 编辑
摘要:用了Codefirst后最大的困扰就是数据变化引起数据库的删除再新建,这样会造成数据丢失,musicstore中介绍的播种办法也只能满足下测试的需要。在EntityFrameWork5.0中引入了数据迁移功能能很好的解决这个问题。 步骤一:需要EF5.0,最好用NuGet来安装。工具-->... 阅读全文

MVC 图片上传小试笔记2

2013-05-02 10:20 by stoneniqiu, 1699 阅读, 收藏, 编辑
摘要:form.js 这个插件已经是很有名的,结合MVC的html辅助方法异步上传就很简单了。jQuery Form Plugin :http://www.malsup.com/jquery/form/#file-upload1.引入js,构建form。本身的BeginForm已经能够提交,但是如果有返回值的话,页面会跳转,这样体验就很不好。网上有说把反馈结果写在ViewData中,来绕开return。其实这是浏览器的默认行为,用form.js可以阻止掉。@using (Html.BeginForm("Upload", "Home", FormMethod.P 阅读全文

MVC 图片上传小试笔记

2013-04-25 16:13 by stoneniqiu, 366 阅读, 收藏, 编辑
摘要:说明:现在jquery上传图片的插件很多了,但还是想弄清楚下MVC 图片是怎么传上去的。结果反馈,效果还需要改善。1.在View中还是用beginform 再加上 一个file,一个submit,用post的方式将file传递过,表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。默认情况下的form是不能用来上传的。@using (Html.BeginForm("Upload","Home",FormMethod.Post,new {enctype="m... 阅读全文

MVC 下分离业务逻辑,优化修改

2013-04-08 19:22 by stoneniqiu, 1355 阅读, 收藏, 编辑
摘要:1.使用数据库单例模式容易造成数据库连接冲突,因此最好的方案应该是访问一次数据库后应该马上断开连接。即使用Using。2.需要仓库,即实现接口的方法。 public interfaceIUserDbRepository:IBaseDbRepository ....... public classUserDbRepository: IUserDbRepository.........3.运用反射获取到对象类型再来各自处理4.建立空的对象,避免重复代码5.用字典来传递需要修改的属性 这样就比较灵活。 如果全部修改对象 容易造成错误6.深浅复制。copier public void Update(. 阅读全文