找回密码
 立即注册

QQ登录

只需一步,快速开始

luolanqiang 活字格认证

高级会员

136

主题

456

帖子

1398

积分

高级会员

积分
1398

微信认证勋章活字格认证

luolanqiang 活字格认证
高级会员   /  发表于:2019-11-16 12:20  /   查看:4233  /  回复:3
本帖最后由 luolanqiang 于 2019-11-16 12:27 编辑

老规矩,在这里使用了一些JavaScript ,大家注意查阅JavaScript API的索引,很有用处,而且也不需要过于专业的水准就能看懂一部分,我也是试出来的。
https://help.grapecity.com.cn/pa ... ion?pageId=23594302

注册用户并指定自定义属性及角色的方法:

至于注册用户和指定自定义属性,官方已经发布过几次了,不再赘述,其实指定角色的方法是一样的,通过JS搞定,代码如下:
  1. //获取当前页面
  2. var page = Forguncy.Page;
  3. //获取当前页面上的用户单元格
  4. var cell = page.getCell("username");
  5. //获取此单元格的值
  6. var cellValue1 = cell.getValue();

  7. //获取当前页面
  8. var page = Forguncy.Page;
  9. //获取当前页面上的用户单元格
  10. var cell = page.getCell("roleName");
  11. //获取此单元格的值
  12. var cellValue2 = cell.getValue();

  13. //将指定的用户添加到指定的组
  14. Forguncy.addUserToRole(
  15. //指定用户
  16. (cellValue1),
  17. //指定组
  18. (cellValue2),
  19. //添加成功时弹出警告框,显示添加成功
  20. function () {

  21. },
  22. //添加失败时弹出警告框,显示失败信息
  23. function (error) {
  24. alert(error)
  25. }
  26. );
复制代码
关键在于,要将角色所在的单元格命名为roleName,在这里首先是获取了两个单元格的值,分别为roleName和username,就是用户名和角色,然后指定这个用户名的角色,当然也可以调用API删除用户的角色,但这个实例上并没有整合进去,有需要的话可以整合。
那么将用户注册和角色指定的代码合并起来就是这样的:
  1. var p = Forguncy.Page;

  2. var data = {
  3.     account: p.getCell("username").getValue(),
  4.     password: p.getCell("password").getValue(),
  5.     nicheng: p.getCell("nicheng").getValue(),
  6.     mail: p.getCell("email").getValue(),
  7.     exPropertyName1: p.getCell("exPropertyName1").getValue(),
  8.     exPropertyValue1: p.getCell("exPropertyValue1").getValue(),
  9.     exPropertyName2: p.getCell("exPropertyName2").getValue(),
  10.     exPropertyValue2: p.getCell("exPropertyValue2").getValue(),
  11.     exPropertyName3: p.getCell("exPropertyName3").getValue(),
  12.     exPropertyValue3: p.getCell("exPropertyValue3").getValue()

  13. };

  14. var result = false;
  15. Forguncy.Common.forguncyPostSync("customapi/myregisteapi/adduser", data, function (e) {
  16.     if (e === "注册成功!") {
  17.         result = true;
  18.     }
  19.     if (e) {
  20.         alert(e);
  21.     }
  22. });
  23. //获取当前页面
  24. var page = Forguncy.Page;
  25. //获取当前页面上的用户单元格
  26. var cell = page.getCell("username");
  27. //获取此单元格的值
  28. var cellValue1 = cell.getValue();

  29. //获取当前页面
  30. var page = Forguncy.Page;
  31. //获取当前页面上的用户单元格
  32. var cell = page.getCell("roleName");
  33. //获取此单元格的值
  34. var cellValue2 = cell.getValue();

  35. //将指定的用户添加到指定的组
  36. Forguncy.addUserToRole(
  37. //指定用户
  38. (cellValue1),
  39. //指定组
  40. (cellValue2),
  41. //添加成功时弹出警告框,显示添加成功
  42. function () {

  43. },
  44. //添加失败时弹出警告框,显示失败信息
  45. function (error) {
  46. alert(error)
  47. }
  48. );
复制代码
至于它后边跟的这个JS:
  1. //获取当前页面
  2. var page = Forguncy.Page;
  3. //获取页面上的表格
  4. var listview = page.getListView("表格1");
  5. //重新从数据库加载数据
  6. listview.reload();
复制代码
作用是刷新页面上的用户信息视图,就能看到新注册成功的用户加载到页面中,因为我们的页面上还有删除用户的功能:
image.png555364074.png
请注意下边的那个加载了选定用户名的单元格要命名为name
删除用户的代码:
  1. //获取当前页面
  2. var page = Forguncy.Page;
  3. //获取当前页面上名称为name的单元格
  4. var cell = page.getCell("name");
  5. //获取此单元格的值
  6. var cellValue = cell.getValue();
  7. //将指定的用户删除
  8. Forguncy.deleteUser(
  9. //指定用户
  10. (cellValue),
  11. //删除成功时弹出警告框,显示删除成功
  12. function () {
  13. alert("删除成功。")
  14. },
  15. //删除失败时弹出警告框,显示失败信息
  16. function (error) {
  17. alert(error)
  18. }
  19. );
复制代码
同样的,后边跟一个刷新用户信息视图表格的代码,所见即所得。
具体看工程文件。
请注意注册用户需要上传一个DLL文件,请解压后使用,见附件。


示例.fgcc

1.21 MB, 下载次数: 272

RegisteApi.zip

2.31 KB, 下载次数: 246

评分

参与人数 1满意度 +5 收起 理由
imis.ltd + 5

查看全部评分

3 个回复

倒序浏览
imis.ltd
注册会员   /  发表于:2019-11-16 14:42:23
沙发
灰常给力啊老兄
回复 使用道具 举报
djs521720讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2019-11-19 09:50:08
板凳
谢谢分享!
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-11-19 18:33:51
地板
罗老板也是活字格圈里,响当当的人物,必须给力啊~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部