# bh_templace7
**Repository Path**: zjh336/bh_templace7
## Basic Information
- **Project Name**: bh_templace7
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2023-11-10
- **Last Updated**: 2023-11-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 关于班花模板_第七代 Bate
+ 作者:班花
+ 日期:2022年2月3日
+ 状态:内测
## 前言
> 班花模板是AutoJs框架下的衍生品,目标是提高各位独立作者的开发效率。另外该版本取消了UI界面,软件配置、日志、运行等功能均依附于悬浮窗上,可以单独打包为悬浮窗项目,也可以自己写UI再接入该模板作为运行悬浮窗使用。内测群27521835;
## Demo

## 更新日志
> ### 2022.2.3
> * 立项重构
> ---
> ### 2022.2.4
> * 首次提交测试代码
> ---
> ### 2022.2.5
> * 新增用户自定义UI功能
> * 完善描述文档
> ### 2022.2.7
> * 完善用户系统(登录、解绑、试用、充值)
> ### 2022.2.10
> * 新增UI记忆功能
> * 修复悬浮窗中edit控件无法弹出输入法问题
> ### 2022.2.19
> * 改善projest.json项目配置
> * 修复打包后,悬浮窗中edit无法弹出输入法问题
## 引入模板
### 运行环境
* AutoJs Pro7
* AutoJs Pro8
* AutoJs Pro9 (暂不支持)
### 构建代码
将本项目mod文件夹拷贝到您的AutoJs项目根目录下(注意是AutoJs项目,而不是随手建一个文件夹)接下来在main.js中写入代码:
```javascript
//引入模块
let mod = require("./mod/src/index")
//初始化模板,deBug为0则关闭调试日志,autoServer为1则表示需要无障碍服务
mod.init({
deBug: 1,
autoServer: 1,
})
//选择在悬浮窗中点击运行后,要执行的脚本文件,可以使用相对路径
mod.run("./script.js")
```
Ok,以上为最基础的代码构建,此时只需要运行项目即可(不是运行脚本哦)如果日志窗口有显示init ok、run ok字样,说明模板已经成功运行。
## 自定义配置UI
如果需要自定义UI布局,可以使用`mod.drawUI`函数进行创建,关键代码如下:
```javascript
//第一个参数为xml代码,使用()包裹起来
//第二个参数为function,自带一个window参数,为悬浮窗对象
mod.drawUI((
), function (window) {
window.ok.click(() => {
toastLog("点击了OK")
ui.run(() => {
window.t.setText("OKOK")
})
})
})
```
## 用户系统
### 接入
[泡椒云]: https://paojiaoyun.com "用户管理系统"
该模板后端使用了[泡椒云]作为用户管理系统,集成最基础的登录、试用、解绑、充值四大功能,并且把登录状态存储在`storage`中,如果要使用用户管理系统,可以使用`mod.login`函数,关键代码如下:
```javascript
//code..
//以下三个参数都可以在泡脚云后台中找到,user为你的泡脚云用户名,一般为邮箱
mod.login({
user: "17685034710@163.com",
key: "bvpb6pso6itf6809nh0g",
secret: "92Uvn3hYLZSu6CuEX3y15sHbrqudBTG4"
})
```
用户界面如下图:

### 使用
在脚本中可以通过以下代码来区分用户状态:
```javascript
//code...
//create的参数为项目包名
let storage = storages.create("com.banhua.templace")
//也可以通过以下方式获取storage,前提是mod变量存在的情况下
// let storage = mod.storage
let user_status = storage.get("pjysdk_login_ret")
if (user_status != null && user_status != "") {
print(user_status)
if (user_status.code == 0) {
//登录成功,执行登录成功的代码
//code...
} else {
//登录失败,执行登录失败的代码
print(user_status.message)
//code...
}
}
```
## UI记忆
本功能原理是用户在点击配置中的【保存】按钮时,读取所有UI的数据保存到本地,下次启动脚本的时候可以自动载入本地存储中的UI控件数据;如要使用本功能,只需要将要保存数据的UI控件id名加上`bh_`前缀即可,如下:
```xml
```
## Flag
* 泡脚云网络验证接入(已完成)
* 用户自定义配置UI(已完成)
* UI数据本地存储,供用户script使用(已完成)
* 常用函数封装(待开发)
## Warning
该模板成品为悬浮窗软件,请勿直接在`main.js`第一行加入`"ui;"`,如果要结合UI使用,那么可以在开头引入模块,init、run方法需要在新线程中执行,否则会堵死UI线程。
## 开源赞助

---
