//发送授权请求的处理函数,SDK1.0暂不支持,可忽略 private void btnAuth_Click(object sender, RoutedEventArgs e) { string AppID = ConstString.APPID; SendAuth.Req req = new SendAuth.Req(ConstString.SCOPE, ConstString.STATE); IWXAPI api = WXAPIFactory.CreateWXAPI(AppID); api.SendReq(req); }
public async void WeChatAuth(Frame frame) { frame.Navigate(typeof(AuthPage), this.WeChat); currentFrame = new WeakReference <Frame>(frame); if (Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily == "Windows.Mobile") { var req = new SendAuth.Req("snsapi_userinfo", "wechat"); var api = WXAPIFactory.CreateWXAPI("wx2d00f7c30f52d4aa"); var isValid = await api.SendReq(req); } }
/// <summary> /// 授权登录 /// </summary> public static async void Login() { try { SendAuth.Req req = new SendAuth.Req("", "test"); IWXAPI api = WXAPIFactory.CreateWXAPI(APP_ID); var isValid = await api.SendReq(req); } catch (WXException ex) { Debug.WriteLine(ex.Message); } }
public async void SendAuth() { try { SendAuth.Req req = new SendAuth.Req(AppSettings.Scope, "test"); IWXAPI api = WXAPIFactory.CreateWXAPI(AppSettings.AppId); var isValid = await api.SendReqAsync(req); } catch (WXException ex) { Debug.WriteLine(ex.Message); } }
protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; //Resources.DisplayMetrics.ScaledDensity = 2;//告诉android不要把自己大小单位缩放 //double systemDensity = DeviceDisplay.MainDisplayInfo.Density; //Resources.DisplayMetrics.Density = 2; //var temp = Resources.DisplayMetrics; //var device = DeviceDisplay.MainDisplayInfo; //if (DeviceDisplay.MainDisplayInfo.Density >= 3) //{ // Resources.DisplayMetrics.ScaledDensity = 1.5F;//告诉android不要把自己大小单位缩放 // Resources.DisplayMetrics.Density = 2.5F; //} //else //{ // Resources.DisplayMetrics.ScaledDensity = 2;//告诉android不要把自己大小单位缩放 // Resources.DisplayMetrics.Density = 2; //} App.ScreenWidth = Resources.DisplayMetrics.WidthPixels; App.ScreenHeight = Resources.DisplayMetrics.HeightPixels; //var width = Resources.DisplayMetrics.WidthPixels; //var height = Resources.DisplayMetrics.HeightPixels; //var density = Resources.DisplayMetrics.Density; //屏幕密度 //App.ScreenWidth = width / density; //屏幕宽度 //App.ScreenHeight = height / density; //屏幕高度 含24个单位的标题栏高度 通过OnSizeAllocated获取的高度不含标题栏高度 if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat) { //透明状态栏 //Window.AddFlags(WindowManagerFlags.TranslucentStatus); Window.SetStatusBarColor(Android.Graphics.Color.LightGray); //不遮挡导航栏 Window.AddFlags(WindowManagerFlags.ForceNotFullscreen); } CrossCurrentActivity.Current.Init(this, savedInstanceState); Rg.Plugins.Popup.Popup.Init(this, savedInstanceState); //弹出框 CarouselViewRenderer.Init(); //轮播图 CachedImageRenderer.Init(true); //Forms.SetFlags("CarouselView_Experimental"); Forms.SetFlags("SwipeView_Experimental"); Plugin.XF.AppInstallHelper.CrossInstallHelper.Current.Init("com.wyhl.XMart.fileprovider"); /* #region X5内核 * preInitCallback = new PreInitCallback(); * tbsListener = new TbsListener(); * //加载X5内核 * QbSdk.DownloadWithoutWifi = true; * QbSdk.SetTbsListener(tbsListener); * QbSdk.InitX5Environment(this, preInitCallback); * MessagingCenter.Subscribe<object, string>(this, "PlayVideo", (o, url) => * { * TbsVideo.OpenVideo(this, url); * }); * MessagingCenter.Subscribe<object, string>(this, "OpenFile", async (o, file) => * { * var backingFile = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), file); * if (System.IO.File.Exists(backingFile) == false) * { * using (var stream = Assets.Open(file)) * { * using (var newStream = System.IO.File.Create(backingFile)) * { * await stream.CopyToAsync(newStream); * } * } * } * var openResult = QbSdk.OpenFileReader(this, backingFile, null, new ValueCallback()); * }); #endregion */ //支付宝 MessagingCenter.Subscribe <object, string>(this, "Pay", (sender, sign) => { try { Thread the = new Thread(new ParameterizedThreadStart(Pay)); the.Start(sign); } catch (ThreadAbortException) { } }); #region 微信相关 //注册 MessagingCenter.Subscribe <object>(this, "Register", d => { var result = RegToWx(); }); MessagingCenter.Subscribe <object>(this, "Login", d => { // send oauth request SendAuth.Req req = new SendAuth.Req() { Scope = "snsapi_userinfo", State = "xmart_wechat_login" }; bool result = wxApi.SendReq(req); }); //分享小程序给朋友 MessagingCenter.Subscribe <object, string>(this, "ShareMiniProgramToFriend", (sender, arg) => { string[] args = arg.Split(','); WXMiniProgramObject miniProgramObj = new WXMiniProgramObject { WebpageUrl = "https://www.qq.com", // 兼容低版本的网页链接 MiniprogramType = WXMiniProgramObject.MiniprogramTypePreview, // 正式版:0,测试版:1,体验版:2 UserName = "******", // 小程序原始id Path = "/pages/detail/detail?productId=" + args[0] + "&shareId=" + args[1] //小程序页面路径;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar" }; WXMediaMessage msg = new WXMediaMessage(miniProgramObj) { Title = args[2] + "-美而好,让生活更美好。", // 小程序消息title Description = "这是美而好的简介" // 小程序消息desc }; Stream s = Resources.OpenRawResource(Resource.Drawable.logo); Bitmap mBitmap = BitmapFactory.DecodeStream(s); msg.SetThumbImage(mBitmap); SendMessageToWX.Req req = new SendMessageToWX.Req { Transaction = DateTime.Now.ToFileTimeUtc().ToString(), Message = msg, Scene = SendMessageToWX.Req.WXSceneSession // 目前只支持会话 }; wxApi.SendReq(req); //br.Dispose(); //s.Dispose(); }); //分享文字给朋友 /* * MessagingCenter.Subscribe<object, string>(this, "ShareToFriend", (sender, arg) => * { * WXTextObject textObj = new WXTextObject { Text = arg };//定义wx文本对象 * WXMediaMessage msg = new WXMediaMessage { MyMediaObject = textObj, Description = arg };//定义wxmsg对象 * SendMessageToWX.Req req = new SendMessageToWX.Req() * { * Transaction = DateTime.Now.ToFileTimeUtc().ToString(), * Message = msg, * Scene = SendMessageToWX.Req.WXSceneSession//分享到对话 * }; * wxApi.SendReq(req); * }); * * //分享文字到朋友圈 * MessagingCenter.Subscribe<object, string>(this, "ShareTextToTimeline", (sender, arg) => * { * WXTextObject textObj = new WXTextObject { Text = arg };//定义wx文本对象 * WXMediaMessage msg = new WXMediaMessage { MyMediaObject = textObj, Description = arg };//定义wxmsg对象 * SendMessageToWX.Req req = new SendMessageToWX.Req() * { * Transaction = DateTime.Now.ToFileTimeUtc().ToString(), * Message = msg, * Scene = SendMessageToWX.Req.WXSceneTimeline//分享到朋友圈 * }; * wxApi.SendReq(req); * }); * * //分享网页到朋友圈 * MessagingCenter.Subscribe<object, string>(this, "ShareWebPageToTimeline", (sender, arg) => * { * //初始化一个WXWebpageObject,填写url * WXWebpageObject webpage = new WXWebpageObject * { * WebpageUrl = arg * }; * * //用 WXWebpageObject 对象初始化一个 WXMediaMessage 对象 * WXMediaMessage msg = new WXMediaMessage(webpage) * { * Title = "万联家具批发平台", * Description = "网页描述" * }; * Stream s = Resources.OpenRawResource(Resource.Drawable.logo); * Bitmap mBitmap = BitmapFactory.DecodeStream(s); * msg.SetThumbImage(mBitmap); * * //构造一个Req * SendMessageToWX.Req req = new SendMessageToWX.Req * { * Transaction = DateTime.Now.ToFileTimeUtc().ToString(), * Message = msg, * Scene = SendMessageToWX.Req.WXSceneTimeline, * UserOpenId = getOpenId() * }; * * //调用api接口,发送数据到微信 * wxApi.SendReq(req); * });*/ #endregion base.OnCreate(savedInstanceState); Instance = this; Platform.Init(this, savedInstanceState); // add this line to your code, it may also be called: bundle Forms.Init(this, savedInstanceState); LoadApplication(new App()); }
private async void ButtonBase_OnClick(object sender, RoutedEventArgs e) { try { try { SendAuth.Req req = new SendAuth.Req("[YOUR SCOPE]", "test"); IWXAPI api = WXAPIFactory.CreateWXAPI("[YOUR APP ID]"); var isok = await api.SendReq(req); } catch (WXException) { } //int scene = SendMessageToWX.Req.WXSceneTimeline; //发给微信朋友 //var file = await Package.Current.InstalledLocation.GetFileAsync("1.png"); //using (var stream = await file.OpenReadAsync()) //{ // var pic = new byte[stream.Size]; // await stream.AsStream().ReadAsync(pic, 0, pic.Length); // var message = new WXWebpageMessage // { // WebpageUrl = "http://www.baidu.com", // Title = "title", // Description = "desc", // ThumbData = pic // }; // try // { // SendMessageToWX.Req req = new SendMessageToWX.Req(message, scene); // IWXAPI api = WXAPIFactory.CreateWXAPI("[YOUR APP ID]"); // var isok = await api.SendReq(req); // } // catch (WXException) // { // } //} //var message = new WXTextMessage(); //message.Title = "flora"; //message.Text = "这是一段文本内容"; //message.ThumbData = null; //SendMessageToWX.Req req = new SendMessageToWX.Req(message, scene); //IWXAPI api = WXAPIFactory.CreateWXAPI("[YOUR APP ID]"); //var isok = await api.SendReq(req); //WXImageMessage message = new WXImageMessage(); //var file = await Package.Current.InstalledLocation.GetFileAsync("1.png"); //using (var stream = await file.OpenReadAsync()) //{ // var pic = new byte[stream.Size]; // await stream.AsStream().ReadAsync(pic, 0, pic.Length); // message.Title = "tupian"; // message.Description = "desc"; // message.ThumbData = pic; // message.ImageUrl = "http://tp3.sinaimg.cn/1882347990/180/5725518284/1"; // try // { // SendMessageToWX.Req req = new SendMessageToWX.Req(message, scene); // IWXAPI api = WXAPIFactory.CreateWXAPI("[YOUR APP ID]"); // var isok = await api.SendReq(req); // } // catch (WXException) // { // } //} } catch (Exception ex) { //new MessageDialog(ex.Message).ShowAsync(); } }
protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; Resources.DisplayMetrics.ScaledDensity = 2;//告诉android不要把自己大小单位缩放 //double systemDensity = DeviceDisplay.MainDisplayInfo.Density; //Resources.DisplayMetrics.Density = (float)systemDensity / 2.55F; //var temp = Resources.DisplayMetrics; //var device = DeviceDisplay.MainDisplayInfo; App.ScreenWidth = Resources.DisplayMetrics.WidthPixels; App.ScreenHeight = Resources.DisplayMetrics.HeightPixels; if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat) { //透明状态栏 //Window.AddFlags(WindowManagerFlags.TranslucentStatus); Window.SetStatusBarColor(Android.Graphics.Color.LightGray); //不遮挡导航栏 Window.AddFlags(WindowManagerFlags.ForceNotFullscreen); } Rg.Plugins.Popup.Popup.Init(this, savedInstanceState); //弹出框 CarouselViewRenderer.Init(); //轮播图 CachedImageRenderer.Init(true); //支付宝 MessagingCenter.Subscribe <object, string>(this, "Pay", (sender, sign) => { try { //Func<string, string> test = Pay; //IAsyncResult asyncResult = test.BeginInvoke(sign, null, null); //string result = test.EndInvoke(asyncResult); // //Console.WriteLine(result); //Status = ""; Thread the = new Thread(new ParameterizedThreadStart(Pay)); the.Start(sign); //the.Join(); //Console.WriteLine(Pay(sign)); //Task<string> task = new Task<string>(async () => await Pay(sign)); //var result = await Pay(sign); //task.Wait(); //task.RunSynchronously(); //Console.WriteLine(result); //PayDelegate payDelegate = Pay; //Task<string> task = Task<string>.Factory.FromAsync(payDelegate.BeginInvoke(sign, Callback, "a delegate asynchronous call"), payDelegate.EndInvoke); //Task<string> task = Task<string>.Factory.FromAsync(payDelegate.BeginInvoke, payDelegate.EndInvoke, sign, "a delegate asynchronous call"); //task.ContinueWith(t => MessagingCenter.Send(new object(), "PaySuccess", t.Result)); } catch (ThreadAbortException) { MessagingCenter.Send(new object(), "PaySuccess", Status); } }); //微信相关 //注册 MessagingCenter.Subscribe <object>(this, "Register", d => { var result = RegToWx(); // MessagingCenter.Send(new object(), "Registered", result);//广播注册的结果 }); MessagingCenter.Subscribe <object>(this, "Login", d => { // send oauth request SendAuth.Req req = new SendAuth.Req(); req.Scope = "snsapi_userinfo"; req.State = "wechat_sdk_demo_test"; bool result = wxApi.SendReq(req); }); //分享小程序给朋友 MessagingCenter.Subscribe <object, string>(this, "ShareMiniProgramToFriend", (sender, arg) => { WXMiniProgramObject miniProgramObj = new WXMiniProgramObject(); miniProgramObj.WebpageUrl = "http://www.qq.com"; // 兼容低版本的网页链接 miniProgramObj.MiniprogramType = WXMiniProgramObject.MiniptogramTypeRelease; // 正式版:0,测试版:1,体验版:2 miniProgramObj.UserName = "******"; // 小程序原始id miniProgramObj.Path = "/pages/media"; //小程序页面路径;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar" WXMediaMessage msg = new WXMediaMessage(miniProgramObj); msg.Title = "小程序消息Title"; // 小程序消息title msg.Description = "小程序消息Desc"; // 小程序消息desc //msg.ThumbData = getThumb(); // 小程序消息封面图片,小于128k SendMessageToWX.Req req = new SendMessageToWX.Req { //Transaction = DateTime.Now.ToFileTimeUtc().ToString(), Message = msg, Scene = SendMessageToWX.Req.WXSceneSession // 目前只支持会话 }; wxApi.SendReq(req); }); //分享文字给朋友 MessagingCenter.Subscribe <object, string>(this, "ShareToFriend", (sender, arg) => { WXTextObject textObj = new WXTextObject { Text = arg }; //定义wx文本对象 WXMediaMessage msg = new WXMediaMessage { MyMediaObject = textObj, Description = arg }; //定义wxmsg对象 SendMessageToWX.Req req = new SendMessageToWX.Req() { Transaction = DateTime.Now.ToFileTimeUtc().ToString(), Message = msg, Scene = SendMessageToWX.Req.WXSceneSession//分享到对话 }; wxApi.SendReq(req); }); //分享文字到朋友圈 MessagingCenter.Subscribe <object, string>(this, "ShareToTimeline", (sender, arg) => { WXTextObject textObj = new WXTextObject { Text = arg }; //定义wx文本对象 WXMediaMessage msg = new WXMediaMessage { MyMediaObject = textObj, Description = arg }; //定义wxmsg对象 SendMessageToWX.Req req = new SendMessageToWX.Req() { Transaction = DateTime.Now.ToFileTimeUtc().ToString(), Message = msg, Scene = SendMessageToWX.Req.WXSceneTimeline//分享到朋友圈 }; wxApi.SendReq(req); }); /* * //分享网页给朋友 * MessagingCenter.Subscribe<object, string>(this, "ShareToFriend", (sender, arg) => * { * //初始化一个WXWebpageObject,填写url * WXWebpageObject webpage = new WXWebpageObject(); * webpage.WebpageUrl = "网页url"; * * //用 WXWebpageObject 对象初始化一个 WXMediaMessage 对象 * WXMediaMessage msg = new WXMediaMessage(webpage); * msg.Title = "网页标题 "; * msg.Description = "网页描述"; * Bitmap thumbBmp = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb); * msg.ThumbData = Util.bmpToByteArray(thumbBmp, true); * * //构造一个Req * SendMessageToWX.Req req = new SendMessageToWX.Req(); * req.Transaction = buildTransaction("webpage"); * req.Message = msg; * req.Scene = mTargetScene; * req.UserOpenId = getOpenId(); * * //调用api接口,发送数据到微信 * wxApi.sendReq(req); * });*/ base.OnCreate(savedInstanceState); Instance = this; Platform.Init(this, savedInstanceState); // add this line to your code, it may also be called: bundle Forms.Init(this, savedInstanceState); LoadApplication(new App()); }