关于PC版钉钉在应用内新建流程或内容管理文档的咨询
如何实现PC版钉钉在应用内新建流程或内容管理文档的咨询 - 设计开发 - 藕粉社区 - Powered by Discuz! (o2oa.net)之前发了一个帖子,感谢管理员的解答,解决了应用内打开已有ID的流程或内容管理文档的需求,现在请问如果新建文档的时候,还没有ID,应该如何写脚本
通过var url = "../x_desktop/work.html?workid=" + id;方式能实现钉钉PC版应用内打开有ID的文档,但如果我是新建文档呢,新建的时候ID还并未产生,这种情况ID从何而来呢,例如原本代码是
createDocument : function(){
var opt = {
"category" : "XXX",
"restrictToColumn" : true,
"ignoreTitle": true
}
o3.page.createDocument(opt);}
现在要键入判断是钉钉后执行的脚本,请问如何写呢,下面是点击新建文档后浏览器打开的连接,x_desktop/cmsdoc.html?readonly=false&documentId=18670c46-cbee-4a6f-bee3-d42eb3d1c828&appId=cms.Document18670c46-cbee-4a6f-bee3-d42eb3d1c828&onPostPublish=function%20()%20%7B%20%5Bnative%20code%5D%20%7D&onAfterPublish=function(t)%7Bs.view%26%26s.view.reload%26%26s.view.reload()%2Cs.fireEvent("afterPublish"%2Ct)%7D
新建document?
//启动一个通知公告,标题为:关于XX的通知,启动后提示
this.form.createDocument({
category : "通知公告",
data : {"subject": "关于XX的通知"},
callback : function(json){
this.form.notice("创建成功!", "success");
}.bind(this)
});
api中有详细说明 论坛管理员 发表于 2022-9-6 17:16
新建document?
//启动一个通知公告,标题为:关于XX的通知,启动后提示
我需要的是在PC版钉钉应用中新建document不跳转到浏览器去,而是在应用内新建,不知道你的这段代码能否实现 可以的 论坛管理员 发表于 2022-9-7 14:57
可以的
我试过了,并不会在应用内新建,同样是新开浏览器窗口 zningsc 发表于 2022-9-7 17:16
我试过了,并不会在应用内新建,同样是新开浏览器窗口
这个目前不行,因为pc版钉钉不支持window.open,会弹出到默认浏览器而不是在钉钉内部。
后续我们在这个api上加参数。
现在要实现你只能通过调用后端api,生成document对象后,用location打开对应的文档编辑页面进行处理。 FancyLou 发表于 2022-9-8 16:42
这个目前不行,因为pc版钉钉不支持window.open,会弹出到默认浏览器而不是在钉钉内部。
后续我们在这个ap ...
谢谢,总算你明白了我的意思,我就是说看local只能调取已产生ID的文档,不能新建。你说的通过调用后端api,生成document对象后,再去浏览,有没有例子呢,我看应用市场中的问卷调查功能中用到有,不知道是不是这个,这里就是创建文档,但还是会调用浏览器去打开
createDocument : function(){ var opt = {
"category" : "dd624eb6-8f4d-4816-a7bf-fc3950422568",
"restrictToColumn" : true
}
o3.page.createDocument(opt);
},
这个操作之后是调用浏览器打开如下链接
x_desktop/cmsdoc.html?readonly=false&documentId=18670c46-cbee-4a6f-bee3-d42eb3d1c828&appId=cms.Document18670c46-cbee-4a6f-bee3-d42eb3d1c828&onPostPublish=function%20()%20%7B%20%5Bnative%20code%5D%20%7D&onAfterPublish=function(t)%7Bs.view%26%26s.view.reload%26%26s.view.reload()%2Cs.fireEvent("afterPublish"%2Ct)%7D
有没有什么办法在创建后,不打开,而是获取到这个ID,然后我再用local去打开呢。
后端接口创建会返回documentid的,
页:
[1]