因为魔卡挪车即将上线,为了能增加点可选项,除了目前已经完成开发的阿里云语音通之外,这两天还看了下华为云的语音通知业务。

与阿里云直接提交企业认证就可以开通并自行选购号码不同的是,我进入语音控制台就提示我需要开通,点开通后,第二天就有华为的工作人员电话联系询问做什么业务,告知需要用到语音通知后,答复说可以帮我开通。

而后我顺便问了下资费(华为站点上完全看不到收费标准),答复:“一种固话号码,通话0.18元/分钟,月租多少忘了;一种95开头的号码,也是2种:一种专属号,月租500,通话0.09元/分钟,一种随机号,资费如何没注意听。而95开头的语音通知是0.05元/条(30秒内)”,

然后我就说了句,那你们这个费率就比阿里云贵了,结果答复我的是:那你可以选择阿里云。我回复说:那行,我再看看。答复我的是:那还要不要帮你开通下服务。

基本上,聊到这里我就已经心里拒绝开通了,对我来说已经无所谓是否开通华为云的语音通话功能了,市面上做语音通知的至少也有5~6家,资费各不相同。既然要抢一杯羹,态度总要好点吧,心态开放点吧。

单纯从这个销售案例来看,我是一个意向明确的潜在客户,但是审核人员明显不CARE销售的事情,只管开通与不开通,处理方法也比较强硬,因此把我又推回了阿里云,失去了一个潜在客户!

select * from [tablename]  order by colname desc offset 要跳过的行数(一般是pagenum x pagesize) rows fetch next 要读取的行数(一般是pagesize) rows only

例如:

select * from [user] order by id desc offset 40 rows fetch next 20 rows only

读取user表id倒序后41行起20行数据

var data = new { keyword1 = new { value =”参数1″ }, keyword2 = new { value = “参数2”} }; //定义模板参数内容
WxJsonResult jresult = Senparc.Weixin.WxOpen.AdvancedAPIs.Template.TemplateApi.SendTemplateMessage(
AppId, openId, templateId, data , formId, returnPage, “需要突出的内容”, “#fff00”);//小程序appid,信息接收人的OpenID,模板消息的ID,模板消息参数数据,formID(通过report-submit表单获取),返回页面路径(如:/pages/home/index),需要突出的内容,突出内容的字体颜色

            PdfSharp.Pdf.PdfDocument doc = new PdfDocument(); //实例化对象
            XImage img= XImage.FromFile(pngPath + "\\" + fileName + ".png"); //获取图片对象
            PdfPage page = doc.AddPage(); //增加1页
            page.Width = 212;
            page.Height = 269; //设置长宽            
            XGraphics g = XGraphics.FromPdfPage(page );
            g.DrawImage(img, 0, 0);

加个循环就可以一直添加新页并把图片写入pdf文件

        

        Bitmap bg = new Bitmap(500,500); //创建一个500x500px的画布
        bg.SetResolution(400, 400); //将画布设置为400x400分辨率
        Graphics g = Graphics.FromImage(bg); //新建画图对象
        g.Clear(Color.Transparent); //设置画图背景透明
        //将imgFile(通过FileDialog获取到的对象)画入画布并居中
        g.DrawImage(imgFile, (bg.Width - imgFile.Width) / 2, (bg.Height - imgFile.Height) / 2); //第二和三参数是置入图片在画布上的起始X和Y位置

 
        //设置文字
        System.Drawing.Font font = new System.Drawing.Font("思源黑体 CN", 12, FontStyle.Bold);  //设置字体
        SolidBrush brush = new SolidBrush(Color.White); //设置笔刷(写文字用)
        g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;//我选择这项,可以让写出来的文字没有黑边毛刺
        //写入文字
        g.DrawString(str, font, brush, xPosition, yPosition); //参数分别为写入的文字内容,字体,笔刷,x位置,y位置
        bg.Save(pngPath+"\\"+ no + ".png",ImageFormat.Png); //保存,参数分别为保存文件路径,图片格式
        brush.Dispose();
        font.Dispose();
        g.Dispose();
        img.Dispose();
        bg.Dispose();

说难也不难,希望对各位有用

new TenPayV3UnifiedorderRequestData(
  WxOpenAppId,  //小程序的AppId
  WxOpenMerchantId,  //微信支付的商户ID
  “购买XXX”, //商品描述
  out_trade_no, //系统生成的订单号
  (int)amount, //付款金额,似乎会/100,所以订单金额要x100
  requestIp,  //付款者的IP
  “支付后回调路径”,
  Senparc.Weixin.TenPay.TenPayV3Type.JSAPI, //支付类型
  bag.OpenId,//用户的openid
  WxOpenMerchantKey, //微信支付设置的api key
  TenPayV3Util.GetNoncestr()); //随机生成的字串

每个参数的说明,供大家参考!

碰上要批量重新修改图片的分辨率(原来分辨率太低,需要提高),度娘问到了可以使用SetResolution来重新设置分辨率,代码如下:

            Image img = Image.FromStream(bytes);//bytes是你通过网络或者文件读取获取到的bytes
            Bitmap pic = new Bitmap(img);
            pic.SetResolution(400, 400);
            pic.Save(path);
            result = path;

按照以往的概念,网络请求是可以这样子的:

string value = getWebSource(url) //函数名我瞎掰的,明白我意思就行

而如今程序则是完全依靠异步完成,只能:

wx.request({
  url:url,
  data:{datas},
  success:function(){
     逻辑代码
    }
})

而不能直接 string value=wx.request…….获取返回值

如今只能通过回调函数来完成了,例如:

function anyway(callback)
{
    wx.request({
      url:url,
     data:{datas},
     success:function(res){
        逻辑语句。。。。。
        callback&&callback(res)
    }
    })
}

调用就直接使用:

anyway(function(d){
    this or that.setData({
       res:d
    })
})

这样子就获取到了request的success传过来的res数据拉