aardio - godking.http 论坛登录+上传头像一例

请下载最新版 godking.http 库,版本不低于v1.8。

说明:

godking.http() 可以用于get、post、head、delete等多种模式,但提交的数据data为遇0终止的string。

godking.http.post() 仅post提交,data可以使用string、buffer等完整数据,不受0终止限制。

godking.http.upload() 简化以boundary方式提交上传文件,使用post模式。

 

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
button={cls="button";text="登录";left=184;top=8;right=240;bottom=64;z=5};
button2={cls="button";text="选择头像";left=8;top=168;right=96;bottom=208;z=7};
button3={cls="button";text="上传头像";left=8;top=216;right=96;bottom=256;z=8};
custom={cls="custom";text="自定义控件";left=112;top=72;right=752;bottom=464;z=9};
edit={cls="edit";text="Edit";left=56;top=8;right=176;bottom=32;edge=1;z=3};
edit2={cls="edit";text="Edit";left=56;top=40;right=176;bottom=64;edge=1;z=4};
plus={cls="plus";left=8;top=72;right=96;bottom=160;border={color=-65536;width=1};foreRepeat="scale";forecolor=16777215;z=6};
static={cls="static";text="账号";left=8;top=8;right=56;bottom=32;transparent=1;z=1};
static2={cls="static";text="密码";left=8;top=40;right=56;bottom=64;transparent=1;z=2}
)
/*}}*/

import console
import godking.http
import string.base64
import string.md5
import web.form
var wb = web.form(winform.custom);

winform.button.oncommand = function(id,event){
    var r  = godking.http.post({
        url = "https://xxx.online/user-login.htm"; 
        data = {
            email = winform.edit.text;
            password = string.md5(winform.edit2.text,true);
        };
    })
    if ..string.find(r,"@</i> 退出</a></li>"){
        var r = godking.http("https://xxx.online/my-avatar.htm");
        var img = ..string.match(r,`\<img id="avatar_img" class="logo-4" src="(.+?)"\>`);
        if img {
            winform.plus.foreground = godking.http("https://xxx.online/"++img);
        }
    } else {
        win.msgbox("登录失败");
    }
    wb.go( "https://xxx.online/my-avatar.htm");
}

var file;
winform.button2.oncommand = function(id,event){
    import fsys.dlg;
    file = fsys.dlg.open("*.png|*.png","选择头像");
    if file winform.plus.foreground = file;
}

winform.button3.oncommand = function(id,event){
    if !file return ;
    var r = godking.http.post({
        url = "https://xxx.online/my-avatar.htm"; 
        data = {
            width = 128;
            height = 128;
            action = "clip";
            filetype = "jpg";
            name = "2.png";
            data = "data:image/png;base64,"++..string.base64.encode(..string.load(file));
        }
    })
    wb.go( "https://xxx.online/my-avatar.htm")
}

winform.show();
win.loopMessage();

### 关于 aardio 的 customPlus 组件 #### 一、简介 `customPlus` 是基于 `plus` 控件进一步开发的功能更加强大且灵活的自定义控件集合。通过该组件,开发者能够更加便捷地创建复杂界面并实现丰富的交互效果[^2]。 #### 二、安装与引入 为了使用此组件,需先下载对应的库文件 `plusList2.rar` 或者直接将源码保存至项目中的指定路径 `/lib/godking/plusList2.aardio` 下。完成上述操作之后,在脚本开头处加入如下语句来加载所需的命名空间: ```aardio import godking.plusList2; ``` #### 三、基本属性设置 下面是一些常用的属性配置方式及其含义说明: - **skin**: 设置皮肤样式; - **itemHeight**: 定义列表项高度; - **showCheckBox**: 是否显示复选框; 这些参数可以通过对象初始化时传入字典形式的数据结构来进行批量设定: ```aardio var list = winform.add(godking.plusList2,{ skin:"blue", // 应用蓝色主题风格 itemHeight:30, // 列表条目高为30像素 showCheckBox:true // 显示左侧的选择框 }); ``` #### 四、事件处理机制 对于常见的点击、双击等行为监听可通过绑定特定名称的方法名来达成目的。例如当某个选项被单击触发时执行相应的逻辑动作: ```aardio list.onItemClick = function(index){ console.log("Item "+index+" was clicked"); }; ``` 以上即是对 `aardio customPlus` 基础介绍以及简单应用实例解析的内容概述。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值