あまみや ゆうこ » FRONTEND

编辑资源菜单 - Azure Portal SDK

在进行Azure Portal Extension开发过程中,避免不了对资源菜单的扩展,于是菜单内容在./Client/Browser/ViewModels/AssetTypeViewModel.ts中。

getMenuConfig方法中添加一个菜单:

        var yukoItem: MsPortalFx.Assets.MenuItem = {
            id: "yuko",
            displayText: "Yuko Amamiya",
            icon: ClientIcons.Icons.cloudService,
            supplyBladeReference: () => {
                return ... // 稍后将使其跳转到一个新的blade上
            }
        };

找到menuConfig,向指定段中添加上述创建的yukoItem

更多内容 »

Published on 4/5/2017 3:05:41 AM

ASP.NET Core 发微信红包

今天做了个比较有趣的东西,就是编写一个HTML5摇一摇的界面,让用户抢红包。抢到以后通过微信授权来发送到用户的微信钱包里。

于是研究了一发微信支付的付款接口部分,各种Key啊,各种certificate。于是联想到了前段时间在搞的.NET Core下调用Azure的一些事情。比如RC2还不支持HttpClient带X509证书进行请求被迫使用了RC3版本的CoreFX。

好在现在已经发布了RTM,于是以清真的方式轻松的就解决了X509Certificate的问题,再也不需要mono这种万恶的东西了。于是,我好想吐槽微信的API跟Azure的API真是有一拼,接口混乱、文档不全。而且微信有好多奇葩的地方比如请求是XML反馈是JSON。

在这个抢红包的时代,我觉得使用者会需要查看实时的结果吧,于是上了SignalR。每当有用户领取了红包,管理员就会马上看到这个人的具体信息。

同样也支持导出Excel报表。骄傲的使用了Pomelo.Data.Excel。

最后,源代码:https://github.com/Kagamine/WechatBribery

file

Published on 7/2/2016 2:34:53 PM

YuukoBlog on .NET Core RTM

今天Microsoft发布了.NET Core的正式版,于是我把Pomelo系列扩展包Bump up到了RTM版本上,于是又更新了YuukoBlog。

这次更新内容有:

  • 上传图片增加了缓存机制
  • 增加了友情链接功能(读自GitHub Followers,如果你的Follower填写了WebSite,那么就会被抓取,每2小时更新一次)
  • 更新了Moon模板,使其功能与Default一致
  • 更新了Markdown编辑器,现在除了原有的拖拽上传、粘贴上传方式以外还增加了选择文件上传的方式

file

file

file

本项目源代码托管于GitHub中:点击查看

Published on 6/28/2016 9:46:50 PM

Tentacle Guitar

Tentacle Guitar是一款跨平台的吉他教学游戏,其意义在于能够将gtp的谱子读入本系统中,并允许玩家将带有拾音器的电箱吉他或电吉他连接至手机或电脑。游戏将识别玩家所弹音是否正确。

file

游戏前端基于Unity 3D开发,后台使用了微软最新技术.NET Core,源代码在GitHub中开源:https://github.com/tentacleguitar

该作品参加了2016上海TechCrunch Hackathon大赛,在近百组作品中夺得亚军(第二名)。

file

感谢组内其他成员的贡献:@xiaodao, @moenenn, @shisoft, @番茄酱

Published on 6/28/2016 7:33:44 AM

Anti XSS - Pomelo 扩展包系列

Introduction

最近在开发的时候遇到这样的需求,普通用户允许使用基本的markdown语法,而管理员除了markdown以外可以发html,比如<embed><video>等。

那么现在就有这样的一个问题,市面上主流的反XSS插件都是要求在C#端写Hard Code,这样一来开发者就没有办法进行权限的校验了。因此Pomelo为广大开发者提供了一款自由度很大的反XSS插件。

Getting Started

与其他包一样,需要添加Pomelo的MyGet Feed:<add key="Code Comb" value="https://www.myget.org/F/pomelo/api/v2/" />,接下来在project.json中引用Pomelo.AspNetCore.Extesions或Pomelo.AspNetCore.AntiXSS包。

Pomelo.AspNetCore.AntiXSS提供了三种白名单提供方式:

Hard Code

Hard Code方式要求开发者自行封装一个IWhiteListProvider将IDictionary形式返回。

更多内容 »

Published on 6/15/2016 2:16:06 PM