luolanqiang 发表于 2019-11-16 12:20:04

在前端页面注册用户并指定角色以及删除用户的方法分享

本帖最后由 luolanqiang 于 2019-11-16 12:27 编辑

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

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

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

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

//将指定的用户添加到指定的组
Forguncy.addUserToRole(
//指定用户
(cellValue1),
//指定组
(cellValue2),
//添加成功时弹出警告框,显示添加成功
function () {

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

var data = {
    account: p.getCell("username").getValue(),
    password: p.getCell("password").getValue(),
    nicheng: p.getCell("nicheng").getValue(),
    mail: p.getCell("email").getValue(),
    exPropertyName1: p.getCell("exPropertyName1").getValue(),
    exPropertyValue1: p.getCell("exPropertyValue1").getValue(),
    exPropertyName2: p.getCell("exPropertyName2").getValue(),
    exPropertyValue2: p.getCell("exPropertyValue2").getValue(),
    exPropertyName3: p.getCell("exPropertyName3").getValue(),
    exPropertyValue3: p.getCell("exPropertyValue3").getValue()

};

var result = false;
Forguncy.Common.forguncyPostSync("customapi/myregisteapi/adduser", data, function (e) {
    if (e === "注册成功!") {
      result = true;
    }
    if (e) {
      alert(e);
    }
});
//获取当前页面
var page = Forguncy.Page;
//获取当前页面上的用户单元格
var cell = page.getCell("username");
//获取此单元格的值
var cellValue1 = cell.getValue();

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

//将指定的用户添加到指定的组
Forguncy.addUserToRole(
//指定用户
(cellValue1),
//指定组
(cellValue2),
//添加成功时弹出警告框,显示添加成功
function () {

},
//添加失败时弹出警告框,显示失败信息
function (error) {
alert(error)
}
);
至于它后边跟的这个JS:
//获取当前页面
var page = Forguncy.Page;
//获取页面上的表格
var listview = page.getListView("表格1");
//重新从数据库加载数据
listview.reload();作用是刷新页面上的用户信息视图,就能看到新注册成功的用户加载到页面中,因为我们的页面上还有删除用户的功能:

请注意下边的那个加载了选定用户名的单元格要命名为name
删除用户的代码:
//获取当前页面
var page = Forguncy.Page;
//获取当前页面上名称为name的单元格
var cell = page.getCell("name");
//获取此单元格的值
var cellValue = cell.getValue();
//将指定的用户删除
Forguncy.deleteUser(
//指定用户
(cellValue),
//删除成功时弹出警告框,显示删除成功
function () {
alert("删除成功。")
},
//删除失败时弹出警告框,显示失败信息
function (error) {
alert(error)
}
);同样的,后边跟一个刷新用户信息视图表格的代码,所见即所得。
具体看工程文件。
请注意注册用户需要上传一个DLL文件,请解压后使用,见附件。


imis.ltd 发表于 2019-11-16 14:42:23

灰常给力啊老兄

djs521720 发表于 2019-11-19 09:50:08

:hjyzw:谢谢分享!

Simon.hu 发表于 2019-11-19 18:33:51

罗老板也是活字格圈里,响当当的人物,必须给力啊~
页: [1]
查看完整版本: 在前端页面注册用户并指定角色以及删除用户的方法分享