shishuangxi

app启动增加协议网络获取

... ... @@ -9,5 +9,8 @@ export class SpConstants{
static USER_LONG_TIME_NO_LOGIN_MARK="longTimeNoLoginMark"
static USER_STATUS="user_status"
static USER_TEMP_TOKEN="tempToken"
//协议相关
static USER_PROTOCOL = "user_protocol" //用户协议
static PRIVATE_PROTOCOL = "private_protocol" //隐私协议
}
\ No newline at end of file
... ...
... ... @@ -423,6 +423,10 @@ export class HttpUrlUtils {
let url = HttpUrlUtils._hostUrl + "/api/rmrb-user-center/auth/zh/c/checkVerifyCode";
return url;
}
static getAgreement() {
let url = HttpUrlUtils._hostUrl + "/api/rmrb-bff-display-zh/display/zh/c/agreement";
return url;
}
static getCheckVerifyByTokenCodeUrl() {
let url = HttpUrlUtils._hostUrl + "/api/rmrb-user-center/auth/zh/c/checkVerifyCodeByToken";
... ...
... ... @@ -105,12 +105,12 @@ struct LoginPage {
Text() {
Span("我已阅读并同意").fontColor("#999999").fontSize(12)
Span("《用户协议》").fontColor("#ED2800").fontSize(12).onClick(() => {
let bean={contentId:"1",pageID:""} as Params
let bean={contentID:"1",pageID:""} as Params
WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage,bean)
})
Span("及").fontColor("#999999").fontSize(12)
Span("《隐私政策》").fontColor("#ED2800").fontSize(12).onClick(() => {
let bean={contentId:"2",pageID:""} as Params
let bean={contentID:"2",pageID:""} as Params
WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage,bean)
})
}
... ...
import router from '@ohos.router';
import webview from '@ohos.web.webview';
import { Logger } from 'wdKit';
import { SpConstants } from 'wdConstant/Index';
import { Logger, SPHelper } from 'wdKit';
import { Params } from '../../../../../../../commons/wdRouter/oh_modules/wdBean/src/main/ets/bean/content/Params';
... ... @@ -11,14 +12,20 @@ const TAG = 'LoginProtocolWebview';
struct LoginProtocolWebview {
webUrl: string = ''
webviewController: webview.WebviewController = new webview.WebviewController()
userProtocol = "https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1005.html"
privateProtocol = 'https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1001.html'
aboutToAppear() {
async aboutToAppear() {
if (router.getParams()) {
let params = router.getParams() as Params
Logger.info(TAG, 'params.contentID:' + params.contentID);
if (params.contentID == "1") {
this.webUrl = "https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1005.html"
this.webUrl = await SPHelper.default.get(SpConstants.USER_PROTOCOL, this.userProtocol) as string
this.webviewController.loadUrl(this.webUrl)
} else {
this.webUrl = "https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1001.html"
this.webUrl = await SPHelper.default.get(SpConstants.PRIVATE_PROTOCOL, this.privateProtocol) as string
this.webviewController.loadUrl(this.webUrl)
}
}
... ... @@ -33,7 +40,7 @@ struct LoginProtocolWebview {
.aspectRatio(1)
.onClick(() => {
router.back();
}).margin({left:16})
}).margin({ left: 16 })
Text()
}
.alignItems(VerticalAlign.Center)
... ...
export interface AgreementBean{
description:string
linkUrl:string
name:string
plat:string
system:string
versionCode:string
versionId:string
type:number
}
\ No newline at end of file
... ...
... ... @@ -8,6 +8,7 @@ import preferences from '@ohos.data.preferences'
import { GlobalContext } from '../../utils/GlobalContext'
import { WDRouterRule } from 'wdRouter';
import { WDRouterPage } from 'wdRouter';
import { LaunchModel } from '../viewModel/LaunchModel'
@Entry
@Component
... ... @@ -85,6 +86,7 @@ struct LaunchPage {
// let isJumpPrivacy: boolean = globalThis.isJumpPrivacy ?? false;
// let isJumpPrivacy: boolean = (GlobalContext.getContext().getObject('isJumpPrivacy') as boolean) ?? false;
//if (!isJumpPrivacy) {
this.requestAgreement()
this.dialogController.open();
// }
} else {
... ... @@ -146,6 +148,10 @@ struct LaunchPage {
}
requestAgreement() {
//请求隐私协议接口
let launchModel = new LaunchModel()
launchModel.getAgreement()
}
}
\ No newline at end of file
... ...
... ... @@ -83,7 +83,7 @@ export default struct CustomDialogComponent {
.fontColor(Color.Red)
.onClick(() => {
let bean={contentId:"1",pageID:""} as Params
let bean={contentID:"2",pageID:""} as Params
WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage,bean)
//GlobalContext.getContext().setObject('isJumpPrivacy', true);
... ... @@ -100,7 +100,7 @@ export default struct CustomDialogComponent {
.fontColor(Color.Red)
.onClick(() => {
let bean={contentId:"2",pageID:""} as Params
let bean={contentID:"1",pageID:""} as Params
WDRouterRule.jumpWithPage(WDRouterPage.loginProtocolPage,bean)
//GlobalContext.getContext().setObject('isJumpPrivacy', true);
... ...
import { HttpUrlUtils, ResponseDTO } from 'wdNetwork/Index';
import { HashMap } from '@kit.ArkTS';
import { AgreementBean } from '../launchPage/AgreementBean';
import { HttpRequest } from 'wdNetwork/src/main/ets/http/HttpRequest';
import { Logger, SPHelper } from 'wdKit/Index';
import { SpConstants } from 'wdConstant/Index';
export class LaunchModel {
getAgreement() {
let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();
return new Promise<AgreementBean>((success, fail) => {
HttpRequest.get<ResponseDTO<Array<AgreementBean>>>(HttpUrlUtils.getAgreement(), headers).then((data: ResponseDTO<Array<AgreementBean>>) => {
if (!data || !data.data) {
fail("数据为空")
return
}
if (data.code != 0) {
fail(data.message)
return
}
Logger.debug("LaunchModel:success2 ", JSON.stringify(data))
//保存数据
for (let i = 0; i < data.data.length; i++) {
if (data.data[i].type == 1) {
SPHelper.default.save(SpConstants.USER_PROTOCOL, data.data[i].linkUrl)
} else if (data.data[i].type == 2) {
SPHelper.default.save(SpConstants.PRIVATE_PROTOCOL, data.data[i].linkUrl)
}
}
}, (error: Error) => {
Logger.debug("LaunchModel:error2 ", error.toString())
fail(error.message)
})
})
}
}
\ No newline at end of file
... ...