起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3150|回复: 8

[结贴] bex53.4版本开发类似微信信用卡功能

[复制链接]

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
发表于 2016-7-5 13:29:45 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号:
数据库: MS SQLServer 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 8 浏览器: Chrome
我现在申请了一个测试号,里面各项功能都可以用。用的bex53.4版本。
现在想开发一个类似微信里信用卡那样的程序,在微信测试号里关注后,他会跳到我在程序里设置的页面上,页面已经写好,
WxMenuButton indexPage = new WxMenuButton();
  indexPage.setName("问题报告");
  indexPage.setType(WxConsts.BUTTON_VIEW);
  indexPage.setUrl("http://flybird.tunnel.qydev.com/x5/UI2/problemlist/problemList/process/wtbgd/mainActivity.w");

现在一点他就会提示让登陆,请问怎么能自动登陆或者授权登陆呢。不要像沟中自动登陆那样的效果,如果那样会页面刷好几次。太影响了。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-7-5 14:53:39 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-7-5 18:07:38 | 显示全部楼层
我是在Bex5 3.4版本里新建了一个动态web项目,然后通过Servlet去和微信集成,在servlet中或者说在这个动态项目中是不是要倒入Biz中相关的jar包才能使用// 读取当前人员的名称和邮箱
                String currentPersonID = ContextHelper.getPerson().getID();
                List exts = new ArrayList();
                exts.add("sMail");
                Person psn = PersonHelper.loadPerson(currentPersonID, exts);
                System.out.println("sName -> " + psn.getName());
                System.out.println("sMail -> " + psn.getExtValue("sMail"));
取到当前人,然后再用您说那个传值的方式在url链接后面加上username、password、sessionid等。我的思路对吗?

因为WxMenuButton indexPage = new WxMenuButton();
   indexPage.setName("问题报告");
   indexPage.setType(WxConsts.BUTTON_VIEW);
   indexPage.setUrl("http://flybird.tunnel.qydev.com/x5/UI2/problemlist/problemList/process/wtbgd/mainActivity.w");
这里的setUrl的链接我实在servlet中写的。如果把jar包拿过来可以用的话,我能用Person这个类取到loginname和password。但sessionid我怎么取呢?是先取到SessionContext 然后再取getSessionID ()方法 然后把这三个参数传递过去?

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-7-5 18:19:35 | 显示全部楼层
如果是自己写的一个web项目,不是在BIZ中实现的,那就需要用集成的方式
现在BIZ中实现,然后在web项目中调用BIZ中的action
要用系统集成的方式http://pan.baidu.com/share/link?shareid=68186&uk=1344487706

可以参考/BIZ/demo/actions/process/integration下面提供的案例

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-7-7 10:57:05 | 显示全部楼层
第一 那个链接下载不了。第二,我就是按照视频里那样新建的j2ee项目,因为微信不是要通过servletget请求通信 post取读数据吗?
现在就是微信关注后菜单什么的我都可以弄了。就是我一点某一个菜单肯定要跳到我在ui2下开发的一个页面上,这个页面的逻辑就和bx5的开发逻辑一样了,有ontolgyprocess什么的,正常流程都有,但外卖那个直接给个页面是可以跳过去,我这个页面跳过去就先到了登陆页面,然后还得登陆,我想不让他登陆,微信有跳到第三方页面的解决方法,我想知道起步x5是怎么做的。

微信的方法是通过Aoth2.0授权 拿到微信用户的一些基本信息跳转,我是可以拿到,但跳到咱们ui2的页面还需要登陆x5自己的登陆逻辑,我先拿到微信的openid关联咱们系统的用户存到数据库? 然后跳转的时候去取到咱们的用户名密码再设置连接时传参的形式?

这个思路有点乱啊。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-7-7 11:32:33 | 显示全部楼层
2楼放的就是BeX5中不登录直接打开功能的url应该怎么设置
但是你现在的是微信中直接配置的,你应该先配置一个不用bizData或者action的一个页面然后在这个页面中放一个iframe
微信中配置没有bizData和action的页面,打开页面中在.w的事件中去实现模拟登录然后获取bsessionid,拼接要正真打开的页面的url给iframe显示
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-7-7 14:58:42 | 显示全部楼层
搜嘎 ,非常感谢 我去试试,按这个思路应该可以。
回复 支持 反对

使用道具 举报

32

主题

112

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
QQ
 楼主| 发表于 2016-7-8 11:41:53 | 显示全部楼层
我应该如何在.w的事件中去实现模拟登录呢?微信是能跳到我那个带有iframe的页面,但微信号或者微信信息是他自己的,然后咱们x5的系统登录得有自己的用户名 密码什么的。我先做个功能把微信号存到数据库里,密码怎么存呢?存完用这个用户名和密码怎么生成bsessionid 然后再付给iframe的url?去实现登陆?

我现在的代码是这样的

Model.prototype.modelLoad = function(event){
                var url = "https://flybird.tunnel.qydev.com" +
                                  "/x5/UI2/problemlist/problemList/process/wtbgd/mainActivity.w?" +
                                  "process=/problemlist/problemList/process/wtbgd/wtbgdProcess&" +
                                  "activity=mainActivity&" +
                                  "bsessionid=";
                var iframe1 = this.comps("iframe1");       
                iframe1.src = url;
                alert("iframe1.src=" + iframe1.src);          
               
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-7-8 14:02:38 | 显示全部楼层
为什么不用微信企业号的?

BeX5登录必须用BeX5组织机构中的人员才可以,如果用户名一样,可以自己根据用户名到X5的数据库中查密码,但是如果用了X5的密码加密特性取出的密码是不能用

页面中模拟登录参考我4楼发的视频以及案例中的html的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-2 20:05 , Processed in 0.070976 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表