Exemple #1
0
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            switch (e.Item.Tag.ToString())
            {
            case "isSensorAvailable":
                fingerPrint1.isSensorAvailable((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        this.Toast(args.error);
                    }
                    else
                    {
                        this.Toast("Support");
                    }
                });
                break;

            case "authenticate":
                fingerPrint1.authenticate((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        this.Toast(args.error);
                    }
                    else
                    {
                        this.Toast("Support");
                    }
                });
                break;
            }
        }
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            switch (e.Item.Tag.ToString())
            {
            case "demoListViewRefresh":
                this.Show(new demoListViewRefresh());
                break;

            case "userFilter":
                //Dialog显示的自定义控件,如果重复使用,不需要每一次都实例化,如果需要实例化,记得把原来的给Destroy
                if (filter == null)
                {
                    //由于内部使用了Flex布局,需要在外部给定高度
                    filter           = new userFilter();
                    filter.Height    = 400;
                    filter.BackColor = System.Drawing.Color.White;
                    //最后一个参数代表支持点击空白处关闭
                    filterOptions = new DialogOptions(LayoutJustifyAlign.FlexEnd, System.Drawing.Color.FromArgb(128, 128, 128, 128), Padding.Empty, true);
                }
                this.ShowDialog(filter, filterOptions);
                break;

            case "userFooterDialog":
                //Dialog显示的自定义控件,如果重复使用,不需要每一次都实例化,如果需要实例化,记得把原来的给Destroy
                if (footerDialog == null)
                {
                    //由于内部控件都有了高度,所以userFooterDialog不用设置高度,会自动撑大
                    footerDialog = new SmobilerSamples.ShowDialog.userFooterDialog();
                    //最后一个参数代表支持点击空白处关闭
                    footerDialogOptions = new DialogOptions(LayoutJustifyAlign.FlexEnd, System.Drawing.Color.FromArgb(128, 128, 128, 128), Padding.Empty, true);
                }
                this.ShowDialog(footerDialog, footerDialogOptions);
                break;

            case "userDialogPassword":
                if (footerDialogOptions == null)
                {
                    footerDialogOptions = new DialogOptions(LayoutJustifyAlign.FlexEnd, System.Drawing.Color.FromArgb(128, 128, 128, 128), Padding.Empty, true);
                }
                ShowDialog.userDialogPassword dialogPassowrd = new ShowDialog.userDialogPassword();
                dialogPassowrd.DialogPassword += (pass) => { MessageBox.Show(pass); };
                this.ShowDialog(dialogPassowrd, footerDialogOptions);
                break;

            case "demogetdata":
                demogetdata dm = new demogetdata();
                dm.Selected += (obj, args) => { Toast(args.Text); };
                this.ShowDialog(dm);
                break;

            case "demoWebView":
                this.Show(new demoWebView());
                break;

            case "demoCustomResource":
                this.Show(new demoCustomResource());
                break;
            }
        }
        //列表菜单菜单项选择
        private void listMenuView2_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            switch (e.Item.Name)
            {
            case "exit":          //退出登录
                this.Close();
                break;

            default:
                break;
            }
        }
        private void SeatList_ItemActionPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            //未测试
            try
            {
                cz.Error r = ManagerSystem.Instance.MyAccount.SetNewReservation(startTime, endTime, int.Parse(e.Item.Content.Split(':')[1]));
                switch (r)
                {
                case cz.Error.OK:
                {
                    Toast("预约成功");
                    Form.Close();
                }
                break;

                case cz.Error.PARAM_FORMAT_ERROR:
                {
                    Toast("您在该时间段已有预约");
                }
                break;

                case cz.Error.CONNECT_ERROR:
                {
                    Toast("网络连接错误");
                }
                break;

                default:
                {
#if (DEBUG)
                    Toast(r.ToString());
#endif
                    Toast("未知错误,预约失败");
                }
                break;
                }
            }
#if (DEBUG)
            catch (FormatException excrption)
            {
                Toast("资源ID格式错误");
            }
#endif
            catch (Exception excrption)
            {
                Toast("未知错误");
            }
        }
        //列表菜单菜单项选择
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            switch (e.Item.Name)
            {
            case "serial":          //跳转到上位机界面
                serialForm serialform = new serialForm();
                Show(serialform);
                break;

            case "help":            //跳转到帮助界面
                helpForm helpform = new helpForm();
                Show(helpform);
                break;

            default:
                break;
            }
        }
Exemple #6
0
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            WeiXinShareEntity entity;

            switch (e.Item.SubContent)
            {
            case "Reg":
                this.weiXin1.registerApp(appid, (obj, args) => { }, universalLink);   //每个设备只需注册一次,方法参数中的appid为微信平台注册应用的appid
                break;

            case "Login":
                WeiXinLogin();
                break;

            case "Pay":
                Show(new demoWeixinPay());
                break;

            case "ShareNews":
                entity = new WeiXinShareNewsEntity("百度一下你就知道News", "百度一下你就知道", "https://www.baidu.com/");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "ShareText":
                entity = new WeiXinShareTextEntity("这是一个分享标题Text", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "ShareImage":
                entity = new WeiXinShareImageEntity("这是一个分享标题Image", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "ShareVideo":
                entity = new WeiXinShareVideoEntity("这是一个分享标题Video", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "ShareAudio":
                entity = new WeiXinShareAudioEntity("这是一个分享标题Audio", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineNews":
                entity = new WeiXinShareNewsEntity("百度一下你就知道News", "百度一下你就知道", "https://www.baidu.com/");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineText":
                entity = new WeiXinShareTextEntity("这是一个分享标题Text", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineImage":
                entity = new WeiXinShareImageEntity("这是一个分享标题Image", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineVideo":
                entity = new WeiXinShareVideoEntity("这是一个分享标题Video", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineAudio":
                entity = new WeiXinShareAudioEntity("这是一个分享标题Audio", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "isWXAppInstalled":
                this.weiXin1.isWXAppInstalled(HandleWeiXinRPCResult);
                break;

            case "isWXAppSupportApi":
                this.weiXin1.isWXAppSupportApi(HandleWeiXinRPCResult);
                break;

            case "getWXAppInstallUrl":
                this.weiXin1.getWXAppInstallUrl((s, ss) => { RedirectUrl(ss.args.ToString()); });
                break;

            case "getApiVersion":
                this.weiXin1.getApiVersion(HandleWeiXinRPCResult);
                break;

            case "openWXApp":
                this.weiXin1.openWXApp(HandleWeiXinRPCResult);
                break;
            }
        }
Exemple #7
0
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            switch (e.Item.SubContent)
            {
            case "ENTTicket":
                if (corpid != "")
                {
                    ENTTicket = GetENTTicket(GetAccessToken(corpid, corpsecret));
                    Client.Session["ENTTicket"] = ENTTicket;
                }
                break;

            case "Ticket":
                if (corpid != "")
                {
                    AgentTicket = GetAgentTicket(GetAccessToken(corpid, corpsecret));
                    Client.Session["AgentTicket"] = AgentTicket;
                }
                break;

            case "config":     //注入权限验证配置
                if (Client.Session["ENTTicket"] != null)
                {
                    string   nonceStr  = CreatenNonce_str();
                    long     timestamp = CreatenTimestamp();
                    string   url       = Client.WebUrl;
                    string   signature = GetSignature(ENTTicket, nonceStr, timestamp, url, out string1);
                    string[] jsApiList = { "chooseImage", "onMenuShareAppMessage", "playVoice", "stopWifi", "openUserProfile", "openBluetoothAdapter", "closeBluetoothAdapter", "setClipboardData", "scanQRCode" };
                    this.weiXinENTApi1.config(timestamp, nonceStr, signature, jsApiList, (obj, argss) =>
                    {
                        Toast("isError:" + argss.isError + "ERROR:" + argss.error + " ARGS:" + argss.args);
                    }, true);
                }
                break;

            case "agentConfig":     //注入应用权限
                if (Client.Session["AgentTicket"] != null)
                {
                    string nonceStr  = CreatenNonce_str();
                    long   timestamp = CreatenTimestamp();
                    string url       = Client.WebUrl;
                    string signature = GetSignature(AgentTicket, nonceStr, timestamp, url, out string1);
                    this.weiXinENTApi1.agentConfig(agentid, timestamp, nonceStr, signature, (obj, argss) =>
                    {
                        Toast("isError:" + argss.isError + "ERROR:" + argss.error + " ARGS:" + argss.args);
                    }, true);
                }
                break;

            case "checkJsApi":     //是否支持指定JS接口
                string[] checkJsApiList = { "chooseImage", "playVoice", "stopWifi", "setClipboardData", "scanQRCode" };

                weiXinENTApi1.checkJsApi(checkJsApiList, (obj, args) =>
                {
                    Toast("ERROR:" + args.error);
                });
                break;

            case "scanQRCode":     //使用invoke方法调用 微信扫一扫
                                   //参考 https://work.weixin.qq.com/api/doc/90000/90136/90492
                string[] mscanType = new string[2];
                mscanType[0] = "qrCode";
                mscanType[1] = "barCode";
                Dictionary <string, object> dict = new Dictionary <string, object>();
                dict.Add("desc", "'scanQRCode desc'");
                dict.Add("needResult", 1);
                dict.Add("scanType", mscanType);

                weiXinENTApi1.invoke("scanQRCode", dict, (obj, args) =>
                {
                    Dictionary <string, object> paramsDict = args.args as Dictionary <string, object>;
                    Toast("ERROR:" + args.error + " " + (string)paramsDict["resultStr"]);
                });
                break;
            }
        }
Exemple #8
0
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            switch (e.Item.SubContent)
            {
            case "PatternCreate":
                this.Client.Pattern.Create((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        Toast(args.error);
                    }
                    else
                    {
                        this.Client.Pattern.Password = args.Password;
                        Toast(args.Password);
                    }
                });
                break;

            case "PatternVerifyLocal":

                this.Client.Pattern.VerifyLocal((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        Toast(args.error);
                    }
                    else
                    {
                        Toast("Sucess");
                    }
                });
                break;

            case "PatternVerifyServer":
                this.Client.Pattern.VerifyServer((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        Toast(args.error);
                    }
                    else
                    {
                        Toast(args.Password);
                    }
                });
                break;

            case "ShareText":
                this.Client.Share.SendText("这是从测试系统发出的测试");
                break;

            case "ShareURL":
                this.Client.Share.SendURL("http://www.smobiler.com");
                break;

            case "ContactsShow":
                this.Client.Contacts.Show();
                break;

            case "ContactsAdd":
                this.Client.Contacts.Add("smobiler", "18888888888", "*****@*****.**");
                break;

            case "ContactsGet":
                this.Client.Contacts.GetContactEnties((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        MessageBox.Show(args.error);
                    }
                    else
                    {
                        MessageBox.Show(string.Format("共计:{0}", args.Value.Count));
                    }
                });
                break;

            case "ResourceLoad":
                this.Client.Resource.Load(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "resources.zip"), (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        Toast(args.error);
                    }
                    else
                    {
                        Toast("Done");
                    }
                });
                break;

            case "ResourceGet":
                this.Client.Resource.Get(new Smobiler.Core.RPC.ClientResourceFilter("*c*", ""), (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        Toast(args.error);
                    }
                    else
                    {
                        List <string> list = new List <string>();
                        foreach (Smobiler.Core.RPC.ClientResourceArgs.ResourceData data in args.Resouces)
                        {
                            list.Add(string.Format("{0}/{1}/{2}", data.ResourceID, data.ResourceSize, data.ResourceDate));
                        }
                        MessageBox.Show(string.Format("数量{0}\r\n{1}", args.Count, string.Join("\r\n", list.ToArray())));
                    }
                });
                break;

            case "ResourceRemoveIDS":
                this.Client.Resource.Remove(new string[] { "1.png", "2.png", "3.png" }, MobileResourceManager.DefaultImageResourceName, (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        Toast(args.error);
                    }
                    else
                    {
                        Toast(args.Count.ToString());
                    }
                });
                break;

            case "ResourceRemove":
                this.Client.Resource.Remove(new Smobiler.Core.RPC.ClientResourceFilter("*c*", ""), (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        Toast(args.error);
                    }
                    else
                    {
                        Toast(args.Count.ToString());
                    }
                });
                break;

            case "GetNetWorkType":
                this.Client.GetNetWorkType((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        MessageBox.Show(args.error);
                    }
                    else
                    {
                        MessageBox.Show(args.NetWorkType.ToString());
                    }
                });
                break;

            case "GetStatusbarHeight":
                this.Client.GetStatusbarHeight((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        MessageBox.Show(args.error);
                    }
                    else
                    {
                        MessageBox.Show(args.Height.ToString());
                    }
                });
                break;

            case "PlayAudio":
                this.Client.PlayAudio("001.mp3", AppDomain.CurrentDomain.BaseDirectory);
                break;

            case "StopAudio":
                this.Client.StopAudio();
                break;

            case "SendEmail":
                this.Client.SendEmail("标题", "文本", "*****@*****.**");
                break;

            case "SendSMS":
                this.Client.SendSMS("smobiler电话", "4000588560");
                break;

            case "TelCall":
                this.Client.TelCall("4000588560");
                break;

            case "FileDownload":
                this.Client.File.Download("领用单.doc", MobileResourceManager.DefaultDocumentResourceName, (obj, args) => { this.Toast(args.isError.ToString()); });
                break;

            case "FileDelete":
                this.Client.File.Delete("领用单.doc", MobileResourceManager.DefaultDocumentResourceName, (obj, args) => { this.Toast(args.isError.ToString()); });
                break;

            case "FileOpen":
                this.Client.File.Open("领用单.doc", MobileResourceManager.DefaultDocumentResourceName, (obj, args) => { this.Toast(args.isError.ToString()); });
                break;

            case "FileList":
                this.Client.File.List((obj, args) => { this.Toast(args.Count.ToString()); });
                break;

            case "FileExists":
                this.Client.File.Exists("领用单.doc", MobileResourceManager.DefaultDocumentResourceName, (obj, args) => { this.Toast(args.Exists.ToString()); });
                break;

            case "FileUpload":
                this.Client.File.Upload((obj, args) =>
                {
                    if (args.isError == false)
                    {
                        args.SaveFile();
                        this.Toast(string.Format("{0}", args.ResourceID));
                    }
                    else
                    {
                        Toast(args.error);
                    }
                });
                break;

            case "UploadClientPath":
                clientPath = "";
                this.Client.File.UploadPath((obj, args) =>
                {
                    if (args.isError == false)
                    {
                        clientPath = args.Resources.ElementAt(0).Value;
                        Toast(clientPath);
                    }
                    else
                    {
                        Toast(args.error);
                    }
                });
                break;

            case "UploadInitialPath":
                if (string.IsNullOrEmpty(clientPath) == true)
                {
                    MessageBox.Show("先点击上传本地文件路径");
                }
                else
                {
                    this.Client.File.UploadPath(System.IO.Path.GetDirectoryName(clientPath).Replace("file:\\", "").Replace("\\", "/"), (obj, args) =>
                    {
                        if (args.isError == false)
                        {
                            this.Toast(string.Format("{0}", args.Resources.ElementAt(0).Value));
                        }
                        else
                        {
                            Toast(args.error);
                        }
                    });
                }
                break;

            case "OpenClientPath":
                if (string.IsNullOrEmpty(clientPath) == false)
                {
                    this.Client.File.OpenPath(clientPath, (obj, args) => { Toast(args.isError.ToString()); });
                }
                break;

            case "ClearCache":
                this.Client.ClearCache((obj, args) =>
                {
                    if (args.isError == false)
                    {
                        Toast("清除成功");
                    }
                    else
                    {
                        Toast(args.error);
                    }
                });
                break;

            case "GetClipboard":
                this.Client.GetClipboard((obj, args) =>
                {
                    if (args.isError == true)
                    {
                        Toast("isError: " + args.isError.ToString());
                    }
                    else
                    {
                        Toast(args.Data);
                    }
                });
                break;

            case "SetClipBoard":
                this.Client.SetClipboard(DateTime.Now.ToString(), (obj, args) => { Toast("isError: " + args.isError.ToString()); });
                break;

            case "OpenDataBase":
                this.Client.SQLite.OpenOrCreate(new Smobiler.Core.RPC.SQLiteDataBase("oudi.db"), (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        MessageBox.Show(args.error);
                    }
                    else
                    {
                        Toast("OpenDataBase sucess");
                    }
                });
                break;

            case "SetDataBase":
                this.Client.SQLite.Execute(new string[] { "create table IF NOT EXISTS tbloudi (ID INT PRIMARY KEY     NOT NULL,NAME           TEXT    NOT NULL )", "insert into tbloudi values(" + DateTime.Now.Millisecond + ",'oudi')" }, (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        MessageBox.Show(args.error);
                    }
                    else
                    {
                        Toast("SetDataBase sucess");
                    }
                });
                break;

            case "GetDataBase":
                //select min(id) from tbloudi
                //delete from tbloudi where id = 490
                //select * from tbloudi
                this.Client.SQLite.Read("select * from tbloudi", (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        MessageBox.Show(args.error);
                    }
                    else
                    {
                        Toast(args.Data.Rows.Count.ToString());
                    }
                });
                break;

            case "CloseDataBase":
                this.Client.SQLite.Close(new Smobiler.Core.RPC.SQLiteDataBase("oudi.db"), (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        MessageBox.Show(args.error);
                    }
                    else
                    {
                        Toast("CloseDataBase sucess");
                    }
                });
                break;

            case "DeleteDataBase":
                this.Client.SQLite.Delete(new Smobiler.Core.RPC.SQLiteDataBase("oudi.db"), (obj, args) =>
                {
                    if (args.isError == true)
                    {
                        MessageBox.Show(args.error);
                    }
                    else
                    {
                        Toast("DeleteDataBase sucess");
                    }
                });
                break;

            case "ShowPermission":
                this.Client.ShowPermission();
                break;

            case "ShowOfflineResources":
                this.Client.ShowOfflineResources();
                break;

            case "ShowNetworkDiagnosis":
                this.Client.ShowNetworkDiagnosis();
                break;

            case "ShowAbout":
                this.Client.ShowAbout();
                break;

            case "IsOpenBlue":
                try
                {
                    this.Client.Bluetooth.IsOpen((object obj, Smobiler.Core.RPC.BluetoothManagerIsOpenArgs args) =>
                    {
                        if (args.IsOpen == true)
                        {
                            Toast("Open");
                        }
                        else
                        {
                            Toast("Not Open");
                        }
                    });
                }
                catch (Exception ex)
                {
                    Toast(ex.Message, ToastLength.SHORT);
                }
                break;

            case "OpenBlue":
                try
                {
                    this.Client.Bluetooth.Show();
                }
                catch (Exception ex)
                {
                    Toast(ex.Message, ToastLength.SHORT);
                }
                break;

            case "CoreVersion":
                Toast(this.Form.Client.CoreVersion.ToString());
                break;

            case "Device":
                Toast(this.Form.Client.Device);
                break;

            case "DeviceID":
                Toast(this.Form.Client.DeviceID);
                break;

            case "DeviceOS":
                Toast(this.Form.Client.DeviceOS);
                break;

            case "DeviceOSVersion":
                Toast(this.Form.Client.DeviceOSVersion);
                break;

            case "EnableStackView":
                Toast(this.Form.Client.EnableStackView.ToString());
                break;

            case "IPEndPoint":
                Toast(this.Form.Client.IPEndPoint.ToString());
                break;

            case "LastDate":
                Toast(this.Form.Client.LastDate.ToString());
                break;

            case "ScreenDensity":
                Toast(this.Form.Client.ScreenDensity.ToString());
                break;

            case "ScreenSize":
                Toast(this.Form.Client.ScreenSize.ToString());
                break;

            case "SessionID":
                Toast(this.Form.Client.SessionID);
                break;

            case "StartDate":
                Toast(this.Form.Client.StartDate.ToString());
                break;

            case "UserSessionID":
                Toast(this.Form.Client.UserSessionID);
                break;

            case "Version":
                Toast(this.Form.Client.Version.ToString());
                break;

            case "Exit":
                this.Form.Client.Exit();
                break;

            case "ExitAndQuit":
                this.Form.Client.ExitAndQuit();
                break;
            }
        }
Exemple #9
0
        /// <summary>
        /// 处理ListMenuView的元素点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            switch (e.Item.Tag.ToString())
            {
            case "demoListViewRefresh":
                //显示demoListViewRefresh窗体
                this.Show(new demoListViewRefresh());
                break;

            case "userFilter":
                //Dialog显示的自定义控件,如果重复使用,不需要每一次都实例化,如果需要实例化,记得把原来的给Destroy
                if (filter == null)
                {
                    //由于内部使用了Flex布局,需要在外部给定高度
                    filter           = new userFilter();
                    filter.Height    = 400;
                    filter.BackColor = System.Drawing.Color.White;

                    /* DialogOptions参数说明
                     * justifyAlign: LayoutJustifyAlign.FlexEnd 布局显示在最下面
                     * backColor: System.Drawing.Color.FromArgb(128, 128, 128, 128) 整个Dialog的背景色
                     * padding: Padding.Empty 设置内边框为空,就是全屏显示
                     * touchClosed: true 是否点击空白处关闭
                     */
                    filterOptions = new DialogOptions(justifyAlign: LayoutJustifyAlign.FlexEnd, backColor: System.Drawing.Color.FromArgb(128, 128, 128, 128), padding: Padding.Empty, touchClosed: true);
                }
                //弹出filter
                this.ShowDialog(filter, filterOptions);
                break;

            case "userFooterDialog":
                //Dialog显示的自定义控件,如果重复使用,不需要每一次都实例化,如果需要实例化,记得把原来的给Destroy
                if (footerDialog == null)
                {
                    //由于内部控件都有了高度,所以userFooterDialog不用设置高度,会自动撑大
                    footerDialog = new Smobiler.Tutorials.Samples.ShowDialog.userFooterDialog();

                    //同case "userFilter":中的参数设定
                    footerDialogOptions = new DialogOptions(LayoutJustifyAlign.FlexEnd, System.Drawing.Color.FromArgb(128, 128, 128, 128), Padding.Empty, true);
                }
                //弹出footerDialog
                this.ShowDialog(footerDialog, footerDialogOptions);
                break;

            case "userDialogPassword":
                if (footerDialogOptions == null)
                {
                    //同case "userFilter":中的参数设定
                    footerDialogOptions = new DialogOptions(LayoutJustifyAlign.FlexEnd, System.Drawing.Color.FromArgb(128, 128, 128, 128), Padding.Empty, true);
                }
                //创建userDialogPassword用户控件实例
                ShowDialog.userDialogPassword dialogPassowrd = new ShowDialog.userDialogPassword();
                //绑定DialogPassword事件
                dialogPassowrd.DialogPassword += (pass) => { MessageBox.Show(pass); };
                //弹出dialogPassowrd
                this.ShowDialog(dialogPassowrd, footerDialogOptions);
                break;

            case "demogetdata":
                //创建demogetdata用户控件实例
                demogetdata dm = new demogetdata();
                //绑定demogetdata的Selected事件
                dm.Selected += (obj, args) => { Toast(args.Text); };
                //弹出Dialog
                this.ShowDialog(dm);
                break;

            case "demoWebView":
                //显示demoWebView窗体
                this.Show(new demoWebView());
                break;

            case "demoCustomResource":
                //显示demoCustomResource窗体
                this.Show(new demoCustomResource());
                break;

            case "demoLoginRelativeLayout":
                //显示demoLoginRelativeLayout窗体
                this.Show(new demoLoginRelativeLayout());
                break;

            case "demoLoginAbsoluteLayout":
                //显示demoLoginAbsoluteLayout窗体
                this.Show(new demoLoginAbsoluteLayout());

                break;

            case "demoTransparent":
                //显示demoLoginAbsoluteLayout窗体
                this.Show(new demoTransparent());
                break;

            case "demoTwoWayScrolling":
                //显示demoTwoWayScrolling窗体
                this.Show(new demoTwoWayScrolling());
                break;

            case "demoTabToolbar":
                //显示demoTabToolbar窗体
                this.Show(new demoTabToolbar());
                break;

            case "demoHtmlInteraction":
                //显示demoTabToolbar窗体
                this.Show(new demoHtmlInteraction());
                break;

            case "demoListViewUpdate":
                this.Show(new demoListViewTemplateUpdate());
                break;

            case "demoListViewRemove":
                this.Show(new demoListViewRemove());
                break;

            case "demoListViewRowBind":
                this.Show(new demoListViewRowBind());
                break;
            }
        }
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            WeiXinShareEntity entity;

            switch (e.Item.SubContent)
            {
            case "Reg":
                this.weiXin1.registerApp(appid);    //每个设备只需注册一次,方法参数中的appid为微信平台注册应用的appid
                break;

            case "Login":
                WeiXinLogin();
                break;

            case "Pay":
                Show(new demoWeixinPay());
                break;

            case "ShareNews":
                entity = new WeiXinShareNewsEntity("百度一下你就知道News", "百度一下你就知道", "https://www.baidu.com/");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "ShareText":
                entity = new WeiXinShareTextEntity("这是一个分享标题Text", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "ShareImage":
                entity = new WeiXinShareImageEntity("这是一个分享标题Image", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "ShareVideo":
                entity = new WeiXinShareVideoEntity("这是一个分享标题Video", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "ShareAudio":
                entity = new WeiXinShareAudioEntity("这是一个分享标题Audio", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineNews":
                entity = new WeiXinShareNewsEntity("百度一下你就知道News", "百度一下你就知道", "https://www.baidu.com/");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineText":
                entity = new WeiXinShareTextEntity("这是一个分享标题Text", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineImage":
                entity = new WeiXinShareImageEntity("这是一个分享标题Image", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineVideo":
                entity = new WeiXinShareVideoEntity("这是一个分享标题Video", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "TimeLineAudio":
                entity = new WeiXinShareAudioEntity("这是一个分享标题Audio", "这是一个分享文本", "http://www.smobiler.com/images/index/logo.png");
                this.weiXin1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;
            }
        }
Exemple #11
0
        private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
        {
            //参数link(https://XXXX/)  分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            WeiXinApiShareEntity entity = new WeiXinApiShareEntity("百度一下你就知道News", "百度一下你就知道", "https://XXXX/", "http://www.smobiler.com/images/index/logo.png");

            switch (e.Item.SubContent)
            {
            case "Token":
                if (appid != "")
                {
                    Token = GetToken(appid, appsecret);
                    Client.Session["Token"] = Token;
                }
                break;

            case "Ticket":
                if (Token != "")
                {
                    Ticket = GettTicket(Token);
                    Client.Session["Ticket"] = Ticket;
                }
                break;

            case "config":     //注入权限验证配置
                if (Client.Session["Ticket"] != null)
                {
                    mTicket = (string)Client.Session["Ticket"];
                    if (mTicket != "")
                    {
                        //string nonceStr = CreatenNonce_str();
                        //long timestamp = CreatenTimestamp();
                        //string signature = GetSignature(mTicket, nonceStr, timestamp, this.Client.WebUrl, out string1);
                        //Toast(string1);
                        string nonceStr  = this.weiXinApi1.WeiXinApiCreatenNonce_str();
                        long   timestamp = this.weiXinApi1.WeiXinApiCreatenTimestamp();
                        string signature = this.weiXinApi1.WeiXinApiGetSignature(mTicket, nonceStr, timestamp);

                        this.weiXinApi1.config(timestamp, nonceStr, signature, (obj, argss) => { Toast("isError:" + argss.isError + "ERROR:" + argss.error + " ARGS:" + argss.args); }, mdebug);
                    }
                }
                break;

            case "checkJsApi":     //是否支持指定JS接口
                this.weiXinApi1.checkJsApi((obj, args) =>
                {
                    ShowMessage("ERROR:" + args.error + " shareToSession:" + ((WeXinApiCheckJsApiResponseEntity)args.args).shareToSession + " shareToTimeline:" + ((WeXinApiCheckJsApiResponseEntity)args.args).shareToTimeline + " getLocation:" + ((WeXinApiCheckJsApiResponseEntity)args.args).getLocation + " scanQRCode:" + ((WeXinApiCheckJsApiResponseEntity)args.args).scanQRCode + " pay:" + ((WeXinApiCheckJsApiResponseEntity)args.args).pay);
                });
                break;

            case "shareToSession":     //分享给好友
                this.weiXinApi1.shareToSession(entity, HandleWeiXinRPCResult);
                break;

            case "shareToTimeline":     //分享给朋友圈
                this.weiXinApi1.shareToTimeline(entity, HandleWeiXinRPCResult);
                break;

            case "getLocation":     //获取地理位置
                this.weiXinApi1.getLocation((obj, args) =>
                {
                    ShowMessage("ERROR:" + args.error + " latitude:" + ((WeXinApiGetLocationResponseEntity)args.args).latitude + " longitude:" + ((WeXinApiGetLocationResponseEntity)args.args).longitude);
                });
                break;

            case "scanQRCode1":
                this.weiXinApi1.scanQRCode((obj, args) => { ShowMessage("ERROR:" + args.error + " ARGS:" + args.args); });
                break;

            case "scanQRCode2":     //微信扫一扫   WeixinDecode:由微信处理后返回  NoDocode:直接返回扫描结果
                this.weiXinApi1.scanQRCode(WeiXinApiScanResultType.NoDocode, (obj, args) => { ShowMessage("ERROR:" + args.error + " ARGS:" + args.args); });
                break;

            case "scanQRCode3":     //微信扫一扫   WeixinDecode:由微信处理后返回  NoDocode:直接返回扫描结果
                                    //WeiXinApiScanCodeType 设置扫描条码类型,ios中有效
                this.weiXinApi1.scanQRCode(WeiXinApiScanResultType.NoDocode, WeiXinApiScanCodeType.All, (obj, args) => { ShowMessage("ERROR:" + args.error + " ARGS:" + args.args); });
                break;

            case "login":     //网页授权
                //同样可参考微信文档自行网页授权 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
                weiXinApi1.login();
                break;

            case "pay":     //支付
                            //可参考微信文档  https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1
                try
                {
                    Pay(UnifiedOrder());
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                break;
            }
        }
Exemple #12
0
 private void listMenuView1_ItemPress(object sender, ListMenuViewItemPressEventArgs e)
 {
     MessageBox.Show("ItemPress " + e.Item.Content);
 }