等度云开发-框架

一 、request

主要全局变量如下:

request:请求信息

args:所有参数,包括user和route信息

data :行数据

User: 用户信息

def main(Request):
  return [(q, Request.Headers[q]) for q in Request.Headers ]
main

运行 -web:函数级别,全局变量拿不到

运行-www: class级别,全局变量能拿到

全局变量放入类()括号中,结尾不要带(),带()则变成函数

def main(args):
    return args
main


{
  "_oschm": "test",
  "_oname": "test1",
  "_omethod": "lxg2",
  "area": "core",
  "controller": "upython",
  "action": "api2",
  "rel": "dd_mvc2",
  "pymethod": "act",
  "uid": "b526cea5-fe6d-11eb-91ae-fa163e25c4e3",
  "urole": "999,700,998,600,995,996,997"
"filter":用于过滤业务数据 }
 

权限控制:

用role控制菜单、按钮、api ,

用filter过滤业务数据,如河北省用户只看河北省市县, 必须与业务数据表的定义相结合。

 二、response 常用

1、返回json

def main():
    return {
        "success" : 1,
        "message" : "done!",
        "data" : [ { "id":1,"text" : "male" }, { "id":2,"text" : "female" } ]
    }
main

2、用controller.Action

 (1)redirect : 跳转其他页面

  (2)transfer:打来其他页面

 (3)下载文件、打开文件等

  关于 controller.Action的用法, 去 five五管平台查询 datagrid/dd_api 表单, 然后按脚本,能找到例子

关于response跳转

 ar()用的比较多,与controller.Action区别不大,以下是ar()的例子, 开发者推荐用ar()

 那,关于ar()的用法,就参考https://www.equiclouds.com/doc/py#/en-web_response

def tzjk_hz(ar,User):
    if '600' in User.Roles or '500' in User.Roles:
        return ar(redirect="/core/uform/query/tk_tzjkjc_hz_sheng")
    if '400' in User.Roles:
        return ar(redirect="/core/uform/query/tk_tzjkjc_hz_shi")
    if '300' in User.Roles:
        return ar(redirect="/core/uform/query/tk_tzjkjc_hz_qu")
tzjk_hz

https://www.equiclouds.com/doc/py#/en-web_response

三、工作流

 (1)状态

[
    [0,1],   0,1分别定义待提交、已提交的状态
    ['待提交','已提交'],
    ['300,400,500,600','300,400,500,600'], 待提交和已提交分别什么角色可看
    ['300,400,500,600','400,500,600']  什么角色可操作,更改状态
]

(2)

[
    [[4],['提交'],[0]],  4是提交操作,作用在0状态
    [[3],['退回修改'],[1]] 3是退回操作,作用在1状态
]

(3)

[
    [0,4,1],  0状态,经过4操作,变成1状态
    [1,3,0]   1状态,经过3操作,变成0状态
]

四、调试

 页面显示错误

   return jh.Error('无权限') 

查询日志  lh.debug('')

五、页面 view开发

  (1) 前台view开发 :继承或参考模板  dd.cms._layout

 (2)后台页面开发

          小tab标签页: 模板: dd.pue._miniui

          进度统计,后台消息通知首页、变更密码等,模板 :dd.pue._vueboot

       需要用bootstrap,可以自己在线引入库

  (3)重做一个后台页面:模板   /view/dd/cms/admin

 (4)还有自定义的列表可以参考下图

            

原文地址:https://www.cnblogs.com/lxgbky/p/15547386.html