bmob记账本_autojs

12 篇文章 3 订阅

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
在这里插入图片描述

"ui";
/* bmob文档中心:http://doc.bmob.cn/data/restful/index.html */
const color = "#188296",
    Bmob = new NBmob({
        Application_ID: "****",
        REST_API_Key: "****",
        Master_Key: "****",
        Secret_Key: "****",
        safeToken: "****",/* API 安全码 */
        TableName: "**** ",/* 数据库名称 */
    })
var objectIdS = []
ui.statusBarColor(color)
activity.getWindow().setSoftInputMode(android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); //不显示输入法
activity.getWindow().getDecorView().setSystemUiVisibility(android.view.View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
ui.layout(
    <drawer id="drawer">
        <vertical>
            <appbar id="appbar" bg="{{color}}" >
                <toolbar id="toolbar" title="记账Bmob" />
            </appbar>
            <viewpager id="viewpager">
                <frame>
                    <frame id="main">
                        <vertical h="*" gravity="center">
                            <vertical h="auto">
                                {/* *********************存钱信息**************** */}
                                <vertical gravity="center" margin="16 0 16 0">

                                    <text text="备注" textSize="16sp" gravity="center" textColor="{{color}}" />
                                    <card cardBackgroundColor="{{color}}" alpha="0.8" w="*" h="auto" margin="10 0 10 10" cardElevation="0" >
                                        <card alpha="1" margin="1 1 1 1" cardBackgroundColor="{{this.done?color:'#FFFFFF'}}" w="*" h="auto" cardElevation="2" >
                                            <vertical gravity="center" h="120dp" margin="16 0 16 0">
                                                <EditText
                                                    id="mark" enabled="true" layout_width="fill_parent"
                                                    layout_height="fill_parent" gravity="left|top" inputType="textMultiLine"
                                                    h="45dp" textSize="16sp" scrollbars="vertical" background="#FFFFFF" />
                                            </vertical>
                                        </card>
                                    </card>

                                    <text text="金额" textSize="16sp" gravity="center" textColor="{{color}}" />
                                    <card cardBackgroundColor="{{color}}" alpha="0.8" w="*" h="auto" margin="10 0 10 10" cardElevation="0" >
                                        <card alpha="1" margin="1 1 1 1" cardBackgroundColor="{{this.done?color:'#FFFFFF'}}" w="*" h="auto" cardElevation="2" >
                                            <vertical gravity="center" h="48dp" margin="16 0 16 0">
                                                <input id="money" paddingLeft="12dp" bg="#FFFFFF" gravity="center" layout_weight="1" paddingRight="12dp" textSize="14sp" />
                                            </vertical>
                                        </card>
                                    </card>
                                </vertical>
                            </vertical>
                            {/* *********************日志配置**************** */}
                            <card cardBackgroundColor="{{color}}" layout_weight="1" alpha="0.8" w="*" margin="10 10 10 10" cardElevation="0" >
                                <card alpha="1" margin="1 1 1 1" w="*" h="*" cardElevation="2" >
                                    <com.stardust.autojs.core.console.ConsoleView w="*" h="*"
                                        id="console" textSize="18dp" />
                                </card>
                            </card>

                            <card id='get' w='120' h='38' cardCornerRadius="4dp" cardBackgroundColor="{{color}}" foreground="?attr/selectableItemBackground" clickable="true">
                                <text text="查看数据" textSize="12dp" gravity="center" clickable="false" />
                            </card>
                            <View margin="5dp" bg="{{color}}" w="*" h="2dp" />
                            {/* *********************开始执行**************** */}
                            <card id='put' w='*' h="62dp" layout_gravity="bottom" cardBackgroundColor="{{color}}" foreground="?attr/selectableItemBackground" clickable="true">
                                <text text="提交" layout_weight="1" w="*" h="*" gravity="center" textColor="#ffffff" textSize="16sp" />
                            </card>
                        </vertical>
                        <input id="Fdata" w="1" alpha="0" />
                    </frame>
                </frame>
            </viewpager>
        </vertical >
    </drawer >
);
ui.console.setColor("D", "#795548");
ui.console.setConsole(runtime.console);
ui.run(function () {
    let recycleview = ui.logList
        , adapter = recycleview.getAdapter();
    recycleview.setAdapter(new JavaAdapter(Packages[adapter.getClass().getName()],
        { onBindViewHolder: function (vh, i) { vh.textView.attr("gravity", "center"); adapter.onBindViewHolder(vh, i); } }, recycleview.parent.parent, null));
    ["input", "submit"].forEach(item => ui.console.findViewById(context.getResources().getIdentifier(item, "id", context.getPackageName())).setVisibility(8))
});

ui.get.on("click", () => {
    threads.start(function () {
        if (ui.mark.getText().toString() == "" && (n = ui.money.getText().toString()) != "" && objectIdS.length && objectIdS.length > n - 1) {
            toastLog(/ok/.test(bmob.delete(objectIdS[n]).msg) ? "------------\n删除成功" : "------------\n删除失败")
        } else {
            let money = 0
            objectIdS = []
            bmob.get().forEach((item, index) => {
                objectIdS.push(item.objectId)
                money += Number(item.money)
                log(index + "___" + item.mark + "___" + item.money)
            })
            log("------------\n总金额为:" + money + "元")
        }
    })
    ui.mark.setText("")
    ui.money.setText("")
})
ui.put.on("click", () => {
    threads.start(function () {
        mark = ui.mark.getText().toString()
        money = ui.money.getText().toString()
        if (mark != "" && money != "") {
            toastLog(/objectId/.test(JSON.stringify(bmob.add({
                mark: mark,
                money: money
            }))) ? "------------\n记录成功" : "------------\n记录失败")
            ui.run(function () {
                ui.mark.setText("")
                ui.money.setText("")
            })
        }
    })
})


function NBmob() {
    return bmob = {
        baseURL: "https://api2.bmob.cn/1/classes/" + arguments[0].TableName + "/",
        headers: {
            "X-Bmob-Application-Id": arguments[0].Application_ID,
            "X-Bmob-REST-API-Key": arguments[0].REST_API_Key,
            "Content-Type": "application/json"
        },
        encryption: (objectId) => {/* 加密请求格式 */
            let Timestamp = new Date().getTime(), Noncestr = $crypto.digest(Timestamp.toString(), "MD5").slice(0, 16)
            return http.get(bmob.baseURL + objectId, {
                headers: {
                    'X-Bmob-Safe-Sign': $crypto.digest("/1/classes/" + arguments[0].TableName + "/" + objectId + Timestamp + arguments[0].safeToken + Noncestr, "MD5"),
                    'X-Bmob-Safe-Timestamp': Timestamp, 'X-Bmob-Noncestr-Key': Noncestr, 'X-Bmob-SDK-Type': 'API',
                    'X-Bmob-Secret-Key': arguments[0].Secret_Key, 'content-type': 'application/json',
                }
            }).body.json();
        },
        updata: (objectId, data) => {/* 修改数据 */
            return http.request(bmob.baseURL + objectId, { method: "PUT", headers: bmob.headers, body: JSON.stringify(data) }).body.json();
        },
        get: data => {/* 获取数据 */
            return http.get(bmob.baseURL + (data ? ("?where=" + JSON.stringify(data)) : ""), { headers: bmob.headers }).body.json().results;
        },
        delete: objectId => {/* 删除数据 */
            return http.request(bmob.baseURL + objectId, { method: "DELETE", headers: bmob.headers }).body.json();
        },
        add: data => {/* 新增数据 */
            return http.postJson(bmob.baseURL, data, { headers: bmob.headers }).body.json();
        }
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值