一般情况用户首次打开小程序,我们需要加载该用户的一些默认配置和参数,就需要wx.request下api服务器的数据,然后通过页面wx.getStorageSync获取相应的配置。

然而由于wx.request是异步请求,而即便先执行了onLaunch或者onShow再执行onLoad,依然无法在onLoad用wx.getStorageSync获取到数据,这是因为wx.request的返回一般都在onLoad之后才获得。

目前我使用的方法是设置个setInterval(cb,1000),就是每秒执行一次cb,而cb是一个wx.getStorageSync函数,当读到数据后马上clearInterval。

代码如下:

onLoad(options){
var that = this
let timer = setInterval(function(){
let id = wx.getStorageSync(“Id”)
if(id)
{
clearInterval(timer)
that.setData({
id:id
})
}
},1000)
}

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()); //随机生成的字串

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