# e-app.js **Repository Path**: epii/e-app.js ## Basic Information - **Project Name**: e-app.js - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-30 - **Last Updated**: 2022-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Eapp.js (e-app.js) 标准 > 文始集团前端项目(`web`,`web-app`,`h5`,`混合开发`,`微信小程序`)常用组件命名标准 ## 标准研究会组员 [@epaii(会长)](https://github.com/epaii), [@宋阳](https://github.com/songyangphp) ,[@wutongshenyuan](https://github.com/wutongshenyuan),[@zhangman0](https://github.com/zhangman0),[@k](https://github.com/k1919) ## 标准内容列表 - [Eapp.ui 弹框类](#ui) - [alert](#ui-alert) - [confirm](#ui-confirm) - [loading](#ui-loading) - [stopLoading](#ui-stopLoading) - [toast](#ui-toast) - [previewImage](#ui-previewImage) - [Eapp.Http 数据请求](#Http) - [setBaseUrl](#Http-setBaseUrl) - [setBaseData](#Http-setBaseData) - [setHeader](#Http-setHeader) - [post](#Http-post) - [get](#Http-get) + [Loading](#Http-Loading) + [Loading.post](#Http-Loading.post) + [Loading.get](#Http-Loading.get) - [Eapp.localData 本地存储](#localData) - [set](#localData-set) - [get](#localData-get) - [remove](#localData-remove) - [clear](#localData-clear) - [Eapp.window 窗口](#window) - [open方法](#window-open) - [openAndCloseThis方法](#window-openAndCloseThis) - [closeThis方法](#window-closeThis) - [replace方法](#window-replace) - [go方法](#window-go) - [back方法](#window-back) - [setTitle方法](#window-setTitle) - [reLaunch方法](#window-reLaunch) - [onshow事件](#window-onshow) - [onload事件](#window-onload) - [onclose事件](#window-onclose) - [params属性](#window-params) - [Eapp.event 事件](#event) - [on方法](#event-on) - [emit方法](#event-emit) - [Eapp.user 用户](#user) - [isLogin方法](#user-is-login) - [info方法](#user-info) - [login方法](#user-login) - [logout方法](#user-logout) - [onTokenExpired方法](#user-onTokenExpired) - [Eapp.device 装置](#device) - [chooseLocation方法](#device-chooseLocation) - [makePhoneCall方法](#device-makePhoneCall) - [Eapp.this 当前系统特有功能](#this) - [Eapp.require 包含其他模块](#require) ## 一 Eapp.ui 目前支持 | 方法 | 作用 | | :---------- | :------- | | alert | 弹出框 | | confirm | 询问框 | | loading | 加载层 | | stopLoading | 停止加载 | | toast | 提示框 | |ui-previewImage | 图片预览 | ## Eapp.ui ### 弹框类 ### `Eapp.ui.alert` 方法 *使用方法* ```JavaScript /** * 第一种方法 * @param object 自定义弹出层的样式及功能 {"key" : "value"} */ Eapp.ui.alert({msg: ‘中间提示消息’, title:'标题提示'},function(){ }); /** * 第二种方法 * @param msg 表示弹出框的内容 * @callback 表示执行成功后的回调 */ Eapp.ui.alert(‘操作完成’,function(){}); /** * 第三种方法 * @callback 表示执行成功后的回调 */ Eapp.ui.alert(function(){}); ``` ### `Eapp.ui.confirm` 方法 *表示询问框(目前最多允许两个提示按钮)* *使用方法* ```javascript /** *第一种使用方法 * @param data1 表示取消按钮字符 * * @param data2 表示确定按钮字符 */ Eapp.ui.confirmt(您确定要删除吗,onok,oncancel) /** *第二种使用方法 * @param config 可以是字符串,也可以是对象 * @param config 如果是对象,里面参数及默认值如下表。 * * @callback 表示执行成功后的回调 */ Eapp.ui.confirmt(config, callbcak, cancel) ``` 自定义参数说明 | 方法 | 默认值 | | :---------- | :------- | | title | 提示 | | confirmText | 确定 | | cancelText | 取消 | ### `Eapp.ui.loading` 方法 *表示弹出加载层* *使用方法* ```javascript /** * @param data 加载层提示的信息 */ Eapp.ui.loading(‘这个是加载层’); ``` ### `Eapp.ui.stopLoading` 方法 *表示清除弹出加载层,配合加载层使用* *使用方法* ```javascript Eapp.ui.stopLoading(); ``` ### `Eapp.ui.toast `方法 *表示弹出提示信息* 三种不同的公共样式 - Eapp.ui.toast.success - Eapp.ui.toast.fail - Eapp.ui.toast.text *使用方法* ```JavaScript /** * 第一种方法 * @param object 自定义弹出层的样式及功能 {"key" : "value"} */ Eapp.ui.toast.success({msg: ‘中间消息’, title:'提示'}); /** * 第二种方法 * @param msg 表示弹出框的内容 */ Eapp.ui.toast.success(‘操作完成’); Eapp.ui.toast.fail(‘操作失败’); Eapp.ui.toast.text(提示); ``` 自定义参数说明 | 方法 | 作用 | | :---------- | :--------------------------------------- | | title | 标题内容 | | msg | 内容 | | color | 标题颜色 | | offset | auto 默认坐标,即垂直水平居中 | | offset | ['100px', '50px'] 定义top、left坐标 | | area - 宽高 | 默认:auto 自适应 ['500px', '300px'] | ### 其他类 ### `Eapp.ui.previewImage` 方法 *表示图片的预览* *使用方法* ```javascript /** *在括号里写定义好的参数 *images 需要预览的图片链接列表,数组 *current 为当前显示图片的链接/索引值,不填或填写的值无效则为 urls 的第一张App。平台在 1.9.5至1.9.8之间,current为必填。 */ Eapp.ui.previewImage(images,index) ``` ## 二 Eapp.http ### 请求数据 目前支持 | 方法 | 作用 | | :----------- | :---------------------- | | setBaseUrl | 设置请求远程地址 | | setBaseData | 设置常用的请求字段 | | setHeader | 设置请求headers | | post | post请求 | | get | get请求 | | Loading | 带loading效果的请求 | | Loading.post | 带loading效果的post请求 | | Loading.get | 带loading效果的get请求 | ### `setBaseUrl` 方法 *表示设置请求远程地址* *使用方法* ```javascript /** * @param url 要设置的远程地址 */ Eapp.Http.setBaseUrl(url); ``` ### `setBaseData` 方法 *设置常用的请求字段* *使用方法* ```javascript /** * @param data 要设置常用的请求数据 Object 形如 {"key" : "value"} */ Eapp.http.setBaseData(data); ``` ### `setHeader` 方法 *设置请求headers* *使用方法* ```javascript /** * @param data 要设置的header Object 形如 {"key" : "value"} */ Eapp.http.setHeader(data); ``` ### `post` 方法 *post请求* | 参数 | 备注 | | :------- ---- | :-----------------------------: | | url | 请求接口地址 | | data | 请求数据 | | function | 请求成功的回调方法 | | error | 请求失败的回调方法 | *使用方法* ```javascript Eapp.http.post(url,data,function(data) { console.log(data); },function(data) { alert(data.msg); }) ``` ### `get` 方法 *get请求* | 参数 | 备注 | | :------- | :----------------: | | url | 请求接口地址和数据 | | function | 请求成功的回调方法 | | error | 请求失败的回调方法 | *使用方法* ```javascript Eapp.http.get('url',function(data) { console.log(data); },function(data) { alert(data.msg); }) ``` ## `Loading` 方法 ### `Loading.post` 方法 *带loading效果的post请求* | 参数 | 备注 | | :------- | :----------------: | | url | 请求接口地址 | | data | 请求数据 | | function | 请求成功的回调方法 | | error | 请求失败的回调方法 | *使用方法* ```javascript // 带loading的post请求 Eapp.http.loading.post('getdataurl',{ywid:11},function(data) { console.log(data); },function(data) { alert(data.msg); }) ``` ### `Loading.get` 方法 *带loading效果的get请求* | 参数 | 备注 | | :------- | :----------------: | | url | 请求接口地址和数据 | | function | 请求成功的回调方法 | | error | 请求失败的回调方法 | *使用方法* ```javascript // 带loading的get请求 Eapp.http.Loading.get(url,function(data) { console.log(data); },function(data) { alert(data.msg); }) ``` ## 三 Eapp.localData ### 本地存储方法,可用于存储类似于token的东西 目前支持 | 方法 | 作用 | | :----- | :--------------------- | | set | 向本地存储数据元格 | | get | 获取已存储在本地的数据 | | remove | 清除某一条本地数据 | | clare | 清除全部本地数据 | ### `Eapp.localData.set` 方法 *表示向本地存储数据* *使用方法* ```JavaScript /** * 第一种方法 * @param data 要存储的数据 Object 形如 {"key" : "value"} */ Eapp.localData.set(data); /** * 第二种方法 * @param key 要存储的数据的键 * @param value 要存储的数据的值 */ Eapp.localData.set(key, value); ``` ### `Eapp.LocalData.get` 方法 *表示获取已存储在本地的数据* *使用方法* ```javascript /** * @param key 要取出数据的键值 */ Eapp.localData.get(key); ``` ### `Eapp.localData.remove` 方法 *表示清除某一条本地数据* *使用方法* ```javascript /** * @param key 要清除数据的键值 */ Eapp.localData.remove(key); ``` ### `Eapp.localData.clear` 方法 *表示清除全部的本地数据* *使用方法* ```javascript Eapp.LocalData.clear(); ``` ## 四 Eapp.window ### 窗口操作,可用于打开关闭窗口 ## 支持列表 目前支持 | 方法 | 作用 | | :----- | :--------------------- | | open | 打开窗口 | | openAndCloseThis | 打开窗口并且关闭当前窗口 | | closeThis | 关闭当前窗口 | | replace | 替换当前窗口 | | go | 关闭当前页,返回上一页或多级页面 | | back | 关闭当前页,返回上一页 | | setTitle | 动态设置当前页面的标题 | | reLaunch | 关闭所有页面,打开到应用内的某个页面 | | replace | 替换当前窗口 | | 事件 | 作用 | | :----- | :--------------------- | | onshow | 向本地存储数据元格 | | onload | 页面加载完成 | | onclose | 关闭页面 | | 属性 | 作用 | | :----- | :--------------------- | | params | 页面参数 | ### `Eapp.window.open`方法 *打开窗口* ``` open(uri,params) ``` *参数说明* | 参数名 | 含义 | | :----- | :----------------------------- | | uri | 页面路径 | | params | 要传递的参数,格式为自定义对象 | *用法* ``` Eapp.window.open('/home/personal',{id:1,title:个人中心}); ``` ### `Eapp.window.openAndCloseThis`方法 *打开窗口并且关闭当前窗口* ``` openAndCloseThis() ``` *用法* ``` Eapp.window.openAndCloseThis() ``` ### `Eapp.window.closeThis`方法 *关闭当前窗口* ``` closeThis() ``` *用法* ``` Eapp.window.closeThis() ``` ### `Eapp.window.replace`方法 *替换当前窗口* ``` replace(uri,params) ``` *参数说明* 同open方法 *用法* ``` Eapp.window.replace('/home/personal',{id:1,title:个人中心}) ``` ### `Eapp.window.go`方法 *关闭当前页,返回上一页或多级页面* ``` go(index) ``` *参数说明* | 参数名 | 含义 |默认值 | | :----- | :----------------------------- |:----- | | index | 返回的页面数,如果 delta 大于现有页面数,则返回到首页。| -1 | *用法* ``` Eapp.window.go(1); ``` ### `Eapp.window.back`方法 *关闭当前页,返回上一页* ``` back() ``` *用法* ``` Eapp.window.back(); ``` ## `Eapp.window.setTitle`方法 *动态设置当前页面的标题。* ``` setTitle(title) ``` *参数说明* | 参数名 | 含义 | | :----- | :----------------------------- | | title | 页面标题| *用法* ``` Eapp.window.setTitle(); ``` ## `Eapp.window.reLaunch`方法 *关闭所有页面,打开到应用内的某个页面* ``` reLaunch(url) ``` *参数说明* | 参数名 | 含义 | | :----- | :----------------------------- | | url | 需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2',如果跳转的页面路径是 tabBar 页面则不能带参数| *用法* ``` Eapp.window.reLaunch("pages/page"); ``` ### `onshow`事件 *页面显示* ``` // 当页面从被遮挡到再次显示的时候触发 onshow() ``` ### `onload`事件 *页面加载完成* ``` // 当页面加载完成的时候触发 onload() ``` ### `onclose`事件 0*关闭页面* ``` onclose(event) ``` *参数说明* event有两个方法: `event.close()`关闭窗口 `event.cancel()`取消关闭窗口 ### `params`属性 *页面参数* ``` Eapp.window.params // 获取从前面页面传过来的id和title console.log(Eapp.window.params.id) console.log(Eapp.window.params.title) ``` ## 五 Eapp.event ### 事件发送和接收,主要用于多页面或者或组件之间的信息交互 目前支持 | 方法 | 作用 | | :---------------------- | :------------------- | | on(name, callback) | 监听事件 | | emit(name, data = null) | 发送事件(可带数据) | ### `Eapp.event.on` 方法 *监听事件* *使用方法* ```JavaScript Eapp.event.on("login",function(user){ console.log(user.token); }) ``` ### `Eapp.event.emit` 方法 *触发事件* ```javascript Eapp.event.emit("login",{token:"",uid:4}) ``` ## 六 Eapp.user ### 用户模块,包含是否登录授权,及当前用户信息 目前支持 | 方法 | 作用 | | :-------- | :----------------------------- | | isLogin | 是否登录 | | info(key) | 用户信息,key为null 则返回所有 | | login | 是否登录 | | logout | 用户信息,key为null 则返回所有 | | onTokenExpired | 登陆期满后的操作 | ### `Eapp.user.isLogin` 方法 *使用方法* ```JavaScript if(Eapp.user.isLogin()) { } ``` ### `Eapp.user.info` 方法 ```javascript console.log(Eapp.user.info()); console.log(Eapp.user.info("token")); ``` ### `Eapp.user.login` 方法 *登录* ``` login(callback) ``` *参数说明* | 参数名 | 含义 | | :----- | :----------------------------- | | callback | 登录成功后的回调函数| *使用方法* ```JavaScript Eapp.user.login() ``` ### `Eapp.user.logout` 方法 *登出* ``` logout(callback) ``` *参数说明* | 参数名 | 含义 | | :----- | :----------------------------- | | callback | 登出成功后的回调函数| *使用方法* ```JavaScript Eapp.user.logout() ``` ### `Eapp.user.onTokenExpired` 方法 *登录期满后的操作* ``` onTokenExpired(data) ``` *参数说明* 参数名 | 含义 | | :----- | :----------------------------- | | data(tip,back) | tip:提示的文字信息 back:|| *使用方法* ```JavaScript eapp.user.onTokenExpired(result.data); ``` ## 七 Eapp.device ### 目前支持 | 方法 | 作用 | | :-------- | :----------------------------- | | chooseLocation | 打开地图选择位置 | | makePhoneCall| 用户信息,key为null 则返回所有 | ### `Eapp.devic.chooseLocation` 方法 *打开地图选择位置* | 参数名 | 含义 | | :----- | :----------------------------- | | success | 接口调用成功的回调函数| *使用方法* ```JavaScript Eapp.device.chooseLocation((res) => {}) ``` ### `Eapp.devic.makePhoneCall` 方法 *拨打电话* | 参数名 | 含义 | | :----- | :----------------------------- | | phoneNumber | 需要拨打的电话号码| *使用方法* ```JavaScript Eapp.device.makePhoneCall(); ``` ## 八 Eapp.this 当前项目特有的函数 ```JavaScript Eapp.this.funa("这个项目的特有方法"); ``` ## 九 Eapp.require 包含其他模块的方法