1. html index
<div class="space15"></div>
<div class="landingPageDetails">
<img src="images/logo.png" alt="">
<h1>Services</h1>
<h5><a href="/signup/"><i class="fa fa-sign-up"></i> Sign Up</a><br>
Already member? <a href="/login/">Login</a>
</h5>
</div>
</div>
2. app.js
var $$ = Dom7;
// var network = navigator.connection.type;
var server = 'demo-link';
var app = new Framework7({
root: '#app', // App root element
template7Pages: true, // enable Template7 rendering for Ajax and Dynamic pages
name: 'appname', // App name
theme: 'auto', // Automatic theme detection
// App root data
data: function () {
return {
user: {
firstName: 'John',
lastName: 'Doe',
},
};
},
// App root methods
methods: {
onBackKeyDown: function() {
var leftp = app.panel.left && app.panel.left.opened;
var rightp = app.panel.right && app.panel.right.opened;
if ( leftp || rightp ) {
app.panel.close();
return false;
}else if ($$('.modal-in').length > 0) {
app.dialog.close();
app.popup.close();
return false;
} else if (app.views.main.router.url == '/services/') {
navigator.app.exitApp();
} else {
mainView.router.back();
}
},
helloWorld: function () {
app.dialog.alert('Hello World!');
},
},
// App routes
routes: routes,
on: {
init: function () {
var f7 = this;
f7.statusbar.hide();
if (f7.device.cordova) {
// Init cordova APIs (see cordova-app.js)
cordovaApp.init(f7);
}
},
},
});
//The View is basically the app router which is responsible for navigation:
var mainView = app.views.create('.view-main');
// Login Screen Demo
$$('#my-login-screen .login-button').on('click', function () {
var email = $$('#my-login-screen [name="email"]').val();
var password = $$('#my-login-screen [name="password"]').val();
app.preloader.show();
login(email,password);
// Close login screen
app.loginScreen.close('#my-login-screen');
});
$$('#logout-btn').on('click',function () {
app.dialog.alert("call logout-btn");
app.dialog.alert('hi');
// navigator.app.exitApp() ;
navigator.app.exitApp();
});
$$('#signup-form .signup-btn').on('click', function () {
//app.dialog.alert("call page");
var name= $$('#name').val();
var email= $$('#email').val();
var password= $$('#password').val();
signup(name,email,password)
});
//-----------------Login Function--------------------------//
function login(email, password) {
app.request.post(
server+'api/login',
{
email,
password,
},
function (data)
{
var token = data.success.token.id;
window.localStorage.setItem("userid", token);
console.log(token);
if(token){
mainView.router.navigate("/services/");
}
},
//error
function (status) {
console.log(status.response);
app.dialog.alert("Invalid Credentials");
},
//dataType
'json'
);
}
//-----------------Register Function--------------------------//
function register(name, email, password, mobile) {
app.request.post(
server+'api/register',
{
name,
email,
password,
mobile,
},
function (data)
{
app.preloader.show();
console.log(data);
console.log(data.success);
if(data.success){
app.preloader.hide();
app.dialog.alert('Register Successful ! please check your email to activate your account');
}
else if(data.error)
{
app.dialog.alert(data.error);
}
else{
app.dialog.alert("Invalid Details");
}
mainView.router.navigate("/login/");
},
//error
function (status) {
console.log(status.response);
app.dialog.alert("Invalid Details");
},
//dataType
'json'
);
}
//-----------------------Sign Up--------------------------------//
function signup(name,email,password,mobile){
console.log(name,email,password,mobile);
app.request.post(
server + 'api/signup',
{
name: name,
email: email,
password: password,
contact: mobile,
},
function(response){
var dataone = JSON.parse(response);
if(dataone.success ==1){
app.dialog.alert("Thank you for registration");
mainView.router.navigate("/");
}else{
app.dialog.alert('somthing wrong');
}
},
);
}
//-----------------Appointment Function--------------------------//
function appointment() {
var userid = window.localStorage.getItem("userid");
// app.dialog.alert(userid);
var usertoken = window.localStorage.getItem("token");
service_cat_id = window.localStorage.getItem("service_id"),
cleanerNeed = window.localStorage.getItem("cleanerNeed"),
cleanerNeedCnt = window.localStorage.getItem("cleanerNeedCnt"),
cleaningMaterial = window.localStorage.getItem("cleaningMaterial"),
instructions = window.localStorage.getItem("instructions"),
cleanerStay = window.localStorage.getItem("cleanerStay"),
cleaningDate = window.localStorage.getItem("cleaningDate"),
//toCleaningTime = window.localStorage.getItem("toCleaningTime"),
fromCleaningTime = window.localStorage.getItem("fromCleaningTime"),
city = window.localStorage.getItem("city"),
region = window.localStorage.getItem("region"),
address = window.localStorage.getItem("address"),
name = window.localStorage.getItem("name"),
email = window.localStorage.getItem("email"),
mobile = window.localStorage.getItem("mobile"),
payWithCash = window.localStorage.getItem("payWithCash"),
password = "password",
// userid = "1",
amount = cleanerStay * 35 ;
console.log(amount);
console.log(cleanerNeed, cleanerNeedCnt, cleaningMaterial, instructions, cleanerStay, cleaningDate, fromCleaningTime, city, region, address);
console.log(name, email, mobile, payWithCash, amount, password, userid, service_cat_id);
// console.log(name, email, mobile, payWithCard, payWithCash, cardNumber, expiryDate, cvv, amount, password, userid, service_cat_id);
app.request.post(
server+'api/appointment',
{
name : name,
email : email,
userid: userid,
service_cat_id : service_cat_id,
password : password,
region : region,
address : address,
contact : mobile,
c_days : cleanerNeed,
c_stay_hours : cleanerStay,
c_qty : cleanerNeedCnt,
c_material : cleaningMaterial,
c_date : cleaningDate,
c_from_time_slot : fromCleaningTime,
//c_to_time_slot : toCleaningTime,
c_instruction : instructions,
pay_method : payWithCash,
amount : amount,
},
function (data)
{
console.log(data.success);
var token = data.success.token;
window.localStorage.setItem("token", token);
app.preloader.hide();
if(token){
mainView.router.navigate("/thankyou/");
}
},
//dataType
'json'
);
}
//-----------------Update Appointment Function--------------------------//
function update_appointment() {
var userid = window.localStorage.getItem("userid");
// app.dialog.alert(userid);
var usertoken = window.localStorage.getItem("token");
service_cat_id = window.localStorage.getItem("service_cat_id"),
cleanerNeed = window.localStorage.getItem("cleanerNeed"),
cleanerNeedCnt = window.localStorage.getItem("cleanerNeedCnt"),
cleaningMaterial = window.localStorage.getItem("cleaningMaterial"),
instructions = window.localStorage.getItem("instructions"),
cleanerStay = window.localStorage.getItem("cleanerStay"),
cleaningDate = window.localStorage.getItem("cleaningDate"),
//toCleaningTime = window.localStorage.getItem("toCleaningTime"),
fromCleaningTime = window.localStorage.getItem("fromCleaningTime"),
// city = window.localStorage.getItem("city"),
region = window.localStorage.getItem("region"),
address = window.localStorage.getItem("address"),
name = window.localStorage.getItem("name"),
email = window.localStorage.getItem("email"),
mobile = window.localStorage.getItem("mobile"),
apt_id = window.localStorage.getItem("apt_id"),
// payWithCard = window.localStorage.getItem("payWithCard"),
payWithCash = window.localStorage.getItem("payWithCash"),
amount = cleanerStay * 35 ;
console.log(amount);
app.request.post(
server+'api/update_appointment',
{
apt_id : apt_id,
name : name,
email : email,
userid: userid,
service_cat_id : service_cat_id,
region : region,
address : address,
contact : mobile,
c_days : cleanerNeed,
c_stay_hours : cleanerStay,
c_qty : cleanerNeedCnt,
c_material : cleaningMaterial,
c_date : cleaningDate,
c_from_time_slot : fromCleaningTime,
//c_to_time_slot : toCleaningTime,
c_instruction : instructions,
pay_method : payWithCash,
amount : amount,
},
function (data)
{
console.log(data.success);
var token = data.success.token;
window.localStorage.setItem("token", token);
app.preloader.hide();
if(token){
app.dialog.alert('Update Appointment Successful');
mainView.router.navigate("/my-booking/");
}
},
//dataType
'json'
);
}
//-----------------Update Account Function--------------------------//
function update_account() {
var userid = window.localStorage.getItem("userid");
name = window.localStorage.getItem("name"),
email = window.localStorage.getItem("email"),
contact = window.localStorage.getItem("contact"),
address = window.localStorage.getItem("address"),
city = window.localStorage.getItem("city"),
state = window.localStorage.getItem("state"),
country = window.localStorage.getItem("country"),
app.request.post(
server+'api/update_account',
{
userid : userid,
name : name,
email : email,
contact : contact,
address : address,
city : city,
state : state,
country : country,
},
function (data)
{
console.log(data.success);
var token = data.success.token;
window.localStorage.setItem("token", token);
app.preloader.hide();
if(token){
app.dialog.alert('Update Account Successful');
mainView.router.navigate("/my-account/");
}
},
//dataType
'json'
);
}
3. route.js
var routes = [
{
path: '/',
url: './index(dot)html',
},
{
path: '/login/',
// url: './pages/login(dot)html',
async: function (routeTo, routeFrom, resolve, reject) {
// Router instance
var router = this;
// App instance
var app = router.app;
// Show Preloader
app.preloader.show();
// Simulate Ajax Request
setTimeout(function () {
// Hide Preloader
app.preloader.hide();
// Resolve route to load page
resolve(
{
componentUrl: './pages/login(dot)html',
},
);
}, 1000);
},
},
// Default route (404 page). MUST BE THE LAST
{
path: '(.*)',
url: './pages/404(dot)html',
},
];
above is my code for my ios app, in this it doesn't show any error but still hyperlink / routing doesn't work, is there something I am missing or am I missing any necessary plugin.
Попробуйте beforeEnter - так вы узнаете, проблема с path или url.
Thanks for the reply, can you please translate in english.
I have been trying this for number of times, but could find any output. In this it doesn’t show any error but still hyperlink / routing doesn’t work, is there something I am missing or am I missing any necessary plugin.
Would be great to see live example, or even better JSFiddle with the minimal reproduction of the issue. It is hard to scan the whole code you have posted