2 Star 4 Fork 0

clia / baibel

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-2-Clause

baibel

项目介绍

百倍中文编程系统

支持使用中文的 N1编程语言 进行程序的设计、编写、展示,可以直接从 Web 界面上进行开发,程序有着美妙的结构,可 3D 展示。具有一流的开发效率、一流的执行性能。

软件架构

软件架构说明

对中文程序进行转换,转换成 Rust 代码,再编译成 PostgreSQL 扩展函数,自动安装上去,程序就完成了。

例如如下的中文函数(程序文本表示,另有图形表示):

  修改用户手机号
    参数:
      1、名称:上下文
         类型:框架的上下文
      2、名称:用户标识
         类型:对象标识
         缺失时:返回错误:未指明被操作用户
      3、名称:手机号
         类型:手机号
         缺失时:返回错误:未提供手机号
    结果:类型:结果《系统的用户,框架的错误》
    过程:
      校验参数:
        1、上下文的用户为空 =》返回错误:未指明操作用户
        2、上下文的用户的标识不等于存在的用户标识 =》返回错误:操作用户不具备操作权限
      第一步:用户对象为:根据用户标识查出系统的用户
      第二步:如果用户对象为空,返回错误:用户对象不存在
      第三步:把用户对象的手机号改为手机号
      第四步:保存结果为:保存用户对象
      第五步:如果保存结果是错误(保存错误),返回保存错误
      第六步:返回用户对象

转译成Rust程序:

#![feature(non_ascii_idents)]

use framework::框架;
use framework::基础;
use framework::数据库;
use business::模型;

#[baibel_function("修改用户手机号")]
pub fn 修改用户手机号(上下文: 框架::上下文, 可选用户标识: Option<基础::对象标识>, 可选手机号: Option<基础::手机号>) => Result<模型::系统::用户, 框架::错误> {
    校验参数!{
        可选用户标识 == None => "未指明被操作用户",
        可选手机号 == None => "未提供手机号",

        上下文.用户 == None => "未指明操作用户",
        上下文.用户.unwrap().标识 != 可选用户标识 => "操作用户不具备操作权限",
    }
    let 用户标识 = 可选用户标识.unwrap();
    let 手机号 = 可选手机号.unwrap();

    let 可选用户对象 = 数据库::根据标识获取::<模型::系统::用户>("系统.用户", &用户标识);
    if 可选用户对象 == None {
        return 框架::错误::新建("用户对象不存在");
    }
    let mut 用户对象 = 可选用户对象.unwrap();
    用户对象.手机号 = Some(手机号);
    let 保存结果 = 数据库::保存对象(&用户对象);
    if let Err(保存错误) = 保存结果 {
        return 框架::错误::从错误(保存错误);
    }
    return 用户对象;
}

另外也包括前端UI界面的生成及业务逻辑(基于Flutter框架)

安装教程

  1. xxxx
  2. xxxx
  3. xxxx

使用说明

  1. xxxx
  2. xxxx
  3. xxxx

参与贡献

  1. Fork 本项目
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

码云特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. 码云官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/
Copyright (c) 2018, helloclia All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

百倍中文编程系统 展开 收起
Rust
BSD-2-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Rust
1
https://gitee.com/clia/baibel.git
git@gitee.com:clia/baibel.git
clia
baibel
baibel
master

搜索帮助