Skip to content
项目
Groups
代码片段
帮助
正在加载...
Sign in / Register
Toggle navigation
W
workoffice
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图表
统计图
Create a new issue
作业
提交
议题看板
Open sidebar
冷广德
workoffice
Commits
6263b182
提交
6263b182
authored
2月 29, 2020
作者:
lgd
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.新用戶注册,未完成
上级
7b5c11e5
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
979 行增加
和
78 行删除
+979
-78
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+4
-2
ApiService.java
app/src/main/java/com/wd/workoffice/app/ApiService.java
+54
-31
BaseBean.java
app/src/main/java/com/wd/workoffice/app/BaseBean.java
+29
-5
Config.java
app/src/main/java/com/wd/workoffice/app/Config.java
+3
-1
WorkToolBarActivity.java
.../main/java/com/wd/workoffice/app/WorkToolBarActivity.java
+27
-1
DepBean.java
app/src/main/java/com/wd/workoffice/bean/DepBean.java
+287
-0
UserRegisterOneContract.java
...a/com/wd/workoffice/contract/UserRegisterOneContract.java
+36
-0
UserRegisterThreeContract.java
...com/wd/workoffice/contract/UserRegisterThreeContract.java
+38
-0
UserRegisterOneModel.java
...in/java/com/wd/workoffice/model/UserRegisterOneModel.java
+29
-0
UserRegisterThreeModel.java
.../java/com/wd/workoffice/model/UserRegisterThreeModel.java
+30
-0
UserRegisterOnePresenter.java
...com/wd/workoffice/presenter/UserRegisterOnePresenter.java
+78
-0
UserRegisterThreePresenter.java
...m/wd/workoffice/presenter/UserRegisterThreePresenter.java
+81
-0
RegisterFirstActivity.java
...ava/com/wd/workoffice/ui/login/RegisterFirstActivity.java
+13
-6
UserRegisterOneActivity.java
...a/com/wd/workoffice/ui/login/UserRegisterOneActivity.java
+83
-6
UserRegisterThreeActivity.java
...com/wd/workoffice/ui/login/UserRegisterThreeActivity.java
+83
-8
UserRegisterTwoActivity.java
...a/com/wd/workoffice/ui/login/UserRegisterTwoActivity.java
+87
-6
selector_btn.xml
app/src/main/res/drawable/selector_btn.xml
+4
-4
shape_login_et.xml
app/src/main/res/drawable/shape_login_et.xml
+2
-1
activity_login.xml
app/src/main/res/layout/activity_login.xml
+1
-0
activity_user_register_one.xml
app/src/main/res/layout/activity_user_register_one.xml
+10
-7
没有找到文件。
app/src/main/AndroidManifest.xml
浏览文件 @
6263b182
...
...
@@ -9,7 +9,8 @@
android:label=
"@string/app_name"
android:roundIcon=
"@mipmap/ic_launcher_round"
android:supportsRtl=
"true"
android:theme=
"@style/FlexibleTheme.Base"
>
android:theme=
"@style/FlexibleTheme.Base"
android:usesCleartextTraffic=
"true"
>
<activity
android:name=
".ui.login.LoginActivity"
android:configChanges=
"keyboardHidden|orientation"
...
...
@@ -44,7 +45,7 @@
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
android:theme=
"@style/Work.Base"
android:windowSoftInputMode=
"adjust
Pan
"
/>
android:windowSoftInputMode=
"adjust
Resize
"
/>
<activity
android:name=
".ui.login.UserRegisterOneActivity"
...
...
@@ -88,6 +89,7 @@
android:screenOrientation=
"portrait"
android:theme=
"@style/Work.Base"
android:windowSoftInputMode=
"adjustPan"
/>
<provider
android:name=
"androidx.core.content.FileProvider"
android:authorities=
"com.wd.workoffice.fileprovider"
...
...
app/src/main/java/com/wd/workoffice/app/ApiService.java
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
app
;
import
org.json.JSONObject
;
import
java.util.Map
;
import
io.reactivex.Observable
;
import
retrofit2.http.Body
;
import
retrofit2.http.GET
;
import
retrofit2.http.POST
;
import
retrofit2.http.PUT
;
import
retrofit2.http.Path
;
import
retrofit2.http.Query
;
import
retrofit2.http.QueryMap
;
/**
* author : flexible
...
...
@@ -15,9 +20,9 @@ import retrofit2.http.Query;
* github: https://github.com/FlexibleXd
**/
public
interface
ApiService
{
String
DOMAIN
=
Config
.
DEBUG
?
"http://121.36.41.30:9001/"
:
"http://zwang.bat100.net.cn:8000/"
;
// String DOMAIN = Config.DEBUG ? "http://121.36.41.30:9001/" : "http://zwang.bat100.net.cn:8000/";
String
DOMAIN
=
Config
.
DEBUG
?
"http://zwang.bat100.net.cn:8000/"
:
"http://zwang.bat100.net.cn:8000/"
;
//用户信息User information http://zwang.bat100.net.cn:8000/sys/user/userInfo
public
static
final
String
USER_INFORMATION
=
"sys/user/userInfo"
;
...
...
@@ -90,7 +95,7 @@ public interface ApiService {
//销售: 产品加入购物车 Sale_Shopping_CartBean http://115.29.67.166:9000/product/page/list/by/outDept/transit-part?outDeptId=119&transitPartId=41&processType=PROCESS_SALE&searchValue
public
static
final
String
SUB_SHOPPING_CARBEAN
=
"product/page/list/by/outDept/transit-part"
;
//根据部门、流程、往来单位获取子流程http://zwang.bat100.net.cn:8000/sub-process/listByDPT?processCode=PROCESS_SALE&transitPartId=41
public
static
final
String
ORDER_ZILIUCHENG
=
"sub-process/listByDPT"
;
public
static
final
String
ORDER_ZILIUCHENG
=
"sub-process/listByDPT"
;
//销售http://zwang.bat100.net.cn:8000/saleOrder/current-user/page/list?identity=2¤t=1&size=100
public
static
final
String
BUYER_SALES_ORDER
=
"saleOrder/current-user/page/list"
;
...
...
@@ -100,61 +105,79 @@ public interface ApiService {
public
static
final
String
SALES_ORDER
=
"saleOrder/start"
;
//4.订单部分获取单个订单的详细信息(路由)
public
static
final
String
ORDER_SALES_DETAILS
=
"saleOrder/oneInfo/"
;
public
static
final
String
ORDER_SALES_DETAILS
=
"saleOrder/oneInfo/"
;
//弹窗驳回同意审核
public
static
final
String
ORDER_SALEORDER_AUDIT
=
"saleOrder/audit/"
;
public
static
final
String
ORDER_SALEORDER_AUDIT
=
"saleOrder/audit/"
;
//弹窗驳回同意接单
public
static
final
String
ORDER_SALE_ORDER_APPLY
=
"saleOrder/apply/"
;
public
static
final
String
ORDER_SALE_ORDER_APPLY
=
"saleOrder/apply/"
;
//获取发起入库申请
public
static
final
String
ORDER_PROCEDURE_START_SO
=
"procedureStart/so/applyStock/"
;
public
static
final
String
ORDER_PROCEDURE_START_SO
=
"procedureStart/so/applyStock/"
;
//入库申请列表展示http://zwang.bat100.net.cn:8000/enterStoreApply/so/app/page/list?orderId=SO10628&orderType=4ae3333eebc5423e8a72e388e12fc42f&productId=504
public
static
final
String
ORDER_ENTERSTOREaPPLY_SO_APP
=
"enterStoreApply/so/app/page/list"
;
public
static
final
String
ORDER_ENTERSTOREaPPLY_SO_APP
=
"enterStoreApply/so/app/page/list"
;
/* //发货http://zwang.bat100.net.cn:8000/procedureStart/so/applyOutStock/SO10628
public static final String ORDER_APPLY_OUT_STOCK="procedureStart/so/applyOutStock/";*/
/**
* 用户注册
*
* @return
*/
@POST
(
"/open/sys/user/register"
)
Observable
<
BaseBean
>
register
(
@QueryMap
Map
<
String
,
Object
>
param
);
@POST
(
"/app/account/send-reg-msg"
)
Observable
<
JSONObject
>
code
(
@Query
(
"phoneNo"
)
String
account
);
/**
* 发送登录验证码(app)
* 忘记密码(短信验证码的方式,重置密码)
*
* @return
*/
@PUT
(
"/open/change-pwd-forget"
)
Observable
<
JSONObject
>
forgetPwd
(
@Query
(
"phone"
)
String
phone
,
@Query
(
"verifyCode"
)
String
verifyCode
,
@Query
(
"newPassword"
)
String
newPassword
);
/**
* 激活员工前获取该员工信息
*
* @return
*/
@GET
(
"/open/pre-activation/{phone}"
)
Observable
<
JSONObject
>
getInfo
(
@Path
(
"phone"
)
String
phone
);
/**
* 发送短信验证码
*
* @param phoneNo
* @param phone
* @param type: login、register、alterPwd
* @return
*/
@
POST
(
"/app/account/send-pwd-msg
"
)
Observable
<
JSONObject
>
loginCode
(
@Query
(
"phoneNo"
)
String
phoneNo
);
@
GET
(
"/open/sms/ckCode/{phone}
"
)
Observable
<
BaseBean
>
code
(
@Path
(
"phone"
)
String
phone
,
@Query
(
"type"
)
String
type
);
/**
*
发送重置密码验证码(app)
*
验证验证码
*
* @param phone
No
* @param phone
* @return
*/
@POST
(
"/app/account/send-reset-pwd-msg"
)
Observable
<
JSONObject
>
resetCode
(
@Query
(
"phoneNo"
)
String
phoneNo
);
@GET
(
"/open/verify-sms-code"
)
Observable
<
BaseBean
>
verifyCode
(
@Query
(
"phone"
)
String
phone
,
@Query
(
"verifyCode"
)
String
verifyCode
,
@Query
(
"type"
)
String
type
);
@POST
(
"/app/account/register"
)
Observable
<
JSONObject
>
register
(
@Query
(
"phoneNo"
)
String
phoneNo
,
@Query
(
"password"
)
String
pwd
,
@Query
(
"code"
)
String
code
);
/**
*
修改密码(app)
*
激活用户
*
* @param phoneNo
* @param pwd
* @return
*/
@P
UT
(
"admin/account/change-pwd
"
)
Observable
<
JSONObject
>
modifyPwd
(
@Query
(
"oldPass"
)
String
phoneNo
,
@Query
(
"newPass"
)
String
pwd
);
@P
OST
(
"/open/activation-user
"
)
Observable
<
JSONObject
>
activation
(
@QueryMap
Map
<
String
,
Object
>
param
);
/**
*
重置密码(app)
*
部门列表
*
* @param phoneNo
* @param pwd
* @return
*/
@P
UT
(
"/app/account/reset-pwd
"
)
Observable
<
JSONObject
>
resetPwd
(
@Query
(
"phoneNo"
)
String
phoneNo
,
@Query
(
"password"
)
String
pwd
);
@P
OST
(
"/open/sys/dept/list
"
)
Observable
<
BaseBean
>
depList
(
);
}
app/src/main/java/com/wd/workoffice/app/BaseBean.java
浏览文件 @
6263b182
...
...
@@ -6,15 +6,39 @@ package com.wd.workoffice.app;
* github: https://github.com/FlexibleXd
**/
public
class
BaseBean
{
public
Integer
status
;
public
String
msg
;
public
Integer
code
;
public
Object
data
;
private
String
message
;
private
int
httpStatus
;
private
String
path
;
private
String
ext
;
public
String
getMsg
()
{
return
msg
;
public
Integer
getCode
()
{
return
code
;
}
public
Object
getData
()
{
return
data
;
}
public
int
getHttpStatus
()
{
return
httpStatus
;
}
public
String
getPath
()
{
return
path
;
}
public
String
getExt
()
{
return
ext
;
}
public
String
getMessage
()
{
return
message
;
}
public
Integer
getStatus
()
{
return
status
;
return
code
;
}
}
app/src/main/java/com/wd/workoffice/app/Config.java
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
app
;
public
interface
Config
{
Boolean
DEBUG
=
fals
e
;
Boolean
DEBUG
=
tru
e
;
String
REGEX_USERNAME
=
"^[\\w]{4,16}(?<!_)$"
;
String
REGEX_PASSWORD
=
"^[\\w]{6,16}(?<!_)$"
;
String
APPID
=
"wx15bd4f8f85329782"
;
String
[]
TABLIST
=
new
String
[]{
"区域"
,
"均价"
,
"首付"
,
"更多"
};
...
...
app/src/main/java/com/wd/workoffice/app/WorkToolBarActivity.java
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
app
;
import
android.os.Bundle
;
import
flexible.xd.android_base.base.ToolBarActivity
;
import
flexible.xd.android_base.mvpBase.BasePresenter
;
import
flexible.xd.android_base.mvpBase.IBaseView
;
import
me.jessyan.autosize.AutoSize
;
/**
* Created by flexible on 2018/6/6.
*/
public
abstract
class
WorkToolBarActivity
extends
ToolBarActivity
{
public
abstract
class
WorkToolBarActivity
extends
ToolBarActivity
implements
IBaseView
{
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
}
@Override
protected
void
onResume
()
{
super
.
onResume
();
AutoSize
.
autoConvertDensity
(
this
,
375
,
true
);
}
@Override
public
void
showLoading
()
{
isLoad
(
true
);
}
@Override
public
void
hideLoading
()
{
isLoad
(
false
);
}
@Override
public
void
onError
(
String
message
)
{
toast
(
message
);
}
}
app/src/main/java/com/wd/workoffice/bean/DepBean.java
0 → 100644
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
bean
;
import
com.google.gson.annotations.SerializedName
;
import
com.wd.workoffice.app.BaseBean
;
import
java.util.List
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
DepBean
{
/* createdBy : 1
* createdByName : null
* createdTime : 2019-09-02 10:53:47
* updatedBy : 143
* updatedByName : null
* updatedTime : 2019-10-18 14:38:44
* id : 1
* parentId : 0
* status : 1
* type : null
* typeString : null
* outdeptLedger : {"gk":"","gt":""}
* permission : null
* permissionString : null
* tag : null
* code : CO
* name : 正望钢水股份有限公司
* level : 1
* erpId : CO001
* children : null
* deptRulers : null
* deptRulerList : null
* deptUserList : null
* targetUserOfRuler : null
* deptRulerTotal : null
* gk : null
* gt : null
*/
private
int
createdBy
;
private
Object
createdByName
;
private
String
createdTime
;
private
int
updatedBy
;
private
Object
updatedByName
;
private
String
updatedTime
;
private
int
id
;
private
String
parentId
;
private
String
status
;
private
Object
type
;
private
Object
typeString
;
private
String
outdeptLedger
;
private
Object
permission
;
private
Object
permissionString
;
private
Object
tag
;
private
String
code
;
private
String
name
;
private
int
level
;
private
String
erpId
;
private
Object
children
;
private
Object
deptRulers
;
private
Object
deptRulerList
;
private
Object
deptUserList
;
private
Object
targetUserOfRuler
;
private
Object
deptRulerTotal
;
private
Object
gk
;
private
Object
gt
;
public
int
getCreatedBy
()
{
return
createdBy
;
}
public
void
setCreatedBy
(
int
createdBy
)
{
this
.
createdBy
=
createdBy
;
}
public
Object
getCreatedByName
()
{
return
createdByName
;
}
public
void
setCreatedByName
(
Object
createdByName
)
{
this
.
createdByName
=
createdByName
;
}
public
String
getCreatedTime
()
{
return
createdTime
;
}
public
void
setCreatedTime
(
String
createdTime
)
{
this
.
createdTime
=
createdTime
;
}
public
int
getUpdatedBy
()
{
return
updatedBy
;
}
public
void
setUpdatedBy
(
int
updatedBy
)
{
this
.
updatedBy
=
updatedBy
;
}
public
Object
getUpdatedByName
()
{
return
updatedByName
;
}
public
void
setUpdatedByName
(
Object
updatedByName
)
{
this
.
updatedByName
=
updatedByName
;
}
public
String
getUpdatedTime
()
{
return
updatedTime
;
}
public
void
setUpdatedTime
(
String
updatedTime
)
{
this
.
updatedTime
=
updatedTime
;
}
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
String
getParentId
()
{
return
parentId
;
}
public
void
setParentId
(
String
parentId
)
{
this
.
parentId
=
parentId
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
public
Object
getType
()
{
return
type
;
}
public
void
setType
(
Object
type
)
{
this
.
type
=
type
;
}
public
Object
getTypeString
()
{
return
typeString
;
}
public
void
setTypeString
(
Object
typeString
)
{
this
.
typeString
=
typeString
;
}
public
String
getOutdeptLedger
()
{
return
outdeptLedger
;
}
public
void
setOutdeptLedger
(
String
outdeptLedger
)
{
this
.
outdeptLedger
=
outdeptLedger
;
}
public
Object
getPermission
()
{
return
permission
;
}
public
void
setPermission
(
Object
permission
)
{
this
.
permission
=
permission
;
}
public
Object
getPermissionString
()
{
return
permissionString
;
}
public
void
setPermissionString
(
Object
permissionString
)
{
this
.
permissionString
=
permissionString
;
}
public
Object
getTag
()
{
return
tag
;
}
public
void
setTag
(
Object
tag
)
{
this
.
tag
=
tag
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
int
getLevel
()
{
return
level
;
}
public
void
setLevel
(
int
level
)
{
this
.
level
=
level
;
}
public
String
getErpId
()
{
return
erpId
;
}
public
void
setErpId
(
String
erpId
)
{
this
.
erpId
=
erpId
;
}
public
Object
getChildren
()
{
return
children
;
}
public
void
setChildren
(
Object
children
)
{
this
.
children
=
children
;
}
public
Object
getDeptRulers
()
{
return
deptRulers
;
}
public
void
setDeptRulers
(
Object
deptRulers
)
{
this
.
deptRulers
=
deptRulers
;
}
public
Object
getDeptRulerList
()
{
return
deptRulerList
;
}
public
void
setDeptRulerList
(
Object
deptRulerList
)
{
this
.
deptRulerList
=
deptRulerList
;
}
public
Object
getDeptUserList
()
{
return
deptUserList
;
}
public
void
setDeptUserList
(
Object
deptUserList
)
{
this
.
deptUserList
=
deptUserList
;
}
public
Object
getTargetUserOfRuler
()
{
return
targetUserOfRuler
;
}
public
void
setTargetUserOfRuler
(
Object
targetUserOfRuler
)
{
this
.
targetUserOfRuler
=
targetUserOfRuler
;
}
public
Object
getDeptRulerTotal
()
{
return
deptRulerTotal
;
}
public
void
setDeptRulerTotal
(
Object
deptRulerTotal
)
{
this
.
deptRulerTotal
=
deptRulerTotal
;
}
public
Object
getGk
()
{
return
gk
;
}
public
void
setGk
(
Object
gk
)
{
this
.
gk
=
gk
;
}
public
Object
getGt
()
{
return
gt
;
}
public
void
setGt
(
Object
gt
)
{
this
.
gt
=
gt
;
}
}
app/src/main/java/com/wd/workoffice/contract/UserRegisterOneContract.java
0 → 100644
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
contract
;
import
com.wd.workoffice.app.BaseBean
;
import
java.util.Map
;
import
flexible.xd.android_base.mvpBase.IBaseModel
;
import
flexible.xd.android_base.mvpBase.IBaseView
;
import
flexible.xd.android_base.mvpBase.IPresenter
;
import
io.reactivex.Observable
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
interface
UserRegisterOneContract
{
interface
Model
extends
IBaseModel
{
Observable
<
BaseBean
>
getCode
(
String
phone
,
String
type
);
Observable
<
BaseBean
>
verifyCode
(
String
phone
,
String
verifyCode
,
String
type
);
}
interface
View
extends
IBaseView
{
void
codeSuccess
();
void
verifySuccess
();
}
interface
Presenter
extends
IPresenter
<
View
>
{
void
getCode
(
String
phone
,
String
type
);
void
verifyCode
(
String
phone
,
String
verifyCode
,
String
type
);
}
}
app/src/main/java/com/wd/workoffice/contract/UserRegisterThreeContract.java
0 → 100644
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
contract
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.bean.DepBean
;
import
java.util.List
;
import
java.util.Map
;
import
flexible.xd.android_base.mvpBase.IBaseModel
;
import
flexible.xd.android_base.mvpBase.IBaseView
;
import
flexible.xd.android_base.mvpBase.IPresenter
;
import
io.reactivex.Observable
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
interface
UserRegisterThreeContract
{
interface
Model
extends
IBaseModel
{
Observable
<
BaseBean
>
register
(
Map
<
String
,
Object
>
param
);
Observable
<
BaseBean
>
depList
();
}
interface
View
extends
IBaseView
{
void
registerSuccess
();
void
depSuccess
(
List
<
DepBean
>
depList
);
}
interface
Presenter
extends
IPresenter
<
View
>
{
void
register
(
Map
<
String
,
Object
>
param
);
void
depList
();
}
}
app/src/main/java/com/wd/workoffice/model/UserRegisterOneModel.java
0 → 100644
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
model
;
import
com.wd.workoffice.app.ApiService
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.contract.UserRegisterOneContract
;
import
flexible.xd.android_base.network.rtfhttp.RtfHelper
;
import
io.reactivex.Observable
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
UserRegisterOneModel
implements
UserRegisterOneContract
.
Model
{
@Override
public
Observable
<
BaseBean
>
getCode
(
String
phone
,
String
type
)
{
return
RtfHelper
.
getInstance
().
getApiService
(
ApiService
.
class
).
code
(
phone
,
type
);
}
@Override
public
Observable
<
BaseBean
>
verifyCode
(
String
phone
,
String
verifyCode
,
String
type
)
{
return
RtfHelper
.
getInstance
().
getApiService
(
ApiService
.
class
).
verifyCode
(
phone
,
verifyCode
,
type
);
}
public
static
UserRegisterOneModel
newInstance
()
{
return
new
UserRegisterOneModel
();
}
}
app/src/main/java/com/wd/workoffice/model/UserRegisterThreeModel.java
0 → 100644
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
model
;
import
com.wd.workoffice.app.ApiService
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.contract.UserRegisterThreeContract
;
import
java.util.Map
;
import
flexible.xd.android_base.network.rtfhttp.RtfHelper
;
import
io.reactivex.Observable
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
UserRegisterThreeModel
implements
UserRegisterThreeContract
.
Model
{
@Override
public
Observable
<
BaseBean
>
register
(
Map
<
String
,
Object
>
param
)
{
return
RtfHelper
.
getInstance
().
getApiService
(
ApiService
.
class
).
register
(
param
);
}
@Override
public
Observable
<
BaseBean
>
depList
()
{
return
RtfHelper
.
getInstance
().
getApiService
(
ApiService
.
class
).
depList
();
}
public
static
UserRegisterThreeModel
newInstance
()
{
return
new
UserRegisterThreeModel
();
}
}
app/src/main/java/com/wd/workoffice/presenter/UserRegisterOnePresenter.java
0 → 100644
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
presenter
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.contract.UserRegisterOneContract
;
import
com.wd.workoffice.model.UserRegisterOneModel
;
import
flexible.xd.android_base.mvpBase.BasePresenter
;
import
flexible.xd.android_base.network.rtfhttp.Transformer
;
import
flexible.xd.android_base.network.rtfhttp.observer.BaseObserver
;
import
io.reactivex.disposables.Disposable
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
UserRegisterOnePresenter
extends
BasePresenter
<
UserRegisterOneContract
.
View
,
UserRegisterOneContract
.
Model
>
implements
UserRegisterOneContract
.
Presenter
{
@Override
public
UserRegisterOneContract
.
Model
bindModel
()
{
return
UserRegisterOneModel
.
newInstance
();
}
@Override
public
void
getCode
(
String
phone
,
String
type
)
{
mView
.
showLoading
();
mModel
.
getCode
(
phone
,
type
).
compose
(
Transformer
.
schedule
()).
subscribe
(
new
BaseObserver
<
BaseBean
>()
{
@Override
public
void
doOnSubscribe
(
Disposable
d
)
{
mDisposable
.
add
(
d
);
}
@Override
public
void
onFail
(
String
errorMsg
)
{
mView
.
hideLoading
();
mView
.
onError
(
errorMsg
);
}
@Override
public
void
onSuccess
(
BaseBean
data
)
{
mView
.
hideLoading
();
if
(
data
.
getStatus
()
!=
0
)
{
mView
.
onError
(
data
.
getMsg
());
return
;
}
mView
.
codeSuccess
();
}
});
}
@Override
public
void
verifyCode
(
String
phone
,
String
verifyCode
,
String
type
)
{
mView
.
showLoading
();
mModel
.
verifyCode
(
phone
,
verifyCode
,
type
).
compose
(
Transformer
.
schedule
()).
subscribe
(
new
BaseObserver
<
BaseBean
>()
{
@Override
public
void
doOnSubscribe
(
Disposable
d
)
{
mDisposable
.
add
(
d
);
}
@Override
public
void
onFail
(
String
errorMsg
)
{
mView
.
hideLoading
();
mView
.
onError
(
errorMsg
);
}
@Override
public
void
onSuccess
(
BaseBean
data
)
{
mView
.
hideLoading
();
if
(
data
.
getStatus
()
!=
0
)
{
mView
.
onError
(
data
.
getMsg
());
return
;
}
mView
.
verifySuccess
();
}
});
}
}
app/src/main/java/com/wd/workoffice/presenter/UserRegisterThreePresenter.java
0 → 100644
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
presenter
;
import
com.wd.workoffice.app.BaseBean
;
import
com.wd.workoffice.bean.DepBean
;
import
com.wd.workoffice.contract.UserRegisterThreeContract
;
import
com.wd.workoffice.model.UserRegisterThreeModel
;
import
java.util.List
;
import
java.util.Map
;
import
flexible.xd.android_base.mvpBase.BasePresenter
;
import
flexible.xd.android_base.network.rtfhttp.Transformer
;
import
flexible.xd.android_base.network.rtfhttp.observer.BaseObserver
;
import
io.reactivex.disposables.Disposable
;
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
UserRegisterThreePresenter
extends
BasePresenter
<
UserRegisterThreeContract
.
View
,
UserRegisterThreeContract
.
Model
>
implements
UserRegisterThreeContract
.
Presenter
{
@Override
public
void
register
(
Map
<
String
,
Object
>
param
)
{
mView
.
showLoading
();
mModel
.
register
(
param
).
compose
(
Transformer
.
schedule
()).
subscribe
(
new
BaseObserver
<
BaseBean
>()
{
@Override
public
void
doOnSubscribe
(
Disposable
d
)
{
mDisposable
.
add
(
d
);
}
@Override
public
void
onFail
(
String
errorMsg
)
{
mView
.
hideLoading
();
mView
.
onError
(
errorMsg
);
}
@Override
public
void
onSuccess
(
BaseBean
data
)
{
mView
.
hideLoading
();
if
(
data
.
getStatus
()
!=
0
)
{
mView
.
onError
(
data
.
getMessage
());
return
;
}
mView
.
registerSuccess
();
}
});
}
@Override
public
void
depList
()
{
mView
.
showLoading
();
mModel
.
depList
().
compose
(
Transformer
.
schedule
()).
subscribe
(
new
BaseObserver
<
BaseBean
>()
{
@Override
public
void
doOnSubscribe
(
Disposable
d
)
{
mDisposable
.
add
(
d
);
}
@Override
public
void
onFail
(
String
errorMsg
)
{
mView
.
hideLoading
();
mView
.
onError
(
errorMsg
);
}
@Override
public
void
onSuccess
(
BaseBean
data
)
{
mView
.
hideLoading
();
if
(
data
.
getStatus
()
!=
0
)
{
mView
.
onError
(
data
.
getMessage
());
return
;
}
mView
.
depSuccess
((
List
<
DepBean
>)
data
.
getData
());
}
});
}
@Override
public
UserRegisterThreeContract
.
Model
bindModel
()
{
return
UserRegisterThreeModel
.
newInstance
();
}
}
app/src/main/java/com/wd/workoffice/ui/login/RegisterFirstActivity.java
浏览文件 @
6263b182
...
...
@@ -4,18 +4,18 @@ package com.wd.workoffice.ui.login;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.TextView
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
/*
* 正望BAT
* */
public
class
RegisterFirstActivity
extends
WorkToolBarActivity
{
/**
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public
class
RegisterFirstActivity
extends
WorkToolBarActivity
{
@BindView
(
R
.
id
.
btn_new_user
)
Button
btnNewUser
;
...
...
@@ -24,9 +24,11 @@ public class RegisterFirstActivity extends WorkToolBarActivity {
@BindView
(
R
.
id
.
tv_go_login
)
TextView
tvGoLogin
;
@Override
protected
void
initView
()
{
ButterKnife
.
bind
(
this
);
}
@Override
...
...
@@ -59,4 +61,9 @@ public class RegisterFirstActivity extends WorkToolBarActivity {
break
;
}
}
@Override
public
void
onError
(
String
message
)
{
}
}
app/src/main/java/com/wd/workoffice/ui/login/UserRegisterOneActivity.java
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
ui
.
login
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.EditText
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
import
com.wd.workoffice.contract.UserRegisterOneContract
;
import
com.wd.workoffice.presenter.UserRegisterOnePresenter
;
import
com.wd.workoffice.util.SearchUtils
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
import
flexible.xd.android_base.utils.RegexUtils
;
import
flexible.xd.android_base.utils.ToastUtil
;
/*
*
注册bat
*
新用户注册
* */
public
class
UserRegisterOneActivity
extends
WorkToolBarActivity
{
public
class
UserRegisterOneActivity
extends
WorkToolBarActivity
implements
UserRegisterOneContract
.
View
{
@BindView
(
R
.
id
.
et_phone
)
...
...
@@ -31,10 +36,14 @@ public class UserRegisterOneActivity extends WorkToolBarActivity {
Button
btnRegister
;
@BindView
(
R
.
id
.
tv_go_protocol
)
TextView
tvGoProtocol
;
private
UserRegisterOnePresenter
registerFirstPresenter
;
@Override
protected
void
initView
()
{
ButterKnife
.
bind
(
this
);
registerFirstPresenter
=
new
UserRegisterOnePresenter
();
registerFirstPresenter
.
onAttach
(
this
);
btnRegister
.
setEnabled
(
false
);
}
@Override
...
...
@@ -44,7 +53,47 @@ public class UserRegisterOneActivity extends WorkToolBarActivity {
@Override
protected
void
initEvent
()
{
etPhone
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
if
(!
TextUtils
.
isEmpty
(
s
)
&&
!
TextUtils
.
isEmpty
(
etCode
.
getText
().
toString
()))
{
btnRegister
.
setEnabled
(
true
);
}
else
{
btnRegister
.
setEnabled
(
false
);
}
}
});
etCode
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
if
(!
TextUtils
.
isEmpty
(
s
)
&&
!
TextUtils
.
isEmpty
(
etPhone
.
getText
().
toString
()))
{
btnRegister
.
setEnabled
(
true
);
}
else
{
btnRegister
.
setEnabled
(
false
);
}
}
});
}
@Override
...
...
@@ -56,12 +105,40 @@ public class UserRegisterOneActivity extends WorkToolBarActivity {
public
void
onViewClicked
(
View
view
)
{
switch
(
view
.
getId
())
{
case
R
.
id
.
tv_code
:
String
phone
=
etPhone
.
getText
().
toString
();
if
(
TextUtils
.
isEmpty
(
phone
)
||
!
RegexUtils
.
isMobileSimple
(
phone
))
{
toast
(
"请输入正确的手机号"
);
return
;
}
registerFirstPresenter
.
getCode
(
phone
,
"register"
);
break
;
case
R
.
id
.
btn_register
:
startActivity
(
UserRegisterTwoActivity
.
class
);
String
code
=
etCode
.
getText
().
toString
();
if
(
TextUtils
.
isEmpty
(
code
))
{
toast
(
"请输入验证码"
);
return
;
}
registerFirstPresenter
.
verifyCode
(
etPhone
.
getText
().
toString
(),
code
,
"register"
);
break
;
case
R
.
id
.
tv_go_protocol
:
break
;
}
}
@Override
public
void
onError
(
String
message
)
{
toast
(
message
);
}
@Override
public
void
codeSuccess
()
{
SearchUtils
.
timerSeckill
(
tvCode
,
60
*
1000
,
1000
,
0
);
ToastUtil
.
showLong
(
"验证码发送成功,请注意查收!"
);
}
@Override
public
void
verifySuccess
()
{
startActivity
(
UserRegisterTwoActivity
.
class
,
"phone"
,
etPhone
.
getText
().
toString
(),
"code"
,
etCode
.
getText
().
toString
());
}
}
app/src/main/java/com/wd/workoffice/ui/login/UserRegisterThreeActivity.java
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
ui
.
login
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.content.DialogInterface
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.EditText
;
import
android.widget.LinearLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
import
com.wd.workoffice.bean.DepBean
;
import
com.wd.workoffice.contract.UserRegisterThreeContract
;
import
com.wd.workoffice.presenter.UserRegisterThreePresenter
;
import
java.util.Arrays
;
import
java.util.List
;
import
androidx.appcompat.app.AlertDialog
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
...
...
@@ -19,9 +28,7 @@ import butterknife.OnClick;
/*
* 完善信息
* */
public
class
UserRegisterThreeActivity
extends
WorkToolBarActivity
{
public
class
UserRegisterThreeActivity
extends
WorkToolBarActivity
implements
UserRegisterThreeContract
.
View
{
@BindView
(
R
.
id
.
et_code
)
EditText
etCode
;
@BindView
(
R
.
id
.
et_name
)
...
...
@@ -36,20 +43,62 @@ public class UserRegisterThreeActivity extends WorkToolBarActivity {
EditText
etEmail
;
@BindView
(
R
.
id
.
btn_submit
)
Button
btnSubmit
;
private
UserRegisterThreePresenter
userRegisterThreePresenter
;
private
List
<
DepBean
>
depList
;
private
List
<
String
>
depNameList
;
private
int
chooseDep
=-
1
;
@Override
protected
void
initView
()
{
ButterKnife
.
bind
(
this
);
userRegisterThreePresenter
=
new
UserRegisterThreePresenter
();
userRegisterThreePresenter
.
onAttach
(
this
);
btnSubmit
.
setEnabled
(
false
);
tvPhone
.
setText
(
getIntent
().
getStringExtra
(
"phone"
));
}
@Override
protected
void
initData
()
{
userRegisterThreePresenter
.
depList
();
}
@Override
protected
void
initEvent
()
{
addInputListener
(
etCode
);
addInputListener
(
tvProductContent
);
addInputListener
(
etEmail
);
addInputListener
(
etName
);
}
/**
* 添加监听事件
*
* @param et
*/
private
void
addInputListener
(
TextView
et
)
{
et
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
if
(!
TextUtils
.
isEmpty
(
etEmail
.
getText
().
toString
())
&&
!
TextUtils
.
isEmpty
(
etCode
.
getText
().
toString
())
&&
!
TextUtils
.
isEmpty
(
etName
.
getText
().
toString
())
&&
!
TextUtils
.
isEmpty
(
tvProductContent
.
getText
().
toString
()))
{
btnSubmit
.
setEnabled
(
true
);
}
else
{
btnSubmit
.
setEnabled
(
false
);
}
}
});
}
@Override
...
...
@@ -67,4 +116,30 @@ public class UserRegisterThreeActivity extends WorkToolBarActivity {
break
;
}
}
private
void
initDialog
()
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
this
);
String
[]
stringArray
=
new
String
[
depNameList
.
size
()];
builder
.
setItems
(
depNameList
.
toArray
(
stringArray
),
(
dialog
,
which
)
->
{
tvProductContent
.
setText
(
depNameList
.
get
(
which
));
chooseDep
=
which
;
});
// normalDialog = builder.setView(dialogView).setPositiveButton("确定", (dialog, which) -> clientPresenter.changeClient(id, status + ""))
// .setNegativeButton("取消", (dialog, which) -> dialog.dismiss()).create();
}
@Override
public
void
registerSuccess
()
{
toast
(
"注册成功"
);
startActivity
(
LoginActivity
.
class
);
}
@Override
public
void
depSuccess
(
List
<
DepBean
>
dataList
)
{
depList
=
dataList
;
for
(
DepBean
dep
:
dataList
)
{
depNameList
.
add
(
dep
.
getName
());
}
}
}
app/src/main/java/com/wd/workoffice/ui/login/UserRegisterTwoActivity.java
浏览文件 @
6263b182
package
com
.
wd
.
workoffice
.
ui
.
login
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.EditText
;
...
...
@@ -9,11 +10,13 @@ import android.widget.RelativeLayout;
import
android.widget.TextView
;
import
com.wd.workoffice.R
;
import
com.wd.workoffice.app.Config
;
import
com.wd.workoffice.app.WorkToolBarActivity
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
import
flexible.xd.android_base.utils.RegexUtils
;
/*
* 账号密码确认密码
...
...
@@ -30,22 +33,82 @@ public class UserRegisterTwoActivity extends WorkToolBarActivity {
Button
btnNext
;
@BindView
(
R
.
id
.
tv_go_protocol
)
TextView
tvGoProtocol
;
private
Button
mNextStep
;
private
RelativeLayout
mSheZhiPassword
;
@Override
protected
void
initView
()
{
ButterKnife
.
bind
(
this
);
btnNext
.
setEnabled
(
false
);
}
@Override
protected
void
initData
()
{
}
@Override
protected
void
initEvent
()
{
etConfirmPwd
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
if
(!
TextUtils
.
isEmpty
(
s
)
&&
!
TextUtils
.
isEmpty
(
etName
.
getText
().
toString
())
&&
!
TextUtils
.
isEmpty
(
etPwd
.
getText
().
toString
()))
{
btnNext
.
setEnabled
(
true
);
}
else
{
btnNext
.
setEnabled
(
false
);
}
}
});
etName
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
if
(!
TextUtils
.
isEmpty
(
s
)
&&
!
TextUtils
.
isEmpty
(
etConfirmPwd
.
getText
().
toString
())
&&
!
TextUtils
.
isEmpty
(
etPwd
.
getText
().
toString
()))
{
btnNext
.
setEnabled
(
true
);
}
else
{
btnNext
.
setEnabled
(
false
);
}
}
});
etPwd
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
if
(!
TextUtils
.
isEmpty
(
s
)
&&
!
TextUtils
.
isEmpty
(
etName
.
getText
().
toString
())
&&
!
TextUtils
.
isEmpty
(
etConfirmPwd
.
getText
().
toString
()))
{
btnNext
.
setEnabled
(
true
);
}
else
{
btnNext
.
setEnabled
(
false
);
}
}
});
}
@Override
...
...
@@ -57,7 +120,25 @@ public class UserRegisterTwoActivity extends WorkToolBarActivity {
public
void
onViewClicked
(
View
view
)
{
switch
(
view
.
getId
())
{
case
R
.
id
.
btn_next
:
startActivity
(
UserRegisterThreeActivity
.
class
);
String
name
=
etName
.
getText
().
toString
();
String
pwd
=
etPwd
.
getText
().
toString
();
String
confirmPwd
=
etConfirmPwd
.
getText
().
toString
();
if
(!
RegexUtils
.
isMatch
(
Config
.
REGEX_USERNAME
,
name
)){
toast
(
"账号名称数字和字母4-16位"
);
return
;
}
if
(!
RegexUtils
.
isMatch
(
Config
.
REGEX_USERNAME
,
name
)){
toast
(
"设置密码数字或字母6-16位"
);
return
;
}
if
(!
TextUtils
.
equals
(
pwd
,
confirmPwd
))
{
toast
(
"两次输入的密码不一致"
);
return
;
}
startActivity
(
UserRegisterThreeActivity
.
class
,
"phone"
,
getIntent
().
getStringExtra
(
"phone"
),
"code"
,
getIntent
().
getStringExtra
(
"code"
)
,
"name"
,
name
,
"pwd"
,
pwd
);
break
;
case
R
.
id
.
tv_go_protocol
:
break
;
...
...
app/src/main/res/drawable/selector_btn.xml
浏览文件 @
6263b182
...
...
@@ -8,20 +8,20 @@
<solid
android:color=
"#ffebebeb"
/>
</shape>
</item>
<item
android:state_pressed=
"true"
>
<item
android:state_pressed=
"true"
android:drawable=
"@mipmap/btn_main_bg"
>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<!-- 圆角弧度-->
<corners
android:radius=
"4dp"
/>
<!-- 填充的颜色 -->
<
solid
android:color=
"#602F89FC"
/
>
<
!--<solid android:color="@mipmap/btn_main_bg" />--
>
</shape>
</item>
<item
android:state_pressed=
"false"
>
<item
android:state_pressed=
"false"
android:drawable=
"@mipmap/btn_main_bg"
>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<!-- 圆角弧度-->
<corners
android:radius=
"4dp"
/>
<!-- 填充的颜色 -->
<
solid
android:color=
"#2F89FC"
/
>
<
!--<solid android:color="@mipmap/btn_main_bg" />--
>
</shape>
</item>
...
...
app/src/main/res/drawable/shape_login_et.xml
浏览文件 @
6263b182
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"#
e9eadede
"
/>
<solid
android:color=
"#
DCDEDF
"
/>
<corners
android:radius=
"10dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_login.xml
浏览文件 @
6263b182
...
...
@@ -249,6 +249,7 @@
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"20mm"
android:text=
"没有账号立即注册?"
android:padding=
"5mm"
android:textColor=
"@color/mainTextColor"
android:textSize=
"12sp"
android:textStyle=
"bold"
/>
...
...
app/src/main/res/layout/activity_user_register_one.xml
浏览文件 @
6263b182
...
...
@@ -14,8 +14,9 @@
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"70mm"
android:layout_marginTop=
"
1
70mm"
android:layout_centerHorizontal=
"true"
android:textStyle=
"bold"
android:text=
"新用户注册"
android:textColor=
"@color/mainTextColor"
android:textSize=
"28sp"
/>
...
...
@@ -24,7 +25,7 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
android:layout_marginBottom=
"
5
0mm"
android:layout_marginBottom=
"
7
0mm"
android:layout_alignParentBottom=
"true"
>
<LinearLayout
...
...
@@ -56,9 +57,10 @@
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"10mm"
android:layout_weight=
"1"
android:inputType=
"phone"
android:background=
"@null"
android:hint=
"输入手机号"
android:textSize=
"1
2
sp"
/>
android:textSize=
"1
3
sp"
/>
</LinearLayout>
...
...
@@ -85,13 +87,14 @@
android:background=
"@null"
android:gravity=
"center_vertical"
android:hint=
"输入验证码"
android:inputType=
"
textPassword
"
android:inputType=
"
number
"
android:textColorHint=
"@color/flexible_text_sup"
android:textSize=
"14sp"
/>
<TextView
android:id=
"@+id/tv_code"
android:layout_width=
"70mm"
android:layout_width=
"wrap_content"
android:paddingHorizontal=
"10mm"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:text=
"获取验证码"
...
...
@@ -105,8 +108,8 @@
android:layout_width=
"match_parent"
android:layout_height=
"50mm"
android:layout_marginHorizontal=
"58mm"
android:layout_marginTop=
"
8
0mm"
android:background=
"@
mipmap/btn_main_bg
"
android:layout_marginTop=
"
6
0mm"
android:background=
"@
drawable/selector_btn
"
android:text=
"注册"
android:textColor=
"@color/white"
android:textSize=
"20sp"
/>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论